2011-12-17 16 views
12

Acabo de instalar Ruby 1.9.2 después de haber utilizado 1.8.7, ya que hay una función que necesito. Había llamado a muchos de mis métodos de esta manera:error de sintaxis, inesperado ',', esperando ')'

do_something (arg0, arg1) 

Con 1.9.2, me sale el siguiente error, syntax error, unexpected ',', expecting ')' y la solución parece ser:

do_something arg0, arg1 

Pero esto me podía llevar horas arreglar todos los casos. ¿Hay alguna forma de evitar esto? ¿Por qué es un error en primer lugar? gracias

+4

O no utiliza un espacio antes de los parens, se recomienda mucho tiempo para evitar. –

+8

Para ser justos: su código produce advertencias de que no debe poner espacios antes de abrir paréntesis usando ruby ​​1.8.7. Entonces, no es como si este problema apareciera repentinamente de la nada sin previo aviso. – sepp2k

Respuesta

36

El espacio extra es el culpable. Uso:

do_something(arg0, arg1) 
+0

Extraño, ¿no? –

+0

Mismo problema aquí, ahora instalando 1.8.7 para ver si funciona. Mi "error de sintaxis" es: '/home/kinduff/www/creamcheese/app/admin/grupos.rb:9: error de sintaxis, inesperado ':', esperando '}' a {href: admin_recipe_path (receta.id)} , do' – kinduff

+1

Use explicit() y no use una coma antes del bloque, como lo hace: 'a ({href: admin_recipe_path (receta.id)}) do'. La forma en que lo haces Ruby piensa que {} denota un bloque cuando en realidad es un hash. –

Cuestiones relacionadas