関数型プログラミング言語Haskell Part22
■ このスレッドは過去ログ倉庫に格納されています
0484デフォルトの名無しさん
2013/06/03(月) 22:19:55.39ID:vG7d+PED!getname :: Person -> Name
getname (Person _ ,name ,_) = name
は最初に試したのですが、エラーを吐かれたので。
>正しくパターンマッチさせるには(Person _ name _)にする必要がある
確かに引数?としては(Person c, name, age)が正しいと思うのですが、
getname (Person _ ,name ,_) = name -> なぜかコンパイラーが通らない。
data Person = Person (Class, Name , Age)はname (Person (_,name, _)) = nameで動きました。
>getname という関数を作らなくても name :: Person -> Nameという関数でNameを取り出せる
確かにそうですね。
それと、ちょっと訂正。
data Person = Person {c :: Class , name :: Name , age :: Age}deriving (Show)
■ このスレッドは過去ログ倉庫に格納されています