Reputation: 81510
In Ruby 1.9.1, if you do
$VERBOSE = true
puts /m/ , 42.to_s
or if I do
$VERBOSE = true
puts /m/ , "42"
You get the warning
warning: ambiguous first argument; put parentheses or even spaces
But I don't get it if I do
$VERBOSE = true
puts "m" , 42.to_s
or
$VERBOSE = true
puts(/m/, 42.to_s)
So what specifically triggers this warning? And what more spaces could I have added to the original expression?
Upvotes: 18
Views: 3111
Reputation: 146053
The "problem" is that /
could signify division or a regular expression. The message is generic; the parser doesn't necessarily mean that spaces would have helped a given specific expression.
Upvotes: 16