2011-12-17 2 views
12

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

do_something (arg0, arg1) 

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

do_something arg0, arg1 

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

+4

Не используйте пространство перед парами, долгое время рекомендуется избегать. –

+8

Справедливости ради. В коде содержатся предупреждения о том, что вы не должны помещать пробелы перед открытыми круглыми скобками, используя ruby ​​1.8.7. Так что это не похоже, что эта проблема внезапно появилась из ниоткуда без предупреждения. – sepp2k

ответ

36

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

do_something(arg0, arg1) 
+0

Странно, правда, правда? –

+0

Такая же проблема здесь, теперь установите 1.8.7, чтобы увидеть, работает ли она. Моя синтаксическая ошибка: '/home/kinduff/www/creamcheese/app/admin/grupos.rb:9: синтаксическая ошибка, неожиданная ':', ожидающая '}' a {href: admin_recipe_path (receta.id)} , do' – kinduff

+1

Используйте explicit() и не используйте запятую перед блоком, например: 'a ({href: admin_recipe_path (receta.id)}) do'. Как вы это делаете, ruby ​​думает, что {} обозначает блок, когда на самом деле это хэш. –

Смежные вопросы