再び失礼します。
現在以下のようなソースコードを実行しています。
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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
TeraTermマクロの文字列結合
その他(プログラミング・Web制作)
-
一つのTeratermのマクロで複数のTeratermのウィンドウを立ち上げることはできますか?
サーバー
-
[teraterm] waitコマンドで停止しない。
その他(プログラミング・Web制作)
-
-
4
TeraTermマクロのinputboxで入力した値をメッセージ確認表示するには?
サーバー
-
5
VB上で実行中の無限ループの止め方
Visual Basic(VBA)
-
6
Tera Term のマクロでの改行コード変更
その他(コンピューター・テクノロジー)
-
7
Macターミナルで実行中のプログラムを中止するには?
その他(プログラミング・Web制作)
-
8
Teratemマクロ(ttl)のwaitについて
その他(プログラミング・Web制作)
-
9
【Teraterm】文字列と変数の連結方法
その他(プログラミング・Web制作)
-
10
ttlで戻り値を取得する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10 で青鬼を遊びたいの...
-
chatGPTで次々と質問をしていく...
-
latexでのエラー
-
パソコンのスクリーンセーバー...
-
プログラミングについてです。...
-
至急!RedmiPadを文鎮化させて...
-
【HTML】INPUTの値を引数にBAT起動
-
pythonで他のアプリを操作する...
-
VSコード
-
PC版のMinecraftが応答なしにな...
-
EXCEL-VBAでコマンド...
-
プログラムが書けません。
-
コマンドプロンプトを表示しな...
-
管理者として実行を毎回すると...
-
パソコンに何かが勝手にダウン...
-
<python>テキストエディタとタ...
-
Excel実行時エラー-2146959355?
-
ファイル検索について
-
eclipseで、「ポート番号が使用...
-
ATOMは何の略ですか
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
Excel実行時エラー-2146959355?
-
パソコンのスクリーンセーバー...
-
chatGPTで次々と質問をしていく...
-
管理者として実行を毎回すると...
-
latexでのエラー
-
eclipseで、「ポート番号が使用...
-
PC版のMinecraftが応答なしにな...
-
エクセルVBA、ステップモードと...
-
VB.NETでボタンのクリックイベ...
-
EXCEL-VBAでコマンド...
-
至急!RedmiPadを文鎮化させて...
-
Windows10 で青鬼を遊びたいの...
-
プログラム実行中に強制停止さ...
-
プログラミングについてです。...
-
VSコード
-
COBOLで集団項目から符号...
-
pythonで他のアプリを操作する...
-
VB.NETでDataTableにデータ追加...
-
Flashゲームをホームページで楽...
おすすめ情報