Ruby.exe / IRB を実行すると空の DOS シェルしか表示されないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/1563679

質問

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)すると、入力したかのように実行され、コードの各行とその結果が表示されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top