Come mai quando eseguo ruby.exe / IRB tutto ciò che ottengo è una shell DOS vuota?
Domanda
Ho installato Ruby 1.9.1p243 (2009-07-16 revisione 24175) [i386-mingw32] sul mio portatile Windows XP.
Quando eseguo ruby.exe ottengo una finestra vuota della shell DOS.Non è previsto "irb(main):001:0>" nella parte superiore sinistra del prompt dei comandi.Posso digitare nella shell ma qualsiasi codice che digito in realtà fa qualsiasi cosa quando si preme invio.
Devo dire che posso avviare IRB dalla shell DOS cmd.exe e funziona perfettamente.Inoltre ho il percorso delle variabili di sistema impostato su c: uby\bin quindi so che va bene.
Qualche idea su cosa potrebbe andare storto e come risolverlo?
Soluzione
ruby.exe != irb.bat
irb è un file batch che esegue ruby.exe come shell interattiva.In realtà passa un file chiamato "irb" (senza estensione) come parametro.Vuoi gestire IRB.
Altri suggerimenti
Più precisamente, correndo ruby
di per sé ti dà ancora un interprete Ruby, ma ti mancheranno queste funzionalità di IRB:Il prompt interattivo con modifica della riga, esecuzione immediata e stampa automatica del risultato.
Per esempio:
C:\> ruby
puts "hello"
"test string"
Premere CTRL+Z poi accedere.Esce
hello
Ctrl+Z invia un segnale di "fine file" all'interprete.A differenza di IRB, per impostazione predefinita non consuma l'input una riga alla volta, quindi attende l'output di "ciao".La "stringa di prova" non è stata visualizzata affatto.
PS Al contrario, puoi anche passare il nome di un file a IRB (just irb hello.rb
) e lo eseguirà come se lo avessi digitato, visualizzando ogni riga di codice e il risultato man mano che procede.