再び失礼します。
現在以下のようなソースコードを実行しています。
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
TeraTermマクロのinputboxで入力した値をメッセージ確認表示するには?
サーバー
-
一つのTeratermのマクロで複数のTeratermのウィンドウを立ち上げることはできますか?
サーバー
-
[teraterm] waitコマンドで停止しない。
その他(プログラミング・Web制作)
-
-
4
Tera Term のマクロでの改行コード変更
その他(コンピューター・テクノロジー)
-
5
TeraTermマクロの文字列結合
その他(プログラミング・Web制作)
-
6
【Teraterm】文字列と変数の連結方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel実行時エラー-2146959355?
-
eclipseで、「ポート番号が使用...
-
管理者として実行を毎回すると...
-
Pythonについて
-
VB.NETでボタンのクリックイベ...
-
VB.NET自動起動について
-
パソコンのスクリーンセーバー...
-
パソコンに何かが勝手にダウン...
-
エクセルVBA、ステップモードと...
-
latexでのエラー
-
ターミナルからemacsへのコピペ...
-
EXCEL-VBAでコマンド...
-
プログラム実行時の、一時停止...
-
VBA コントロールパネルの機能...
-
実行中のVBSをタスクバーに非表...
-
マイコンのステート数
-
【急いでます!】pythonでキー...
-
VB.NETでDataTableにデータ追加...
-
テフラグのやり方
-
C列に”済”が入力されたら入力さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
Excel実行時エラー-2146959355?
-
Pythonって何のソフトで動くん...
-
latexでのエラー
-
エクセルVBA、ステップモードと...
-
PC版のMinecraftが応答なしにな...
-
eclipseで、「ポート番号が使用...
-
管理者として実行を毎回すると...
-
パソコンのスクリーンセーバー...
-
VB.NETでボタンのクリックイベ...
-
chatGPTで次々と質問をしていく...
-
EXCEL-VBAでコマンド...
-
VB.NETでDataTableにデータ追加...
-
Windows10 で青鬼を遊びたいの...
-
プログラム実行中に強制停止さ...
-
COBOLで集団項目から符号...
-
VBA コントロールパネルの機能...
-
【急いでます!】pythonでキー...
-
ターミナルからemacsへのコピペ...
-
ランタイム関数とは何ですか?
おすすめ情報