【发布时间】:2012-05-24 15:18:40
【问题描述】:
您好,我目前正在尝试在 prelude 中使用 elem 功能。
data MyType = A Int
| B Int Int
| C Int
| D Int Int
deriving (Show,Eq)
list = [ A _, B _ _ ]
或
list = [ A Int, B Int Int ]
bool = (A 12) elem list -- use like this to get a Boolean value.
问题是列表,它(两者)都会有编译错误。有人能告诉我定义列表的正确方法吗?
关于我的主代码中的数据和推导 (Show,Eq),我确实做了所有这些。这个问题的原因是我有一个 MyType 的大列表,我想从大列表中挑选一两个类型修改它然后放回去,我该怎么做? 经验。 大列表=[A 3,C 6,A 5,B 5 8,D 5 6] 我只想选择数据类型 (A Int ) 和 (B Int Int) ,可能将这两种数据类型的所有值都更改为 0,修改后放回去,这样我就得到了一个新列表。 newBigList=[A 0, C 6, A 0, B 0 0, D 5 6]
谢谢
【问题讨论】:
-
你尝试了什么?以上不是有效的 Haskell。
标签: haskell