在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)
那么具体触发此警告的是什么?还有什么空间可以添加到原始表达式中?
答案 0 :(得分:15)
“问题”是/
可以表示除法或正则表达式。该消息是通用的;解析器并不一定意味着空格会帮助给定的特定表达式。