命名序組 NamedTuple
通常我們會用下面的常值語法來建立一個命名序組(NamedTuple):
tuple = {name: "Crystal", year: 2011} # NamedTuple(name: String, year: Int32)
tuple[:name] # => "Crystal" (String)
tuple[:year] # => 2011 (Int32)
如同序組,我們也可以使用下面的語法來指定命名序組使用的型別:
# 以下型別表示 x 為 Int32、y 為 String 的命名序組
NamedTuple(x: Int32, y: String)
當使用在型別限制時,於任何泛型型別參數或是其他需要填寫型別的地方,我們也可以使用簡短的語法來表示命名序組的型別,這在型別語法一章中會解釋:
# 以下語句表示了這個陣列的元素皆是 x 為 Int32、y 為 String 的命名序組
Array({x: Int32, y: String})
命名序組的索引鍵也可以用字串常值來表達:
{"this is a key": 1}