[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
関数型プログラミング言語Haskell Part16 http://echo.5ch.net/test/read.cgi/tech/1317958045/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
377: デフォルトの名無しさん [sage] 2011/11/06(日) 02:49:06.58 Haskellの変数の有効範囲って何か具体的に決まっているのかな? Haskel Reportを読んでもはっきりと書かれていないような。 以下のように関数(>>?)を定義してvalue1, value2を求めると value1は普通に求められるが、value2は\s -> s + aのところで aが未定義ですとか言われる。 括弧があると変数の有効範囲が変わるのかな? (>>?) :: a -> (a -> b) -> b v >>? f = f v value1 = (1, 2) >>? \(a, b) -> b >>? \s -> s + a value2 = (1, 2) >>? (\(a, b) -> b) >>? \s -> s + a http://echo.5ch.net/test/read.cgi/tech/1317958045/377
378: デフォルトの名無しさん [sage] 2011/11/06(日) 05:53:55.40 >>377 関数の仮引数の有効範囲はその関数本体というのが基本原則。 > value1 = (1, 2) >>? \(a, b) -> b >>? \s -> s + a は value1 = (1, 2) >>? (\(a, b) -> b >>? \s -> s + a) と解釈されるのでs + aは\(a,b) -> ...の関数本体内に含まれるが > value2 = (1, 2) >>? (\(a, b) -> b) >>? \s -> s + a はかっこがあるため含まれない。 http://echo.5ch.net/test/read.cgi/tech/1317958045/378
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.059s