[過去ログ]
関数型プログラミング言語Haskell Part22 (1001レス)
関数型プログラミング言語Haskell Part22 http://echo.5ch.net/test/read.cgi/tech/1364009659/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
486: デフォルトの名無しさん [] 2013/03/23(土) 12:42:25.00 ID:3+1kYpm8! >>485 おお!出来た。有難うございます。 data Person = Person {c :: Class , name :: Name , age :: Age}deriving (Show)に "," があったので引数のほうにも入れないといけないと思っていました。 http://echo.5ch.net/test/read.cgi/tech/1364009659/486
493: デフォルトの名無しさん [] 2013/03/23(土) 12:42:32.00 ID:3+1kYpm8! >>487,488 なるほど。 data T = T {a::A, b::B, c::C}の時は引数にカンマがいらなくて、data T = T (A,B,C)の時は要るのか。 砂糖構文調べてみる。 http://echo.5ch.net/test/read.cgi/tech/1364009659/493
495: デフォルトの名無しさん [] 2013/03/23(土) 12:42:34.00 ID:3+1kYpm8! >>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] http://echo.5ch.net/test/read.cgi/tech/1364009659/495
497: デフォルトの名無しさん [] 2013/03/23(土) 12:42:36.00 ID:3+1kYpm8! >>496 ありがとうございます。 何となく関数型が分かってきた感じがします。 頑張ってモナドまで行こっと。 http://echo.5ch.net/test/read.cgi/tech/1364009659/497
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.060s