Что вызывает предупреждение Ruby о неоднозначном первом аргументе? - PullRequest
17 голосов
/ 09 марта 2011

В 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 Ответ

15 голосов
/ 09 марта 2011

«Проблема» в том, что / может означать деление или регулярное выражение.Сообщение является общим;синтаксический анализатор не обязательно означает, что пробелы помогли бы данному определенному выражению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...