関数型プログラミング言語Haskell Part27_©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0038デフォルトの名無しさん
2015/01/12(月) 14:49:07.39ID: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)
みたいにかけるとうれしいなあ…と思いつつ型とか考えると無理っぽい気もして、
でも全部手で書くのってなんだかあんまりな気がするので、これを解決したいというものです
■ このスレッドは過去ログ倉庫に格納されています