やりたいこと: 方向キーでカーソルとか動かしたい (※画像はイメージです) キー入力を得る ターミナルでユーザーの入力を得る際、getsやgetcではエンターが押されるまでキーの入力状況を得ることができません。 なので、カーソル移動等の操作には使えません。 cursesライブラリは色々とめんどいので使わない方法を調べました。 IO#getch (io/console) require 'io/console'するとIO#getchが使えるようになります。 これでキーが押されるたびに標準入力から文字を得ることができます。 ただしControl + Cの終了もできなくなるので、Control + Cが押されたらループを抜けるようにします。 require 'io/console' i = 0 while (key = STDIN.getch) != "\C-c" puts " #{i += 1