From: Masao Ochi Date: 2007-11-16T10:14:53+09:00 Subject: [ruby-list:44230] Re: WinXPでのCursesプログラム 越智です。ご解答ありがとうございます。 > たぶん対応してみたので、私を信用する覚悟があるならば、 もう心の底から信用して、ばっちり試してみました! 結果としては大成功です。 試してみたコードを後ろに付けておきますね。 こんなに早く対応いただけるなんて、Rubyコミュニティってやっ ぱりすごいですね。 なかむら(う)さん本当ありがとうございました。 ------------------------------------------------------------ テスト用のコード(ctrl+cで終わります) ------------------------------------------------------------ require "curses" include Curses pos_x = 15 pos_y = 15 init_screen noraw stdscr.keypad(true) while true clear setpos(pos_y, pos_x) addstr("hello world") refresh key = getch case key when 259 # up pos_y -= 1 when 260 # left pos_x -= 1 when 261 # right pos_x += 1 when 258 # down pos_y += 1 when 3 # ctrl+c break else # noting end end close_screen 07/11/15 に U.Nakamura さんは書きました: > こんにちは、なかむら(う)です。 > > In message "[ruby-list:44224] WinXPでのCursesプログラム" > on Nov.15,2007 17:24:38, wrote: > | 色々調べて、ncursesというライブラリならkeypad()という設定メソッド > | を呼び出すと矢印キーが有効になるということが分かり、もしかすると > | と思い調べてみるとRubyのCursesにも数年前にkeypad()メソッドは > | 取り込まれているようです。 > | しかしながらこれを使ってみると > | keypad() function is unimplemented on this machine > | というエラーが出てしまい動作しません。 > | このメソッドはWinXPでは動作しないのでしょうか? > | なにか回避策対応策はありますでしょうか? > | > | 【環境】 > | WindowsXP pro sp2 > | ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] > | pdcurses-2.60(dllをrubyのbinフォルダに置いています) > | cmd.exeにて動作 > > たぶん対応してみたので、私を信用する覚悟があるならば、 > http://www.garbagecollect.jp/~usa/curses.so > をダウンロードして、rubyをインストールしたディレクトリ以下の > lib\ruby\1.8\i386-mswin32 > または > lib\ruby\site_ruby\1.8\i386-msvcrt > に置いて試してみてください。 > Curses::Windows#keypadメソッド自体は追加されているはずですが、 > 正常に動くかどうかまではよくわかりません。 > > > 私を信用できない場合は、1.8.7もしくは1.9.1のリリースまでお待 > ちください :) > > > それでは。 > -- > U.Nakamura > > > >