匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

ruby の pry コマンドでの Ctrl+C の挙動について


■以下が希望する動作
$ cat /etc/redhat-release
CentOS release 5.8 (Final)
$ pry
[1] pry(main)> Interrupt: ← Ctrl+C を押すたびに以下の様に行が増えていく
[2] pry(main)> Interrupt:
[3] pry(main)> Interrupt:
[4] pry(main)>

■なんとかしてほしい
$ cat /etc/redhat-release
CentOS release 6.4 (Final)
$ pry
[1] pry(main)> ^C ← ここで Ctrl+C を何回押しても画面変化なし。その後 Enterすると以下の行が表示される

[2] pry(main)>

※ 一応、linux の stty コマンド等は調べてみましたが原因究明に至らず...

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/02/05 15:11:28
  • 終了:2014/02/12 15:15:03

回答(2件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2014/02/06 22:53:34

vagrant で CentOS 5.8 と CentOS 6.4 の環境を用意して試してみましたが、どちらも

$ pry
[1] pry(main)>
[2] pry(main)>
[3] pry(main)>
[4] pry(main)>
[5] pry(main)>

のようにCtrl+C を押すたびに行が増えていきましたが、「Interrupt:」とは出ませんでした。


試したbox:
https://dl.dropbox.com/u/7196/vagrant/CentOS-56-x64-packages-puppet-2.6.10-chef-0.10.6.box
https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box

匿名質問者

質問者から

匿名質問者2014/02/08 16:03:50

別の Linux マシンから試すと「Interrupt:」の文字は出ない&押す度に増えて行きました。

Ctrl+C 自体は機能しているのですが、先に書いた通り画面上の見た目に反応してくれません

匿名回答1号 No.2

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2014/02/07 11:59:14

機能していて表示の問題だけだとすると、どこかでバッファリングされていて止まっているのだと思います。
pry で STDOUT.sync = true にしてみるなど、pry から端末までの間のバッファリングしてそうな部分を順番に調べていくしかなさそうです。

匿名質問者

STDOUT.sync = true にしてみましたが変化なしです。
なんとなくですが、readline とか関係している!?

2014/02/07 14:07:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません