3

これを行うためのより良い方法が絶対に必要です。

temp_file ||= Tempfile.new()
system("stty -echo; tput u7; read -d R x; stty echo; echo ${x#??} > #{temp_file.path}")
temp_file.gets.chomp.split(';').map(&:to_i)

基本的に、サブプロセスでこの質問のbashスクリプトを実行し、リダイレクトされたファイルから出力を読み取ります。

Cや宝石を使わずに(stdlibは大丈夫です)、これを行うより良い方法は何ですか? 相互互換性はそれほど重要ではありません。

4

3 に答える 3

2

cursesは stdlib にありますが、めちゃくちゃです。

于 2011-04-27T20:30:35.240 に答える
0

https://github.com/eclubb/ncurses-ruby

Rubyでこれを試すことができます。あなたが必要とするcurXとcurYのものがあるようです。

于 2011-04-27T20:32:07.507 に答える