
再び失礼します。
現在以下のようなソースコードを実行しています。
while true do
print "commando?\n"
command = gets
if command == "end" then
break
end
end
ループから抜け出すために、getsメソッドを用いて、
endと入力されればループを抜けるという感じにしたいのですが
うまく抜け出せず、無限ループに陥ってしまいます。
質問内容は、このように、getsメソッド実行中(?)にプログラムの強制停止を
したいのですが、そのような方法はありますでしょうか。(例えばctrl+???とか)
実行環境は、terapadを使用してソースコードを書き、rubyコマンドプロンプトで
rubyコマンドを使って実行しています。
それではよろしくお願いいします。
※投稿確認したのですが、ソースコードにうまくインテンドが挿入されていません・・
見づらくて申し訳ございません
No.4ベストアンサー
- 回答日時:
OSやハードウェアにもよりますが。
よくつかわれるのは、Ctrl-c、Ctrl-B、Ctrl-Break ,Ctrl-Alt-Del、Esc ,Ctrl-Esc などですが、本当はプログラムを修正して、on-Key A then end みたいなAのKeyがおされたら end するようなコマンドをプログラムの最初に宣言するようなことはできませんか?>よくつかわれるのは、Ctrl-c、Ctrl-B、Ctrl-Break ,Ctrl-Alt-Del、Esc ,Ctrl-Esc
無事、ctrl+cで実行の停止ができました。
OSやハードウェアのことも考慮して他の提案もしてくださり、ありがとうございます。
>本当はプログラムを修正して、on-Key A then end みたいなAのKeyがおされたら end するようなコマンドをプログラムの最初に宣言するようなことはできませんか?
わかりました。確かに、それはやるべきですね。
プログラムを修正したいと思います。
ご丁寧にいろんなことを配慮してくださり、助かりました。
また何かあったときに、助けてくださると、うれしい限りです。
回答ありがとうございました。

No.3
- 回答日時:
実行環境及びrubyバージョンが提示されてないので、
windows ruby1.9として回答します。
if command == "end" then
を
if command == "end\n" then
としてください。
(getsで取得したcommandには改行コードもついてきます)
尚、プログラムが終了しない場合ですが、
タスクマネージャーを起動して、ruby.exeのプロセスを終了してください。
この方法が、わからない場合は、再度補足してください。
その場合、実行環境(windowsの場合はwindows-xp,windows7等)
rubyのバージョンも提示してください。
回答ありがとうございます。
>if command == "end\n" thenとしてください。
無事、自分がやりたかったことができました。
とても助かりました。ありがとうございます。
>実行環境(windowsの場合はwindows-xp,windows7等)
申し訳ございません。
実行環境はwindows7,rubyのバージョンは2.0です。
また、質問にも不備がございました。
今回質問したかったことは、フリーズに陥ったから終了したいというよりも、
rubyコマンドプロンプトを一度終了させてもう一回起動すると、
またカレンドディレクトリを設定しないといけないのが若干めんどくさかったので、
回答にありました「ctrl+c」のような、実行中のものを中断する方法が知りたかったので
質問させていただきました。
しかし、ソースコードの指摘をしてくださり、本当にありがとうございました。
悩んでいたことなので、助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
教えてください
-
pythonエラー
-
パソコンのスクリーンセーバー...
-
Gitのクローンについて
-
100万件越えCSVから条件を満た...
-
じゃんけんのプログラムを作っ...
-
符号付整数の演算結果を答えよ ...
-
一週間用のカレンダー
-
(再質問)エクセルのマクロボ...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
エクセルVBA、ステップモードと...
-
eclipseで、「ポート番号が使用...
-
Excel実行時エラー-2146959355?
-
VB.NETでDataTableにデータ追加...
-
パソコンのスクリーンセーバー...
-
VB.NETでボタンのクリックイベ...
-
プロパティの値が不正ですって...
-
latexでのエラー
-
PC版のMinecraftが応答なしにな...
-
ATOMは何の略ですか
-
COBOLで集団項目から符号...
-
EXCEL-VBAでコマンド...
-
管理者として実行を毎回すると...
-
「管理者として実行」された場...
-
プログラム実行中に強制停止さ...
-
Windows10 で青鬼を遊びたいの...
-
ランタイム関数とは何ですか?
-
【急いでます!】pythonでキー...
-
VBA:Callステートメントでいつ...
おすすめ情報