2011-08-05 7 views
0

ルビー1.9.2 ワチール1.8.1する(Windows 7)

私たちは、CMDプロンプト(driver.rb)から、当社のRubyスクリプトを起動します。私は、ユーザーが選択を行い、その後の選択を返すことができるように選択肢を表示するようにプロンプ​​トウィンドウをしたいと思い

response = `choice /c 12 /n /m "1. Qual -- 2. Test"` 

: Rubyスクリプトは、CMDプロンプトコマンドを実行するには、次の行を実行します。

コマンドが実行されると、メッセージは表示されませんが、cmdウィンドウは応答を待機しています。

I値(1または2)を入力すると、それはxは私が選んだ値であると、文字列

(/c 12 /n /m "1. Qual -- 2. Test x) 

を返します。

ルビスクリプトの実行が完了すると、cmdウィンドウにプロンプ​​トが表示されます。

実行すると、スクリプトの終了後にルビスクリプト(putsなど)からの出力が表示されます。

ruby​​が実行されている間に出力がcmdウィンドウに移動する方法がありますか?isが終了するか、少なくともcmdプロンプトコマンドが表示されるまで待たないでください。

私はこの問題について助けていただければ幸いです。

+0

この問題はありません。私は '(0..5).each {| i |私を置きます。 sleep 1} 'をrubyファイルで実行し、Windows 7の' cmd'で実行しました。毎秒出力があります。 –

+1

なぜあなたは選択を実行するために砲撃していますか?あなたは完璧なルビーを入手し、ハイラインの宝石を使って完璧にすることができます:http://rubygems.org/gems/highline –

+1

あなたがあなたが思っていた質問について話したらあなたを助けてくれるかもしれません。 'への答えだった。テストの実行が開始された後、誰かがQualまたはTestを選択したいのはなぜですか?ルビにパラメータを渡す方法や、DOSプロンプトで質問することなくオプションをつける方法が約100万種類あります。 –

答えて

0

他のルビスクリプトが必要な場合、これらのスクリプトのコードが実行されます。オブジェクトやメソッドの定義に含まれていないファイルに実際のコードがある場合は、他のフローコントロールより先に実行することになりますあなたのメインスクリプトで。

あなたに起こっていることが分かっているかどうかはっきりとは言えませんが、物事をどのように構成しようとしているかによってはそうかもしれません。