【发布时间】:2021-01-06 12:49:37
【问题描述】:
所以我有这个功能
getSales :: (Num p, Eq t) => t -> [(t, p)] -> p
getSales day [] = 0
getSales day ((x,y):xs) | (day == x) = y + (getSales day xs) | otherwise = getSales day XS
所以基本上如果我确实获得了销售“星期一”商店日志
并且 storelog 是 storelog = [("Mon",50),("Fri",20), ("Tue",20),("Fri",10),("Wed",25),( "星期五",30)]
它会返回 50。但现在我希望能够遍历这样的元组
sales = [("Amazon",[("Mon",30),("Wed",100),("Sat",200)]), ("Etsy",[("Mon",50),("Tue",20),("Wed",25),("Fri",30)]), ("Ebay",[("Tue",60),("Wed",100),("Thu",30)]), ("Etsy",[("Tue",100),("Thu",50),("Sat",20),("Tue",10)])]
给出公司名称,然后我使用 getSales 查找所要求的当天的销售额。
sumSales:: (Num p)=> String -> String -> [(String,[(String,p)])] -> p
这是我对给定公司名称的迭代等功能,但我很难理解如何迭代元组以找到“Amazon”,然后传入列表当天的销售额。
【问题讨论】: