Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > cursesライブラリ
Ruby の curses ライブラリ(以下、Ruby curses)は、C のプログラムから端末 の画面を制御するための curses ライブラリ(以下、C curses)を利用して、端 末に依存しない形式でテキストユーザインタフェースを構築するためのライブ ラリです。
C curses には、次のような実装があります。
Ruby curses を使ってテキストユーザインタフェース(以下、TUI)を 構築する流れは次のようになります。
例: 画面中央に「Hello World!」と表示し、何か入力があると終了する。
require "curses" Curses.init_screen begin s = "Hello World!" Curses.setpos(Curses.lines / 2, Curses.cols / 2 - (s.length / 2)) Curses.addstr(s) Curses.refresh Curses.getch ensure Curses.close_screen end
例: 上記の例と同様だが、Curses モジュールを include する場合
require "curses" include Curses init_screen begin s = "Hello World!" setpos(lines / 2, cols / 2 - (s.length / 2)) addstr(s) refresh getch ensure close_screen end
なお、C curses を利用できない環境で Ruby をコンパイルしている場合、 Ruby curses は利用できません。 利用できない場合、require の時点で例外 LoadError が発生します。
foo:1:in `require': no such file to load -- curses (LoadError) from foo:1:in `<main>'
Ruby curses の操作によっては、 利用する C curses が提供していない機能を使うものがあります。 そのような操作を行った場合、例外 NotImplementedError が発生します。
セーフレベル ($SAFE) が 4 の場合、いくつかの操作で例外 SecurityError を発生します。
このライブラリは 2.1.0 で gem ライブラリとして切り離されました。2.1.0 以降ではそちらを利用してください。
Curses::MouseEvent | マウスの位置や状態などの情報を取得するためのクラスです。 ncurses を利用して curses ライブラリをインストールした場合にだけ、 本クラスが定義されています。 |
Curses::Window |
Curses | Curses モジュールや Curses::Window クラスは、curses ライブラリを利用して、 端末に依存しない形式でテキストユーザインタフェースを作成できます。 curses ライブラリとは、 C のプログラムから端末のディスプレイ画面を制御するためのライブラリのことで、 次のような実装があります。 |
Curses::Key |