这是触发错误的代码:
#!/home/yuri/.rbenv/shims/ruby a = [] a += [1, 2, 3].map { |v| v++ }
这就是它所说的:
/home/yuri/_/1.rb:5: syntax error, unexpected '}'
这个运行没有错误:
#!/home/yuri/.rbenv/shims/ruby a = [] a += [1, 2, 3].map { |v| v++ v }
但那不是:
#!/home/yuri/.rbenv/shims/ruby a = [] a += [1, 2, 3].map { |v| v++ if false v }
输出:
/home/yuri/_/1.rb:6: syntax error, unexpected '}', expecting keyword_end
有没有办法解释这种行为?或者至少,如何避免它?我正在跑ruby-2.0
,如果有的话.