开发者

optional arguments in haskell

I have declared my own type:

data Book = Bookinfo {
              bookId :: Int,
              title :: String
          } deriving(Show)

and now:

x = Bookinfo

it is all ok, valid statement

but making bookId x throws an error.

If I would be a开发者_如何学Pythonble to handle errors in Haskell that would be ok but right now I cant do this So Im curious how to make not specified values of fields take default value, and what exactly value is there when I'm not giving vcalues of fields in construcotr ?

thanks for help


-- this one is not a Book but actually a function that can make one:
alternativeCtrFunc = Bookinfo

defaultBook = Bookinfo { bookId = 3, title = "Welcome to the Monkey House" }

x = defaultBook
y = defaultBook { bookId = 7 }
z = defaultBook { title = "The Cider House Rules" }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜