我有以下數據類型:對自定義數據類型執行操作?
data Users = Height Int | Age Int
我再有年齡的列表:
myList = [Age 44, Age 54, Age 21, Age 34, Age 22]
,我想申請這一功能:
myFunction :: [Users] -> [Users]
myFunction li = [x + 1 | x <- li]
然而這個原因出現以下錯誤:
"No instance for (Num Users) arising from a use of ‘+’"
我該如何做這項工作?我是否需要將「年齡」與每個值分開?
首先:爲'Users'添加'1'意味着什麼?你期望什麼結果? – 2016-09-27 09:35:26
@Rhymoid我想給值加1,即44歲變成45歲 –
@barbrac一個'User'可以是'Height',不僅是'Age'。如果它是'Height'或'Age',你必須指定'(x :: User)+ 1'發生了什麼。 – user2407038