[haskell]内部文字コード

Haskellの文字列扱いを少し

出力結果

Haskell内部ではUnicodeスカラ値で扱われている。

printはどうやらBasic Latinしか文字を表示することができないようで、後は内部コードをそのまま表示している

putStr(Ln)については内部コードに応じたフォントを表示してくれる。

内部コードとUTF-8との変換はencodeString(内部コード >> UTF-8)とdecodeStringを使う。

フォント表示についてはLANG環境変数が影響する。

UTF-8であることをLANGで設定していないと出力で例外となる

[haskell]ディレクトリのリストを出力する

ディレクトリのリストを出力する。ファイル内容を出力する時と同じ要領で作ることができた。

  • dirsから”.”と”..”を除いたリストに対しmapM_でputStarLnをマップしている

haskell事始め

haskellをはじてみる。まずはファイルを扱えるようになることから。以下のコードでファイルの内容を出力するプログラムができる。

  • getArgsは引数を[String]で返してくれる。'<-‘は結果をargsに束縛する。
  • case args of は条件分岐
  • argsが'[]’空リストなら getContentsアクションの結果をputStrアクションに渡す。
  • それ以外なら、argsの各要素に無名関数(\x -> readFile x >>= putStr)をマップ

参照サイト