関数型プログラミング言語Haskell Part24
■ このスレッドは過去ログ倉庫に格納されています
0268デフォルトの名無しさん
2013/11/14(木) 01:40:23.20例えば
foo :: Int -> Int -> Int
bar :: Int -> Int
とした時、この二つの関数を同じリストに入れるというわけです
そのままリストに入れても弾かれるので両者を包むような型を作ろうと思いました
data Func = F (Int -> Int -> Int) | B (Int -> Int)
というデータ型を定義すれば
[F foo, B bar]
というリストが一応できます
しかしその中身は取り出せません
test (F f) = f
test (B b) = b
このような関数は定義できません、考えれば当然のことですが
一つのリストに入れ、その中身を取り出すような方法はないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています