语法错误,意外',',期待=>

use*_*083 -4 ruby

我正在学习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)

Ste*_*fan 5

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)

但是创建像这样的哈希是非常罕见的.