基本型別
在 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
等等。