【发布时间】:2021-04-15 01:02:05
【问题描述】:
我有包含记录的数据,我想用所有作者的新销售额数据更新列表。这将增加 Sales 中列表的长度,以便每位作者售出的图书数量变为去年的数字,依此类推。
data T = T { Author :: String
, Sales :: [Int]
, Year :: Int}
deriving Show
我的尝试
addNewValues :: [data] -> [Int] -> [data]
addNewValues (m:ms) (x:xs) = let (author, sales, year) addNewValues ms xs
我意识到这是不正确和不完整的,但作为初学者,我不知道从这里开始。
【问题讨论】:
-
你能举一个具体的例子来说明你想要
addNewValues的输入和输出吗? -
例如,如果我有一个值,例如 [("Jennifer Aeker", 2948, 2009)] 我会给新的销售值 5385,addNewValues [("Jennifer Aeker", 5385, 2009)]然后在新唱片中,我将拥有新旧唱片 [("Jennifer Aeker", 5385, 2948, 2009)]
-
在您的问题中,您将
[Int]作为第二个和第三个字段的类型,但在您的评论中,您只有一个整数而不是列表。 (在您对评论的最新编辑中,您有 3 个数字,但不清楚每个列表中应该包含哪个数字。) -
抱歉,这只是一个例子,所以我没有在评论中添加更多值。
-
每条记录不是只有一年,而不是年份列表吗?那你为什么把它设为
[Int]?