Spec-Zone.ru › Crystal

Именованный кортеж

NamedTuple обычно создаётся с помощью литерала именованного кортежа:

tuple = {name: "Crystal", year: 2011} # NamedTuple(name: String, year: Int32)
tuple[:name]                          # => "Crystal" (String)
tuple[:year]                          # => 2011      (Int32)

Чтобы обозначить тип именованного кортежа, можно написать:

# The type denoting a named tuple of x: Int32, y: String
NamedTuple(x: Int32, y: String)

В ограничениях типов, аргументах обобщённых типов и других местах, где ожидается тип, можно использовать сокращённый синтаксис, как описано в грамматике типов:

# An array of named tuples of x: Int32, y: String
Array({x: Int32, y: String})

Ключ именованного кортежа также может быть строковым литералом:

{"this is a key": 1}

To the extent possible under law, the persons who contributed to this workhave waived
all copyright and related or neighboring rights to this workby associating CC0 with it.
https://crystal-lang.org/reference/1.2/syntax_and_semantics/literals/named_tuple.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API