フレーズを頭字語に変換します。
IT業界の人たちは、TLA(3文字の頭字語)が大好きです!
Portable Network Graphicsのような長い名前を、その頭字語(PNG)に変換するプログラムを書いて、ちょっとした専門用語を生み出してみましょう。
句読点は次のように扱います。ハイフンは単語の区切りです(空白と同じ扱いです)。それ以外の句読点は、入力から取り除いてかまいません。
たとえば、次のとおりです。
| 入力 | 出力 |
|---|---|
| As Soon As Possible | ASAP |
| Liquid-crystal display | LCD |
| Thank George It's Friday! | TGIF |
この演習ではテキストデータを扱います。歴史的な理由から、HaskellのString型は、文字のリストである[Char]と同じ意味です。テキストデータをより効率的に扱うには、Text型を使うこともできます。
この演習の任意の拡張として、次のことができます。
Haskellの文字列型について読んでみましょう。
package.yamlの依存関係リストに- textを追加してみましょう。
Data.Textを次のようにインポートしましょう:
import qualified Data.Text as T
import Data.Text (Text)
これで、例えばabbreviate :: Text -> Textと書いたり、Data.Textのコンビネータを例えばT.filterのように参照したりできます。
Data.Textのドキュメントを調べてみましょう。
この部分は完全に任意です。