関数型プログラミング言語Haskell Part22
■ このスレッドは過去ログ倉庫に格納されています
0483デフォルトの名無しさん
2013/06/03(月) 21:57:27.37> getnameに入れる値の構造は(c,name,age)じゃダメなのでしょうか?
> getname :: Person -> Name
> getname (_ ,name ,_) = name
型シグネチャの引数が代数データ型Personなのに、
パターンマッチしてるのがClass,Name,Ageからなるトリプルなので矛盾してる
正しくパターンマッチさせるには(Person _ name _)にする必要がある
またはtype Person = (Class, Name, Age) という定義にすればよい
でもそもそもレコード構文を使っているので
getname という関数を作らなくても name :: Person -> Nameという関数でNameを取り出せる
■ このスレッドは過去ログ倉庫に格納されています