W3cubDocs

/Crystal

Literals

Crystal provides several literals for creating values of some basic types.

Literal Sample values
Nil nil
Bool true, false
Integers 18, -12, 19_i64, 14_u32,64_u8
Floats 1.0, 1.0_f32, 1e10, -0.5
Char 'a', '\n', 'あ'
String "foo\tbar", %("あ"), %q(foo #{foo})
Symbol :symbol, :"foo bar"
Array [1, 2, 3], [1, 2, 3] of Int32, %w(one two three)
Array-like Set{1, 2, 3}
Hash {"foo" => 2}, {} of String => Int32
Hash-like MyType{"foo" => "bar"}
Range 1..9, 1...10, 0..var
Regex /(foo)?bar/, /foo #{foo}/imx, %r(foo/)
Tuple {1, "hello", 'x'}
NamedTuple {name: "Crystal", year: 2011}, {"this is a key": 1}
Proc ->(x : Int32, y : Int32) { x + y }
Command `echo foo` , %x(echo foo)

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/docs/syntax_and_semantics/literals.html