基本类型
在 elm-repl
中,键入一段代码以获取其值和推断类型。请尝试以下方法以了解存在的各种类型:
> 42
42 : number
> 1.987
1.987 : Float
> 42 / 2
21 : Float
> 42 % 2
0 : Int
> 'e'
'e' : Char
> "e"
"e" : String
> "Hello Friend"
"Hello Friend" : String
> ['w', 'o', 'a', 'h']
['w', 'o', 'a', 'h'] : List Char
> ("hey", 42.42, ['n', 'o'])
("hey", 42.42, ['n', 'o']) : ( String, Float, List Char )
> (1, 2.1, 3, 4.3, 'c')
(1,2.1,3,4.3,'c') : ( number, Float, number', Float, Char )
> {}
{} : {}
> { hey = "Hi", someNumber = 43 }
{ hey = "Hi", someNumber = 43 } : { hey : String, someNumber : number }
> ()
() : ()
{}
是空的 Record 类型,()
是空的 Tuple 类型。后者通常用于惰性评估的目的。请参阅函数和部分应用程序中的相应示例。
请注意 number
如何看起来没有资本化。这表明它是一个类型变量,而且特定单词 number
指的是一个特殊类型变量,它可以是 Int
或 Float
(更多参见相应章节)。虽然类型总是大写的,例如 Char
,Float
,List String
等等。