プログラミング Haskell 第5章 リスト内包表記 その2
昨日、一昨日と天候不順で読書時間がなくなってしまいました。リスト内包表記の続きです。
- ガード - 生成器が生成する値のうち論理式が真(True)になるものだけを取り出す
- 素数判定する prime が以下のように定義できる
factors n = [x | x <- [1...n], n `mod` x == 0 ] prime n = factors n == [1, n]
-
- この実装の場合、遅延評価により、prime は factors が 1 の次に n 以外の約数を取り出した瞬間に False を返すので、全ての約数を列挙するのを待たなくてすむ
- 関数 zip はリスト内包表記で使うのに便利
- 文字列は Char のリストなので内包表記が使える
- シーザー暗号をリスト内包表記を使って書く
- 文字出現頻度からシーザー暗号を解読する関数を書く