- 関数型プログラミング言語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) みたいにかけるとうれしいなあ…と思いつつ型とか考えると無理っぽい気もして、 でも全部手で書くのってなんだかあんまりな気がするので、これを解決したいというものです
|
|