синтаксическая ошибка, неожиданное ',', ожидание ')'

Я только что установил Ruby 1.9.2 после использования 1.8.7, так как есть функция, которая мне нужна. Я назвал многие из своих методов следующим образом:

do_something (arg0, arg1)

С 1.9.2 я получаю следующую ошибку, syntax error, unexpected ',', expecting ')' и исправление выглядит следующим образом:

do_something arg0, arg1

Но это может занять у меня несколько часов, чтобы исправить все случаи. Это можно обойти? Почему это ошибка в первую очередь? Благодарность


person dt1000    schedule 17.12.2011    source источник
comment
Или не использовать пробел перед скобками, чего давно рекомендуется избегать.   -  person Dave Newton    schedule 17.12.2011
comment
Справедливости ради: ваш код выдает предупреждения о том, что вы не должны ставить пробелы перед открывающими скобками, используя ruby ​​1.8.7. Так что проблема не в том, что она внезапно появилась из ниоткуда без предупреждения.   -  person sepp2k    schedule 17.12.2011


Ответы (1)


Виновником является дополнительное пространство. Использовать:

do_something(arg0, arg1)
person Paweł Obrok    schedule 17.12.2011
comment
Та же проблема, теперь устанавливаю 1.8.7, чтобы посмотреть, работает ли она. Моя синтаксическая ошибка: /home/kinduff/www/creamcheese/app/admin/grupos.rb:9: syntax error, unexpected ':', expecting '}' a { href: admin_recipe_path(receta.id) }, do - person kinduff; 28.11.2012
comment
Используйте явное () и не используйте запятую перед блоком, например: a({href: admin_recipe_path(receta.id)}) do. Как вы это делаете, ruby ​​думает, что {} обозначает блок, хотя на самом деле это хэш. - person Paweł Obrok; 28.11.2012
comment
Но это большой проект, и самое странное, что несколько дней назад он работал как часы, но сейчас я не могу. - person kinduff; 28.11.2012
comment
Я не понимаю этого? когда ruby ​​нечувствителен к пространству, то почему do_something(arg0, arg1) отличается от do_something (arg0, arg1) - person sadaf; 04.05.2014