字面量¶
Crystal 提供了多种字面量,用于创建某些基本类型的值。
| 字面量 | 示例值 |
|---|---|
| Nil | nil |
| Bool | true, false |
| 整数 | 18, -12, 19_i64, 14_u32,64_u8 |
| 浮点数 | 1.0, 1.0_f32, 1e10, -0.5 |
| 字符 | 'a', '\n', 'あ' |
| 字符串 | "foo\tbar", %("あ"), %q(foo #{foo}) |
| 符号 | :symbol, :"foo bar" |
| 数组 | [1, 2, 3], [1, 2, 3] of Int32, %w(one two three) |
| 类似数组 | Set{1, 2, 3} |
| 哈希表 | {"foo" => 2}, {} of String => Int32 |
| 类似哈希表 | MyType{"foo" => "bar"} |
| 范围 | 1..9, 1...10, 0..var |
| 正则表达式 | /(foo)?bar/, /foo #{foo}/imx, %r(foo/) |
| 元组 | {1, "hello", 'x'} |
| 命名元组 | {name: "Crystal", year: 2011}, {"this is a key": 1} |
| Proc | ->(x : Int32, y : Int32) { x + y } |
| 命令 | `echo foo`, %x(echo foo) |