前の記事でも少しふれたが、Haskell における関数についての続き
関数を組み合わせる
doubleUs x y = x * 2 + y * 2
↓
doubleUs x y = doubleMe x + doubleMe y
このように関数を組み合わせて表現してゆく。
これは関数型でなくてもやってる。
分岐がある関数
doubleSmallNumber x = if x > 100 then x else x * 2
実行結果
*Main> doubleSmallNumber 100 200 *Main> doubleSmallNumber 1 2 *Main> doubleSmallNumber 101 101
- Haskell の if はかならず
else
が必要- 値を返さないということを許さない
- 制御構文ではなく、式である
関数名に '
を使える
doubleSmallNumber' x = (if x > 100 then x else x * 2) + 1
実行結果
*Main> doubleSmallNumber' 100 201
'
のつけどころ- 正格(遅延ではない)版の関数につけたりする
- 少し変更したバージョンの関数につけたりする
関数名のルール
- 先頭文字は小文字で始める
- 関数が値をとらないとき、それを
定義
または名前
と呼ぶ- 変数ではない、定数みたいなものか
今日はここまで。

- 作者: MiranLipovaca
- 出版社/メーカー: オーム社
- 発売日: 2017/07/14
- メディア: Kindle版
- 購入: 4人 クリック: 9回
- この商品を含むブログを見る