在Elm中,值是通过写一个名称,一个等号然后是实际值来声明的:
someValue = 42
函数也是值,另外还有一个或多个值作为参数。它们通常如下编写:
double n = n * 2
Elm中的每个值都有一个类型。上面的值的类型将由编译器根据如何使用来推断。但是,最好的做法是始终显式声明任何顶级值的类型,并按如下所示编写类型签名:
someValue : Int someValue = 42 someOtherValue : Float someOtherValue = 42
正如我们所看到的,42可以被定义为任何一个Int或一个Float。这很直观,但是有关更多信息,请参见类型变量。
当与功能一起使用时,类型签名特别有价值。这是之前的加倍功能:
double : Int -> Int double n = n * 2
这次,签名带有一个->,箭头,我们将签名发音为“ int to int”,或“取一个整数并返回一个整数”。->表示通过提供double一个Int值作为参数,double将返回Int。因此,它需要一个整数到一个整数:
> double <function> : Int -> Int > double 3 6 : Int