我想使用 Ruby 1.8.7 版将哈希添加到数组中:
items = Array.new
items.push {:a => "b", :c => "d"}
上面的语句将返回如下错误:
SyntaxError: compile error
(irb):35: syntax error, unexpected tASSOC, expecting '}'
items.push {:a => "b", :c => "d"}
^
(irb):35: syntax error, unexpected ',', expecting '}'
items.push {:a => "b", :b => "c"}
^
好吧,我发现解决方案是将 push 参数包含在括号中( )
,或者我可以使用<<
运算符。我也知道push
接受一个或多个参数并且<<
只接受这个答案中的一个参数,但困扰我的是为什么我需要使用括号,而我们都知道 Ruby 中的括号是可选的?