Haskell > 本 > 入門Haskellプログラミング > LESSON 3

入門Haskellプログラミング

#html{{

table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4798158666/vertex9-22/" target="_blank"><img src="https://images-fe.ssl-images-amazon.com/images/I/51o1oUqjsvL._SL160_.jpg" border="0"></a></td>

td> </td>

td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4798158666/vertex9-22/" target="_blank">入門Haskellプログラミング</a><br>Will Kurt<br>翔泳社<br>2019-07-31<br>¥ 4,104</td></tr></table>
}}

LESSON 3

3.1 ラムダ関数

書式

\x -> x

本書、p.26の図3-1には間違いがある。
「関数の引数(複数の場合もある)」から伸びている線は、右側のxに向かっているが、正しくは左側のxに向かっていなければならない。

ラムダ関数の書き方の例

Prelude> (\x -> x * 2) 4
8

型を確認してみます。

Prelude> :t (\x -> x)
(\x -> x) :: p -> p
Prelude> :t (\x -> x * 2)
(\x -> x * 2) :: Num a => a -> a

3.2 where句

(参考)

補助関数とは、関数定義の内部でのみ使用する部分的な関数のことです。
補助関数を作成することで、複雑で分かりにくいプログラムの構造を簡潔にして可読性を向上することができます。
また、処理毎に分割することはプログラムを再利用しやすく、保守性のあるものにします。
なお、補助関数を内包する親となる関数は「最上位関数」と呼ばれます。
Haskellにおける補助関数の定義方法は「let」と「where」の2通りありますが、whereを使うほうが一般的といえます。
どちらを使用しても問題ありませんが、混在していると可読性が悪くなるため、統一して利用することが推奨されています。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS