簡単な Ruby スクリプトを作成しようとしています。ただし、実行すると、コマンドラインが開き、すぐに閉じます。Visual Basic コンソール アプリケーションでも同じ問題が発生したため、これがコマンド プロンプトの問題かどうかはわかりません。
Ruby 1.9.3 で Windows 8 を実行しています。どんな助けでも大歓迎です。
簡単な Ruby スクリプトを作成しようとしています。ただし、実行すると、コマンドラインが開き、すぐに閉じます。Visual Basic コンソール アプリケーションでも同じ問題が発生したため、これがコマンド プロンプトの問題かどうかはわかりません。
Ruby 1.9.3 で Windows 8 を実行しています。どんな助けでも大歓迎です。
これは、Windows でコマンド ライン アプリケーションを開発する場合、特に IDE を使用する場合によく見られる症状です。
この問題を解決する正しい方法は、コマンド ライン プロンプトまたは PowerShell を手動で開き、プログラムが配置されているディレクトリに移動して、コマンド ラインから手動で実行することです。
ruby your_program.rb
これは、コマンド ライン プログラムが最初から実行されるように設計されている方法です。IDE からコードを実行すると、ターミナルが開き、プログラムを実行するように指示されます。ただし、プログラムの実行が終了すると、端末は何もする必要がなくなり、終了します。
ただし、ターミナルを開くと、IDE ではなく、ターミナルに何をすべきかを指示しているため、ターミナルは、プログラムが終了した後でも、より多くの入力を期待します。閉じるように指示していないため、閉じません。
Ruby スクリプトの最後でこの回避策を使用することもできます。
gets
これは、標準入力から行を読み取り、それを破棄します。リターンを押すまで、プログラム、つまり端末が終了するのを防ぎます。
同様の回避策は C や C++ などの任意の言語で使用できますが、実際の問題を解決しているとは思いません。
ただし、これで落胆しないでください。gets
学習の合間にご自由にお使いください。これは非常に便利な回避策であり、使用する必要があります。
これらの種類のハックは、製品コードには表示されないことに注意してください。
コマンドラインから実行していますか、それとも実行可能ファイルとして実行していますか。最後にビジー ループを配置して、出力を確認するか、キーボード入力を待ちます。コマンド ラインの外で実行すると、スクリプトの完了時にコマンド ラインが終了します。