我意识到如果它是数组中的最后一个元素,则可以省略哈希的花括号.例如,表格:
[1,2,3,:a => 'A',:b => 'B'] [1,a: 'A',b: 'B']
似乎与:
[1,{:a => 'A',:b => 'B'}] [1,{a: 'A',b: 'B'}]
我知道方法的参数可能存在这种遗漏,但是没有注意到数组是可能的.我对这条规则的理解是否正确?而且,这是在某处描述的吗?
解决方法
这似乎是1.9的新功能:
$rvm use 1.8.7 $irb ruby-1.8.7-p352 :001 > x = [ 1,:a => 4,:b => 5 ] SyntaxError: compile error (irb):1: Syntax error,unexpected tASSOC,expecting ']' x = [ 1,:b => 5 ] ^ from (irb):1 ruby-1.8.7-p352 :002 > exit $rvm use 1.9.3 $irb ruby-1.9.3-p0 :001 > x = [ 1,:b => 5 ] => [1,{:a=>4,:b=>5}] ruby-1.9.3-p0 :002 >