我正在尝试this tutorial的某项计划。该计划如下:
type Name = String
type PriceInCents = Int
type ShoppingListItem = (Name, PriceInCents)
type ShoppingList = [ShoppingListItem]
shoppingList :: ShoppingList
shoppingList = [ ("Bananas", 300)
, ("Chocolate", 250)
, ("Milk", 300)
, ("Apples", 450)
]
sumShoppingList :: ShoppingList -> PriceInCents
sumShoppingList [] = 0
sumShoppingList (x:xs) = getPriceFromItem x
+ sumShoppingList xs
getPriceFromItem :: ShoppingListItem -> PriceInCents
getPriceFromItem (_, price) = price
main :: IO ()
main = putStrLn ("Price of shopping list is "
++ show (sumShoppingList shoppingList)
++ " cents.")
我尝试过运行它并没有错误,但我不知道输入什么。我试过了但是我猜错了,因为我收到了这个错误:
错误 - 未定义的数据构造函数
谁能告诉我应该输入什么?
答案 0 :(得分:5)
该程序正如其编写的那样,不需要任何输入。使用ghc
进行编译将生成可运行的可执行文件。或者,使用runhaskell
运行也一样。
我怀疑,根据您的问题,您正在ghci
解释器中运行。在这种情况下,您可以使用:l filename.hs
(或:r
重新加载)加载文件,然后只需调用main
即可运行主函数。