printCar
像其他函数一样接受参数;其参数类型为
()
,这意味着只有一个值(也拼写为
()
)这可以称之为。
civicNinetyOne
另一方面,是类型为的值
Car
,不是类型的函数
() -> Car
,因此不能将自身分配给
印刷车
.
正确的定义是
printCar :: () -> Car
printCar () = civicNinetyOne
它被称为
> printCar ()
Car {gears = ["gear1","gear2","gear3","gear4","gear5"], currentGear = "gear1", brokeGears = ["gear4"], shiftStroke = [("gear1","pull","gear"),("gear2","push","gear3"),("gear3","skipShift","gear5")]}
为了完整性,
let
(如评论中所指出的)在最新版本的GHCI中是可选的,在旧版本的GHCI中是必需的,但它是
被禁止的
在一个模块中。(交互式解释器的行为有点像隐含的
do
块)