2011-12-17 5 views
12

Ho appena installato Ruby 1.9.2 dopo aver utilizzato 1.8.7, in quanto esiste una funzionalità di cui ho bisogno. Mi aveva chiamato molti dei miei metodi in questo modo:Errore di sintassi, imprevisto ',', in attesa di ')'

do_something (arg0, arg1) 

Con 1.9.2, ottengo il seguente errore, syntax error, unexpected ',', expecting ')' e la correzione sembra essere:

do_something arg0, arg1 

ma questo potrebbe portarmi ore per correggi tutti i casi. C'è un modo per aggirare questo? Perché è un errore in primo luogo? grazie

+4

Oppure non utilizzare uno spazio prima del paren, a lungo consigliato da evitare. –

+8

Per essere onesti: il tuo codice genera avvisi che non devi mettere spazi prima di aprire parentesi usando Ruby 1.8.7. Quindi non è che questo problema sia apparso all'improvviso dal nulla senza preavviso. – sepp2k

risposta

36

Lo spazio extra è il colpevole. Utilizzare:

do_something(arg0, arg1) 
+0

Strano però, vero? –

+0

Lo stesso problema qui, ora l'installazione 1.8.7 per vedere se funziona. Il mio "errore di sintassi" è: '/home/kinduff/www/creamcheese/app/admin/grupos.rb:9: errore di sintassi, imprevisto ':', in attesa di '}' a {href: admin_recipe_path (receta.id)} , do' – kinduff

+1

Usa esplicito() e non usare una virgola prima del blocco, in questo modo: 'a ({href: admin_recipe_path (receta.id)}) do'. Il modo in cui lo fai rubino pensa che {} denoti un blocco quando in realtà è un hash. –