私はRubyで単純な端末ベースのゲームを作って遊んでいます.現在、端末からの入力を読み取る方法を考え出そうとしています.
これまでは を使用してきましたがgets
、改行を必要とせずにゲームが即座に反応するようにしたいと考えています (そのため、キーを押す必要がなく、エンターする必要がありません)。
ターミナルを非標準モードにする必要があることがわかりました$stdin.ioctl
.. 問題は、これにどの引数またはフラグを渡す必要があるのか わからないことです。ドキュメントと検索は、基礎となるC関数に関する情報につながるだけです。
何を使って電話すればよいか誰か教えてもらえます$stdin.ioctl
か? OSX Leopard で Terminal.app/tcsh を使用しています。
編集: MarkusQ のおかげで、これは私が最終的に使用したものです:
%x{stty -icanon -echo}
key = STDIN.read(1)