top page > computer > haskell > web_lecture > for_programmer > where.html
更新日:
文責: 重城良国

構文: where節

where節は関数定義や変数定義につける。

where.hs

v1 = x ^ x
where
x = 5

v2 = x * y
where
x = 3
y = 5

% ghci where.hs
*Main> v1
3125
*Main> v2
15

let ... in ...との対応

foo = let var = val in [varを使った式]

foo = [varを使った式] where var = val

let ... in ...との違い

定義が後に来る

where節は関数定義のうしろにつける。細かい定義をあとに置くことで見通しが良くなる。

スコープ

let ... in ... 式とは異なりwhere節は複数のガードをまたぐスコープを持つ。

まとめ

let ... in ...とほぼ同じ働きをするwhere節を学んだ。関数定義や変数定義にくっつける。スコープの広さの違いなどあるが意味論的にはlet ... in ...と同じだ。

自分用のメモ:
where節がcase文のなかでも使えることをどこかに書くこと
最後にappendixとして構文の全体像をまとめるのが良いかも

「構文: let ... in...式」へもどる 「構文: case式」へ

正当なCSSです! HTML5 Powered with CSS3 / styling, and Semantics