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) |