
再び失礼します。
現在以下のようなソースコードを実行しています。
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのエラーについて 2 2023/08/02 17:46
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Ruby MacBookAir起動時にRubyソースコードをコマンドラインで実行するには? MacのOS起動時 1 2022/04/18 01:55
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel実行時エラー-2146959355?
-
エクセルVBA、ステップモードと...
-
ランタイム関数とは何ですか?
-
シングルステップの使用方法に...
-
パソコンに何かが勝手にダウン...
-
VBA:Callステートメントでいつ...
-
COBOLで集団項目から符号...
-
パソコンのスクリーンセーバー...
-
eclipseで、「ポート番号が使用...
-
latexでのエラー
-
VB.NETでボタンのクリックイベ...
-
プログラム実行中に強制停止さ...
-
EXCEL-VBAでコマンド...
-
Delphi URLを実行するときに
-
たまにマクロを実行できないと...
-
京セラのスマホ、BASIO3をバー...
-
A-oneのラベル屋さんについて
-
Craving Explorerのバージョン...
-
【至急】サクラエディタのファ...
-
VBnet、Imports Microsoft.Offi...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
Excel実行時エラー-2146959355?
-
eclipseで、「ポート番号が使用...
-
PC版のMinecraftが応答なしにな...
-
エクセルVBA、ステップモードと...
-
パソコンのスクリーンセーバー...
-
「管理者として実行」された場...
-
管理者として実行を毎回すると...
-
VB.NETでボタンのクリックイベ...
-
プログラム実行中に強制停止さ...
-
VB.NETでDataTableにデータ追加...
-
プロパティの値が不正ですって...
-
latexでのエラー
-
jbossとjdkの関係性、違いにつ...
-
Windows10 で青鬼を遊びたいの...
-
EXCEL-VBAでコマンド...
-
XPパソコンのレスポンスの遅さ
-
ATOMは何の略ですか
-
プログラムが書けません。
-
起動したアプリケーションを最...
おすすめ情報