Haskell输入&将值传递给函数

时间:2010-03-18 11:43:49

标签: haskell io interactive

putStrLn "Enter the Artist Name"
    art <- getLine
putStrLn "Enter the Number of CD's"
    num <- getLine

let test= buyItem currentStockBase art num
    printListIO (showcurrentList test)

我必须为buyItem传递的值是

buyItem currentStockBase "Akon" 20

但我想将“Akon”发送给艺术品,而我希望发送数字

它给了我这个错误

ERROR file:.\Project2.hs:126 - Type error in application
*** Expression     : buyItem currentStockBase art num
*** Term           : num
*** Type           : [Char]
*** Does not match : Int

请帮帮我

2 个答案:

答案 0 :(得分:5)

numStringbuyItem期待Int。您需要将String转换为Int,例如使用read

buyItem currentStockBase art (read num)

修改:String表示[Char] ---希望这意味着错误消息现在对您更有意义。

答案 1 :(得分:2)

是因为num是一个字符串吗?尝试使用read解析它:

let test= buyItem currentStockBase art (read num)