トップページ > プログラム > 2015年01月12日 > MSt1/O77

書き込み順位&時間帯一覧

47 位/130 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000010000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part27_©2ch.net

書き込みレス一覧

関数型プログラミング言語Haskell Part27_©2ch.net
38 :デフォルトの名無しさん[sage]:2015/01/12(月) 14:49:07.39 ID:MSt1/O77
くだすれみたいな質問なんですけど
自分で data を定義した時に、その record (?) を纏めて扱いたいのですが
そのような方法はありますか?

具体的にこれを訊きたい状況は次のとおりです:
data Person = {firstName::String, lastName::String, address:String, age:Int}
みたいな構造があったとして、これにたとえば tsv みたいな感じの show を定義したいとき、

import Data.List (intersperse)
instance Show Person where
 show (Person f l ad ag) = intersperse '\t' [f,l,ad,show ag]

みたいに (f,l,ad,ag を) 手で書いていくしかないのでしょうか、というのが最初の疑問
雰囲気的には
show p = intersperse '\t' (fields p)
みたいにかけるとうれしいなあ…と思いつつ型とか考えると無理っぽい気もして、
でも全部手で書くのってなんだかあんまりな気がするので、これを解決したいというものです


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。