[過去ログ] 関数型プログラミング言語Haskell Part22 (1001レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
486: 2013/03/23(土)12:42 ID:3+1kYpm8!(1/4) AAS
>>485
おお!出来た。有難うございます。
data Person = Person {c :: Class , name :: Name , age :: Age}deriving (Show)に
"," があったので引数のほうにも入れないといけないと思っていました。
493
(1): 2013/03/23(土)12:42 ID:3+1kYpm8!(2/4) AAS
>>487,488
なるほど。
data T = T {a::A, b::B, c::C}の時は引数にカンマがいらなくて、data T = T (A,B,C)の時は要るのか。
砂糖構文調べてみる。
495: 2013/03/23(土)12:42 ID:3+1kYpm8!(3/4) AAS
>>494
何か勘違いをしていたみたい。ありがとうございます。
もう一つ質問してもいいでしょうか??
例えば、
data Person = Person (Occupation, ID, Name, Age)deriving (Eq, Show)
data Occupation = Student | Teacher deriving (Eq, Show)
type ID = Int
type Name = String
type Age = Int
type List = [Person]

record :: List
record = [Person (Student, 23281, "A", 20), Person (Teacher, 12037, "B", 29),Person (Student, 37823, "C", 18),
Person (Student, 24932, "D", 19),Person (Teacher, 12917, "E", 33)]
があって、recordのデータをageの若いもん順にした。
sort :: [Int]
sort (x:xs) = sort [x | x<-xs, x <= x] ++ [x] ++ sort [x | x<-xs, x > x]を参考にしたのですが”_”のエラーがいっぱい。
別の方法もあるんでしょうか?
youngSort :: List -> List
youngSort list = case (list) of
[] -> []
((Person (_, _, _, age)):xs) -> youngSort [(Person (_, _, _, younger)) | (Person (_, _, _, younger)) <- xs, younger <= age] ++ [(Person (_, _, _, age))] ++ youngSort [(Person (_, _, _, age)) | (Person (_, _, _, older)) <- xs, older > age]
497: 2013/03/23(土)12:42 ID:3+1kYpm8!(4/4) AAS
>>496
ありがとうございます。
何となく関数型が分かってきた感じがします。
頑張ってモナドまで行こっと。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s