テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

rubyでgetc

2010-07-13 17:58:25 | Ubuntu Linux
文字列入力ではなく、キーが1文字入力されたら処理をしたい。
8bitマイコン世代には普通のことなんだが、rubyでどうやるか難儀した。

普通にgetcするとSTDIN.getcしろと出るのでそうするのだが、enterキーを押さないと処理されない。
enterキーは余計なんだが、といいつつググるのだが全然解決策がヒットしない。

仕方ない perl でやるかとググると、system stty rawする必要があると分かった。
なんだターミナルの問題だったのか、rubyでも出来るじゃん。ホッ。

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
Unknown (momo)
2013-09-05 10:53:09
大分昔の記事にコメント申し訳ありません。rubyについて調べていてこの記事を見つけ、コメントさせて頂きます。
私は高校2年生で、一昨日rubyを自分で勉強し始めたばかりのruby初心者です。今、enterで処理されるプログラムを書いているのですが、これをなんでもキー1文字が入力されたら処理されるプログラムにしたくてていろいろ調べています。いろんなサイトを見るのですが、どうすればいいのか何を使えばいいのかよくわからなくて、もしよろしければ教えていただけないでしょうか。
突然で、わかりにくい文章で申し訳ありません。お時間があれば返信よろしくお願い致します。
返信する
返事が遅くてすみません (サイキックTV)
2013-09-11 23:29:32
Linuxの場合ですが、
端末開いてsystem stty rawとコマンド入力してからrubyプログラムを動かすとgetcが期待通りに動きます。

GUIを使う場合や、Windowsの場合は分かりません。
返信する

コメントを投稿