Ruby.exe / IRB を実行すると空の DOS シェルしか表示されないのはなぜですか?
質問
Windows XP ラップトップに Ruby 1.9.1p243 (2009-07-16 リビジョン 24175) [i386-mingw32] をインストールしました。
Ruby.exe を実行すると、空白の DOS シェル ウィンドウが表示されます。コマンド プロンプトの左上に予期される「irb(main):001:0>」は表示されません。シェルに入力することはできますが、入力したコードは、Enter キーを押すと実際に何かを実行します。
IRB は cmd.exe DOS シェルから起動でき、完全に機能します。さらに、システム変数のパスを c: uby\bin に設定しているので、問題ないことがわかります。
何が問題なのか、そしてそれを修正する方法はありますか?
解決
Ruby.exe != irb.bat
irb は、ruby.exe を対話型シェルとして実行するバッチ ファイルです。実際には「irb」(拡張子なし)というファイルをパラメータとして渡します。irb を実行したいと考えています。
他のヒント
より正確に言うと、ランニング ruby
それ自体でも Ruby インタープリタを提供しますが、IRB の次の機能が失われます。行編集、即時実行、および結果の自動印刷を備えた対話型プロンプト。
例えば:
C:\> ruby
puts "hello"
"test string"
プレス Ctrl+Z その後 入力. 。出力します
hello
Ctrl+Z は「ファイルの終わり」信号をインタープリタに送信します。IRB とは異なり、デフォルトでは一度に 1 行ずつ入力を消費しないため、「hello」の出力を待ちます。「テスト文字列」がまったく表示されませんでした。
追伸 逆に、ファイル名を IRB に渡すこともできます (単に irb hello.rb
)すると、入力したかのように実行され、コードの各行とその結果が表示されます。