1

簡単な Ruby スクリプトを作成しようとしています。ただし、実行すると、コマンドラインが開き、すぐに閉じます。Visual Basic コンソール アプリケーションでも同じ問題が発生したため、これがコマンド プロンプトの問題かどうかはわかりません。

Ruby 1.9.3 で Windows 8 を実行しています。どんな助けでも大歓迎です。

4

2 に答える 2

5

これは、Windows でコマンド ライン アプリケーションを開発する場合、特に IDE を使用する場合によく見られる症状です。

この問題を解決する正しい方法は、コマンド ライン プロンプトまたは PowerShell を手動で開き、プログラムが配置されているディレクトリに移動して、コマンド ラインから手動で実行することです。

ruby your_program.rb

これは、コマンド ライン プログラムが最初から実行されるように設計されている方法です。IDE からコードを実行すると、ターミナルが開き、プログラムを実行するように指示されます。ただし、プログラムの実行が終了すると、端末は何もする必要がなくなり、終了します。

ただし、ターミナル開くと、IDE ではなく、ターミナルに何をすべきかを指示しているため、ターミナルは、プログラムが終了した後でも、より多くの入力を期待します閉じるように指示していないため、閉じません。

Ruby スクリプトの最後でこの回避策を使用することもできます。

gets

これは、標準入力から行を読み取り、それを破棄します。リターンを押すまで、プログラム、つまり端末が終了するのを防ぎます。

同様の回避策は C や C++ などの任意の言語で使用できますが、実際の問題を解決しているとは思いません。

ただし、これで落胆しないでください。gets学習の合間にご自由にお使いください。これは非常に便利な回避策であり、使用する必要があります。

これらの種類のハックは、製品コードには表示されないことに注意してください。

于 2013-01-11T23:14:26.863 に答える
1

コマンドラインから実行していますか、それとも実行可能ファイルとして実行していますか。最後にビジー ループを配置して、出力を確認するか、キーボード入力を待ちます。コマンド ラインの外で実行すると、スクリプトの完了時にコマンド ラインが終了します。

于 2013-01-11T23:09:34.617 に答える