我正在学习Ruby,当我在命令行界面中写这个时,我收到以下错误:
hold = {21, 22, {23, 24}, 25}
#=> SyntaxError: (irb):1: syntax error, unexpected ',', expecting =>
Run Code Online (Sandbox Code Playgroud)
这不应该是创造对
#=> {21 => 22, {23,24}=>25}
Run Code Online (Sandbox Code Playgroud)
Ruby的哈希字面 { }预计逗号分隔的键值对的形式key => value:
{ 1 => 'a', 2 => 'b' } #=> {1=>"a", 2=>"b"}
{ :foo => 1, :bar => 2 } #=> {:foo=>1, :bar=>2}
Run Code Online (Sandbox Code Playgroud)
如果key是一个符号,您也可以使用较短的key: value语法(请注意,结果哈希与上面的哈希相同):
{ foo: 1, bar: 2 } #=> {:foo=>1, :bar=>2}
Run Code Online (Sandbox Code Playgroud)
您可以使用Hash::[]将键和值作为单独的参数传递:
Hash[21, 22, Hash[23, 24], 25]
#=> {21=>22, {23=>24}=>25}
Run Code Online (Sandbox Code Playgroud)
但是创建像这样的哈希是非常罕见的.
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |