是什么引发了关于模棱两可的第一个参数的Ruby警告?

时间:2011-03-08 23:52:30

标签: ruby warnings

在Ruby 1.9.1中,如果你这样做

$VERBOSE = true
puts /m/ , 42.to_s

或者如果我

$VERBOSE = true
puts /m/ , "42"

你收到警告

warning: ambiguous first argument; put parentheses or even spaces

但是,如果我这样做,我就不明白

$VERBOSE = true
puts "m" , 42.to_s

$VERBOSE = true
puts(/m/, 42.to_s)

那么具体触发此警告的是什么?还有什么空间可以添加到原始表达式中?

1 个答案:

答案 0 :(得分:15)

“问题”是/可以表示除法或正则表达式。该消息是通用的;解析器并不一定意味着空格会帮助给定的特定表达式。