[過去ログ]
関数型プログラミング言語Haskell Part16 (978レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
234
(1)
: 2011/10/22(土)22:25
AA×
>>231
[
240
|
320
|480|
600
|
原寸
|
JPG
|
べ
|
レス栞
|
レス消
]
234: [sage] 2011/10/22(土) 22:25:23.49 >>231 たとえば [1..3] は 1 : (2 : (3 : [])) であり、 「リストを構成するデータ型」の値だ そして、 : や [] はこのデータ型の「値構築子」だ( : は中置値構築子) last 関数は、last [] = errorEmptyList "last"; last (x:xs) = ・・・ という形のパターンマッチを行う関数だ last [1..3] は last (1: (2 : (3 : []) なので、 (x:xs) にパターンマッチし、x=1、xs=(2 : (3 : [])) と束縛する リストに限らず、データ型の値を作ってる値構築子の引数(この場合は 1 や 2 など)は、 このようにパターンマッチさせて値構築子を剥がす事でしか参照できない で、リスト 1 : (2 : (3 : [])) がこのようなネスト構造を成している以上、 ネスト構造を「順に剥がしていく」ことでしか中の値は参照できない ちなみに、f (_:_:x:_) = という関数で f [1..3] などとして一気に x=3 と束縛しようとしても、 内部で順に値構築子を剥がす処理をしてパターンにマッチするかを調べるから同じ事 これを 「Haskellの出来」 というのなら、そうだね、としか言いようがない http://echo.5ch.net/test/read.cgi/tech/1317958045/234
たとえば は であり リストを構成するデータ型の値だ そして や はこのデータ型の値構築子だ は中置値構築子 関数は という形のパターンマッチを行う関数だ は なので にパターンマッチし と束縛する リストに限らずデータ型の値を作ってる値構築子の引数この場合は や などは このようにパターンマッチさせて値構築子を剥がす事でしか参照できない でリスト がこのようなネスト構造を成している以上 ネスト構造を順に剥がしていくことでしか中の値は参照できない ちなみに という関数で などとして一気に と束縛しようとしても 内部で順に値構築子を剥がす処理をしてパターンにマッチするかを調べるから同じ事 これを の出来 というのならそうだねとしか言いようがない
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 744 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
ぬこの手
ぬこTOP
0.038s