Haskell 关于元组和文件的列表
我需要从一个文件中获取元组列表和每个元组的多个第2个和第3个值。例如:[(1,“A”,100,2),(2,“B”,50,3)]。我需要找到100*2=200和50*3=150。我只想显示最终的总数。那是350。我从一个文件中获取元组列表。我得到了这样一个错误:Haskell 关于元组和文件的列表,haskell,Haskell,我需要从一个文件中获取元组列表和每个元组的多个第2个和第3个值。例如:[(1,“A”,100,2),(2,“B”,50,3)]。我需要找到100*2=200和50*3=150。我只想显示最终的总数。那是350。我从一个文件中获取元组列表。我得到了这样一个错误: - Type error in generator *** Term : generator c *** Type : Int *** Does not match : IO a 代码如下所示 t
- Type error in generator
*** Term : generator c
*** Type : Int
*** Does not match : IO a
代码如下所示
type Code=Int
type Price=Int
type Quantity=Int
type Name=String
type ProductDatabase=(Code,Name,Price,Quantity)
bill=do
b<-cart_list_returner
let c :: [ProductDatabase]
c = b
w<-generator c
let r :: String
r = w
putStrLn r
generator::[ProductDatabase]->Int
generator c=foldl (\a (id,x, y, z) -> a + y*z) 0 c
type code=Int
类型Price=Int
类型数量=整数
类型名称=字符串
类型ProductDatabase=(代码、名称、价格、数量)
比尔=做
b a+y*z)0 c
我只想让程序获取文件中的元组列表并生成总数。有人可以帮我。提前感谢使用
@Roy确认购物车列表返回者
的结果如您所愿,添加行打印b
@Roy如果答案正确,您可以接受。这就是这个过程实际应该如何运作。@dmitry.malikov:谢谢你,先生。也许制定一个正常的问题比问很多类似的问题要好[(1,“a”,100,2),(2,“B”,50,3)]列表?@dmitry.malikov:先生,实际上我不是哈斯克尔的专家。只是在里面做一个小作业。这就是为什么会出现不同的问题。不管怎样,很抱歉问了太多关于同一问题的问题。@Roy:如果这些问题与作业有关,你可能应该把它们标记为“家庭作业”。此外,如果你能通读所有的问题并接受正确的答案,那就太好了:谢谢!
w<-generator c
let w = generator c