Library Index

Builtin Library | 組み込みライブラリは Ruby 本体に組み込まれているライブラリです。 このライブラリに含まれるクラスやモジュールは、 require を書かなくても使うことができます。
abbrev | 与えられた文字列の短縮形を生成するモジュールです。
base64 | MIME Base64のデコード/エンコードを行うメソッドが定義されています。 このライブラリは Base64 エンコーディングの サンプルスクリプトとして書かれました。
benchmark | ベンチマークを取るためのクラスです。
bigdecimal | bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
cgi | CGI プログラムの支援ライブラリです。
cgi-lib | このライブラリは obsolete です。 cgi ライブラリを使ってください。
complex | 複素数を扱うためのライブラリです。
csv | CSV (Comma Separated Values) を扱うライブラリです。
curses | Ruby の curses ライブラリ(以下、Ruby curses)は、C のプログラムから端末 の画面を制御するための curses ライブラリ(以下、C curses)を利用して、端 末に依存しない形式でテキストユーザインタフェースを構築するためのライブ ラリです。
date | 日付をあつかうためのライブラリです。
date2 | このライブラリは date に置き換えられました
dbm | DBM を Ruby スクリプトから扱えるようにするライブラリです。
debug | Ruby デバッガです。Ruby スクリプトのソースコードデバッグに使用します。
delegate | メソッドの委譲 (delegation) を行うためのライブラリです。
digest | メッセージダイジェストライブラリ。
dl | *.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
drb | 分散オブジェクトプログラミングのためのライブラリです。
e2mmap | 例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのライブラリです。
English | 特殊変数 $! などに英語名の別名 ($ERROR_INFO など)をつけます。
Env | このライブラリは obsolete です。 importenv を参照してください。
erb | eRuby スクリプトを扱うためのライブラリです。
eregex | 2 つの正規表現による AND/OR を提供します。
etc | /etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。
expect | IOオブジェクトから指定したパターンが読み込まれるまで待つ機能を提供します。
fcntl | ファイルディスクリプタを扱う Unix のシステムコール IO#fcntl (つまり fcntl(2)) で使用できる定数を集めたモジュールです。
fileutils | 再帰的な削除などの基本的なファイル操作を行うためのライブラリです。
finalize | オブジェクトが GC される時にメッセージを送る機能を提供します。このライブラリは obsolete です。
find | ディレクトリ配下のファイルを探索するためのモジュールです。
forwardable | クラスやオブジェクトに、メソッドの委譲機能を追加するためのライブラリです。
ftools | ファイル操作のためのライブラリです。
gdbm | GDBM(GNU データベース・マネージャ) を Ruby スクリプトから扱うためのライブラリです。
generator | 外部イテレータを扱うためのライブラリです。
getoptlong | getoptlong は、GNU の getopt_long() とまったく同じ方式でコマンド 行オプションの解析を行う Ruby のライブラリです。
getopts | このライブラリは obsolete です。 optparse を使ってください。
gserver | サーバを実装するためのライブラリです。
iconv | Iconv は UNIX 95 の iconv() 関数のラッパーで、 さまざまな文字コード体系間で文字列の変換を行ないます。
importenv | 環境変数をグローバル変数としてアクセスするためのライブラリです。 このライブラリは deprecated です。代替となるライブラリはありません。
io/nonblock | IOのノンブロックモードを扱うライブラリです。
io/wait | IOが読み込み可能になるまで待つ機能を提供するライブラリです。
ipaddr | IPアドレスを扱うライブラリです。
irb | irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
jcode | Stringクラスのメソッドを追加、再定義し、 日本語を意識した文字列処理を提供します。
kconv | 日本語文字コードの変換を手軽に行うためのライブラリです。
logger | ログを記録するためのライブラリです。
mailread | Unix mbox 形式のメールファイルを解析するライブラリです。
mathn | rational と complex をシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
matrix | 行列を扱うためのライブラリです。
md5 | このライブラリは obsolete です。digest ライブラリを使ってください。
mkmf | Ruby の拡張ライブラリのための Makefile を作成するライブラリです。
monitor | スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。
mutex_m | スレッド同期機構である Mutex のモジュール版を提供するライブラリです。
net/ftp | FTP プロトコルを扱うライブラリです。
net/ftptls | net/ftp に TLS 拡張を実装するライブラリです。
net/http | 汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は [RFC2616] に基きます。
net/https | net/http に SSL/TLS 拡張を実装するライブラリです。
net/imap | IMAP プロトコルを扱うライブラリです。
net/pop | メールを受信するためのプロトコル POP3 (Post Office Protocol version 3) を扱うライブラリです。
net/protocol | ネットワークライブラリ共通の例外クラスを 定義しています。このライブラリで定義された例外は 直接は利用されません。実際に発生する例外は それらを継承したものです。
net/smtp | メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol) を扱うライブラリです。
net/telnet | Telnetプロトコルを扱うライブラリです。
net/telnets | net/telnet に SSL 拡張を実装するライブラリです。
nkf | nkf を Ruby から使うためのライブラリです。
observer | Observer パターンを扱うためのライブラリです。
open3 | プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。
open-uri | http/ftp に簡単にアクセスするためのクラスです。 Kernel のモジュール関数(組み込み関数) open を再定義します。
openssl | OpenSSL を Ruby から扱うためのライブラリです。
optparse | コマンドラインのオプションを取り扱うためのライブラリです。
ostruct | 要素を動的に追加・削除できる手軽な構造体を提供するライブラリです。
parsearg | このライブラリは obsolete です。 代わりに optparse か getoptlong を使ってください。
parsedate | 日付を解析します。
pathname | パス名をオブジェクト指向らしく扱うためのライブラリです。
ping | サーバが稼働しているかどうか調べるための単純なメソッドを提供します。
pp | オブジェクトなどを見やすく出力するためのライブラリです。
prettyprint | pretty printing アルゴリズムのためのライブラリです。
profile | Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。
profiler | プロファイラの実装です。 現在、profile ライブラリは profiler ライブラリを 利用して実装されています。
pstore | Rubyのオブジェクトを外部ファイルに格納するためのライブラリです。
pty | 疑似端末(Pseudo tTY)を扱うライブラリです。
racc/parser | パーサジェネレータ Racc のランタイムライブラリです。
rational | 有理数を扱うためのライブラリです。
rbconfig | Ruby インタプリタ作成時に設定された情報を格納したライブラリです。
readbytes | IO#readbytesを提供するライブラリです。
readline | GNU Readline によるコマンドライン入力インタフェースを提供するライブラリです。
resolv | DNSによる名前解決を行うライブラリです。 Ruby で書かれているため thread-aware であり、並列に多くのホスト名を解決することができます。
resolv-replace | 名前解決に resolv を使用するためのライブラリです。
rexml | Pure Ruby の XML パーサです。 DOM スタイルと SAX スタイルの両方をカバーしています。
rinda/rinda | Rubyで実装されたタプル空間(Tuple Space)を扱うためのライブラリです。
rinda/tuplespace | Rubyによるタプル空間(Tuple Space)の実装です。
rss | RSS を扱うためのライブラリです。
rubyunit | このライブラリはobsoleteです。test/unit ライブラリを使ってください。
scanf | String#scan のフォーマット指定版といえるメソッド String#scanf を定義します。
sdbm | SDBM を Ruby スクリプトから扱うためのライブラリです。
securerandom | 安全な乱数発生器のためのインターフェースを提供するライブラリです。 HTTP のセッションキーなどに適しています。
set | 集合を表す Set クラスと、取り出し順序を保証した SortedSet クラスを提供 します。
sha1 | このライブラリは obsolete です。digest ライブラリを使ってください
shell | Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。
shellwords | UNIX Bourne シェルの単語分割規則に従った文字列割機能と文字列エスケープ 機能を提供します。
singleton | Singleton パターンを扱うためのライブラリです。
soap | SOAP を扱うためのライブラリです。
socket | socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
stringio | 文字列に IO と同じインタフェースを持たせるためのライブラリです。
strscan | strscan は 文字列を高速にスキャンするためのライブラリです。
sync | Mix-in により再入可能な reader/writer ロック機能を提供するライブラリです。
syslog | Unix系OS の syslog を扱うライブラリです。
tempfile | テンポラリファイルを操作するためのクラスです
test/unit | ユニットテストを行うためのライブラリです。
thread | スレッド間キューや状態変数(condition variable)を提供するライブラリです。
thwait | 複数スレッドの終了を待つ機能を提供します。
time | 組み込みの Time クラスを拡張します。 日時を表す文字列をパースして Time オブジェクトに変換したり、 逆に Time オブジェクトを RFC などで定められた文字列に 変換する機能を提供します。
timeout | タイムアウトを行うライブラリです。
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tmpdir | テンポラリディレクトリのためのライブラリです。
tracer | 実行トレース出力をとる機能を提供する。
tsort | tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。
un | Unix の基本コマンドの代替となるユーティリティ。
uri | URI (Uniform Resource Identifier) のためのライブラリです。
weakref | weak reference を実現します。
webrick | 汎用HTTPサーバーフレームワークです。HTTPサーバが簡単に作れます。
win32/registry | win32/registry は Win32 プラットフォームでレジストリをアクセスするための ライブラリです。Win32 API の呼び出しに Win32API を使います。
win32/resolv | win32/resolv は Win32 プラットフォームで名前解決に関する情報を取得する ためのライブラリです。
Win32API | Win32 API を呼び出すためのライブラリです。
win32ole | Microsoft Windows で COM や ActiveX を扱うためのライブラリです。
wsdl | WSDL を扱うためのライブラリです。
xmlrpc | XML-RPC を扱うためのライブラリです。
xsd | XSD を扱うライブラリです。
yaml | 構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。
zlib | zlib を Ruby から使うための拡張ライブラリです。 gzip ファイルの読み書きもサポートします。


library _builtin

Ruby 1.8.7 Reference Manual > All Libraries > Builtin Library

Builtin Library

Abstract

組み込みライブラリは Ruby 本体に組み込まれているライブラリです。 このライブラリに含まれるクラスやモジュールは、 require を書かなくても使うことができます。

Classes/Modules

object ARGF | スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名とみなして、 それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 ARGV が空なら標準入力を対象とします。 ARGV を変更すればこのオブジェクトの動作に影響します。
class Array | 配列クラスです。 配列は任意の Ruby オブジェクトを要素として持つことができます。
class Bignum | 多倍長整数のクラスです。 演算の結果が Fixnum の範囲内の時には 自動的に Fixnum に変換されます。
class Binding | ローカル変数のテーブルと self、モジュールのネストなどの情報を保 持するオブジェクトのクラスです。
class Class | クラスのクラスです。
module Comparable | 比較演算を許すクラスのための Mix-in です。このモジュールをインクルー ドするクラスは、基本的な比較演算子である <=> 演算子を定義してい る必要があります。
class Continuation | 継続を表すクラスです。
class Data | 拡張ライブラリを書く時に new が定義されているとまずい場合が あるため、Object から new と allocate を undef したクラスです。 Ruby スクリプトレベルでは気にする必要は全くありません。
class Dir | ディレクトリの操作を行うためのクラスです。
object ENV | 環境変数を表すオブジェクト。Hash と同様のインターフェースを持ち ます。ただし、Hash と異なり、ENV のキーと値には文字列しか とることができません。
module Enumerable | 繰り返しを行なうクラスのための Mix-in。このモジュールの メソッドは全て each を用いて定義されているので、インクルード するクラスには each が定義されていなければなりません。
class Enumerable::Enumerator | each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。 Ruby 1.8.8 以降では Enumerable::Enumerator は Enumerator になっています。
module Errno | システムコールのエラーに対応する例外を集めたモジュールです。
class FalseClass | false のクラス。 false は FalseClass クラスの唯一のインスタンスです。 false は nil オブジェクトとともに偽を表し、 その他の全てのオブジェクトは真です。
class File | ファイルアクセスのためのクラスです。
module File::Constants | File に関る定数を集めたモジュール。
class File::Stat | ファイルの情報を格納したオブジェクトのクラス。
module FileTest | ファイルの検査関数を集めたモジュールです。
class Fixnum | Bignum 同様、整数のクラスです。 演算の結果が Fixnum の範囲を越えた時には 自動的に Bignum に拡張されます。
class Float | 浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環 境に依存します。
module GC | GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。
class Hash | ハッシュテーブル(連想配列とも呼ぶ)のクラス。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。
class IO | 基本的な入出力機能のためのクラスです。
class Integer | 整数の抽象クラス。サブクラスとして Fixnum と Bignum があり ます。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換されま す。ビット操作において整数は無限の長さのビットストリングとみなすことが できます。
module Kernel | 全てのクラスから参照できるメソッドを定義しているモジュール。 Object クラスはこのモジュールをインクルードしています。
module Marshal | Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり する機能を提供するモジュール。
class MatchData | 正規表現のマッチに関する情報を扱うためのクラス。
module Math | 浮動小数点演算をサポートするモジュールです。
class Method | Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。
class Module | モジュールのクラスです。
class NilClass | nil のクラス。 nil は NilClass クラスの唯一のインスタンスです。 nil は false オブジェクトとともに偽を表し、 その他の全てのオブジェクトは真です。
class Numeric | 数値を表す抽象クラスです。Fixnum や Float などの数値クラスは Numeric のサブクラスとして 実装されています。
class Object | 全てのクラスのスーパークラス。 オブジェクトの一般的な振舞いを定義します。
module ObjectSpace | 全てのオブジェクトを操作するためのモジュールです。
module Precision | 精度をもつ具象数値クラスのためのモジュールです。
class Proc | ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
module Process | UNIX のプロセスを管理するモジュールです。
module Process::GID | カレントプロセスのグループ ID を操作するためのモジュールです。
module Process::Status | プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。
module Process::Sys | ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶためのモジュールです。
module Process::UID | カレントプロセスのユーザ ID を操作するためのモジュールです。
class Range | 範囲オブジェクトのクラス。範囲オブジェクトは範囲演算子 .. または ... によって生成されます。.. 演算子によって生成された範囲 オブジェクトは終端を含み、... 演算子によって生成された範囲オブジェ クトは終端を含みません。
class Regexp | 正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式 で記述します。
module Signal | UNIX のシグナル関連の操作を行うモジュールです。
class String | 文字列のクラスです。 NUL 文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
class Struct | 構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。
class Struct::Tms | Process.#times の返り値を表現する構造体です。
class Symbol | シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。
class Thread | スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
class ThreadGroup | スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。
class Time | 時刻を表すクラスです。
class TrueClass | true のクラス。 true は TrueClass クラスの唯一のインスタンスです。 true は真を表す代表のオブジェクトです。
class UnboundMethod | レシーバを持たないメソッドを表すクラスです。 呼び出すためにはレシーバにバインドする必要があります。

Exception Classes

class ArgumentError | 引数の数があっていないときや、値が正しくないときに発生します。
class EOFError | EOF(End Of File)に達したときに発生します。
class Errno::E2BIG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EACCES | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EADDRINUSE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EADDRNOTAVAIL | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EADV | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EAFNOSUPPORT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EAGAIN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EALREADY | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADF | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADFD | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADMSG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADRQC | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBADSLT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBFONT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EBUSY | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ECHILD | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ECHRNG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ECOMM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ECONNABORTED |
class Errno::ECONNREFUSED | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ECONNRESET |
class Errno::EDEADLK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EDEADLOCK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EDESTADDRREQ | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EDOM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EDOTDOT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EDQUOT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EEXIST | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EFAULT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EFBIG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EHOSTDOWN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EHOSTUNREACH | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EIDRM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EILSEQ | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EINPROGRESS | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EINTR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EINVAL | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EIO | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EISCONN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EISDIR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EISNAM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EL2HLT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EL2NSYNC | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EL3HLT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EL3RST | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELIBACC | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELIBBAD | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELIBEXEC | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELIBMAX | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELIBSCN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELNRNG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ELOOP | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EMFILE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EMLINK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EMSGSIZE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EMULTIHOP | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENAMETOOLONG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENAVAIL | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENETDOWN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENETRESET | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENETUNREACH | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENFILE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOANO | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOBUFS | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOCSI | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENODATA | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENODEV | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOENT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOEXEC | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOLCK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOLINK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOMEM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOMSG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENONET | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOPKG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOPROTOOPT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOSPC | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOSR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOSTR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOSYS | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTBLK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTCONN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTDIR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTEMPTY | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTNAM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTSOCK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTTY | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENOTUNIQ | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ENXIO | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EOPNOTSUPP | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EOVERFLOW | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EPERM | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EPFNOSUPPORT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EPIPE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EPROTO |
class Errno::EPROTONOSUPPORT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EPROTOTYPE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ERANGE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EREMCHG | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EREMOTE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EREMOTEIO | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ERESTART | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EROFS | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ERROR | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESHUTDOWN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESOCKTNOSUPPORT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESPIPE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESRCH | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESRMNT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESTALE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ESTRPIPE | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ETIME | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ETIMEDOUT | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ETOOMANYREFS | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::ETXTBSY | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EUCLEAN | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EUNATCH | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EUSERS | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EWOULDBLOCK | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EXDEV | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EXFULL | システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
class Errno::EXXX | システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
class Exception | 全ての例外の祖先のクラスです。
class FloatDomainError | 正負の無限大や NaN (Not a Number) を Bignum に変換しようとしたり、 NaN との比較を行ったときに発生します。
class IOError | 入出力でエラーが起きると発生します。
class IndexError | 添字が範囲外のときに発生します。
class Interrupt | SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。
class LoadError | Kernel.#require や Kernel.#load が失敗したときに発生します。
class LocalJumpError | ある Proc オブジェクトの作成元スコープがすでに終了しているとき、 その Proc オブジェクト内で return, break, retry のいずれかを実行すると発生します。
class NameError | 未定義のローカル変数や定数を使用したときに発生します。
class NoMemoryError | メモリの確保に失敗すると発生します。
class NoMethodError | 定義されていないメソッドの呼び出しが行われたときに発生します。
class NotImplementedError | 実装されていない機能が呼び出されたときに発生します。
class RangeError | 範囲に関する例外クラスです。 値が定義域から外れているときに発生します。
class RegexpError | 正規表現のコンパイルに失敗したときに発生します。
class RuntimeError | 特定の例外クラスには該当しないエラーが起こったときに発生します。 また Kernel.#raise で例外クラスを指定しなかった場合も RuntimeError が発生します。
class ScriptError | スクリプトのエラーを表す例外クラスです。
class SecurityError | セキュリティ上の問題が起きたときに発生します。
class SignalException | 捕捉していないシグナルを受け取ったときに発生します。
class StandardError | 通常のプログラムで発生する可能性の高い 例外クラスを束ねるためのクラスです。
class StopIteration | イテレーションを止めるときに発生する例外です。
class SyntaxError | ソースコードに文法エラーがあったときに発生します。
class SystemCallError | Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。 システムコールの失敗した原因を表すエラーコードを保持します。
class SystemExit | Ruby インタプリタを終了させるときに発生します。
class SystemStackError | システムスタックがあふれたときに発生します。
class ThreadError | Thread 関連のエラーが起きたときに発生します。
class TypeError | 不正な型の値を評価したときに発生します。
class ZeroDivisionError | 整数に対して整数の 0 で除算を行ったときに発生します。
class fatal | インタプリタ内部で致命的なエラーが起こったときに発生します。


object ARGF

ancestors: ARGF
extend: Enumerable

Abstract

スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名とみなして、 それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 ARGV が空なら標準入力を対象とします。 ARGV を変更すればこのオブジェクトの動作に影響します。

while line = ARGF.gets
  ....
end

は、

while argv = ARGV.shift
  File.open(argv) {|file|
    while line = file.gets
      ....
    end
  }
end

のように動作します。

ARGF を処理するごとに ARGV の要素は一つずつ取り除かれます。 最後まで ARGF を読み込んだ後、再度 ARGF から内容を読むと (ARGV が空なので)標準入力からの読み込みとなります。

ARGV.replace %w(/tmp/foo /tmp/bar)
ARGF.each {|line|
    # 処理中の ARGV の内容を表示
    p [ARGF.filename, ARGV]
    ARGF.skip
}
    # => ["/tmp/foo", ["/tmp/bar"]]
    #    ["/tmp/bar", []]
# 最後まで読んだ後 (ARGV が空) の動作
p ARGF.gets      # => nil
p ARGF.filename  # => "-"

Kernel.#gets など一部の組み込み関数は ARGF.gets などこのオブジェクトをレシーバとしたメソッドの省略形です。

Singleton Methods

Signature Description
binmode -> self

IO#binmodeを参照

bytes -> Enumerable::Enumerator
each_char {|c| ... } -> self
chars {|c| ... } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

レシーバに含まれる文字を一文字つつブロックに渡して評価します。

close -> self

処理対象のファイルをクローズします。開くファイルが残っている場合は次のファイルをオープンします

closed? -> bool

ARGFがcloseされていればtrueを返します。

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator

ARGFの現在位置から一行ずつ文字列として読み込みます。

each_byte {|char| ...} -> self
each_byte -> Enumerable::Enumerator
eof -> bool
eof? -> bool

現在開いているファイルがeofに達したらtrueを返します。そうでない場合はfalseを返します。

file -> IO

処理対象の File オブジェクト(または IO オブジェクト)を 返します。

filename -> String
path -> String

処理対象のファイル名を返します。 標準入力に対しては - を返します。 組み込み変数 $FILENAME と同じです。

fileno -> Integer
to_i -> Integer

現在オープンしているファイルのファイル記述子を表す整数を返します。

getbyte -> Integer | nil

自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。

getc -> Integer | nil

ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返します。EOF に到達した時には nil を返します。

gets -> String | nil

ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時には nil を返します。

lineno -> Integer

全引数ファイルを一つのファイルとみなしたときの現在の行番号を返します。 個々の引数ファイル毎の行番号を得るには ARGF.file.lineno とします。

lineno=(number) -> nil

全引数ファイルを一つのファイルとみなしたときの現在の行番号をnumberに書き換えます

lines(rs = $/) -> Enumerable::Enumerator

自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

pos -> Integer
tell -> Integer

ARGFが現在開いているファイルのファイルポインタの現在の位置を整数で返します。

pos=(n)

ARGFが開いているファイルのファイルポインタを指定位置に移動します

read(length = nil, str = nil) -> String

ARGVに指定されたファイルを先頭のファイルからlengthバイト読み込み、 その文字列をstrに出力します。読み込んだ文字列を返します。

readbyte -> Integer

自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。

readchar -> Integer

ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返します。EOF に到達した時には EOFErrorを発生します。

readline -> String

ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時にはEOFErrorを発生します。

readlines(rs = $/) -> [String]
to_a(rs = $/) -> [String]

ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルをすべて読み込んだ配列を返します。

rewind -> 0

ARGFが現在開いているファイルのファイルポインタを先頭に戻します。

seek(offset, whence = IO::SEEK_SET) -> 0

ARGFが現在開いているファイルのファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。

skip -> self

処理対象のファイルをクローズします。 次回の読み込みは次の引数が処理対象になります。 self を返します。

to_io -> IO

ARGFが現在開いているファイルのFile、またはIOオブジェクトを返します

to_s -> String

常に文字列 "ARGF" を返します。


class ArgumentError

ancestors: ArgumentError < StandardError < Exception < Object < Kernel

Abstract

引数の数があっていないときや、値が正しくないときに発生します。

例:

Time.at       # => wrong number of arguments (0 for 1) (ArgumentError)
Array.new(-1) # => negative array size (ArgumentError)

など

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Array

ancestors: Array < Enumerable < Object < Kernel

Abstract

配列クラスです。 配列は任意の Ruby オブジェクトを要素として持つことができます。

一般的には配列は配列式を使って

[1, 2, 3]

のように生成します。

Singleton Methods

Signature | Description
self[*item] -> Array | 引数 item を要素として持つ配列を生成して返します。
new(size = 0, val = nil) -> Array | 長さ size の配列を生成し、各要素を val で初期化して返します。
new(ary) -> Array | 指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。
new(size) {|index| ... } -> Array | 長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、 各要素の値をブロックの評価結果に設定します。

Instance Methods

Signature Description
self & other -> Array

集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返 します。重複する要素は取り除かれます。

self * times -> Array

配列の内容を times 回 繰り返した新しい配列を作成し返します。 値はコピーされないことに注意してください[[trap:Array]]。

self * sep -> String

指定された sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。

self + other -> Array

自身と other の内容を繋げた配列を生成して返します。

self - other -> Array

自身から other の要素を取り除いた配列を生成して返します。

self << obj -> self

指定された obj を自身の末尾に破壊的に追加します。Array#push と同じです。

self <=> other -> -1 | 0 | 1

自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。 各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。

self == other -> bool

自身と other の各要素をそれぞれ順に == で比較し て、全要素が等しければ true を返します。そうでない場合には false を返します。

self[nth] -> object | nil

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

self[range] -> Array | nil

Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の first の値が配列の範囲に収まらない場合 nil を返します。 range の first が end より後にある場合には空の配列を返します。

self[start, length] -> Array | nil

start 番目から length 個の要素を含む部分配列を返します。 length が負の時、start が自身の範囲を越えた時には nil を返します。

self[nth] = val

nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、 拡張した領域を nil で初期化します。

self[range] = val

Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。 range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。

self[start, length] = val

インデックス start から length 個の要素を配列 val の内容で置き換えます。 start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。

assoc(key) -> Array | nil

配列の配列を検索して、その 0 番目の要素が key に等しい最初の 要素を返します。比較は == 演算子を使って行われます。 該当する要素がなければ nil を返します。

at(pos) -> object

配列の pos の位置にある要素を返します。 self[pos] と同じです。

choice -> object

配列の要素を1個ランダムに選んで返します。

clear -> self

配列の要素をすべて削除して空にします。

clone -> Array
dup -> Array

レシーバと同じ内容を持つ新しい配列を返します。

collect! {|item| ..} -> self
map! {|item| ..} -> self
collect! -> Enumerable::Enumerator
map! -> Enumerable::Enumerator

各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。

combination(n) {|c| block } -> Array
combination(n) -> Enumerable::Enumerator

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

compact -> Array
compact! -> self | nil

compact は自身から nil を取り除いた配列を生成して返します。 compact! は自身から破壊的に nil を取り除き、変更が 行われた場合は self を、そうでなければ nil を返します。

concat(other) -> self

配列 other を自身の末尾に破壊的に連結します。

cycle {|obj| block }

Enumerable オブジェクトの要素を、繰り返し無限に生成し続けます。

delete(val) -> object | nil
delete(val) { ... } -> object

指定された val と == で等しい要素を自身からすべて取り除きます。 val と等しい要素が見つかった場合は、val を返します。 そうでない場合には nil を返します。

delete_at(pos) -> object | nil

指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。

delete_if {|x| ... } -> self
reject! {|x| ... } -> self | nil
delete_if -> Enumerable::Enumerator
reject! -> Enumerable::Enumerator

要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。

each {|item| .... } -> self
each -> Enumerable::Enumerator

各要素に対してブロックを評価します。

each_index {|index| .... } -> self
each_index -> Enumerable::Enumerator

各要素のインデックスに対してブロックを評価します。

empty? -> bool

自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。

eql?(other) -> bool

自身と other の各要素をそれぞれ順に Object#eql? で比較して、全要素が等しければ真を返 します。そうでない場合に false を返します。

fetch(nth) -> object
fetch(nth, ifnone) -> object
fetch(nth) {|nth| ... } -> object

nth 番目の要素を返します。

fill(val) -> self
fill {|index| ... } -> self

すべての要素に val をセットします。

fill(val, start, length = nil) -> self
fill(val, range) -> self
fill(start, length = nil) {|index| ... } -> self
fill(range) {|index| ... } -> self

配列の指定された範囲すべてに val をセットします。

first -> object | nil

配列の先頭の要素を返します。要素がなければ nil を返します。

first(n) -> Array

先頭の n 要素を配列で返します。n は 0 以上でなければなりません。

flatten(lv = nil) -> Array
flatten!(lv = nil) -> self | nil

flatten は自身を再帰的に平滑化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平滑化し、平滑化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平滑化します。

hash -> Integer

自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から 計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。

include?(val) -> bool

配列が val と == において等しい要素を持つ時に真を返します。

index(val) -> Integer | nil
index {|item| ...} -> Integer | nil

指定された val と == で等しい最初の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

indexes(*index)
indices(*index)

このメソッド obsolete です。 代わりに Array#values_at を使用します。 使用すると警告メッセージが表示されます。

insert(nth, *val) -> self

インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。 引数 val を一つも指定しなければ何もしません。

join(sep = $,) -> String

配列の要素を文字列 sep を間に挟んで連結した文字列を返します。

last -> object | nil

配列の末尾の要素を返します。配列が空のときは nil を返します。

last(n) -> Array

末尾の n 要素を配列で返します。n は 0 以上でなければなりません。

length -> Integer
size -> Integer

配列の長さを返します。配列が空のときは 0 を返します。

nitems -> Integer
nitems {|obj| ... } -> Integer
pack(template) -> String

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

permutation(n) { |p| block } -> Array
permutation(n) -> Enumerable::Enumerator

サイズ n の順列をすべて生成し，それを引数としてブロックを実行します。

pop(n = 1) -> Array | nil

自身の末尾から指定された n 個だけ要素を取り除いてそれを返します。 自身が空配列の時は nil を返します。

product(*lists) -> Array

レシーバの配列と引数で与えられた配列（複数可）のそれぞれから要素を1 個ずつとって配列とし，それらのすべての配列を要素とする配列を返します。

push(*obj) -> self

指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。

rassoc(obj) -> Array | nil

自身が配列の配列であると仮定して、要素の配列でインデックス 1 の要素が obj に等しいものを検索し見つかった最初の要素を返 します。該当する要素がなければ nil を返します。

replace(another) -> self

配列の内容を配列 another の内容で置き換えます。

reverse -> Array
reverse! -> self

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。

reverse_each {|item| ... } -> self
reverse_each -> Enumerable::Enumerator

各要素に対して逆順にブロックを評価します。

rindex(val) -> Integer | nil
rindex {|item| ... } -> Integer | nil

指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

shift(n = 1) -> Array | nil

自身の先頭から指定された n 個だけ要素を取り除いてそれを返します。

shuffle -> Array

配列の要素をシャッフルして，その結果を配列として返します。

shuffle! -> self

配列を破壊的にシャッフルします。

slice(nth) -> object | nil

指定された自身の要素を返します。Array#[] と同じです。

slice(pos, len) -> Array | nil
slice(range) -> Array | nil

指定された自身の部分配列を返します。Array#[] と同じです。

slice!(nth) -> object | nil

指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。

slice!(start, len) -> Array | nil
slice!(range) -> Array | nil

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。

sort -> Array
sort! -> self
sort {|a, b| ... } -> Array
sort! {|a, b| ... } -> self

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

to_a -> Array

self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、 自身を Array に変換したものを返します。

to_ary -> self

self をそのまま返します

to_s -> String

Array#join($,) と同じです。

transpose -> Array

自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま す。転置した配列を生成して返します。空の配列に対しては空の配列を生 成して返します。

uniq -> Array
uniq! -> self | nil

uniq は配列から重複した要素を取り除いた新しい配列を返します。 取り除かれた要素の部分は前に詰められます。uniq! は削除を破壊 的に行い、削除が行われた場合は self を、そうでなければ nil を返します。

unshift(*obj) -> self

指定された obj を順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。

values_at(*index) -> Array | nil

引数で指定されたインデックスに対応する要素を配列で返します。インデッ クスに対応する値がなければ nil が要素になります。

zip(*lists) -> [[Object]]
zip(*lists) {|v1, v2, ...| ...} -> nil

自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

self | other -> Array

集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し い配列を返します。重複する要素は取り除かれます。

Inherited Methods

all? any? collect count detect drop drop_while each_cons each_slice each_with_index entries find_all find_index grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort_by take take_while to_set === =~ __id__ __send__ _dump class display enum_for equal? extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
abbrev(pattern = nil) -> Hash

self が文字列の配列の場合、self から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。

abbrev
dclone rexml
shelljoin -> String

配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。

shellwords
to_ptr -> nil | DL::PtrData
to_ptr(type) -> nil | DL::PtrData

自身の各要素を指すポインタの配列を生成し、それへのポインタ DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。 自身の長さが 0 なら nil を返します。

dl


class Bignum

ancestors: Bignum < Integer < Precision < Numeric < Comparable < Object < Kernel

Abstract

多倍長整数のクラスです。 演算の結果が Fixnum の範囲内の時には 自動的に Fixnum に変換されます。

扱うことのできる大きさはメモリサイズだけによって制限されます。 ビット演算については 2 の補数表現の無限長 のビットストリングとみなすことができます。特に負の数は左側に無限に 1 のビットが立っているように操作できます。Float との混合に関しては、 変換時に桁落ちが生じる可能性があります。

破壊的な変更

Ruby の Bignum クラスは immutable です。 つまり、オブジェクト自体を破壊的に変更することはできません。 Fixnum も同様です。

Instance Methods

Signature Description
self ** other
rpower(other)

Returns a Rational number if the result is in fact rational (i.e. +other+ < 0).

rational
self / other

Bignum#quo と同じ働きをします(有理数または整数を返します)。

mathn
quo(other)

If Rational is defined, returns a Rational number instead of a Bignum.

rational

Inherited Methods

% & * + - < << <= <=> == > >= >> [] ^ chr denominator downto even? gcd gcd2 gcdlcm integer? lcm next numerator odd? ord pred prime_division size times to_f to_i to_r to_s upto | ~ .from_prime_division .induced_from +@ -@ abs arg ceil clone coerce conj div divmod eql? fdiv floor im imag modulo nonzero? real remainder round step truncate zero? === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature Description Library


class Binding

ancestors: Binding < Object < Kernel

Abstract

ローカル変数のテーブルと self、モジュールのネストなどの情報を保 持するオブジェクトのクラスです。

組み込み関数 Kernel.#binding によっ てのみ生成され、Kernel.#eval の第 2 引数に使用します。 またトップレベルの Binding オブジェクトとして組み込み定数 Kernel::TOPLEVEL_BINDING が用意されています。

Instance Methods

Signature | Description
eval(expr, fname = __FILE__, lineno = 1) -> object | 自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Class

ancestors: Class < Module < Object < Kernel

Abstract

クラスのクラスです。

より正確に言えば、個々のクラスはそれぞれメタクラスと呼 ばれる名前のないクラスをクラスとして持っていて、Class はそのメタ クラスのクラスです。この関係は少し複雑ですが、Ruby を利用するにあたっ ては特に重要ではありません。

クラスとモジュールには

  • クラスはインスタンスを作成できるが、モジュールはできない。
  • モジュールを他のモジュールやクラスにインクルードすることはできるが，クラスをインクルードすることはできない。

という違いがありますが、それ以外のほとんどの機能は Module から継 承されています。Module のメソッドのうち

  • Module#module_function
  • Module#extend_object
  • Module#append_features

は Class では未定義にされています。

Singleton Methods

Signature Description
new(superclass = Object) -> Class
new(superclass = Object) {|klass| ... } -> Class

新しく名前の付いていない superclass のサブクラスを生成します。

Instance Methods

Signature | Description
_load(str) -> Class | Object#_dump を参照して下さい。
allocate -> object | 自身のインスタンスを生成して返します。生成したオブジェクトは 自身のインスタンスであること以外には何も特性を持ちません。
new(*args, &block) -> object | 自身のインスタンスを生成して返します。 このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
superclass -> Class | nil | 自身のスーパークラスを返します。

Private Instance Methods

Signature | Description
inherited(subclass) -> () | クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数 にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは クラス定義文の実行直前です。

Inherited Methods

< <= <=> === > >= alias_method ancestors append_features attr attr_accessor attr_reader attr_writer autoload autoload? class_eval class_exec class_variable_defined? class_variable_get class_variable_set class_variables const_defined? const_get const_missing const_set constants define_method extend_object extended include include? included included_modules instance_method instance_methods method_added method_defined? method_removed method_undefined module_function name private private_class_method private_instance_methods private_method_defined? protected protected_instance_methods protected_method_defined? public public_class_method public_instance_methods public_method_defined? remove_class_variable remove_const remove_method undef_method .constants .nesting == =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
to_yaml(opts = {}) | 例外を発生する。 | yaml


module Comparable

ancestors: Comparable

Abstract

比較演算を許すクラスのための Mix-in です。このモジュールをインクルー ドするクラスは、基本的な比較演算子である <=> 演算子を定義してい る必要があります。

self <=> other は

  • self が other より大きいなら正の整数
  • self と other が等しいなら 0
  • self が other より小さいなら負の整数
  • self と other が比較できない場合は nil

をそれぞれ返すことが期待されています。

他の比較演算子は、 <=> 演算子を利用して定義されます。

Instance Methods

Signature | Description
self < other -> bool | 比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。
self <= other -> bool | 比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。
self == other -> bool | nil | 比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が 0 を返した時に、true を返します。 それ以外を返した場合は、false を返します。
self > other -> bool | 比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。
self >= other -> bool | 比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。
between?(min, max) -> bool | 比較演算子 <=> をもとに self が min と max の範囲内(min, max を含みます)にあるかを判断します。


class Continuation

ancestors: Continuation < Object < Kernel

Abstract

継続を表すクラスです。

Kernel.#callcc { |cont| ... } の呼び出し は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶 してブロックを実行します。cont は、Continuation クラスのインスタ ンスで、Continuation#call メソッドを実行するこ とでいつでも記憶した状態を継続することができます。

C 言語の setjmp()/longjmp() がわかる人は

setjmp() == callcc {|c| }
longjmp() == c.call

と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深く なる方向にもジャンプ出来るという違いがあります)

callcc() は、ブロックの戻り値を返しますが、Continuation#call(args) が呼び出されたときは args を返します。

例:

以下は、Continuationによる無限ループの例

def LOOP
  c = nil
  yield callcc {|c| true}
  c.call(false)
end

LOOP {|v| p v}

=> true
   false
   false
   false
     :
     :

callcc とは、call-with-current-continuation の略です。

Instance Methods

Signature Description
self[*ret] -> ()
call(*ret) -> ()

self が記憶した状態を継続します。引数は そのまま Kernel.#callcc の戻り値になります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Data

ancestors: Data < Object < Kernel

Abstract

拡張ライブラリを書く時に new が定義されているとまずい場合が あるため、Object から new と allocate を undef したクラスです。 Ruby スクリプトレベルでは気にする必要は全くありません。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Dir

ancestors: Dir < Enumerable < Object < Kernel

Abstract

ディレクトリの操作を行うためのクラスです。

Singleton Methods

Signature Description
self[*pattern] -> [String]
glob(pattern, flags = 0) -> [String]
glob(pattern, flags = 0) {|file| ...} -> nil

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

chdir -> 0
chdir(path) -> 0
chdir {|path| ... } -> object
chdir(path) {|path| ... } -> object

カレントディレクトリを path に変更します。

chroot(path) -> 0

ルートディレクトリを path に変更します。

delete(path) -> 0
rmdir(path) -> 0
unlink(path) -> 0

ディレクトリを削除します。ディレクトリは空でなければいけませ ん。ディレクトリの削除に成功すれば 0 を返します。

entries(path) -> [String]

ディレクトリ path に含まれるファイルエントリ名の 配列を返します。

foreach(path) {|file| ...} -> nil
foreach -> Enumerable::Enumerator

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

getwd -> String
pwd -> String

カレントディレクトリのフルパスを文字列で返します。

mkdir(path, mode = 0777) -> 0

path で指定された新しいディレクトリを作ります。パーミッションは mode で指定された値に umask をかけた値 (mode & ~umask) になります。 mkdir(2) も参照して下さい。 ディレクトリの作成に成功すれば 0 を返します。

new(path) -> Dir
open(path) -> Dir
open(path) {|dir| ...} -> object

path に対するディレクトリストリームをオープンして返します。

Instance Methods

Signature Description
close -> nil

ディレクトリストリームをクローズします。以降のディレクトリに 対する操作は例外 IOError を発生させます。 クローズに成功すれば nil を返します。

each {|item| ... } -> self
each -> Enumerable::Enumerator

ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。

path -> String

オープンしているディレクトリのパス名を文字列で返します。

pos -> Integer
tell -> Integer

ディレクトリストリームの現在の位置を整数で返します。

pos=(pos)
seek(pos) -> self

ディレクトリストリームの読み込み位置を pos に移動させます。 pos は Dir#tell で与えられた値でなければなりま せん。

read -> String | nil

ディレクトリストリームから次の要素を読み出して返します。最後の要素 まで読み出していれば nil を返します。

rewind -> self

ディレクトリストリームの読み込み位置を先頭に移動させます。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
mktmpdir(prefix_suffix = nil, tmpdir = nil) -> String
mktmpdir(prefix_suffix = nil, tmpdir = nil) {|dir| ... } -> object

一時ディレクトリを作成します。

tmpdir
tmpdir -> String

テンポラリファイルを作成するのに使うディレクトリ(テンポラリディレクトリ)の絶対パスを 文字列として返します。 $SAFE によって返す文字列は変わります。

tmpdir


object ENV

ancestors: ENV
extend: Enumerable

Abstract

環境変数を表すオブジェクト。Hash と同様のインターフェースを持ち ます。ただし、Hash と異なり、ENV のキーと値には文字列しか とることができません。

ENV で得られる文字列は ENV['PATH'] を除いて汚染されていま す。オブジェクトの汚染に関してはセキュリティモデルを参照して下さい。 ENV['PATH'] はその要素が誰でも書き込み可能なディレクトリを含ん でいる場合に限り汚染されます。

例:

p ENV['TERM'].tainted?
# => true
p path = ENV['PATH']
# => "/usr/local/bin:/usr/bin:/bin:/usr/X11/bin"
p path.tainted?
# => false

また、ENV で得られる文字列は Object#freeze されています。

例:

p ENV['TERM'].frozen?
# => true

Singleton Methods

Signature Description
self[key] -> String

key に対応する環境変数の値を返します。該当する環境変数が存在 しない時には nil を返します。

self[key] = value
store(key, value) -> String

key に対応する環境変数の値を value にします。 value が nil の時、key に対応する環境変数を取り除きます。

clear -> self

環境変数をすべてクリアします。self を返します。

delete(key) -> String | nil
delete(key) {|key| ... } -> String | nil

key に対応する環境変数を取り除きます。取り除かれた環境変数の 値を返しますが、key に対応する環境変数が存在しない時には nil を返します。

delete_if {|key, value| ... } -> ENV
reject! {|key, value| ... } -> ENV | nil
delete_if -> Enumerable::Enumerator
reject! -> Enumerable::Enumerator

key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。

each -> Enumerable::Enumerator
each_pair -> Enumerable::Enumerator
each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

key と value を引数としてブロックを評価します。

each_key -> Enumerable::Enumerator
each_key {|key| ... } -> self

key を引数としてブロックを評価します。

each_value -> Enumerable::Enumerator
each_value {|value| ... } -> self

value を引数としてブロックを評価します。

empty? -> bool

環境変数がひとつも定義されていない時真を返します。

fetch(key) -> String
fetch(key, default) -> String
fetch(key) {|key| ... } -> String

key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。そのいずれ でもなければ例外 IndexError が発生します。

has_key?(key) -> bool
include?(key) -> bool
key?(key) -> bool
member?(key) -> bool

key で指定される環境変数が存在する時、真を返します。

has_value?(val) -> bool
value?(val) -> bool

val を値として持つ環境変数が存在する時、真を返します。

index(val) -> String
indexes(*key) -> [String]
indices(*key) -> [String]

このメソッドは obsolete です。 使用すると警告メッセージが表示されます。 代わりに ENV.values_at を使用します。

inspect -> String

ENV オブジェクトを文字列化します。 Hash#inspect と同じように動作します。

invert -> Hash

環境変数の値をキー、名前を値とした Hash を生成して返します。

keys -> [String]

全環境変数の名前の配列を返します。

length -> Fixnum
size -> Fixnum

環境変数の数を返します。

rehash -> nil

何もしません。nilを返します。

reject -> Enumerable::Enumerator
reject {|key, value| ... } -> Hash

環境変数のうち、ブロックを評価した値が真であるものをとり除きます。 Enumerable#reject と異なり Hash を返します。また、とり除いた結果 は実際の環境変数に影響を与えません。

replace(hash) -> ENV

環境変数を hash と同じ内容に変更します。 self を返します。

select -> Enumerable::Enumerator
select {|key, value| ... } -> [[String, String]]

環境変数名と値についてブロックを評価し、真を返したものを集めた配列を返 します。配列の各要素は配列となり、第一要素が変数名、第二要素が値になり ます。

shift -> [String, String]

環境変数を一つ取り除いて、それを名前と値の組の配列で返します。 環境変数が一つも設定されていなければ nil を返します。

to_a -> [[String, String]]

環境変数から [変数名, 値] となる 2 要素の配列の配列を生成します。

to_hash -> Hash

環境変数の名前をキーとし、対応する値をもつハッシュを返します。

to_s -> String

環境変数を文字列化します。 Hash#to_s と同じように動作します。

update(other) -> ENV

ハッシュ other の内容を環境変数にマージします。重複するキー に対応する値は other の内容で上書きされます。

values -> [String]

環境変数の全値の配列を返します。

values_at(*key) -> [String]

引数で指定されたキー(環境変数名)に対応する値の配列を返します。存在 しないキーに対しては nil が対応します。ENV.indexes と ENV.indices と同じです。


class EOFError

ancestors: EOFError < IOError < StandardError < Exception < Object < Kernel

Abstract

EOF(End Of File)に達したときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module Enumerable

ancestors: Enumerable

Abstract

繰り返しを行なうクラスのための Mix-in。このモジュールの メソッドは全て each を用いて定義されているので、インクルード するクラスには each が定義されていなければなりません。

Instance Methods

Signature Description
all? -> bool
all? {|item| ... } -> bool

すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。

any? -> bool
any? {|item| ... } -> bool

すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。

collect {|item| ... } -> [object]
map {|item| ... } -> [object]

各要素に対してブロックを評価した結果を全て含む配列を返します。

count -> Integer
count(item) -> Integer
count {|obj| ... } -> Integer

レシーバの要素数を返します。

cycle -> Enumerable::Enumerator
cycle {|obj| ... } -> object | nil

Enumerable オブジェクトの要素を、繰り返し無限に生成し続けます。

find(ifnone = nil) -> Enumerable::Enumerator
detect(ifnone = nil) -> Enumerable::Enumerator
find(ifnone = nil) {|item| ... } -> object
detect(ifnone = nil) {|item| ... } -> object

要素に対してブロックを評価した値が真になった最初の要素を返します。

drop(n) -> Array

Enumerable オブジェクトの先頭の n 要素を捨てて、 残りの要素を配列として返します。

drop_while -> Enumerable::Enumerator
drop_while {|element| ... } -> Array

ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。

each_cons(n) -> Enumerable::Enumerator
enum_cons(n) -> Enumerable::Enumerator
each_cons(n) {|list| ... } -> nil
enum_cons(n) {|list| ... } -> nil

要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。

each_slice(n) -> Enumerable::Enumerator
enum_slice(n) -> Enumerable::Enumerator
each_slice(n) {|list| ... } -> nil
enum_slice(n) {|list| ... } -> nil

n 要素ずつブロックに渡して繰り返します。

each_with_index -> Enumerable::Enumerator
enum_with_index -> Enumerable::Enumerator
each_with_index {|item, index| ... } -> self

要素とそのインデックスをブロックに渡して繰り返します。

to_a -> [object]
entries -> [object]

全ての要素を含む配列を返します。

find_all -> Enumerable::Enumerator
select -> Enumerable::Enumerator
find_all {|item| ... } -> [object]
select {|item| ... } -> [object]

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

find_index -> Enumerable::Enumerator
find_index {|obj| ... } -> Integer | nil

要素を先頭から順にブロックに渡して評価し、最初に真になった要素のインデックスを返します。 一つも真にならなければ nil を返します。

first -> object | nil
first(n) -> Array

Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。

grep(pattern) -> [object]
grep(pattern) {|item| ... } -> [object]

pattern === item が成立する要素を全て含んだ配列を返します。 ブロックとともに呼び出された時には条件の成立した要素に対して それぞれブロックを評価し、その結果の配列を返します。 マッチする要素がひとつもなかった場合は空の配列を返します。

group_by -> Enumerable::Enumerator
group_by {|obj| ... } -> Hash

ブロックを評価した結果をキー、対応する要素を値とするハッシュを返します。

member?(val) -> bool
include?(val) -> bool

val と == の関係にある要素を含むとき真を返します。

inject(init = self.first) {|result, item| ... } -> object
inject(sym)
inject(init, sym)
reduce(init = self.first) {|result, item| ... } -> object
reduce(sym)
reduce(init, sym)

リストのたたみこみ演算を行います。

max -> object

最大の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。

max {|a, b| ... } -> object

ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。 要素が存在しなければ nil を返します。

max_by -> Enumerable::Enumerator
max_by {|item| ... } -> object

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素を返します。

min -> object

最小の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。

min {|a, b| ... } -> object

ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。 要素が存在しなければ nil を返します。

min_by -> Enumerable::Enumerator
min_by {|item| ... } -> object

各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素を返します。

minmax -> [Number, Number]
minmax {|a, b| ... } -> [Number, Number]

Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。

minmax_by -> Enumerable::Enumerator
minmax_by {|obj| ... } -> [Number, Number]

Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

none? -> bool
none? {|obj| ... } -> bool

ブロックを指定しない場合は、 Enumerable オブジェクトのすべての 要素が偽であれば真を返します。そうでなければ偽を返します。

one? -> bool
one? {|obj| ... } -> bool

ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。

partition -> Enumerable::Enumerator
partition {|item| ... } -> [[object], [object]]

各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。 各要素に対してブロックを評価して、その値が真であった要素の配列と、 偽であった要素の配列の 2 つを配列に入れて返します。

reject -> Enumerable::Enumerator
reject {|item| ... } -> [object]

各要素に対してブロックを評価し、 その値が偽であった要素を集めた新しい配列を返します。 条件を反転させた select です。

sort -> [object]
sort {|a, b| ... } -> [object]

全ての要素を昇順にソートした配列を生成して返します。

sort_by -> Enumerable::Enumerator
sort_by {|item| ... } -> [object]

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。 つまり、以下とほぼ同じ動作をします。

take(n) -> Array

Enumerable オブジェクトの先頭から n 要素を配列として返します。

take_while -> Enumerable::Enumerator
take_while {|element| ... } -> Array

Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。

zip(*lists) -> [[object]]

self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

zip(*lists) {|v1, v2, ...| ...} -> nil

zip をブロック付きで呼び出した場合は、 self と引数に渡した配列の各要素を順番にブロックに渡します。

Added Methods

Signature Description Library
to_set(klass = Set, *args) -> Set
to_set(klass = Set, *args) {|o| ... } -> Set

Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。

set


class Enumerable::Enumerator

ancestors: Enumerable::Enumerator < Enumerable < Object < Kernel

Abstract

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。 Ruby 1.8.8 以降では Enumerable::Enumerator は Enumerator になっています。

Enumerable モジュールは、 Module#include 先のクラスが持つ each メソッドを元に様々なメソッドを提供します。 例えば Array#map は Array#each の繰り返しを元にして定義されます。 Enumerator を介することにより String#each_byte のような 異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。

Enumerator を生成するには Enumerable::Enumerator.new あるいは Object#to_enum, Object#enum_for を利用します。

Singleton Methods

Signature | Description
new(obj, method = :each, *args) -> Enumerable::Enumerator | オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。

Instance Methods

Signature Description
each {...} -> object

生成時のパラメータに従ってブロックを繰り返します。 生成時に指定したイテレータの戻り値をそのまま返します。

next -> object

「次」のオブジェクトを返します。

rewind -> self

列挙状態を巻き戻します。

to_splat -> Array

この enumerator を多重代入などのための配列に変換します。

with_index {|(*args), idx| ... } -> object
with_index -> Enumerator

生成時のパラメータに従って、要素にインデックスを添えて繰り返します。 インデックスは 0 から始まります。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
next -> object | 現在の位置にある要素を返し、位置を一つ進めます。 | generator
rewind -> self | 内部で保持しているジェネレータを最初まで巻き戻します。 | generator


module Errno

ancestors: Errno

Abstract

システムコールのエラーに対応する例外を集めたモジュールです。

@see SystemCallError @see Errno::EXXX


class Errno::E2BIG

ancestors: Errno::E2BIG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EACCES

ancestors: Errno::EACCES < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EADDRINUSE

ancestors: Errno::EADDRINUSE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EADDRNOTAVAIL

ancestors: Errno::EADDRNOTAVAIL < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EADV

ancestors: Errno::EADV < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EAFNOSUPPORT

ancestors: Errno::EAFNOSUPPORT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EAGAIN

ancestors: Errno::EAGAIN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EALREADY

ancestors: Errno::EALREADY < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADE

ancestors: Errno::EBADE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADF

ancestors: Errno::EBADF < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADFD

ancestors: Errno::EBADFD < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADMSG

ancestors: Errno::EBADMSG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADR

ancestors: Errno::EBADR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADRQC

ancestors: Errno::EBADRQC < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBADSLT

ancestors: Errno::EBADSLT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBFONT

ancestors: Errno::EBFONT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EBUSY

ancestors: Errno::EBUSY < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ECHILD

ancestors: Errno::ECHILD < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ECHRNG

ancestors: Errno::ECHRNG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ECOMM

ancestors: Errno::ECOMM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ECONNREFUSED

ancestors: Errno::ECONNREFUSED < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EDEADLK

ancestors: Errno::EDEADLK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EDEADLOCK

ancestors: Errno::EDEADLOCK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EDESTADDRREQ

ancestors: Errno::EDESTADDRREQ < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EDOM

ancestors: Errno::EDOM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EDOTDOT

ancestors: Errno::EDOTDOT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EDQUOT

ancestors: Errno::EDQUOT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EEXIST

ancestors: Errno::EEXIST < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EFAULT

ancestors: Errno::EFAULT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EFBIG

ancestors: Errno::EFBIG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EHOSTDOWN

ancestors: Errno::EHOSTDOWN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EHOSTUNREACH

ancestors: Errno::EHOSTUNREACH < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EIDRM

ancestors: Errno::EIDRM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EILSEQ

ancestors: Errno::EILSEQ < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EINPROGRESS

ancestors: Errno::EINPROGRESS < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EINTR

ancestors: Errno::EINTR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EINVAL

ancestors: Errno::EINVAL < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EIO

ancestors: Errno::EIO < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EISCONN

ancestors: Errno::EISCONN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EISDIR

ancestors: Errno::EISDIR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EISNAM

ancestors: Errno::EISNAM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EL2HLT

ancestors: Errno::EL2HLT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EL2NSYNC

ancestors: Errno::EL2NSYNC < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EL3HLT

ancestors: Errno::EL3HLT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EL3RST

ancestors: Errno::EL3RST < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELIBACC

ancestors: Errno::ELIBACC < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELIBBAD

ancestors: Errno::ELIBBAD < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELIBEXEC

ancestors: Errno::ELIBEXEC < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELIBMAX

ancestors: Errno::ELIBMAX < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELIBSCN

ancestors: Errno::ELIBSCN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELNRNG

ancestors: Errno::ELNRNG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ELOOP

ancestors: Errno::ELOOP < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EMFILE

ancestors: Errno::EMFILE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EMLINK

ancestors: Errno::EMLINK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EMSGSIZE

ancestors: Errno::EMSGSIZE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EMULTIHOP

ancestors: Errno::EMULTIHOP < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENAMETOOLONG

ancestors: Errno::ENAMETOOLONG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENAVAIL

ancestors: Errno::ENAVAIL < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENETDOWN

ancestors: Errno::ENETDOWN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENETRESET

ancestors: Errno::ENETRESET < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENETUNREACH

ancestors: Errno::ENETUNREACH < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENFILE

ancestors: Errno::ENFILE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOANO

ancestors: Errno::ENOANO < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOBUFS

ancestors: Errno::ENOBUFS < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOCSI

ancestors: Errno::ENOCSI < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENODATA

ancestors: Errno::ENODATA < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENODEV

ancestors: Errno::ENODEV < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOENT

ancestors: Errno::ENOENT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOEXEC

ancestors: Errno::ENOEXEC < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOLCK

ancestors: Errno::ENOLCK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOLINK

ancestors: Errno::ENOLINK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOMEM

ancestors: Errno::ENOMEM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOMSG

ancestors: Errno::ENOMSG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENONET

ancestors: Errno::ENONET < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOPKG

ancestors: Errno::ENOPKG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOPROTOOPT

ancestors: Errno::ENOPROTOOPT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOSPC

ancestors: Errno::ENOSPC < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOSR

ancestors: Errno::ENOSR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOSTR

ancestors: Errno::ENOSTR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOSYS

ancestors: Errno::ENOSYS < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTBLK

ancestors: Errno::ENOTBLK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTCONN

ancestors: Errno::ENOTCONN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTDIR

ancestors: Errno::ENOTDIR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTEMPTY

ancestors: Errno::ENOTEMPTY < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTNAM

ancestors: Errno::ENOTNAM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTSOCK

ancestors: Errno::ENOTSOCK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTTY

ancestors: Errno::ENOTTY < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENOTUNIQ

ancestors: Errno::ENOTUNIQ < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ENXIO

ancestors: Errno::ENXIO < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EOPNOTSUPP

ancestors: Errno::EOPNOTSUPP < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EOVERFLOW

ancestors: Errno::EOVERFLOW < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EPERM

ancestors: Errno::EPERM < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EPFNOSUPPORT

ancestors: Errno::EPFNOSUPPORT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EPIPE

ancestors: Errno::EPIPE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EPROTONOSUPPORT

ancestors: Errno::EPROTONOSUPPORT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EPROTOTYPE

ancestors: Errno::EPROTOTYPE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ERANGE

ancestors: Errno::ERANGE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EREMCHG

ancestors: Errno::EREMCHG < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EREMOTE

ancestors: Errno::EREMOTE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EREMOTEIO

ancestors: Errno::EREMOTEIO < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ERESTART

ancestors: Errno::ERESTART < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EROFS

ancestors: Errno::EROFS < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ERROR

ancestors: Errno::ERROR < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESHUTDOWN

ancestors: Errno::ESHUTDOWN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESOCKTNOSUPPORT

ancestors: Errno::ESOCKTNOSUPPORT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESPIPE

ancestors: Errno::ESPIPE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESRCH

ancestors: Errno::ESRCH < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESRMNT

ancestors: Errno::ESRMNT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESTALE

ancestors: Errno::ESTALE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ESTRPIPE

ancestors: Errno::ESTRPIPE < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ETIME

ancestors: Errno::ETIME < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ETIMEDOUT

ancestors: Errno::ETIMEDOUT < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ETOOMANYREFS

ancestors: Errno::ETOOMANYREFS < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ETXTBSY

ancestors: Errno::ETXTBSY < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EUCLEAN

ancestors: Errno::EUCLEAN < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EUNATCH

ancestors: Errno::EUNATCH < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EUSERS

ancestors: Errno::EUSERS < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EWOULDBLOCK

ancestors: Errno::EWOULDBLOCK < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EXDEV

ancestors: Errno::EXDEV < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EXFULL

ancestors: Errno::EXFULL < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EXXX

ancestors: Errno::EXXX < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。

実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。 例えば、File.open の内部でシステムコール open(2) がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。

Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
Errno::EXXX クラスは、対応するエラー名が動作環境に存在する場合のみ定義されます。
このため、一部の環境にしか存在しないエラーコードについて rescue 節などで Errno::EXXX を利用すると
意図せずプログラムの可搬性を損なう場合があります。
それを避けるには、エラーコードの種類を特定する必要がある場合を除いては SystemCallError で rescue するようにしてください。

また、以下の一覧にはないシステムエラーが発生した場合は、 Errno::EXXX (XXX はエラー番号を表す 3 桁の数字) という名前の例外クラスが自動的に作成され、発生します。 (これは Ruby 内部でのみ行われ、 Ruby プログラム上で SystemCallError.new に一覧にないコードを渡してもクラスは作成されません)

それぞれの例外が発生し得るケースについては、この項では記述しません。 例外を発生する各メソッドのマニュアルおよびオペレーティングシステムのマニュアルを参照してください。

エラー名リスト

個々の例外の意味はシステム依存です。 システムのマニュアル errno(3) を参照してください。 Microsoft Windows システムにおいては http://msdn2.microsoft.com/ja-jp/library/5814770t.aspx を参照してください。

  • ERROR
  • EPERM
  • ENOENT
  • ESRCH
  • EINTR
  • EIO
  • ENXIO
  • E2BIG
  • ENOEXEC
  • EBADF
  • ECHILD
  • EAGAIN
  • ENOMEM
  • EACCES
  • EFAULT
  • ENOTBLK
  • EBUSY
  • EEXIST
  • EXDEV
  • ENODEV
  • ENOTDIR
  • EISDIR
  • EINVAL
  • ENFILE
  • EMFILE
  • ENOTTY
  • ETXTBSY
  • EFBIG
  • ENOSPC
  • ESPIPE
  • EROFS
  • EMLINK
  • EPIPE
  • EDOM
  • ERANGE
  • EDEADLK
  • ENAMETOOLONG
  • ENOLCK
  • ENOSYS
  • ENOTEMPTY
  • ELOOP
  • EWOULDBLOCK
  • ENOMSG
  • EIDRM
  • ECHRNG
  • EL2NSYNC
  • EL3HLT
  • EL3RST
  • ELNRNG
  • EUNATCH
  • ENOCSI
  • EL2HLT
  • EBADE
  • EBADR
  • EXFULL
  • ENOANO
  • EBADRQC
  • EBADSLT
  • EDEADLOCK
  • EBFONT
  • ENOSTR
  • ENODATA
  • ETIME
  • ENOSR
  • ENONET
  • ENOPKG
  • EREMOTE
  • ENOLINK
  • EADV
  • ESRMNT
  • ECOMM
  • EPROTO
  • EMULTIHOP
  • EDOTDOT
  • EBADMSG
  • EOVERFLOW
  • ENOTUNIQ
  • EBADFD
  • EREMCHG
  • ELIBACC
  • ELIBBAD
  • ELIBSCN
  • ELIBMAX
  • ELIBEXEC
  • EILSEQ
  • ERESTART
  • ESTRPIPE
  • EUSERS
  • ENOTSOCK
  • EDESTADDRREQ
  • EMSGSIZE
  • EPROTOTYPE
  • ENOPROTOOPT
  • EPROTONOSUPPORT
  • ESOCKTNOSUPPORT
  • EOPNOTSUPP
  • EPFNOSUPPORT
  • EAFNOSUPPORT
  • EADDRINUSE
  • EADDRNOTAVAIL
  • ENETDOWN
  • ENETUNREACH
  • ENETRESET
  • ECONNABORTED
  • ECONNRESET
  • ENOBUFS
  • EISCONN
  • ENOTCONN
  • ESHUTDOWN
  • ETOOMANYREFS
  • ETIMEDOUT
  • ECONNREFUSED
  • EHOSTDOWN
  • EHOSTUNREACH
  • EALREADY
  • EINPROGRESS
  • ESTALE
  • EUCLEAN
  • ENOTNAM
  • ENAVAIL
  • EISNAM
  • EREMOTEIO
  • EDQUOT

Singleton Methods

Signature Description
self === other -> bool

other が SystemCallError のサブクラスのインスタンスで、 かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。

new() -> Errno::EXXX
new(error_message) -> Errno::EXXX

Errno::EXXX オブジェクトを生成して返します。

Constants

Signature | Description
Errno | Errno::EXXX の各クラスに対応するシステム依存のエラーコード値(整数)です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno


class Exception

ancestors: Exception < Object < Kernel

Abstract

全ての例外の祖先のクラスです。

Singleton Methods

Signature Description
new(error_message = nil)
exception(error_message = nil)

例外オブジェクトを生成して返します。

Instance Methods

Signature Description
backtrace -> [String]

バックトレース情報を返します。

exception -> self
exception(error_message) -> Exception

引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。

message -> String
to_s -> String
to_str -> String

エラーメッセージをあらわす文字列を返します。

set_backtrace(errinfo) -> nil | String | [String]

バックトレース情報に errinfo を設定し、設定されたバックトレース 情報を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class FalseClass

ancestors: FalseClass < Object < Kernel

Abstract

false のクラス。 false は FalseClass クラスの唯一のインスタンスです。 false は nil オブジェクトとともに偽を表し、 その他の全てのオブジェクトは真です。

Instance Methods

Signature | Description
self & other -> false | 常に false を返します。
self ^ other -> bool | other が真なら true を, 偽なら false を返します。
to_s -> String | 常に文字列 "false" を返します。
self | other -> bool | other が真なら true を, 偽なら false を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class File

ancestors: File < IO < Enumerable < File::Constants < Object < Kernel

Abstract

ファイルアクセスのためのクラスです。

通常 Kernel.#open または File.open を使って生成します。 IO クラスがインクルードしている File::Constants は File クラスに関係する定数を 格納したモジュールです。 また File::Stat は stat 構造体( stat(2) 参照)を表すクラスです。

Singleton Methods

Signature Description
atime(filename) -> Time

最終アクセス時刻を返します。

basename(filename, suffix = "") -> String

filename の一番後ろのスラッシュに続く要素を返します。もし、 引数 suffix が与えられて、かつそれが filename の末尾に 一致するなら、それを取り除いたものを返します。

blockdev?(path) -> bool

FileTest.#blockdev? と同じです。

chardev?(path) -> bool

FileTest.#chardev? と同じです。

chmod(mode, *files) -> Integer

(複数の)ファイルの属性を変えます。

ftools
chmod(mode, *filename) -> Integer

ファイルのモードを mode に変更します。モードを変更したファイ ルの数を返します。

chown(owner, group, *filename) -> Integer

ファイルのオーナーとグループを変更します。スーパーユーザだけがファ イルのオーナーとグループを変更できます。変更を行ったファイルの数を 返します。

ctime(filename) -> Time

状態が最後に変更された時刻を返します。 状態の変更とは chmod などによるものです。

delete(*filename) -> Integer
unlink(*filename) -> Integer

ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。

directory?(path) -> bool

FileTest.#directory? と同じです。

dirname(filename) -> String

filename の一番後ろのスラッシュより前を文 字列として返します。スラッシュを含まないファイル名に対しては "."(カレントディレクトリ)を返します。

executable?(path) -> bool

FileTest.#executable? と同じです。

executable_real?(path) -> bool

FileTest.#executable_real? と同じです。

exist?(path) -> bool

FileTest.#exist? と同じです。

exists?(path) -> bool

このメソッドはobsoleteです。

expand_path(path, default_dir = '.') -> String

path を絶対パスに展開した文字列を返します。 path が相対パスであれば default_dir を基準にします。

extname(filename) -> String

ファイル名 filename の拡張子部分(最後の "." に続く文字列)を 返します。ディレクトリ名に含まれる "." や、ファイル名先頭の "." は拡張子の一部としては見なされません。filename に拡張子が含 まれない場合は空文字列を返します。

file?(path) -> bool

FileTest.#file? と同じです。

fnmatch(pattern, path, flags = 0) -> bool
fnmatch?(pattern, path, flags = 0) -> bool

ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

ftype(filename) -> String

ファイルのタイプを表す文字列を返します。文字列は以下のうちのいずれ かです。File.lstat(filename).ftype と同じで す。シンボリックリンクに対して "link" を返します。

grpowned?(path) -> bool

FileTest.#grpowned? と同じです。

identical?(filename1, filename2) -> bool

FileTest.#identical? と同じです。

join(*item) -> String

File::SEPARATORを間に入れて文字列を連結します。

lchmod(mode, *filename) -> Integer

File.chmod と同様ですが、シンボリックリンクに関してリンクそのものの モードを変更します。

lchown(owner, group, *filename) -> Integer

File#chown と同様ですが、 シンボリックリンクに関してリンクそのもののオーナー、 グループを変更します。

link(old, new) -> 0

old を指す new という名前のハードリンクを 生成します。old はすでに存在している必要があります。 ハードリンクに成功した場合は 0 を返します。

lstat(filename) -> File::Stat

File.statと同様ですが、シンボリックリンクに関してリンクそのものの 情報を File::Stat として返します。lstat(2) を実装していないシステムでは、File.stat と同じです。

mtime(filename) -> Time

最終更新時刻を返します。

new(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) {|file| ... } -> object

path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。

owned?(path) -> bool

FileTest.#owned? と同じです。

pipe?(path) -> bool

FileTest.#pipe? と同じです。

readable?(path) -> bool

FileTest.#readable? と同じです。

readable_real?(path) -> bool

FileTest.#readable_real? と同じです。

readlink(path) -> String

シンボリックリンクのリンク先のパスを文字列で返します。

rename(from, to) -> 0

ファイルの名前を変更します。ディレクトリが異なる場合には移動も行い ます。rename(2) を参照してください。移動先のファ イルが存在する時には上書きされます。

setgid?(path) -> bool

FileTest.#setgid? と同じです。

setuid?(path) -> bool

FileTest.#setuid? と同じです。

size(path) -> Integer

FileTest.#size と同じです。

size?(path) -> bool

FileTest.#size? と同じです。

socket?(path) -> bool

FileTest.#socket? と同じです。

split(pathname) -> [String]

pathname を dirname とbasename に分割して、2 要 素の配列を返します。

stat(filename) -> File::Stat

filename の情報を含む File::Stat オブジェクトを生成し て返します。

sticky?(path) -> bool

FileTest.#sticky? と同じです。

symlink(old, new) -> 0

old への new という名前のシンボリックリンクを生成します。

symlink?(path) -> bool

FileTest.#symlink? と同じです。

truncate(path, length) -> 0

path で指定されたファイルのサイズを最大 length バイト にします。

umask -> Integer

現在の umask の値を返します。

umask(umask) -> Integer

umask を変更します。変更前の umask の値を返します

utime(atime, mtime, *filename) -> Integer

ファイルの最終アクセス時刻と更新時刻を変更します。変更したファイル の数を返します。変更に失敗した場合は例外 Errno::EXXX が発生 します。

writable?(path) -> bool

FileTest.#writable? と同じです。

writable_real?(path) -> bool

FileTest.#writable_real? と同じです。

zero?(path) -> bool

FileTest.#zero? と同じです。

Instance Methods

Signature | Description
atime -> Time | 最終アクセス時刻を Time オブジェクトとして返します。
chmod(mode) -> 0 | ファイルのモードを指定された mode に変更します。
chown(owner, group) -> 0 | ファイルのオーナーとグループを変更します。
ctime -> Time | 状態が最後に変更された時刻を Time オブジェクトとして返します。状態の変更とは chmod などによるものです。
flock(operation) -> 0 | false | ファイルをロックします。
lstat -> File::Stat | ファイルの状態を含む File::Stat オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 lstat(2) を実装していないシステムでは、IO#statと同じです。
mtime -> Time | 最終更新時刻を Time オブジェクトとして返します。
path -> String | オープン時に使用したパスを文字列で返します。
truncate(length) -> 0 | ファイルのサイズを最大 length バイトにします。

Constants

Signature Description
ALT_SEPARATOR

システムのファイルパスのセパレータが SEPARATOR と異なる場合 に設定されます。MS-DOS などでは "\" です。UNIX や Cygwin などでは nil です。

PATH_SEPARATOR

PATH 環境変数の要素のセパレータです。UNIX では ":" MS-DOS な どでは ";" です。

SEPARATOR
Separator

ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す 場合などスクリプト内のパス名は環境によらずこのセパレータで統一され ます。値は "/" です。

Inherited Methods

<< binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .for_fd .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
catname(from, to) -> String

from, to から新しい to を作成して返します。

ftools
compare(from, to, verbose = false) -> bool
cmp(from, to, verbose = false) -> bool

2つのファイルを比較します。

ftools
copy(from, to, verbose = false) -> bool
cp(from, to, verbose = false) -> bool

ファイルをコピーします。

ftools
install(from, to, mode = nil, verbose = false) -> ()

ファイルをコピーし、モードを設定します。

ftools
makedirs(*dirs) -> Array
mkpath(*dirs) -> Array

(複数の)ディレクトリを作成します。

ftools
move(from, to, verbose = false) -> bool
mv(from, to, verbose = false) -> bool

ファイルを移動します。

ftools
safe_unlink(*files) -> Array
rm_f(*files) -> Array

(複数の)ファイルを可能な限り削除します。

ftools
syscopy(from, to) -> bool

from から to へファイルをコピーします。

ftools


module File::Constants

ancestors: File::Constants

Abstract

File に関る定数を集めたモジュール。

File はこのモジュールをインクルードしているので、 以下に挙げる定数は File の定数のように扱うことができます。

Ruby 1.8 以降では、File ではなく、IO でインクルード されるようになりました。

Constants

Signature | Description
APPEND | 追記モードでファイルを開くときに指定します。 File.openで使用します。
BINARY | ファイルをバイナリとして開きます。 open(2) で O_BINARYが指定できる場合に使えます。 File.openで使用します。
CREAT | ファイルがなければ作成するよう指定します。 File.openで使用します。
EXCL | CREATと併用し、もしファイルが既にある場合には失敗します。 File.openで使用します。
FNM_CASEFOLD | アルファベットの大小文字を区別せずにパターンマッチを行います。 File.fnmatch, Dir.globで使用します。
FNM_DOTMATCH | ワイルドカード `*', `?', `[]' が先頭の `.' にマッチするようになります。 File.fnmatch, Dir.globで使用します。
FNM_NOESCAPE | エスケープ文字 `\' を普通の文字とみなします。 File.fnmatch, Dir.globで使用します。
FNM_PATHNAME | ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。 シェルのパターンマッチにはこのフラグが使用されています。 File.fnmatch, Dir.globで使用します。
FNM_SYSCASE | case hold なファイルシステムの場合、FNM_CASEFOLD の値になり、そうでなければゼロの値になります。 File.fnmatch, Dir.globで使用します。
LOCK_EX | 排他ロック。同時にはただひとつのプロセスだけがロックを保持できます。 File#flock で使用します。
LOCK_NB | ロックの際にブロックしない。他の指定と or することで指定します。 File#flock で使用します。
LOCK_SH | 共有ロック。複数のプロセスが同時にロックを共有できます。 File#flock で使用します。
LOCK_UN | アンロック。File#flock で使用します。
NOCTTY | 自身がTTY制御しないようにTTYを開きます。 File.openで使用します。
NONBLOCK | ファイルが利用可能じゃなくてもブロックしません。 File.openで使用します。
RDONLY | 読み込みのみのモードでファイルを開くときに指定します。 File.openで使用します。
RDWR | 読み書き両方のモードでファイルを開くときに指定します。 File.openで使用します。
SYNC | ファイルを同期モードで開きます。 open(2) で O_SYNCが指定できる場合に使えます。 File.openで使用します。
TRUNC | もしファイルが存在するなら、中身を抹消してサイズをゼロにします。 File.openで使用します。
WRONLY | 書き込みのみのモードでファイルを開くときに指定します。 File.openで使用します。


class File::Stat

ancestors: File::Stat < Comparable < Object < Kernel

Abstract

ファイルの情報を格納したオブジェクトのクラス。

FileTest に同名のモジュール関数がある場合はそれと同じ働きをします。ただ、 ファイル名を引数に取るかわりに Stat 自身について判定する点が違います。

p File::Stat.new($0).directory? #=> false
p FileTest.directory?($0) #=> false

以下の属性メソッドは、システムによってサポートされていない場合 0 が返ります。 1.8.0 以降では nil が返ります。

dev         デバイス番号(ファイルシステム)
dev_major   dev の major 番号部
dev_minor   dev の minor 番号部
ino         i-node 番号
mode        ファイルモード
nlink       ハードリンクの数
uid         オーナーのユーザID
gid         オーナーのグループID
rdev        デバイスタイプ(スペシャルファイルのみ)
rdev_major  rdev の major 番号部
rdev_minor  rdev の minor 番号部
size        ファイルサイズ(バイト単位)
blksize     望ましいI/Oのブロックサイズ
blocks      割り当てられているブロック数
atime       最終アクセス時刻
mtime       最終更新時刻
ctime       最終状態変更時刻(状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)

Singleton Methods

Signature | Description
new(path) -> File::Stat | path に関する File::Stat オブジェクトを生成して返します。 File.stat と同じです。

Instance Methods

Signature | Description
self <=> o -> Fixnum | nil | ファイルの最終更新時刻を比較します。self が other よりも 新しければ正の数を、等しければ 0 を古ければ負の数を返します。 比較できない場合はnilを返します
atime -> Time | 最終アクセス時刻を返します。
blksize -> Integer | 望ましいI/Oのブロックサイズを返します。
blockdev? -> bool | ブロックスペシャルファイルの時に真を返します。
blocks -> Integer | 割り当てられているブロック数を返します。
chardev? -> bool | キャラクタスペシャルファイルの時に真を返します。
ctime -> Time | 最終状態変更時刻を返します。 (状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)
dev -> String | デバイス番号(ファイルシステム)を返します。
dev_major -> Integer | dev の major 番号部を返します。
dev_minor -> Integer | dev の minor 番号部を返します。
directory? -> bool | ディレクトリの時に真を返します。
executable? -> bool | 実効ユーザ/グループIDで実行できる時に真を返します。
executable_real? -> bool | 実ユーザ/グループIDで実行できる時に真を返します。
file? -> bool | 通常ファイルの時に真を返します。
ftype -> String | ファイルのタイプを表す文字列を返します。文字列は以下のうちの いずれかです。
gid -> Integer | オーナーのグループIDを返します。
grpowned? -> bool | グループIDが実効グループIDと等しい時に真を返します。
ino -> Integer | i-node 番号を返します。
mode -> Integer | ファイルモードを返します。
mtime -> Time | 最終更新時刻を返します。
nlink -> Integer | ハードリンクの数を返します。
owned? -> bool | 自分のものである時に真を返します。
pipe? -> bool | 無名パイプおよび名前つきパイプ(FIFO)の時に真を返します。
rdev -> Integer | デバイスタイプ(スペシャルファイルのみ)を返します。
rdev_major -> Integer | rdev の major 番号部を返します。
rdev_minor -> Integer | rdev の minor 番号部を返します。
readable? -> bool | 読み込み可能な時に真を返します。
readable_real? -> bool | 実ユーザ/実グループによって読み込み可能な時に真を返します。
setgid? -> bool | setgidされている時に真を返します。
setuid? -> bool | setuidされている時に真を返します。
size -> Integer | ファイルサイズ(バイト単位)を返します。
size? -> Integer | nil | サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。
socket? -> bool | ソケットの時に真を返します。
sticky? -> bool | stickyビットが立っている時に真を返します。
symlink? -> false | シンボリックリンクである時に真を返します。 ただし、File::Statは自動的にシンボリックリンクをたどっていくので 常にfalseを返します。
uid -> Integer | オーナーのユーザIDを返します。
writable? -> bool | 書き込み可能な時に真を返します。
writable_real? -> bool | 実ユーザ/実グループによって書き込み可能な時に真を返します。
zero? -> bool | サイズが0である時に真を返します。

Inherited Methods

< <= == > >= between? === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module FileTest

ancestors: FileTest

Abstract

ファイルの検査関数を集めたモジュールです。

注意

FileTest で定義された各メソッドは、システムコールに失敗しても例外を発生させません。 真を返した時のみ、返り値は意味をもちます。 例えば、

File.exist?('/root/.bashrc')

が false を返しても、それはファイルが存在しないことを保証しません。

Module Functions

Signature | Description
blockdev?(file) -> bool | ファイルがブロックスペシャルファイルである時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
chardev?(file) -> bool | ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
directory?(file) -> bool | ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
executable?(file) -> bool | ファイルがカレントプロセスにより実行できる時に真を返しま す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
executable_real?(file) -> bool | ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
exist?(file) -> bool | ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。
exists?(file) -> bool | このメソッドはobsoleteです。
file?(file) -> bool | ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
grpowned?(file) -> bool | ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
identical?(file1, file2) -> bool | file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
owned?(file) -> bool | ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
pipe?(file) -> bool | ファイルが名前つきパイプ(FIFO)である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
readable?(file) -> bool | ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
readable_real?(file) -> bool | ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
setgid?(file) -> bool | ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
setuid?(file) -> bool | ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
size(file) -> Integer | ファイルのサイズを返します。
size?(file) -> Integer | nil | ファイルのサイズを返します。ファイルが存在しない時や ファイルのサイズが0の時には nil を返します。
socket?(file) -> bool | ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
sticky?(file) -> bool | ファイルの sticky ビット(chmod(2) 参照)が 立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
symlink?(file) -> bool | ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
writable?(file) -> bool | ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
writable_real?(file) -> bool | ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真 を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
zero?(file) -> bool | ファイルが存在して、そのサイズが 0 である時に真を返します。 そうでない場合、あるいはシステムコールに失敗した場合には false を返します。


class Fixnum

ancestors: Fixnum < Integer < Precision < Numeric < Comparable < Object < Kernel

Abstract

Bignum 同様、整数のクラスです。 演算の結果が Fixnum の範囲を越えた時には 自動的に Bignum に拡張されます。

マシンのポインタのサイズに収まる長さの固定長整数で、 ほとんどのマシンでは 31 ビット幅です。

破壊的な変更

Ruby の Fixnum クラスは immutable です。 つまり、オブジェクト自体を破壊的に変更することはできません。 Bignum も同様です。

例:

p 100000.class             # => Fixnum
p 100000 * 100000          # => 100000000
p (100000 * 100000).class  # => Bignum

Instance Methods

Signature Description
self ** other
rpower(other)

Returns a Rational number if the result is in fact rational (i.e. other < 0).

rational
self / other

Fixnum#quo と同じ働きをします(有理数または整数を返します)。

mathn
id2name -> String | nil

オブジェクトの整数値 self を、ある Symbol オブジェクトに対応する整数値とみなした上で、 そのシンボルを示す文字列を返します。 整数に対応するシンボルは必ずしも存在せず、その場合は nil を返します。

quo(other)

If Rational is defined, returns a Rational number instead of a Fixnum.

rational
to_sym -> Symbol | nil

オブジェクトの整数値 self に対応する Symbol オブジェク トを返します。整数に対応するシンボルが存在しない時には nil を返します。

Inherited Methods

% & * + - < << <= <=> == > >= >> [] ^ chr denominator downto even? gcd gcd2 gcdlcm integer? lcm next numerator odd? ord pred prime_division size times to_f to_i to_r to_s upto | ~ .from_prime_division .induced_from +@ -@ abs arg ceil clone coerce conj div divmod eql? fdiv floor im imag modulo nonzero? real remainder round step truncate zero? === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature Description Library


class Float

ancestors: Float < Precision < Numeric < Comparable < Object < Kernel

Abstract

浮動小数点数のクラス。Float の実装は C 言語の double で、その精度は環 境に依存します。

一般にはせいぜい15桁です。詳しくは多くのシステムで採用されている 浮動小数点標準規格、IEEE (Institute of Electrical and Electronics Engineers: 米国電気電子技術者協会) 754 を参照してください。

# あるシステムでの 1/3(=0.333...) の結果
printf("%.50f\n", 1.0/3)
=> 0.33333333333333331482961625624739099293947219848633

Math::PI など、浮動小数点演算に関する定数については Math を 参照のこと。

Singleton Methods

Signature | Description
induced_from(num) -> Float | num を Float に変換した結果を返します。

Instance Methods

Signature Description
self % other -> Float
modulo(other) -> Float

算術演算子。剰余を計算します。

self * other -> Float

算術演算子。積を計算します。

self ** other -> Float

算術演算子。冪を計算します。

self + other -> Float

算術演算子。和を計算します。

self - other -> Float

算術演算子。差を計算します。

self / other -> Float

算術演算子。商を計算します。

self < other -> bool

比較演算子。数値として小さいか判定します。

self <= other -> bool

比較演算子。数値として等しいまたは小さいか判定します。

self <=> other -> nil | 1 | 0 | -1

self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。 比較できない場合はnilを返します

self == other -> bool

比較演算子。数値として等しいか判定します。

self > other -> bool

比較演算子。数値として大きいか判定します。

self >= other -> bool

比較演算子。数値として等しいまたは大きいか判定します。

abs -> Float

自身の絶対値を返します。

ceil -> Integer

自身と等しいかより大きな整数のうち最小のものを返します。

divmod(other) -> [Numeric]

self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。

eql?(other) -> bool

自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。

finite? -> bool

数値が ∞, -∞, あるいは NaN でない場合に true を返します。 そうでない場合に false を返します。

floor -> Integer

自身と等しいかより小さな整数のうち最大のものを返します。

hash -> Fixnum

ハッシュ値を返します。

infinite? -> 1 | -1 | nil

数値が +∞ のとき 1、-∞のとき -1 を返します。それ以外は nil を返 します。

nan? -> bool

数値が NaN(Not a number)のとき真を返します。

round -> Fixnum

自身ともっとも近い整数を返します。

to_f -> self

self を返します。

to_i -> Integer
truncate -> Integer

小数点以下を切り捨てて値を整数に変換します。

zero? -> bool

自身がゼロの時、真を返します。そうでない場合は false を返します。

Constants

Signature | Description
DIG -> Fixnum | Float が表現できる最大の 10 進桁数
EPSILON -> Float | 1.0 + Float::EPSILON != 1.0 となる最小の値
MANT_DIG -> Fixnum | 仮数部の Float::RADIX 進法での桁数
MAX -> Float | Float が取り得る最大値
MAX_10_EXP -> Fixnum | 最大の 10 進の指数
MAX_EXP -> Fixnum | 最大の Float::RADIX 進の指数
MIN -> Float | Float が取り得る最小値
MIN_10_EXP -> Fixnum | 最小の 10 進の指数
MIN_EXP -> Fixnum | 最小の Float::RADIX 進の指数
RADIX -> Fixnum | 指数表現の基数
ROUNDS -> Fixnum | 丸めモード (-1: 不定、0: 0.0 の方向に丸め、1: 四捨五入、2:正の無限 大の方向に丸め、3:負の無限大の方向に丸め)

Inherited Methods

+@ -@ arg clone coerce conj div fdiv im imag integer? nonzero? real remainder step to_int === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new prec prec_f prec_i

Added Methods

Signature | Description | Library
to_d | BigDecimalに変換する | bigdecimal/util


class FloatDomainError

ancestors: FloatDomainError < RangeError < StandardError < Exception < Object < Kernel

Abstract

正負の無限大や NaN (Not a Number) を Bignum に変換しようとしたり、 NaN との比較を行ったときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module GC

ancestors: GC

Abstract

GC は Ruby インタプリタの「ゴミ集め(Garbage Collection)」を制御 するモジュールです。

@see ObjectSpace

Singleton Methods

Signature Description
disable -> bool

ガーベージコレクトを禁止します。

enable -> bool

ガーベージコレクトを許可します。

start -> nil

ガーベージコレクトを開始します。

stress -> bool
stress=(value)

GC.stress が真に設定されている間は、GC を行えるすべての機会に GC を行います。

Instance Methods

Signature | Description
garbage_collect -> nil | ガーベージコレクトを開始します。


class Hash

ancestors: Hash < Enumerable < Object < Kernel

Abstract

ハッシュテーブル(連想配列とも呼ぶ)のクラス。ハッシュは任意の種類のオブ ジェクト(キー)から任意の種類のオブジェクト(値)への関連づけを行うことができます。

ハッシュ生成は多くの場合以下のようなリテラル (リテラル/ハッシュ式) で行われます。

{a => b, ... }   # aはキー、bは値となる

キーには任意の種類のオブジェクトを用いることができますが、 以下の２つのメソッドが適切に定義してある必要があります。

  • Object#hash ハッシュの格納に用いられるハッシュ値の計算
  • Object#eql? キーの同一性判定

破壊的操作によってキーとして与えたオブジェクトの内容が変化し、Object#hash の返す 値が変わるとハッシュから値が取り出せなくなりますから、 Array などのインスタンスはキーに向きません。Hash#rehash を参照。

ただし、文字列をキーとして与えた場合は、文字列をコピーし、コピーを更新不可に設定 (Object#freeze) してキーとして 使用します。キーとして使われている文字列を更新しようとすると例外 TypeError が発生するので rehash を呼ぶ必要性は生じません。

ハッシュにはデフォルト値を設定することができます。存在しないキーを探索したときに返す値で、未設定時は nil です。 デフォルト値には値形式とブロック形式があります。 実際にデフォルト値がどのように扱われるかは各メソッドの説明を参照してください。

ハッシュに含まれる要素の順序は保持されません。 列挙する順序は不定です。

Singleton Methods

Signature | Description
self[other] -> Hash | 新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。
self[*key_and_value] -> Hash | 新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。
new(ifnone = nil) -> Hash | 空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。
new {|hash, key| ... } -> Hash | 空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

Instance Methods

Signature Description
self == other -> bool
self === other -> bool
eql?(other) -> bool

自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。

self[key] -> object | nil

key に関連づけられた値を返します。

self[key] = value
store(key, value) -> object

key に対して value を関連づけます。value を返し ます。

clear -> self

ハッシュの中身を空にします。

clone -> Hash
dup -> Hash

selfと同じ内容を持つ新しいハッシュを返します。

default -> object | nil
default(key) -> object | nil

ハッシュのデフォルト値を返します。

default=(value)

ハッシュのデフォルト値を value に変更します。対応する値が存 在しないキーで検索した時にはこの値を返すようになります。

default_proc -> Proc | nil

ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。

delete(key) -> object | nil
delete(key) {|key| ... } -> object

key に対応する要素を取り除きます。

delete_if -> Enumerable::Enumerator
reject! -> Enumerator::Enumerator
delete_if {|key, value| ... } -> self
reject! {|key, value| ... } -> self|nil

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self
each -> Enumerable::Enumerator
each_pair -> Enumerable::Enumerator

ハッシュのキーと値を引数としてブロックを評価します。

each_key {|key| ... } -> self
each_key -> Enumerable::Enumerator

ハッシュのキーを引数としてブロックを評価します。

each_value {|value| ... } -> self
each_value -> Enumerable::Enumerator

ハッシュの値を引数としてブロックを評価します。

empty? -> bool

ハッシュが空の時真を返します。

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。

fetch(key, default = nil) {|key| ... } -> object

key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。

has_key?(key) -> bool
include?(key) -> bool
key?(key) -> bool
member?(key) -> bool

ハッシュが key をキーとして持つ時真を返します。

has_value?(value) -> bool
value?(value) -> bool

ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。

hash -> Integer

自身の Object#object_id を返します。これは Object クラスで定義されたデフォルトの動作です。 メソッド hash の返り値は自身が保持するキーや値に影響されません。

index(val) -> object

値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。

indexes(*keys) -> [object]
indices(*keys) -> [object]

引数で指定されたキーに対応する値の配列を返します。

to_s -> String
inspect -> String

ハッシュの内容を inspect によって文字列化して返します。

invert -> Hash

値からキーへのハッシュを作成して返します。

keys -> [object]

全キーの配列を返します。

length -> Integer
size -> Integer

ハッシュの要素の数を返します。

merge(other) -> Hash
merge(other) {|key, self_val, other_val| ... } -> Hash
merge!(other) -> self
merge!(other) {|key, self_val, other_val| ... } -> self

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

rehash -> self

キーのハッシュ値を再計算します。

reject {|key, value| ... } -> Hash
reject -> Enumerator::Enumerator

self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。

replace(other) -> self

ハッシュの内容を other の内容で置き換えます。

select -> Enumerable::Enumerator
select {|key, value| ... } -> Array

key, value のペアについてブロックを評価し、真となるペアだけを含む 配列を生成して返します。

shift -> [object, object]

ハッシュから要素をひとつ取り除き、[key, value]という配列とし て返します。shiftがどの要素を返すかは不定です。

sort -> Array
sort {|a, b| ... } -> Array

ハッシュを [key, value] を要素とする配列の配列に変換して，それをソー トした配列を返します。

to_a -> [Array]

キーと値からなる 2 要素の配列を並べた配列を生成して返します。

to_hash -> self

self を返します。

update(other) -> self
update(other) {|key, self_val, other_val| ... } -> self

selfとotherのハッシュの内容をマージ(統合)します。Hash#merge!と同じです。

values -> [object]

ハッシュの全値の配列を返します。

values_at(*keys) -> [object]

引数で指定されたキーに対応する値の配列を返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by inject max max_by min min_by minmax minmax_by none? one? partition sort_by take take_while to_set zip =~ __id__ __send__ _dump class dclone display enum_for extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class IO

ancestors: IO < Enumerable < File::Constants < Object < Kernel

Abstract

基本的な入出力機能のためのクラスです。

  • [[unknown:Traps: IO ポートのオープンに関わる問題|trap::IO]]

File::Constants は、File から IO へ移動しました。

EOF での読み込みメソッドの振る舞いの違い

空ファイルや EOF での各読み込みメソッドの振る舞いは以下のとおりです。 ただし、length を指定できるメソッドに関しては、length に nil または 0 を指定した場合、 EOF であっても常に空文字列 "" を返します。 ただし、IO#read(0) は EOF では nil を返します。

メソッド                      空のファイルに対して

IO.read(空ファイル)           ""
IO.read(空ファイル, length)   nil
IO.readlines(空ファイル)      []
IO.foreach(空ファイル)        何もしない

メソッド                      既にEOFだったら

IO#each                       何もしない
IO#each_byte                  何もしない
IO#getc                       nil
IO#gets                       nil
IO#read()                     ""
IO#read(length)               nil
IO#read_nonblock              EOFError
IO#readchar                   EOFError
IO#readline                   EOFError
IO#readlines                  []
IO#readpartial                EOFError
IO#sysread                    EOFError

Singleton Methods

Signature Description
new(fd, mode = "r") -> IO
for_fd(fd, mode = "r") -> IO
open(fd, mode = "r") -> IO
open(fd, mode = "r") {|io| ... } -> object

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

foreach(path, rs = $/) {|line| ... } -> nil
foreach(path, rs = $/) -> Enumerable::Enumerator

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

pipe -> [IO]

pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。

popen(command, mode = "r") -> IO
popen(command, mode = "r") {|io| ... } -> object

command をサブプロセスとして実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。command はシェルを経由して実行されます。 生成したパイプを IO オブジェクトとして返します。

popen("-", mode = "r") -> IO
popen("-", mode = "r") {|io| ... } -> object

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

read(path, length = nil, offset = 0) -> String | nil

path で指定されたファイルを offset 位置から length バイト分読み込んで返します。

readlines(path, rs = $/) -> [String]

path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。

select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil

select(2) を実行します。

sysopen(path, mode = "r", perm = 0666) -> Integer

path で指定されるファイルをオープンし、ファイル記述子を返しま す。

Instance Methods

Signature Description
self << object -> self

object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。

binmode -> self

ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。

bytes -> Enumerable::Enumerator

自身を 1 バイトずつ整数としてイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

each_char {|c| ... } -> self
chars {|c| ... } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

self に含まれる文字を一文字つつブロックに渡して評価します。

clone -> IO
dup -> IO

レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。

close -> nil

入出力ポートをクローズします。

close_read -> nil

読み込み用の IO を close します。主にパイプや読み書き両用に作成し た IO オブジェクトで使用します。

close_write -> nil

書き込み用の IO を close します。

closed? -> bool

ポートがクローズされている時に真を返します。

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator

IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。

each_byte {|ch| ... } -> self
each_byte -> Enumerable::Enumerator

IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

eof -> bool
eof? -> bool

ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。

fcntl(cmd, arg = 0) -> Integer

IOに対してシステムコール fcntl を実行します。 機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。

fileno -> Integer
to_i -> Integer

ファイル記述子を表す整数を返します。

flush -> self

IO ポートの内部バッファをフラッシュします。

fsync -> 0 | nil

書き込み用の IO に対して、システムコール fsync(2) を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに 書き込まれていないメモリ上にあるデータをディスクに書き出します。

getbyte -> Integer | nil

IO から1バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。

getc -> Integer | nil

IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。EOF に到達した時には nil を返します。

gets(rs = $/) -> String | nil

一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には nil を返します。

ioctl(cmd, arg = 0) -> Integer

IO に対してシステムコール ioctl を実行し、その結果を返します。 機能の詳細は ioctl(2) を参照してください。

isatty -> bool
tty? -> bool

入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。

lineno -> Integer

現在の行番号を整数で返します。実際には IO#gets が呼ばれた回数です。 改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。

lineno=(number)

現在の行番号を number にセットします。 $. は次回の読み込みの時に更新されます。

lines(rs = $/) -> Enumerable::Enumerator

自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

pid -> Integer | nil

自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。

pos -> Integer
tell -> Integer

ファイルポインタの現在の位置を整数で返します。

pos=(n)

ファイルポインタを指定位置に移動します。 IO#seek(n, IO::SEEK_SET) と同じです。

print(*arg) -> nil

引数を IO ポートに順に出力します。引数を省略した場合は、$_ を出力します。

printf(format, *arg) -> nil

C 言語の printf と同じように、format に従い引数 を文字列に変換して、self に出力します。

putc(ch) -> object

文字 ch を self に出力します。 引数の扱いは Kernel.#putc と同じです。詳細はこちらを参照し てください。ch を返します。

puts(*obj) -> nil

各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。

read(length = nil, outbuf = "") -> String | nil

length バイト読み込んで、その文字列を返します。

read_nonblock(maxlen, outbuf = "") -> String

IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

readbyte -> Integer

IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。

readchar -> Integer

IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。 EOF に到達した時には EOFError が発生します。

readline(rs = $/) -> String

一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。

readlines(rs = $/) -> [String]

データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。

readpartial(maxlen, outbuf = "") -> String

IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。

reopen(io) -> self

自身を指定された io に繋ぎ換えます。

reopen(path) -> self
reopen(path, mode) -> self

path で指定されたファイルにストリームを繋ぎ換えます。

rewind -> 0

ファイルポインタを先頭に移動します。IO#lineno は 0 になります。

seek(offset, whence = IO::SEEK_SET) -> 0

ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。

stat -> File::Stat

ファイルのステータスを含む File::Stat オブジェクトを生成して 返します。

sync -> bool

現在の出力が同期モードならば true を返します。そうでない場合は false を返します。

sync=(newstate)

自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。

sysread(maxlen, outbuf = "") -> String

read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。

sysseek(offset, whence = IO::SEEK_SET) -> Integer

lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。

syswrite(string) -> Integer

write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。

to_io -> self

self を返します。

ungetc(char) -> nil

指定された char を読み戻します。 2バイト以上の読み戻しは保証されません。

write(str) -> Integer

IOポートに対して str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。 実際に出力できたバイト数を返します。

write_nonblock(string) -> Integer

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。 write(2) が成功した場合、書き込んだ長さを返します。 EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。

Constants

Signature | Description
SEEK_CUR -> Fixnum | IO#seek を参照してください。
SEEK_END -> Fixnum | IO#seek を参照してください。
SEEK_SET -> Fixnum | IO#seek を参照してください。

Inherited Methods

== === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
expect(pattern, timeout = 9999999) -> Array | nil
expect(pattern, timeout = 9999999) {|array| ... } -> nil

レシーバから指定したパターンを読み込むまで待ちます。

expect
nonblock(bool = true) { ... }

ブロック実行中、一時的に self のブロックモードを変更する。 bool が真ならノンブロックモード、偽ならブロックモードになる。

io/nonblock
nonblock=(bool)

bool が真なら self をノンブロックモードに、偽ならブロックモー ドにする。

io/nonblock
nonblock?

self がノンブロックモードならば真を、ブロックモードなら偽を返す。

io/nonblock
readbytes(size)

IO#readと同様にsizeバイト読み込みますが、 EOFに到達した時に例外 EOFError を発生させます。 sizeバイト未満しか読み込めなかった時には 例外 TruncatedDataError を発生させます。

readbytes
ready?

ブロックせずに読み込み可能なら真を返します。そうでなければ nil を返します。 self が EOF に達していれば false を返します。

io/wait
scanf(format) -> Array
scanf(format) {|*ary| ...} -> Array

String#scanfも参照してください。

scanf
to_ptr -> DL::PtrData

自身を指す DL::PtrData を返します。これは C レベルでは「FILE *」です。

dl
wait([timeout = nil])

self が読み込み可能になるまでブロックし、読み込み可能になったら self を返します。

io/wait


class IOError

ancestors: IOError < StandardError < Exception < Object < Kernel

Abstract

入出力でエラーが起きると発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class IndexError

ancestors: IndexError < StandardError < Exception < Object < Kernel

Abstract

添字が範囲外のときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Integer

ancestors: Integer < Precision < Numeric < Comparable < Object < Kernel

Abstract

整数の抽象クラス。サブクラスとして Fixnum と Bignum があり ます。この 2 種類の整数は値の大きさに応じてお互いに自動的に変換されま す。ビット操作において整数は無限の長さのビットストリングとみなすことが できます。

Singleton Methods

Signature | Description
induced_from(num) -> Integer | num を Integer に変換した結果を返します。 引数が数値の場合は小数部が切り捨てられ、そうでない場合はTypeErrorをraiseします。

Instance Methods

Signature Description
self % other -> Fixnum | Bignum | Float

算術演算子。剰余を計算します。

self & other -> Fixnum | Bignum

ビット二項演算子。論理積を計算します。

self * other -> Fixnum | Bignum | Float

算術演算子。積を計算します。

self ** other

べき乗。

rational
self ** other -> Fixnum | Bignum | Float

算術演算子。冪(べき乗)を計算します。

self + other -> Fixnum | Bignum | Float

算術演算子。和を計算します。

self - other -> Fixnum | Bignum | Float

算術演算子。差を計算します。

self / other

除算。

rational
self / other -> Fixnum | Bignum | Float

算術演算子。商を計算します。

self < other -> bool

比較演算子。数値として小さいか判定します。

self << bits -> Fixnum | Bignum

シフト演算子。 bits だけビットを左にシフトします。

self <= other -> bool

比較演算子。数値として等しいまたは小さいか判定します。

self <=> other -> Fixnum

self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。

self == other -> bool

比較演算子。数値として等しいか判定します。

self > other -> bool

比較演算子。数値として大きいか判定します。

self >= other -> bool

比較演算子。数値として等しいまたは大きいか判定します。

self >> bits -> Fixnum | Bignum

シフト演算子。bits だけビットを右にシフトします。

self[nth] -> Fixnum

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

self ^ other -> Fixnum | Bignum

ビット二項演算子。排他的論理和を計算します。

chr -> String

文字コードに対応する 1 バイトの文字列を返します。

downto(min) {|n| ... } -> self
downto(min) -> Enumerable::Enumerator

self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。

even? -> bool

自身が偶数であれば真を返します。 そうでない場合は偽を返します。

integer? -> true

常に真を返します。

next -> Fixnum | Bignum
succ -> Fixnum | Bignum

self の次の整数を返します。

odd? -> bool

自身が奇数であれば真を返します。 そうでない場合は偽を返します。

ord -> Integer

自身を返します。

pred -> Integer

self から -1 した値を返します。

size -> Fixnum

整数の実装上のサイズをバイト数で返します。

times {|n| ... } -> self
times -> Enumerable::Enumerator

self 回だけ繰り返します。 self が正の整数でない場合は何もしません。

to_f -> Float

値を浮動小数点数(Float)に変換します。

to_i -> self
to_int -> self

self を返します。

to_s -> String
to_s(base) -> String

整数を 10 進文字列表現に変換します。

upto(max) {|n| ... } -> Fixnum | Bignum
upto(max) -> Enumerable::Enumerator

self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。

self | other -> Fixnum | Bignum

ビット二項演算子。論理和を計算します。

~ -> Fixnum | Bignum

ビット演算子。否定を計算します。

Inherited Methods

+@ -@ abs arg ceil clone coerce conj div divmod eql? fdiv floor im imag modulo nonzero? real remainder round step truncate zero? === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature | Description | Library
denominator | In an integer, the denominator is 1. Therefore, this method returns 1. | rational
from_prime_division(pd) -> Integer | 素因数分解の配列 pd から数を求めます。 pd は [素因数, 指数] 組の配列です。 | mathn
gcd(n) | self と n の最大公約数を Fixnum として返す。 self や n が負の場合は、正に変換してから計算する。 | rational
gcd2(int) | 例: | mathn
gcdlcm(int) | 最大公約数と最小公倍数の配列 [self.gcd, self.lcm] を返します。 | rational
lcm(n) | self と n の最小公倍数を返す。 self や n が負の場合は、正に変換してから計算する。 | rational
numerator | In an integer, the value is the numerator of its rational equivalent. Therefore, this method returns self. | rational
power!(other) | rationalで再定義される前のInteger#**の別名。 other が正または 0 の整数 (Integer) ならば、 整数 (Integer) を、それ以外なら、浮動小数 (Float) を返す。 | rational
prime_division | 各素因子について素因子と指数の組を並べた配列を返します。 | mathn
to_r | 対応する有理数 (Rational) を返す。 Rational(self, 1) と同じ。 | rational


class Interrupt

ancestors: Interrupt < SignalException < Exception < Object < Kernel

Abstract

SIGINT シグナルを捕捉していないときに SIGINT シグナルを受け取ると発生します。 SIGINT 以外のシグナルを受信したときに発生する例外については SignalException を参照してください。

使用例

=begin
#SIGINTを補足したい場合
Signal.trap('INT'){
  print "\nINTを補足した。\n"
  exit 1
}
=end

begin
  begin
    print "z"
    $stdout.flush
    sleep(1)
  end while true
rescue Interrupt
  print "!!\n"
  exit 1
end

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module Kernel

ancestors: Kernel

Abstract

全てのクラスから参照できるメソッドを定義しているモジュール。 Object クラスはこのモジュールをインクルードしています。

Object クラスのメソッドは実際にはこのモジュールで定義されていま す。これはトップレベルでのメソッドの再定義に対応するためです。

Module Functions

Signature Description
Array(arg) -> Array

引数を配列(Array)に変換した結果を返します。

Float(arg) -> Float

引数を浮動小数点数(Float)に変換した結果を返します。

Integer(arg) -> Integer

引数を整数(Fixnum,Bignum)に変換した結果を返します。

String(arg) -> String

引数を文字列(String)に変換した結果を返します。

__method__ -> Symbol

現在のメソッド名を返します。

`command` -> String

command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。

abort(message = $!.message) -> ()

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

at_exit { ... } -> Proc

与えられたブロックをインタプリタ終了時に実行します。

autoload(const_name, feature) -> nil

定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。

autoload?(const_name) -> String | nil

const_name が Kernel.#autoload 設定されているか調べます。

binding -> Binding

変数・メソッドなどの環境情報を含んだ Binding オブジェクトを 生成して返します。通常、Kernel.#eval の第二引数として使います。

block_given? -> bool
iterator? -> bool

メソッドにブロックが与えられていれば真を返します。

callcc {|cont| .... } -> object

継続を作成します。 Continuation を参照してください。

caller(level_num = 1) -> [String] | nil

level_num 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。

catch(tag) {|tag| .... } -> object

Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。

chomp(rs = $/) -> String
chomp!(rs = $/) -> String | nil

組み込み変数 $_ を rs で指定される末尾 の文字列を取り除いたものにします。

chop -> String
chop! -> String | nil

組み込み変数 $_ を最後の文字を取り除いたものにし ます(終端が"\r\n"であれば2文字取り除きます)。

eval(expr) -> object
eval(expr, bind, fname = __FILE__, lineno = 1) -> object

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Proc オブジェクトまたは Binding オブジェ クトを与えた場合、そのオブジェクトを生成したコンテキストで文字列を 評価します。

exec(command) -> ()

引数で指定されたコマンドを実行します。

exec(program, *args) -> ()

引数で指定されたコマンドを実行します。

exit(status = true) -> ()

Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。

exit!(status = false) -> ()

Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。

raise -> ()
fail -> ()
raise(message) -> ()
fail(message) -> ()
raise(error_type, message = nil, backtrace = caller(0)) -> ()
fail(error_type, message = nil, backtrace = caller(0)) -> ()

例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。

fork -> Integer | nil
fork { ... } -> Integer | nil

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

sprintf(format, *arg) -> String
format(format, *arg) -> String

format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。

getc -> Fixnum | nil

このメソッドは廃止予定です。代わりに STDIN.getc を使ってください。

gets(rs = $/) -> String | nil

ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。

global_variables -> [String]

プログラム中で定義されているグローバル変数(`$'で始まる変数)名の 配列を返します。

gsub(pattern, replace) -> String
gsub!(pattern, replace) -> String
gsub(pattern) {|matched| ... } -> String
gsub!(pattern) {|matched| ... } -> String

組み込み変数 $_ の指す文字列内で pattern に マッチする部分を全て replace に置き換えます。$_ を返します。

proc { ... } -> Proc
lambda { ... } -> Proc
proc -> Proc
lambda -> Proc

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

load(file, priv = false) -> true

Ruby プログラム file をロードして実行します。再ロード可能です。

local_variables -> [String]

現在のスコープで定義されているローカル変数名の配列を返します。

loop { ... } -> object

(中断されない限り)永遠にブロックの評価を繰り返します。

open(name, mode = 'r', perm = nil, options = {}) -> StringIO | File
open(name, mode = 'r', perm = nil, options = {}) {|ouri| ...} -> nil

name が http:// や ftp:// で始まっている文字列なら URI のリソースを 取得した上で StringIO オブジェクトとして返します。 StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

open-uri
open(file, mode = "r", perm = 0666) -> IO
open(file, mode = "r", perm = 0666) {|io| ... } -> object

file をオープンして、IO（Fileを含む）クラスのインスタンスを返します。

p(*arg) -> nil

引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。

print(*arg) -> nil

引数を順に標準出力 $stdout に出力します。引数が与えられない時には変数 $_ の値を出力します。

printf(format, *arg) -> nil
printf(port, format, *arg) -> nil

C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。

putc(ch) -> object

文字 ch を 標準出力 $stdout に出力します。

puts(*arg) -> nil

引数と改行を順番に 標準出力 $stdout に出力します。 引数がなければ改行のみを出力します。

rand(max = 0) -> Integer|Float

擬似乱数を得るメソッドです。

readline(rs = $/) -> String

ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。

readlines(rs = $/) -> [String] | nil

ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。

require(feature) -> bool

Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。

require_relative(relative_feature) -> bool

現在のファイルからの相対パスで require します。

scan(re) -> [String] | [[String]]
scan(re) {|matched| ... } -> [String] | [[String]]

$_.scan と同じです。

select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil

IO.select と同じです。

set_trace_func(proc) -> object
set_trace_func {|event, file, line, id, binding, klass| ... } -> Proc

Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 proc に nil を指定した場合でトレースをオフにします。 ブロックを指定された場合はそのブロックをトレースする Proc オブジェクトとして登録します。

sleep(sec = 0) -> Integer

sec 秒だけプログラムの実行を停止します。

split(sep = $/, limit = 0) -> [String]

$_.split と同じです。

srand -> Integer
srand(seed) -> Integer

Kernel.#rand の乱数の種を設定し、古い種を返します。

sub(pattern, replace) -> String
sub!(pattern, replace) -> String
sub(pattern) {|matched| ... } -> String
sub!(pattern) {|matched| ... } -> String

組み込み変数 $_ の指す文字列内で pattern に マッチする最初の部分を replace に置き換えます。$_ を返します。

syscall(num, *arg) -> Integer

numで指定された番号のシステムコールを実行します。 第2引数以降をシステムコールの引数として渡します。

system(command) -> bool

引数を外部コマンドとして実行して、成功した時に真を返します。

system(program, *args) -> bool

引数を外部コマンドとして実行して、成功した時に真を返します。

test(cmd, file) -> bool | Time | Integer | nil

単体のファイルでファイルテストを行います。

test(cmd, file1, file2) -> bool

２ファイル間のファイルテストを行います。

throw(tag, value = nil) -> ()

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

trace_var(varname, hook) -> nil
trace_var(varname) {|new_val| .... } -> nil
trace_var(varname, hook) -> [String|Proc]

グローバル変数 varname への代入のフックを登録します。

trap(signal, command) -> object
trap(signal) { ... } -> object

signal で指定された割り込みにたいするハンドラとして command を登録します。Signal.#trapと同じです。

untrace_var(varname, hook = nil) -> [String|Proc]

グローバル変数 varname に関連付けられたフックを解除します。

warn(message) -> nil

message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。

Constants

Signature | Description
ARGF -> Object | 引数 (なければ標準入力) で構成される仮想ファイル (詳細は ARGF を参照)。
ARGV | optparse を require することにより、ARGV は OptionParser::Arguable を extend します。 | optparse
ARGV -> Array | Ruby スクリプトに与えられた引数を表す配列です。
DATA -> File | スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。
ENV -> Object | 環境変数を表す (疑似) 連想配列 (詳細は ENV を参照)。
FALSE -> FalseClass | 非推奨です。代表的な偽の値。false と同じ。
NIL -> NilClass | 非推奨です。 nil と同じ。
PLATFORM -> String | 非推奨です。 Kernel::RUBY_PLATFORM の古い名前です。
RELEASE_DATE -> String | 非推奨です。 Kernel::RUBY_RELEASE_DATE の古い名前です。
RUBY_COPYRIGHT -> String | Ruby のコピーライトを表す文字列。
RUBY_DESCRIPTION -> String | Ruby の詳細を表す文字列。
RUBY_PATCHLEVEL -> Fixnum | Ruby のパッチレベルを表す Fixnum オブジェクトです。
RUBY_PLATFORM -> String | プラットフォームを表す文字列。
RUBY_RELEASE_DATE -> String | Ruby のリリース日を表す文字列。
RUBY_VERSION -> String | Ruby のバージョンを表す文字列。
SCRIPT_LINES__ -> Hash | ソースファイル別にまとめられたソースコードの各行。
STDERR -> IO | 標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。
STDIN -> IO | 標準入力。$stdin のデフォルト値。 $stdin も参照してください。
STDOUT -> IO | 標準出力。$stdout のデフォルト値。 $stdout も参照してください。
TOPLEVEL_BINDING -> Binding | トップレベルでの Binding オブジェクト。
TRUE -> TrueClass | 非推奨です。代表的な真の値。true と同じ。
VERSION -> String | 非推奨です。 Kernel::RUBY_VERSION の古い名前です。

Special Variables

Signature Description
$! -> Exception | nil

最後に例外が発生したときの Exception オブジェクトです。 該当する例外がないときは nil です。

$" -> [String]
$LOADED_FEATURES -> [String]

Kernel.#require でロードされたファイル名を含む配列です。

$$ -> Fixnum

現在実行中の Ruby プロセスのプロセス ID です。 Process.#pid と同じです。

$& -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。 最後のマッチが失敗していた場合には nil となります。

$' -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より後ろの文字列です。 最後のマッチが失敗していた場合には nil となります。

$* -> [String]

Rubyスクリプトに与えられた引数を表す配列です。 組み込み定数 Kernel::ARGV の別名です。

$+ -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチで マッチした中で最後の括弧に対応する部分文字列です。

$, -> String | nil

デフォルトの出力フィールド区切り文字列です。 Array#join で引数を省略した場合と、 Kernel.#print の各引数の間で出力されます。

$/ -> String | nil
$-0 -> String | nil

入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。

$; -> Regexp | String | nil
$-F -> Regexp | String | nil

String#split で引数を省略した場合の区切り文字です。

$: -> [String]
$LOAD_PATH -> [String]
$-I -> [String]

Rubyライブラリをロードするときの検索パスです。

$KCODE -> String
$-K -> String

Ruby の認識するマルチバイト文字列エンコーディングです。 変数の値は "EUC" "SJIS" "UTF8" "NONE" のいずれかの文字列です。

$-a -> bool

自動 split モードを表すフラグです。

$DEBUG -> bool
$-d -> bool

この値が真のときはインタプリタがデバッグモードになります。

$-i -> bool

in-place 置換モードで用いられます。

$-l -> bool

コマンドラインオプション -l を指定したとき true に設定されます。 この変数には代入できません。

$-p -> bool

コマンドラインオプション -p を指定したとき true に設定されます。 この変数には代入できません。

$VERBOSE -> bool | nil
$-v -> bool | nil
$-w -> bool | nil

冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。

$. -> Fixnum

いずれかの IO オブジェクトが最後に読んだ行の行番号です。 Kernel::ARGF などの IO 互換のオブジェクトも $. を更新します。

$0 -> String
$PROGRAM_NAME -> String

現在実行中の Ruby スクリプトの名前を表す文字列です。

$1 -> String | nil
$2 -> String | nil
$3 -> String | nil
$4 -> String | nil
$5 -> String | nil
$6 -> String | nil
$7 -> String | nil
$8 -> String | nil
$9 -> String | nil
$10 -> String | nil
$11 -> String | nil

最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)

$< -> IO

すべての引数または標準入力で構成される仮想ファイルです。 定数 Kernel::ARGF の別名です。

$= -> bool

非推奨([[unknown:obsolete]]): この変数は将来のバージョンで削除される予定です。

$> -> object
$stdout -> object
$defout -> object

標準出力です。

$? -> Process::Status | nil

このスレッドで最後に終了した子プロセスのステータスです。

$@ -> [String] | nil

最後に例外が発生した時のバックトレースを表す配列です。 Kernel.#raise によって設定されます。

$FILENAME -> String

仮想ファイル Kernel::ARGF で現在読み込み中のファイル名です。 ARGF.filename と同じです。

$SAFE -> Fixnum

カレントスレッドのセーフレベルを表す整数です。セーフレベルについては セキュリティモデル を参照してください。

$\ -> String | nil

出力レコード区切りを表す文字列です。 Kernel.#print が最後にこの文字列を出力します。

$_ -> String | nil

最後に Kernel.#gets または Kernel.#readline で読み込んだ文字列です。 EOF に達した場合には、 nil になります。 (覚え方: Perlと同じ)

$` -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より前の文字列です。 最後のマッチが失敗していた場合には nil となります。

$stderr -> object
$deferr -> object

標準エラー出力です。

$stdin -> object

標準入力です。

$~ -> MatchData | nil

現在のスコープで最後に成功したマッチに関する MatchDataオブジェクトです。 Regexp.last_match の別名です。

Added Methods

Signature Description Library
$ARGV -> [String]

$* の別名

English
BigDecimal(s [, n])

詳細は BigDecimal.new を参照

bigdecimal
$CFLAGS

拡張ライブラリをコンパイルするときの C コンパイラのオプションや、 ヘッダファイルのディレクトリを指定する文字列です。

mkmf
CFLAGS

C コンパイラに渡されるコマンドラインオプションです。 この値は Makefile にも反映されます。

mkmf
$CHILD_STATUS -> Process::Status | nil

$? の別名

English
CONFIG

Config::MAKEFILE_CONFIG と同じです。

mkmf
CPP

プリプロセッサを起動するときのコマンドラインのフォーマットです。 Kernel#try_cpp などが使用します。

mkmf
$DEFAULT_INPUT -> IO

$< の別名

require "English"
while line = $DEFAULT_INPUT.gets
  p line
end
# end of sample.rb
English
$DEFAULT_OUTPUT -> IO

$> の別名

require "English"
English
DelegateClass(superclass) -> object

クラス superclass のインスタンスへメソッドを委譲するクラスを定義し、 そのクラスを返します。

delegate
Digest(name) -> object

"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、 対応するダイジェストのクラスを取得します。

digest
$ERROR_INFO -> Exception

$! の別名

English
$ERROR_POSITION -> [String] | nil

$@ の別名

English
$FS -> String | nil
$FIELD_SEPARATOR -> String | nil

$; の別名

English
$IGNORECASE -> bool

非推奨([[unknown:obsolete>]]): この変数は将来のバージョンで削除される予定です。

English
$INPUT_LINE_NUMBER -> Fixnum
$NR -> Fixnum

$. の別名

English
$RS -> String | nil
$INPUT_RECORD_SEPARATOR -> String | nil

$/ の別名

English
$LAST_MATCH_INFO -> MatchData

$~ の別名

English
$LAST_PAREN_MATCH -> String | nil

$+ の別名

English
$LAST_READ_LINE -> String | nil

$_ の別名

1 e
2 f
3 g
4 h
5 i
# end of a.txt
English
$LDFLAGS

拡張ライブラリをリンクするときのリンカのオプション、 ライブラリファイルのディレクトリを指定する文字列です。

mkmf
LINK

リンカを起動するときのコマンドラインのフォーマットです。 Kernel#try_link などが使用します。

mkmf
$MATCH -> String | nil

$& の別名

English
Mainloop tkclass
$OFS -> String | nil
$OUTPUT_FIELD_SEPARATOR -> String | nil

$, の別名

English
$ORS -> String | nil
$OUTPUT_RECORD_SEPARATOR -> String | nil

$\ の別名

English
$PID -> Fixnum
$PROCESS_ID -> Fixnum

$$ の別名

require "English"
English
$POSTMATCH -> String | nil

$' の別名

English
$PREMATCH -> String | nil

$` の別名

English
$PROGRAM_NAME -> String

$0 の別名

English
Pathname(path) -> Pathname

文字列 path を元に Pathname オブジェクトを生成します。

pathname
Rational(a, b)

Rational オブジェクトを生成する。

rational
TkGrid(*args)

TkGrid.#configure と同じ

tk/autoload
TkPack(*args)

TkPack.#configure と同じ

tk/autoload
TkPlace(*args)

TkPlace.#configure と同じ

tk/autoload
URI(uri_str) -> object

与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して 返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。

uri
append_library(libs, lib)

ライブラリのリスト libs の先頭にライブラリ lib を追加し、 その結果を返します。

mkmf
$archdir

マシン固有のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/バージョン/arch" です。

mkmf
arg_config(config[, default])

configure オプション --config の値を返します。 オプションが指定されていないときは第 2 引数 default を返します。

mkmf
b64encode(bin, len = 60) -> ()

Base64.#b64encode と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。

base64
check_sizeof(type, headers = nil, &b)

Returns the size of the given +type+. You may optionally specify additional +headers+ to search in for the +type+.

mkmf
checking_for mkmf
chmod -> ()

ファイルのアクセス権を変更します。

un
cp -> ()

ファイルやディレクトリをコピーします。

un
create_header mkmf
create_makefile(target[, srcdir])

Kernel#have_library などの各種検査の結果を元に、 拡張ライブラリ TARGET.so をビルドするための Makefile を生成します。

mkmf
decode64(str) -> String

Base64.#decode64 と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。

base64
decode_b(str) -> String

Base64.#decode_b と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。

base64
$defs

拡張ライブラリをコンパイルするときのマクロ定義を指定する配列です。

mkmf
dir_config(target[, default])
dir_config(target[, idefault, ldefault])

configure オプション --with-TARGET-dir, --with-TARGET-include, --with-TARGET-lib をユーザが extconf.rb に指定できるようにします。

mkmf
egrep_cpp(pat, src[, opt])

C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pat にマッチするかどうかを判定します。

mkmf
enable_config(config[, default])

Kernel#arg_config と同じですが、 --enable-config オプション、 または--disable-config オプションの値だけを参照します。

mkmf
encode64(str) -> String

Base64.#encode64 と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。

base64
find_header(header, *paths)

Instructs mkmf to search for the given +header+ in any of the +paths+ provided, and returns whether or not it was found in those paths.

mkmf
find_library(lib, func, *pathes)

関数 func が定義されたライブラリ lib を探します。 最初はパスを指定せずに探し、 それに失敗したら pathes[0] を指定して探し、 それにも失敗したら pathes[1] を指定して探し…… というように、リンク可能なライブラリを探索します。

mkmf
getopts(single_opts, *long_opts) -> Integer | nil

このメソッドは obsolete です。 optparse ライブラリで提供されている ARGV.getopts を使ってください。Kernel::ARGV, OptionParser::Arguable#getopts を参照。

getopts
have_func(func[, header])

関数 func がシステムに存在するかどうかを検査します。

mkmf
have_header(header)

ヘッダファイル header がシステムに存在するかどうか調べます。

mkmf
have_library(lib[, func])

ライブラリ lib がシステムに存在し、 関数 func が定義されているかどうかをチェックします。 チェックが成功すれば $libs に lib を追加し true を返します。 チェックが失敗したら false を返します。

mkmf
have_macro(macro, headers = nil, opt = "", &b)

Returns whether or not +macro+ is defined either in the common header files or within any +headers+ you provide.

mkmf
have_struct_member(type, member, headers = nil, &b)

Returns whether or not the struct of type +type+ contains +member+. If it does not, or the struct type can't be found, then false is returned. You may optionally specify additional +headers+ in which to look for the struct (in addition to the common header files).

mkmf
have_type(type, headers = nil, opt = "", &b)

Returns whether or not the static type +type+ is defined. You may optionally pass additional +headers+ to check against in addition to the common header files.

mkmf
have_var(var, headers = nil, &b)

Returns whether or not the variable +var+ can be found in the common header files, or within any +headers+ that you provide. If found, a macro is passed as a preprocessor constant to the compiler using the variable name, in uppercase, prepended with 'HAVE_'.

mkmf
$hdrdir

Ruby のヘッダファイル ruby.h が存在するディレクトリです。 通常は $archdir と同じで、"/usr/local/lib/ruby/バージョン/arch" です。

mkmf
help -> ()

ヘルプメッセージを表示します。

un
install -> ()

ファイルをコピーし、その属性を設定します。

un
install_rb(mfile, dest, srcdir = '.')

ディレクトリ srcdir/lib 配下の Ruby スクリプト (*.rb ファイル) を dest にインストールするための Makefile 規則を mfile に出力します。 mfile は IO クラスのインスタンスです。

mkmf
$libdir

Ruby のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/バージョン" です。

mkmf
$libs

拡張ライブラリをリンクするときに 一緒にリンクされるライブラリを指定する文字列です。

mkmf
ln -> ()

ファイルへのリンクを作成します。

un
mkdir -> ()

ディレクトリを作成します。

un
mv -> ()

ファイルを移動します (ファイル名を変更します)。

un
parseArgs(min_argc，check_opts，single_opts，*opts)

コマンドラインオプションを解析し、 対応するグローバル変数 $OPT_xxx に値を設定します。 また、指定したオプションが条件にあっていない場合は グローバル変数 $USAGE の値を eval します。

parsearg
pkg_config(pkg) mkmf
pp(*obj) -> nil

指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼びことと同等です。

pp
rm -> ()

ファイルやディレクトリを削除します。

un
rmdir -> ()

空のディレクトリを削除します。

un
scanf(format) -> Array
scanf(format) {|*ary| ...} -> Array

STDIN.scanf と同じです。 IO#scanf、Stdin#scanfも参照してください。

scanf
$sitearchdir

サイト固有でかつマシン固有のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/site_ruby/バージョン/arch" です。

mkmf
$sitelibdir

サイト固有のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/site_ruby/バージョン" です。

mkmf
$srcdir

Ruby インタプリタを make したときのソースディレクトリです。

mkmf
timeout(sec) {|i| .... }
timeout(sec, exception_class = nil) {|i| .... }

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。 exception_class を指定した場合には Timeout::Error の代わりに その例外が発生します。 ブロックパラメータ i は sec がはいります。

timeout
$topdir

拡張ライブラリを make するためのヘッダファイル、 ライブラリ等が存在するディレクトリです。 通常は $archdir と同じで、"/usr/local/lib/ruby/バージョン/arch" です。

mkmf
touch -> ()

ファイルのアクセス時刻と修正時刻を現在の時刻に変更します。

un
try_compile mkmf
try_cpp(src[, opt])

C プログラムのソースコード src をプリプロセスします。 問題なくプリプロセスできたら true を返します。 プリプロセスに失敗したら false を返します。

mkmf
try_link(src[, opt])

C プログラムのソースコード src をコンパイル、リンクします。 問題なくリンクできたら true を返します。 コンパイルとリンクに失敗したら false を返します。

mkmf
try_run mkmf
try_static_assert mkmf
what_type? mkmf
with_config(config[, default])

Kernel#arg_config と同じですが、 --with-config オプションの値だけを参照します。

mkmf
xmp irb/xmp
y(obj)

オブジェクトをYAMLフォーマットで表示します。

yaml


class LoadError

ancestors: LoadError < ScriptError < Exception < Object < Kernel

Abstract

Kernel.#require や Kernel.#load が失敗したときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class LocalJumpError

ancestors: LocalJumpError < StandardError < Exception < Object < Kernel

Abstract

ある Proc オブジェクトの作成元スコープがすでに終了しているとき、 その Proc オブジェクト内で return, break, retry のいずれかを実行すると発生します。

Proc の例を参照してください。

Instance Methods

Signature | Description
exit_value -> object | 例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。
reason -> Symbol | 例外を発生させた原因をシンボルで返します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module Marshal

ancestors: Marshal

Abstract

Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり する機能を提供するモジュール。

大部分のクラスのインスタンスを書き出す事ができますが、書き出しの不可能なクラスも存在します(Marshal.#dump を参照)。

ここで「マーシャルデータ」と言う用語は、Marshal.#dump が出力する文字列 を指すものとします。

Module Functions

Signature Description
dump(obj, port = '', limit = -1) -> IO | String

obj を指定された出力先に再帰的に出力します。

load(port, proc = nil) -> object
restore(port, proc = nil) -> object

port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。

Constants

Signature Description
MAJOR_VERSION -> Fixnum
MINOR_VERSION -> Fixnum

Marshal.#dump が出力するデータフォーマットのバージョン番号です。


class MatchData

ancestors: MatchData < Object < Kernel

Abstract

正規表現のマッチに関する情報を扱うためのクラス。

このクラスのインスタンスは、

  • Regexp.last_match
  • Regexp#match, String#match
  • $~

などにより得られます。

Instance Methods

Signature Description
self[n] -> String | nil

n 番目の部分文字列を返します。

self[range] -> [String]

Range オブジェクト range の範囲にある要素からなる部分配列を返します。

self[start, length] -> [String]

start 番目から length 個の要素を含む部分配列を返します。

begin(n) -> Fixnum | nil

n 番目の部分文字列先頭のオフセットを返します。

captures -> [String]

$1, $2, ... を格納した配列を返します。

end(n) -> Fixnum | nil

n 番目の部分文字列終端のオフセットを返します。

length -> Fixnum
size -> Fixnum

部分文字列の数を返します(self.to_a.size と同じです)。

offset(n) -> [Fixnum]

n 番目の部分文字列のオフセットの配列 [start, end] を返 します。

post_match -> String

マッチした部分より後ろの文字列を返します($'と同じ)。

pre_match -> String

マッチした部分より前の文字列を返します($`と同じ)。

select {|s| ... } -> [String]

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

string -> String

マッチ対象になった文字列の複製を返します。

to_a -> [String]

$&, $1, $2,... を格納した配列を返します。

to_s -> String

マッチした文字列全体を返します。

values_at(*index) -> [String]

正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module Math

ancestors: Math

Abstract

浮動小数点演算をサポートするモジュールです。

Math モジュールにはさまざま数学関数がモジュール関数として定義されています。 モジュール関数は以下のように，モジュールの特異メソッドとして呼び出す使い方と、 モジュールをインクルードしてレシーバーを省略した形で呼び出す使い方の両方ができます。

例

pi = Math.atan2(1, 1)*4;
include Math
pi2 = atan2(1, 1)*4

Module Functions

Signature | Description
acos(x) -> Float | x の逆余弦関数の値をラジアンで返します。
acos(z) -> Complex | 複素関数としてのacos関数(逆cos関数)の結果を返します。 | complex
acosh(z) -> Complex | 複素関数としてのacosh関数(双曲逆cos関数)の結果を返します。 | complex
acosh(x) -> Float | x の逆双曲線余弦関数の値を返します。
asin(z) -> Complex | 複素関数としてのasin関数(逆sin関数)の結果を返します。 | complex
asin(x) -> Float | x の逆正弦関数の値をラジアンで返します。
asinh(x) -> Float | x の逆双曲線正弦関数の値を返します。
asinh(z) -> Complex | 複素関数としてのasinh関数(双曲逆sin関数)の結果を返します。 | complex
atan(x) -> Float | x の逆正接関数の値をラジアンで返します。
atan(z) -> Complex | 複素関数としてのatan関数(逆tan関数)の結果を返します。 | complex
atan2(z) -> Complex | 複素関数としてのatan2関数の結果を返します。 | complex
atan2(x, y) -> Float | x / y の逆正接関数の値を返します。
atanh(x) -> Float | x の逆双曲線正接関数の値を返します。
atanh(z) -> Complex | 複素関数としてのatanh関数(双曲逆tan関数)の結果を返します。 | complex
cos(x) -> Float | x の余弦関数の値をラジアンで返します
cos(z) -> Complex | 複素関数としてのcos関数の結果を返します。 | complex
cosh(z) -> Complex | 複素関数としてのcosh関数(双曲線cos関数)の結果を返します。 | complex
cosh(x) -> Float | x の双曲線余弦関数の値を返します
erf(x) -> Float | x の誤差関数の値を返します。
erfc(x) -> Float | x の相補誤差関数の値を返します。
exp(z) -> Complex | 指数関数(自然対数 e の z 乗)を返します。 | complex
exp(x) -> Float | x の指数関数の値を返します。
frexp(x) -> [Float, Fixnum] | 実数 x の仮数部と指数部の配列を返します。
hypot(x, y) -> Float | sqrt(x*x + y*y) を返します。
ldexp(x, exp) -> Float | 実数 x に 2 の exp 乗をかけた数を返します。
log(x) -> Float | x の自然対数を返します。
log(z) -> Complex | 複素数 z の自然対数を返します。 | complex
log10(z) -> Complex | 複素数 z の常用対数を返します。 | complex
log10(x) -> Float | x の常用対数を返します。
rsqrt(a) -> Numeric | 複素数を考慮しないので、負の数や Complex をあたえないでください。 | mathn
sin(x) -> Float | x の正弦関数の値をラジアンで返します
sin(z) -> Complex | 複素関数としてのsin関数の結果を返します。 | complex
sinh(z) -> Complex | 複素関数としてのsinh関数(双曲線sin関数)の結果を返します。 | complex
sinh(x) -> Float | x の双曲線正弦関数の値を返します
sqrt(z) -> Complex | z の平方根を返します。 | complex
sqrt(a) -> Numeric | a の正の平方根を返します。 a が Complex の時は、Complex を返します。 a が負の時は、a を正にして、その平方根を Complex の虚数部に入れて返します。 それ以外は、Math.rsqrt の結果を返します。 | mathn
sqrt(x) -> Float | x の平方根を返します。
tan(z) -> Complex | 複素関数としてのtan関数の結果を返します。 | complex
tan(x) -> Float | x の正接関数の値をラジアンで返します
tanh(z) -> Complex | 複素関数としてのtanh関数(双曲線tan関数)の結果を返します。 | complex
tanh(x) -> Float | x の双曲線正接関数の値を返します

Constants

Signature | Description
E -> Float | 自然対数の底
PI -> Float | 円周率


class Method

ancestors: Method < Object < Kernel

Abstract

Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。

メソッドの実体（名前でなく）とレシーバの組を封入します。 Proc オブジェクトと違ってコンテキストを保持しません。

Proc との差

Method は取り出しの対象であるメソッドが なければ作れませんが、Proc は準備なしに作れます。その点から Proc は使い捨てに向き、Method は何度も繰り返し生成する 場合に向くと言えます。また内包するコードの大きさという点では Proc は小規模、Method は大規模コードに向くと言えます。

既存のメソッドを Method オブジェクト化する。

class Foo
  def foo(arg)
    "foo called with arg #{arg}"
  end
end

m = Foo.new.method(:foo)

p m             # => #<Method: Foo#foo>
p m.call(1)     # => "foo called with arg 1"

名前のないメソッド(の代わり)が必要なら Proc を使うと良い。

pr = Proc.new {|arg|
  "proc called with arg #{arg}"
}

p pr            # => #<Proc:0x401b1fcc>
p pr.call(1)    # => "proc called with arg 1"

Method オブジェクトが有用なのは以下のような場合。

class Foo
  def foo() "foo" end
  def bar() "bar" end
  def baz() "baz" end
end

obj = Foo.new

# 任意のキーとメソッドの関係をハッシュに保持しておく
methods = {1 => obj.method(:foo),
           2 => obj.method(:bar),
           3 => obj.method(:baz)}

# キーを使って関連するメソッドを呼び出す
p methods[1].call       # => "foo"
p methods[2].call       # => "bar"
p methods[3].call       # => "baz"

しかし、レシーバを固定させる(Method オブジェクトはレシーバを保持する)必 要がないなら Object#sendを使う方法も有用。

class Foo
  def foo() "foo" end
  def bar() "bar" end
  def baz() "baz" end
end

# 任意のキーとメソッド(の名前)の関係をハッシュに保持しておく
# レシーバの情報がここにはないことに注意
methods = {1 => :foo,
           2 => :bar,
           3 => :baz}

# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1])      # => "foo"
p Foo.new.send(methods[2])      # => "bar"
p Foo.new.send(methods[3])      # => "baz"

@see Object#method

Instance Methods

Signature Description
self == other -> bool
self === other -> bool

自身と other が同じインスタンスの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。

self[*args] -> object
call(*args) -> object
call(*args) { ... } -> object

メソッドオブジェクトに封入されているメソッドを起動します。

arity -> Fixnum

メソッドが受け付ける引数の数を返します。

eql?(other) -> bool
equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

hash -> Integer

自身の Object#object_id を返します。 これは Object クラスで定義されたデフォルトの動作です。

inspect -> String

self を読みやすい文字列として返します。

name -> String

このメソッドの名前を返します。

owner -> Class | Module

このメソッドが定義されている class か module を返します。

receiver -> object

このメソッドオブジェクトのレシーバを返します。

to_proc -> Proc

self を call する Proc オブジェクトを生成して返します。

unbind -> UnboundMethod

self のレシーバとの関連を取り除いた UnboundMethod オブ ジェクトを生成して返します。

Inherited Methods

=~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Module

ancestors: Module < Object < Kernel

Abstract

モジュールのクラスです。

Singleton Methods

Signature Description
constants -> [String]

このメソッドを呼び出した時点で参照可能な定数名の配列を返します。

nesting -> [Class, Module]

このメソッドを呼び出した時点でのクラス/モジュールのネスト情 報を配列に入れて返します。

new -> Module
new {|mod| ... } -> Module

名前の付いていないモジュールを新しく生成して返します。

Instance Methods

Signature Description
self < other -> bool | nil

比較演算子。self が other の子孫である場合、 true を返します。 self が other の先祖か同一のクラス／モジュールである場合、false を返します。

self <= other -> bool | nil

比較演算子。self が other の子孫であるか、self と other が 同一クラスである場合、 true を返します。 self が other の先祖である場合、false を返します。

self <=> other -> Integer | nil

self と other の継承関係を比較します。

self === obj -> bool

指定された obj が自身かそのサブクラスのインスタンスであるとき真を返します。 また、obj が自身をインクルードしたクラスかそのサブクラスのインスタンスである場合にも 真を返します。上記のいずれでもない場合に false を返します。

self > other -> bool | nil

比較演算子。 self が other の先祖である場合、true を返します。 self が other の子孫か同一クラスである場合、false を返します。

self >= other -> bool | nil

比較演算子。self が other の先祖か同一クラスである場合、 true を返します。 self が other の子孫である場合、false を返します。

ancestors -> [Class, Module]

クラス、モジュールのスーパークラスとインクルードしているモジュール を優先順位順に配列に格納して返します。

autoload(const_name, feature) -> nil

定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。

autoload?(const_name) -> String | nil

autoload 定数がまだ定義されてない(ロードされていない) ときにそのパス名を返します。 また、ロード済みなら nil を返します。

module_eval(expr, fname = "(eval)", lineno = 1) -> object
module_eval {|mod| ... } -> object
class_eval(expr, fname = "(eval)", lineno = 1) -> object
class_eval {|mod| ... } -> object

モジュールのコンテキストで文字列 expr またはモジュール自身をブロック引数とするブロックを 評価してその結果を返します。

class_variable_defined?(name) -> bool

name で与えられた名前のクラス変数がモジュールに存在する場合 true を 返します。

class_variables -> [String]

クラス／モジュールに定義されているクラス変数の名前の配列を返します。

const_defined?(name) -> bool

モジュールに name で指定される名前の定数が定義されている時真 を返します。

const_get(name) -> object

モジュールに定義されている name で指定される名前の定数の値を 取り出します。

const_missing(name)

定義されていない定数を参照したときに Ruby インタプリタが このメソッドを呼びます。

const_set(name, value) -> object

モジュールに name で指定された名前の定数を value とい う値として定義し、value を返します。

constants -> [String]

そのモジュール(またはクラス)で定義されている定数名の配列を返します。 スーパークラスやインクルードしているモジュールの定数も含みます。

include?(mod) -> bool

self かその親クラス / 親モジュールがモジュール mod を インクルードしていれば true を返します。

included_modules -> [Module]

インクルードされているモジュールの配列を返します。

instance_method(name) -> UnboundMethod

self のインスタンスメソッドをオブジェクト化した UnboundMethod を返します。

instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。

method_defined?(name) -> bool

モジュールにインスタンスメソッド name が定義されているとき true を返します。

name -> String
to_s -> String

モジュールやクラスの名前を文字列で返します。

private_class_method(*name) -> self

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。

private_instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている private メソッド名 の一覧を配列で返します。

private_method_defined?(name) -> bool

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。

protected_instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている protected メソッド名 の一覧を配列で返します。

protected_method_defined?(name) -> bool

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。

public_class_method(*name) -> self

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を public に変更します。

public_instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている public メソッド名 の一覧を配列で返します。

public_method_defined?(name) -> bool

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が public であるときに true を返します。 そうでなければ false を返します。

Private Instance Methods

Signature Description
alias_method(new, original) -> self

メソッドの別名を定義します。

append_features(module_or_class) -> self

モジュール(あるいはクラス)に self の機能を追加します。

attr(name, assignable = false) -> nil

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

attr_accessor(*name) -> nil

インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。

attr_reader(*name) -> nil

インスタンス変数 name の読み取りメソッドを定義します。

attr_writer(*name) -> nil

インスタンス変数 name への書き込みメソッド (name=) を定義します。

module_exec(*args) {|*vars| ... } -> object
class_exec(*args) {|*vars| ... } -> object

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

class_variable_get(name) -> object

クラス／モジュールに定義されているクラス変数 name の値を返します。

class_variable_set(name, val) -> object

クラス／モジュールにクラス変数 name を定義して、その値として val をセットします。val を返します。

define_method(name, method) -> Proc | Method | UnboundMethod
define_method(name) { ... } -> Proc

インスタンスメソッド name を定義します。

extend_object(module) -> Module

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

extended(class_or_module) -> ()

self が他のオブジェクト に Object#extend されたときに 呼ばれます。引数には extend を行ったオブジェクトが渡されます。

include(*mod) -> self

モジュール mod をインクルードします。

included(class_or_module) -> ()

self が Module#include されたときに対象のクラスまたはモジュー ルを引数にしてインタプリタがこのメソッドを呼び出します。

method_added(name) -> ()

メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。

method_removed(name) -> ()

メソッドが Module#remove_method により削除 された時にインタプリタがこのメソッドを呼び出します。

method_undefined(name) -> ()

このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。

module_function(*name) -> self

メソッドをモジュール関数にします。

private(*name) -> self

メソッドを private に設定します。

protected(*name) -> self

メソッドを protected に設定します。

public(*name) -> self

メソッドを public に設定します。

remove_class_variable(name) -> object

引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。

remove_const(name) -> object

name で指定した定数を取り除き、その定数に設定されていた値を 返します。

remove_method(*name) -> self

インスタンスメソッド name をモジュールから削除します。

undef_method(*name) -> self

このモジュールのインスタンスメソッド name を未定義にします。

Inherited Methods

== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class NameError

ancestors: NameError < StandardError < Exception < Object < Kernel

Abstract

未定義のローカル変数や定数を使用したときに発生します。

Singleton Methods

Signature | Description
new(error_message = "", name = nil) -> NameError | 例外オブジェクトを生成して返します。

Instance Methods

Signature | Description
name -> Symbol | この例外オブジェクトを発生させる原因となった 変数や定数、メソッドの名前をシンボルで返します。
to_s -> String | 例外オブジェクトを文字列に変換して返します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class NilClass

ancestors: NilClass < Object < Kernel

Abstract

nil のクラス。 nil は NilClass クラスの唯一のインスタンスです。 nil は false オブジェクトとともに偽を表し、 その他の全てのオブジェクトは真です。

Instance Methods

Signature | Description
self & other -> false | 常に false を返します。
self ^ other -> bool | other が真なら true を, 偽なら false を返します。
nil? -> bool | 常に true を返します。
to_a -> Array | 空配列 [] を返します。
to_f -> Float | 0.0 を返します。
to_i -> Fixnum | 0 を返します。
to_s -> String | 空文字列 "" を返します。
self | other -> bool | other が真なら true を, 偽なら false を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class NoMemoryError

ancestors: NoMemoryError < Exception < Object < Kernel

Abstract

メモリの確保に失敗すると発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class NoMethodError

ancestors: NoMethodError < NameError < StandardError < Exception < Object < Kernel

Abstract

定義されていないメソッドの呼び出しが行われたときに発生します。

例:

self.bar
=> -:1: undefined method `bar' for #<Object:0x401a6c40> (NoMethodError)

メソッド呼び出しの形式でなければ NameError 例外が発生します。

例:

bar
=> -:1: undefined local variable or method `bar' for #<Object:0x401a6c40> (NameError)

Singleton Methods

Signature | Description
new(error_message = "", name = nil, args = nil) -> NoMethodError | 例外オブジェクトを生成して返します。

Instance Methods

Signature | Description
args -> [object] | メソッド呼び出しに使われた引数を配列で返します。

Inherited Methods

backtrace exception message set_backtrace .exception name to_s == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class NotImplementedError

ancestors: NotImplementedError < ScriptError < Exception < Object < Kernel

Abstract

実装されていない機能が呼び出されたときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Numeric

ancestors: Numeric < Comparable < Object < Kernel

Abstract

数値を表す抽象クラスです。Fixnum や Float などの数値クラスは Numeric のサブクラスとして 実装されています。

演算や比較を行うメソッド(+, -, *, /, <=>)は Numeric のサブクラスで定義されま す。Numeric で定義されているメソッドは、サブクラスで提供されているメソッド (+, -, *, /, %) を利用して定義されるものがほとんどです。 つまり Numeric で定義されているメソッドは、Numeric のサブクラスとして新たに数値クラスを定義した時に、 演算メソッド(+, -, *, /, %, <=>, coerce)だけを定義すれば、数値クラスのそのほかのメソッドが 適切に定義されることを意図して提供されています。

+@, -@ は単項演算子 +, - を表しメソッド定義などではこの記法を利用します。

効率のため Numeric のメソッドと同じメソッドがサブクラスで再定義されている場合があります。

Numeric#coerce メソッドを使うことによって異なる数値クラス間で演算を行うこともできます。

数値関連のメソッドを実際に定義しているクラス一覧

ほとんどの数値関連のメソッドはサブクラスで再定義されています。これは、 効率のためであったり上位抽象クラスで実装を定義することができなかったり するためです。実際にどのメソッドがどのクラスに定義されているかは以下の 表を参照してください。

=> ruby 1.8.6 (2007-06-18 patchlevel 5000) [i686-linux]
                          Numeric    Integer     Fixnum     Bignum     Float
          ---------------------------------------------------------------------
                     % |     -          -          o          o          o
                     & |     -          -          o          o          -
                     * |     -          -          o          o          o
                    ** |     -          -          o          o          o
                     + |     -          -          o          o          o
                    +@ |     o          -          -          -          -
                     - |     -          -          o          o          o
                    -@ |     o          -          o          o          o
                     / |     -          -          o          o          o
                     < |     -          -          o          -          o
                          Numeric    Integer     Fixnum     Bignum     Float
          ---------------------------------------------------------------------
                    << |     -          -          o          o          -
                    <= |     -          -          o          -          o
                   <=> |     o          -          o          o          o
                    == |     -          -          o          o          o
                     > |     -          -          o          -          o
                    >= |     -          -          o          -          o
                    >> |     -          -          o          o          -
                    [] |     -          -          o          o          -
                     ^ |     -          -          o          o          -
                   abs |     o          -          o          o          o
                          Numeric    Integer     Fixnum     Bignum     Float
          ---------------------------------------------------------------------
                  ceil |     o          o          -          -          o
                   chr |     -          o          -          -          -
                coerce |     o          -          -          o          o
                   div |     o          -          o          o          -
                divmod |     o          -          o          o          o
                downto |     -          o          -          -          -
                  eql? |     o          -          -          o          o
                  fdiv |     o          -          o          o          -
               finite? |     -          -          -          -          o
                 floor |     o          o          -          -          o
                          Numeric    Integer     Fixnum     Bignum     Float
          ---------------------------------------------------------------------
                  hash |     -          -          -          o          o
               id2name |     -          -          o          -          -
             infinite? |     -          -          -          -          o
              integer? |     o          o          -          -          -
                modulo |     o          -          o          o          o
                  nan? |     -          -          -          -          o
                  next |     -          o          -          -          -
              nonzero? |     o          -          -          -          -
                   quo |     o          -          o          o          -
             remainder |     o          -          -          o          -
                          Numeric    Integer     Fixnum     Bignum     Float
          ---------------------------------------------------------------------
                 round |     o          o          -          -          o
singleton_method_added |     o          -          -          -          -
                  size |     -          -          o          o          -
                  step |     o          -          -          -          -
                  succ |     -          o          -          -          -
                 times |     -          o          -          -          -
                  to_f |     -          -          o          o          o
                  to_i |     -          o          -          -          o
                to_int |     o          o          -          -          o
                  to_s |     -          -          o          o          o
                          Numeric    Integer     Fixnum     Bignum     Float
          ---------------------------------------------------------------------
                to_sym |     -          -          o          -          -
              truncate |     o          o          -          -          o
                  upto |     -          o          -          -          -
                 zero? |     o          -          o          -          o
                     | |     -          -          o          o          -
                     ~ |     -          -          o          o          -

丸めメソッドの動作一覧

Numeric#ceil, Numeric#floor, Numeric#round, Numeric#truncate のふるまいの違いの表です。左の実数に対して各メソッドを呼ぶと表のような数を 返します。

      |       ceil      floor      round   truncate
----------------------------------------------------
  1.9 |          2          1          2          1
  1.1 |          2          1          1          1
 -1.1 |         -1         -2         -1         -1
 -1.9 |         -1         -2         -2         -1

丸めメソッドの拡張例

切上げはceil, floor を使用して以下のように定義できます。

if n > 0 then
  n.ceil
else
  n.floor
end

また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように 定義できます。

class Numeric
  def roundup(d=0)
    x = 10**d
    if self > 0
      (self * x).ceil.quo(x)
    else
      (self * x).floor.quo(x)
    end
  end

  def rounddown(d=0)
    x = 10**d
    if self < 0
      (self * x).ceil.quo(x)
    else
      (self * x).floor.quo(x)
    end
  end

  def roundoff(d=0)
    x = 10**d
    if self < 0
      (self * x - 0.5).ceil.quo(x)
    else
      (self * x + 0.5).floor.quo(x)
    end
  end
end

Instance Methods

Signature Description
+ -> self

単項演算子の + です。 self を返します。

- -> Numeric

単項演算子の - です。 self の符号を反転させたものを返します。

self <=> other -> -1 | 0 | 1 | nil

自身が other より大きい場合に 1 を、等しい場合に 0 を、小さい場合には -1 をそれぞれ返します。 自身と other が比較できない場合には nil を返します。

abs -> Numeric

自身が 0 以上ならば self を、そうでない場合は -self を返します。

ceil -> Integer

自身と等しいかより大きな整数のうち最小のものを返します。

clone
dup

このメソッドを呼び出すことはできません。呼び出すと例外が発生します。

coerce(other) -> [Numeric]

自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。

div(other) -> Integer

self を other で割った整数の商 q を返します。

divmod(other) -> [Numeric]

self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。

eql?(other) -> bool

自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。

quo(other) -> Float
fdiv(other) -> Float

self を other で割った実数の商を返します。

floor -> Integer

自身と等しいかより小さな整数のうち最大のものを返します。

integer? -> bool

self が整数の時、真を返します。そうでない場合に false を返します。

modulo(other) -> Numeric

self を other で割った余り r を返します。

nonzero? -> self | nil

自身がゼロの時 nil を返し、非ゼロの時 self を返します。

remainder(other) -> Numeric

self を other で割った余り r を返します。

round -> Integer

自身ともっとも近い整数を返します。

step(limit, step = 1) {|n| ... } -> self
step(limit, step = 1) -> Enumerable::Enumerator

self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。

to_int -> Integer

self.to_i と同じです。

truncate -> Integer

自身と 0 との間にある整数で、自身にもっとも近い整数を返します。

zero? -> bool

自身がゼロの時、真を返します。そうでない場合は false を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature Description Library
arg -> Fixnum | Float

複素数として見た場合の偏角を[-π,π]の範囲で返します。 非負なら0、負なら Math::PI を返します。

complex
conj -> self
conjugate -> self

複素数として見た場合の共役を返します。 つまり、self が実数の場合はselfを返します。

complex
im -> Complex

実数に対し、純虚数化した Complex クラスのオブジェクトを返します。

complex
image -> Fixnum
imag -> Fixnum

複素数として見た場合の虚部を返します。 つまり、self が実数の場合は 0 を返します。

complex
real -> self

複素数として見た場合の実部を返します。 つまり、self が実数の場合はそのまま、selfを返します。

complex


class Object

ancestors: Object < Kernel

Abstract

全てのクラスのスーパークラス。 オブジェクトの一般的な振舞いを定義します。

このクラスのメソッドは上書きしたり未定義にしない限り、すべてのオブジェクトで使用することができます。

Singleton Methods

Signature | Description
new -> Object | Objectクラスのインスタンスを生成して返します。

Instance Methods

Signature Description
self == other -> bool

オブジェクトと other が等しければ真を返します。

self === other -> bool

メソッド Object#== の別名です。 case 節で使用されます。このメソッドは case 節での振る舞いを考慮して、 各クラスの性質に合わせて再定義すべきです。

self =~ other -> false

右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/ をサポートするためのメソッドです。常に false を返します。

__id__ -> Integer
object_id -> Integer
id -> Integer

各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。

send(name, *args) -> object
send(name, *args) { .... } -> object
__send__(name, *args) -> object
__send__(name, *args) { .... } -> object

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

_dump(limit) -> String

Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。

class -> Class
type -> Class

レシーバのクラスを返します。

clone -> object
dup -> object

オブジェクトの複製を作成して返します。

display(out = $stdout) -> nil

オブジェクトを out に出力します。以下のように定義されています。

to_enum(method = :each, *args) -> Enumerable::Enumerator
enum_for(method = :each, *args) -> Enumerable::Enumerator

Enumerable::Enumerator.new(self, method, *args) を返します。

eql?(other) -> bool

オブジェクトと other が等しければ真を返します。Hash で二つのキー が等しいかどうかを判定するのに使われます。

equal?(other) -> bool

other が self 自身の時、真を返します。

extend(*modules) -> self

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

freeze -> self

オブジェクトを凍結（内容の変更を禁止）します。

frozen? -> bool

オブジェクトが凍結（内容の変更を禁止）されているときに真を返します。

hash -> Fixnum

オブジェクトのハッシュ値を返します。Hash クラスでオブジェク トを格納するのに用いられています。

inspect -> String

オブジェクトを人間が読める形式に変換した文字列を返します。

instance_eval(expr, filename = "(eval)", lineno = 1) -> object
instance_eval {|obj| ... } -> object

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロック引数とするブロックを 評価してその結果を返します。

instance_of?(klass) -> bool

オブジェクトがクラス klass の直接のインスタンスである時真を返します。

instance_variable_defined?(var) -> bool

インスタンス変数 var が定義されていたら真を返します。

instance_variable_get(var) -> object|nil

オブジェクトのインスタンス変数の値を取得して返します。

instance_variable_set(var, value) -> object

オブジェクトのインスタンス変数 var に値 value を設定します。

instance_variables -> [String]

オブジェクトのインスタンス変数名を文字列の配列として返します。

is_a?(mod) -> bool
kind_of?(mod) -> bool

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

marshal_dump -> object

Marshal.#dump を制御するメソッドです。

marshal_load(obj)

Marshal.#load を制御するメソッドです。

method(name) -> Method

オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。

method_missing(name, *args) -> object

呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。

methods(include_inherited = true) -> [String]

そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。

nil? -> bool

レシーバが nil であれば真を返します。

private_methods(include_inherited = true) -> [String]

そのオブジェクトが理解できる private メソッド名の一覧を返します。

protected_methods(include_inherited = true) -> [String]

そのオブジェクトが理解できる protected メソッド名の一覧を返します。

public_methods(include_inherited = true) -> [String]

そのオブジェクトが理解できる public メソッド名の一覧を返します。

respond_to?(name, include_private = false) -> bool

オブジェクトが public メソッド name を持つとき真を返します。 include_private が真のときは private メソッドに対しても真を返します。

singleton_methods(inherited_too = true) -> [String]

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

taint -> self

オブジェクトの「汚染マーク」をセットします。

tainted? -> bool

オブジェクトの「汚染マーク」がセットされている時真を返します。

tap {|x| ... } -> self

self を引数としてブロックを評価し、self を返します。

to_a -> Array

オブジェクトを配列に変換した結果を返します。

to_ary -> Array

オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

to_hash -> Hash

オブジェクトの Hash への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

to_int -> Integer

オブジェクトの Integer への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

to_io -> IO

オブジェクトの IO への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

to_proc -> Proc

オブジェクトの Proc への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

to_regexp -> Regexp

オブジェクトの Regexp への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

to_s -> String

オブジェクトの文字列表現を返します。

to_str -> String

オブジェクトの String への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

untaint -> self

オブジェクトの「汚染マーク」を取り除きます。

Private Instance Methods

Signature | Description
initialize(*args, &block) -> object | ユーザ定義クラスのオブジェクト初期化メソッド。
initialize_copy(obj) -> object | (拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
instance_exec(*args) {|*vars| ... } -> object | 与えられたブロックをレシーバのコンテキストで実行します。
remove_instance_variable(name) -> object | オブジェクトからインスタンス変数 name を取り除き、そのインス タンス変数に設定されていた値を返します。
singleton_method_added(name) -> object | 特異メソッドが追加された時にインタプリタから呼び出されます。
singleton_method_removed(name) -> object | 特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
singleton_method_undefined(name) -> object | 特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。

Added Methods

Signature | Description | Library
dclone |  | rexml
method_missing(id, *args) |  | multi-tk
pretty_inspect -> String | self を pp で表示したときの結果を文字列として返します。 | pp
pretty_print(pp) -> () | PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。 | pp
pretty_print_cycle(pp) -> () | プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。 | pp
pretty_print_inspect -> String | Object#pretty_print を使って Object#inspect と同様に オブジェクトを人間が読める形式に変換した文字列を返します。 | pp
pretty_print_instance_variables -> [String | Symbol] | プリティプリント時に表示すべき自身のインスタンス変数名の配列をソートして返します。 返されたインスタンス変数はプリティプリント時に表示されます。 | pp
to_yaml(opts = {}) | オブジェクトをYAMLドキュメントに変換します。 | yaml
to_yaml_properties -> [String] | Object#instance_variables.sortの結果を返します。 | yaml
to_yaml_style -> nil | nilを返します。 | yaml


module ObjectSpace

ancestors: ObjectSpace

Abstract

全てのオブジェクトを操作するためのモジュールです。

Module Functions

Signature Description
_id2ref(id) -> object

オブジェクト ID(Object#__id__)からオブジェクトを得ます。

add_finalizer(proc) -> Proc

このメソッドは obsolete です。代わりに ObjectSpace.#define_finalizer を使用してください

call_finalizer(obj) -> object

このメソッドは obsolete です。

define_finalizer(obj, proc) -> Array
define_finalizer(obj) {|id| ...} -> Array

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。現在のセーフレベルと proc を配列にして返します。

each_object {|object| ...} -> Integer
each_object(klass) {|object| ...} -> Integer
each_object -> Enumerable::Enumerator
each_object(klass) -> Enumerable::Enumerator

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

finalizers -> [Proc]

このメソッドは obsolete です。

garbage_collect -> nil

どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。

remove_finalizer(proc) -> Proc

このメソッドは obsolete です。代わりに ObjectSpace.#undefine_finalizer を使用してくださ い。

undefine_finalizer(obj) -> object

obj に対するファイナライザをすべて解除します。 obj を返します。


module Precision

ancestors: Precision

Abstract

精度をもつ具象数値クラスのためのモジュールです。

Mix-in により 精度をもつ具象数値クラスのためのユーティリティを提供します。

ここでいう精度とは実数の近似の良さを意味します。 本モジュールは、抽象数値クラスや複素数、行列など、それら自身が実数に含まれないような クラスにインクルードすべきではありません。

Singleton Methods

Signature | Description
included(module_or_class) -> Precision | Precision をインクルードするクラスやモジュールに対してメソッド induced_from を自動的に定義します。
induced_from(number) -> object | number を自分のクラスに変換した結果を返します。

Instance Methods

Signature | Description
prec(klass) -> object | self を精度 klass に変換した結果を返します。
prec_f -> Float | self を Float に変換します。 prec(Float) と等価です。
prec_i -> Fixnum | self を Integer に変換します。 prec(Integer) と等価です。


class Proc

ancestors: Proc < Object < Kernel

Abstract

ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。

Proc は ローカル変数のスコープを導入しないことを除いて 名前のない関数のように使えます。ダイナミックローカル変数は Proc ローカルの変数として使えます。

Proc がローカル変数のスコープを保持していることは以下の例で 変数 var を参照できていることからわかります。

var = 1
$foo = Proc.new { var }
var = 2

def foo
  $foo.call
end

p foo       # => 2

手続きを中断して値を返す

手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call) へジャンプし値を返すには next を使います。break や return ではありません。

例:

 def foo
   f = Proc.new{
     next 1
     2
   }
 end

p foo().call       #=> 1

Proc オブジェクトをブロック付きメソッド呼び出しに使う

ブロック付きメソッドに対して Proc オブジェクトを `&' を指定して渡すと 呼び出しブロックのように動作します。 しかし、厳密には以下の違いがあります これらは、Proc オブジェクトが呼び出しブロックとして振舞う際の制限です。

# 問題なし
(1..5).each { break }

# LocalJumpError が発生します。
pr = Proc.new { break }
(1..5).each(&pr)

# each 再実行
pr = Proc.new { retry }
(1..5).each(&pr)

lambda と proc と Proc.new とイテレータの違い

Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、 生成された手続きオブジェクトはいくつかの場面で挙動が異なります。 lambda の生成する手続きオブジェクトのほうが よりメソッドに近い働きをするように設計されています。

Kernel.#proc は lambda と同じになります。 引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で生成されたそれと 同じにように振る舞います。

引数の扱い

lambda のほうがより厳密です。引数の数が違っていると（メソッドのように）エラーになります。 Proc.new は引数を多重代入に近い扱い方をします。

例:

b1 = Proc.new{|a,b,c|
  p a,b,c
}
b1.call(2, 4)
#=> 2
    4
    nil

b2 = lambda{|a,b,c|
  p a,b,c
}
b2.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)

メソッド呼び出し(super・ブロック付き・yield)/ブロックパラメータの挙動 も参照してください。

ジャンプ構文の挙動の違い

return と break は、lambda と Proc.new では挙動が異なります。 例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、 Proc.new では手続きオブジェクトを囲むメソッドを抜けます。

例:

def foo
  f = Proc.new { return :foo }
  f.call
  return
end

def bar
  f = lambda { return :bar }
  f.call
  return
end

def h
  yield
end

def hoge
  h{ return :hoge }
  nil
end

p foo()  #=> :foo
p bar()  #=> nil
p hoge() #=> :hoge

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたのと 同じメソッド内で行った場合の結果です。

               return                          next                        break
Proc.new   メソッドを抜ける            手続きオブジェクトを抜ける   例外が発生する
proc       手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
lambda     手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
イテレータ メソッドを抜ける            手続きオブジェクトを抜ける   メソッドを抜ける

orphan な手続きオブジェクトの挙動

Proc を生成したメソッドから脱出した後、手続きオブジェクトからの return, retry, break は例外 LocalJumpError を発生させます。 ただし、上でも説明した通り lambda で生成した手続きオブジェクトはメソッドと同じように振る舞う ことを意図されているため、例外 LocalJumpError は発生しません。

例:

def foo
  Proc.new { return }
end

foo.call
# => in `call': return from proc-closure (LocalJumpError)

def foo
  Proc.new { retry }
end

foo.call
# => in `call': retry from proc-closure (LocalJumpError)

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたメソッドを 脱出してから行った場合の結果です。

               return                          next                        break
Proc.new   例外が発生する              手続きオブジェクトを抜ける   例外が発生する
proc       手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
lambda     手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける

Singleton Methods

Signature Description
new -> Proc
new { ... } -> Proc

ブロックをコンテキストとともにオブジェクト化して返します。

Instance Methods

Signature Description
self[*arg] -> ()
call(*arg) -> ()

手続きオブジェクトを実行してその結果を返します。

arity -> Fixnum

Proc オブジェクトが受け付ける引数の数を返します。

binding -> Binding

Proc オブジェクトが保持するコンテキストを Binding オブジェクトで返します。

to_proc -> self

self を返します。

to_s -> String

self の文字列表現を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


module Process

ancestors: Process

Abstract

UNIX のプロセスを管理するモジュールです。

Process がプロセスを表現するクラスではなく、プロセスに対する操作 をまとめたモジュールであることに注意してください。

ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶために Process::Sys が提供されています。 ポータブルにユーザ ID・グループ ID を操作するためのモジュール Process::UID, Process::GID も提供されています。

Singleton Methods

Signature Description
abort(message = "") -> ()

関数 Kernel.#abort と同じです。

detach(pid) -> Thread

子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に nil で終了します。 指定した子プロセスが存在しなければ即座に nil で終了します。

exec(command, *args) -> ()

カレントプロセスを与えられた外部コマンドで置き換えます。

exit(status = true) -> ()

プロセスを終了します。関数 Kernel.#exit と同じです。

exit!(status = false) -> ()

関数 Kernel.#exit! と同じです。

fork -> Integer | nil
fork { ... } -> Integer | nil

子プロセスを生成します。関数 Kernel.#fork と同じです。

Module Functions

Signature Description
egid -> Integer

カレントプロセスの実効グループ ID を整数で返します。

egid=(gid)

カレントプロセスの実効グループ ID を gid に設定します。

euid -> Integer

カレントプロセスの実効ユーザ ID を整数で返します。

euid=(uid)

カレントプロセスの実効ユーザ ID を uid に設定します。

getpgid(pid = 0) -> Integer

プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。

getpgrp -> Integer

現在のプロセスのプロセスグループ ID を整数で返します。

getpriority(which, who) -> Integer

which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。

getrlimit(resource) -> [Integer]

カレントプロセスでのリソースの制限値を、整数の配列として返します。 返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の 配列 [cur_limit, max_limit] です。

gid -> Integer

カレントプロセスの実グループ ID を返します。

gid=(gid)

カレントプロセスの実グループ ID を gid に設定します。

groups -> [Integer]

補助グループ ID の配列を返します(実効グループ ID を含むかも知れません)。

groups=(gids)

補助グループを設定します。

initgroups(user, group) -> [Integer]

user が属するグループのリストを更新し、group をそのリストに加えます。

kill(signal, pid, *rest) -> Integer

pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号か名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。

maxgroups -> Integer
maxgroups=(num)

設定できる補助グループ ID の数を指定します。

pid -> Integer

カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。

ppid -> Integer

親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。

setpgid(pid, pgrp) -> 0

プロセス ID が pid であるプロセスのプロセスグループを pgrp に設定します。

setpgrp -> 0

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。 Process.#setpgid(0, 0) と同じです。

setpriority(which, who, prio) -> 0

プロセス、プロセスグループ、 ユーザのいずれかの現在のプライオリティを設定します 。プライオリティの設定に成功した場合は 0 を返します。

setrlimit(resource, cur_limit, max_limit) -> nil
setrlimit(resource, limit) -> nil

カレントプロセスでのリソースの制限値を設定します。

setsid -> Integer

新しいセッションを作成して、tty を切り離します。デーモンを簡単に作 ることができます。セッション ID を返します。

times -> Struct::Tms

自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を Struct::Tms オブジェクトで返します。 時間の単位は秒で、浮動小数点数で与えられます。

uid -> Integer

プロセスの実ユーザ ID を返します。

uid=(id)

プロセスの実ユーザ ID を id に設定します。

wait -> Integer
wait2 -> Array

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。 wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

waitall -> Array

全ての子プロセスが終了するのを待ちます。 終了した子プロセスの pid と終了ステータス (Process::Status) の配列の配列を返します。 子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

waitpid(pid, flags = 0) -> Integer | nil
waitpid2(pid, flags = 0) -> Array | nil

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 waitpid2 は pid と Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

Constants

Signature | Description
PRIO_PGRP | 対象とするプライオリティがプロセスグループプライオリティであることを表す定数です。
PRIO_PROCESS | 対象とするプライオリティがプロセスプライオリティであることを表す定数です。
PRIO_USER | 対象とするプライオリティがユーザプライオリティであることを表す定数です。
RLIMIT_AS | リソースの種類がプロセスの仮想メモリサイズであることを示す定数です。
RLIMIT_CORE | リソースの種類が core ファイルのサイズであることを示す定数です。
RLIMIT_CPU | リソースの種類がプロセスの CPU 時間であることを示す定数です。
RLIMIT_DATA | リソースの種類がプロセスのデータ領域のサイズであることを示す定数です。
RLIMIT_FSIZE | リソースの種類がプロセスが生成するファイルのサイズであることを示す定数です。
RLIMIT_MEMLOCK | リソースの種類が mlock(2) でロックできるトータルのサイズであることを示す定数です。
RLIMIT_NOFILE | リソースの種類がプロセスがオープンできるファイルの数であることを示す定数です。
RLIMIT_NPROC | リソースの種類がユーザのプロセスの最大数であることを示す定数です。
RLIMIT_RSS | リソースの種類が使用できる実メモリの最大サイズであることを示す定数です。
RLIMIT_SBSIZE | リソースの種類がソケットバッファのサイズであることを示す定数です。
RLIMIT_STACK | リソースの種類がプロセスのスタック領域のサイズであることを示す定数です。
RLIM_INFINITY | リソースに制限がないことを意味する定数です。
RLIM_SAVED_CUR | Process.#getrlimit, Process.#setrlimit で使われます。詳しくは setrlimit(2) を参照して下さい。
RLIM_SAVED_MAX | Process.#getrlimit, Process.#setrlimit で使われます。詳しくは setrlimit(2) を参照して下さい。
WNOHANG | Process.#waitpid の第二引数に指定するフラグです。 終了した子プロセスがない時でも waitpid がブロックしません。
WUNTRACED | Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。


module Process::GID

ancestors: Process::GID

Abstract

カレントプロセスのグループ ID を操作するためのモジュールです。

移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。 プラットフォームのシステムコールを直接使いたい場合には Process::Sys が提供されています。Process::Sys と Process::GID を同時に使うことは推奨されません。

実グループ ID を変更するメソッドは提供されていません。 これは Process::GID.#eid= と Process::GID.#re_exchange を以下のように 組み合わせることによって実現できます。

                           # (r,e,s) == (g1,g2,??)
Process::GID.re_exchange   # (g1,g2,??) ==> (g2,g1,??)
Process::GID.eid = id      # (g2,g1,??) ==> (g2,id,??)
Process::GID.re_exchange   # (g2,id,??) ==> (id,g2,??)

Module Functions

Signature Description
change_privilege(id) -> Integer

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

eid -> Integer

現在のプロセスの実効グループ ID を返します。

grant_privilege(id) -> Integer
eid=(id)

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

re_exchange -> Integer

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効グループ ID を返します。

re_exchangeable? -> bool

現在のプラットフォームで Process::GID.#re_exchange が実装されている なら true を返します。そうでない場合に false を返します。

rid -> Integer

現在のプロセスの実グループ ID を返します。

sid_available? -> bool

現在のプラットフォームが保存グループ ID を持つなら true を返します。 そうでない場合に false を返します。

switch -> Integer
switch {...} -> object

実効グループ ID を一時的に変更するために使います。


module Process::Status

ancestors: Process::Status

Abstract

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

使用例

wait を使用した例

fork { exit }
Process.wait
case
when $?.signaled?
  p "child #{$?.pid} was killed by signal #{$?.termsig}"
  if $?.coredump?   # システムがこのステータスをサポートしてなければ常にfalse
    p "child #{$?.pid} dumped core."
  end
when $?.stopped?
  # 実際には Process.wait を使用しているので、ここに来ることはない
  p "child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?.exited?
  p "child #{$?.pid} exited normally. status=#{$?.exitstatus}"
else
  p "unknown status %#x" % $?.to_i
end

SIGCHLD を trap する例

trap(:SIGCHLD) {|sig|

  puts "interrupted by signal #{sig} at #{caller[1]}"
  # 複数の子プロセスの終了に対して1つの SIGCHLD しか届かない
  # 場合があるのでループさせる必要があります

  while Process.waitpid(-1, Process::WNOHANG|Process::WUNTRACED)
    case
    when $?.signaled?
      puts "   child #{$?.pid} was killed by signal #{$?.termsig}"
      if $?.coredump?
        puts "   child #{$?.pid} dumped core."
      end
    when $?.stopped?
      puts "   child #{$?.pid} was stopped by signal #{$?.stopsig}"
    when $?.exited?
      puts "   child #{$?.pid} exited normally. status=#{$?.exitstatus}"
    else
      p "unknown status %#x" % $?.to_i
    end
  end
}

p pid1 = fork { sleep 1; exit }
p pid2 = fork { loop { sleep } } # signal を待つための sleep
begin
   Process.kill :STOP, pid2
   sleep                      # SIGCHLD を待つための sleep
   Process.kill :CONT, pid2
   Process.kill :TERM, pid2
   loop { sleep }             # SIGCHLD を待つための sleep
rescue Errno::ECHILD
  puts "done"
end

=> 12964
   12965
   interrupted by signal 17 at -:27:in `sleep'
      child 12965 was stopped by signal 19
   interrupted by signal 17 at -:30:in `sleep'
      child 12965 was killed by signal 15
   interrupted by signal 17 at -:30:in `sleep'
      child 12964 exited normally. status=0
   done

Instance Methods

Signature | Description
self & other -> Integer | self.to_i & other と同じです。 このメソッドは後方互換性のためにあります。
self == other -> bool | 同じステータスの場合に真を返します。
self >> num -> Integer | self.to_i >> num と同じです。
coredump? -> bool | 終了時にコアダンプしていたら真を返します。
exited? -> bool | プロセスが exit(2) などにより正常に終了した場合に、真を返します。 そうでない場合に false を返します。
exitstatus -> nil | Integer | exited? が真の場合プロセスが返した終了ステータスの整数を、そ うでない場合は nil を返します。
inspect -> String | プロセスの状態を以下のフォーマットで返します。
pid -> Integer | 終了したプロセスのプロセス ID を返します。
signaled? -> bool | プロセスがハンドラを定義していないシグナルを受けて終了した場合に真 を返します。
stopped? -> bool | プロセスが現在停止(終了ではない)している場合に真を返します。 Process.#waitpid に Process::WUNTRACED フラグを設定した 場合にだけ真になりえます。
stopsig -> nil | Integer | stopped? が真の場合そのシグナルの番号を、そうでない場合は nil を返します。
success? -> bool | プロセスの終了状態が成功である場合に true を返します。 そうでない場合に false を返します。
termsig -> nil | Integer | signaled? が真の場合プロセスを終了させたシグナル番号を、 そうでない場合は nil を返します。
to_i -> Integer | C 言語での終了ステータス表現の整数を返します。
to_int -> Integer | to_i と同じです。
to_s -> String | to_i.to_s と同じです。


module Process::Sys

ancestors: Process::Sys

Abstract

ユーザ ID・グループ ID を操作するシステムコールを直接呼ぶためのモジュールです。

ポータブルにユーザ ID・グループ ID を操作するためのモジュール Process::UID, Process::GID も提供されています。Process::Sys と Process::UID や Process::GID を同時に使うことは 非推奨です。

Module Functions

Signature | Description
getegid -> Integer | システムコールの getegid(2) を呼びます。返り値を整数で返します。
geteuid -> Integer | システムコールの geteuid(2) を呼びます。返り値を整数で返します。
getgid -> Integer | システムコールの getgid(2) を呼びます。返り値を整数で返します。
getuid -> Integer | システムコールの getuid(2) を呼びます。返り値を整数で返します。
issetugid -> bool | システムコールの issetugid() を呼びます。
setegid(id) -> nil | システムコールの setegid(2) を呼びます。
seteuid(id) -> nil | システムコールの seteuid(2) を呼びます。
setgid(id) -> nil | システムコールの setgid(2) を呼びます。
setregid(rid, eid) -> nil | システムコールの setregid(2) を呼びます。
setresgid(rid, eid, sid) -> nil | システムコールの setresgid を呼びます。
setresuid(rid, eid, sid) -> nil | システムコールの setresuid を呼びます。
setreuid(rid, eid) -> nil | システムコールの setreuid(2) を呼びます。
setrgid(id) -> nil | システムコールの setrgid を呼びます。
setruid(id) -> nil | システムコールの setruid を呼びます。
setuid(id) -> nil | システムコールの setuid(2) を呼びます。


module Process::UID

ancestors: Process::UID

Abstract

カレントプロセスのユーザ ID を操作するためのモジュールです。

移植性が考慮されており、プラットフォーム間の違いを吸収するように実装されています。 プラットフォームのシステムコールを直接使いたい場合には Process::Sys が提供されています。Process::Sys と Process::UID を同時に使うことは推奨されません。

実ユーザ ID を変更するメソッドは提供されていません。 これは Process::UID.#eid= と Process::UID.#re_exchange を以下のように 組み合わせることによって実現できます。

                           # (r,e,s) == (u1,u2,??)
Process::UID.re_exchange   # (u1,u2,??) ==> (u2,u1,??)
Process::UID.eid = id      # (u2,u1,??) ==> (u2,id,??)
Process::UID.re_exchange   # (u2,id,??) ==> (id,u2,??)

Module Functions

Signature Description
change_privilege(id) -> Integer

実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

eid -> Integer

現在の実効ユーザ ID を返します。

grant_privilege(id) -> Integer
eid=(id)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

re_exchange -> Integer

実ユーザ ID と実効ユーザ ID とを入れ換えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効ユーザ ID を返します。

re_exchangeable? -> bool

Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。

rid -> Integer

現在の実ユーザ ID を返します。

sid_available? -> bool

保存ユーザ ID を持つ環境かどうかを真偽値で返します。 保存ユーザ ID を持つなら true を返します。

switch -> Integer
switch { .... } -> object

実効ユーザ ID を一時的に変更するために使います。


class Range

ancestors: Range < Enumerable < Object < Kernel

Abstract

範囲オブジェクトのクラス。範囲オブジェクトは範囲演算子 .. または ... によって生成されます。.. 演算子によって生成された範囲 オブジェクトは終端を含み、... 演算子によって生成された範囲オブジェ クトは終端を含みません。

例

for i in 1..5
   # 処理
end

これは 1 から 5 までの範囲オブジェクトを生成して、それぞれの値に対して 繰り返すと言う意味です。

範囲演算子のオペランドは互いに <=> で比較できる必要があります。 さらに Range#each を実行するためには succ メソッ ドを実行できるものでなければいけません。

破壊的な変更

Ruby の Range クラスは immutable です。 つまり、オブジェクト自体を破壊的に変更することはできません。 ですので、一度生成された Range のオブジェクトの指し示す範囲は 決して変更することはできません。

range = 1..10
range.first     #=> 1
range.first = 1 #=> NoMethodError

Singleton Methods

Signature | Description
new(first, last, exclude_end = false) -> Range | first から last までの範囲オブジェクトを生成して返しま す。

Instance Methods

Signature Description
self == other -> bool

指定された other が Range クラスのインスタンスであり、 始点と終点が == メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。

self === obj -> bool
include?(obj) -> bool
member?(obj) -> bool

obj が範囲内に含まれている時に真を返します。

begin -> object
first -> object

最初の要素を返します。

each {|item| ... } -> self
each -> Enumerable::Enumerator

範囲内の要素に対して繰り返します。

end -> object
last -> object

終端を返します。範囲オブジェクトが終端を含むかどうかは関係ありませ ん。

eql?(other) -> bool

指定された other が Range クラスのインスタンスであり、 始点と終点が eql? メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

exclude_end? -> bool

範囲オブジェクトが終端を含まないとき真を返します。

hash -> Integer

始点と終点のハッシュ値と Range#exclude_end? の値からハッシュ値を計算して整数として返します。

step(s = 1) {|item| ... } -> self
step(s = 1) -> Enumerable::Enumerator

範囲内の要素を s おきに繰り返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index grep group_by inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class RangeError

ancestors: RangeError < StandardError < Exception < Object < Kernel

Abstract

範囲に関する例外クラスです。 値が定義域から外れているときに発生します。

例:

1000000.chr

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Regexp

ancestors: Regexp < Object < Kernel

Abstract

正規表現のクラス。正規表現のリテラルはスラッシュで囲んだ形式 で記述します。

/^this is regexp/

Regexp.new(string) を使って正規表現オブジェクトを動的に生成する こともできます。

str = "this is regexp"
rp1 = Regexp.new("^this is regexp")
p rp1 =~ str           #=> 0
p Regexp.last_match[0] #=> "this is regexp"

正規表現 や リテラル/正規表現リテラル も参照してください。

Singleton Methods

Signature Description
compile(string, option = nil, code = nil) -> Regexp
new(string, option = nil, code = nil) -> Regexp

文字列 string をコンパイルして正規表現オブジェクトを生成して 返します。

escape(string, kcode = $KCODE) -> String
quote(string, kcode = $KCODE) -> String

string の中で正規表現において特別な意味を持つ文字の直前にエ スケープ文字(バックスラッシュ)を挿入した文字列を返します。省略可能 な引数 kcode で文字列の文字コードを指定します (省略時は $KCODE の値が使用されます)。

last_match -> MatchData

カレントスコープで最後に行った正規表現マッチの MatchData オ ブジェクトを返します。このメソッドの呼び出しは $~ の参照と同じです。

last_match(nth) -> String | nil

整数 nth が 0 の場合、マッチした文字列を返します ($&)。それ以外では、nth 番目の括弧にマッチ した部分文字列を返します($1,$2,...)。 対応する括弧がない場合やマッチしなかった場合には nil を返し ます。

union(*pattern) -> Regexp

引数として与えた pattern を選択 | で連結し、Regexp として返します。 結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。

Instance Methods

Signature Description
self == other -> bool
eql?(other) -> bool

otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。

self =~ string -> Fixnum | nil
self === string -> bool

文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。

casefold? -> bool

正規表現が大文字小文字の判定をしないようにコンパイルされている時、 真を返します。

hash -> Fixnum

正規表現のオプションやテキストに基づいたハッシュ値を返します。

inspect -> String

Regexp#to_s より自然な文字列を返します。

kcode -> String | nil

その正規表現が対応するようにコンパイルされている文字コードを $KCODE と同じ形式で返します。もし、正規表現が固定 コードに対してコンパイルされていない(マッチ時点での $KCODE の値を用いる)場合には、nil を返します。

match(str) -> MatchData | nil

指定された文字列 str に対して 自身が表す正規表現によるマッチングを行います。マッチした場合には結果を MatchData オブジェクトで返します。 マッチしなかった場合 nil を返します。

options -> Integer

正規表現の生成時に指定されたオプションを返します。戻り値は、 Regexp::EXTENDED, Regexp::IGNORECASE, Regexp::MULTILINE の論理和です。

source -> String

その正規表現のもととなった文字列表現を生成して返します。

to_s -> String

正規表現の文字列表現を生成して返します。返される文字列は他の正規表 現に埋め込んでもその意味が保持されるようになっています。

~ -> Fixnum | nil

変数 $_ の値との間でのマッチをとります。ちょうど以下と同じ意 味です。

Constants

Signature | Description
EXTENDED -> Fixnum | バックスラッシュでエスケープされていない空白と # から改行までを無 視します。正規表現リテラルの //x オプションと同じ です。(空白を入れる場合は\でエスケープして\ (<-空白)と 指定します)
IGNORECASE -> Fixnum | 文字の大小の違いを無視します。 正規表現リテラルの //i オプションと同じです。
MULTILINE -> Fixnum | 複数行モード。正規表現 "." が改行にマッチするようになります。 正規表現リテラルの //m オプションと同じです。

Inherited Methods

__id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
self & other -> RedAnd | RegAnd.new(self, other) を返します。 | eregex
self | other -> RegOr | RegOr.new(self, other) を返します。 | eregex


class RegexpError

ancestors: RegexpError < StandardError < Exception < Object < Kernel

Abstract

正規表現のコンパイルに失敗したときに発生します。

例:

$ ruby -e 'Regexp.compile("*")'
-e:1:in `initialize': target of repeat operator is not specified: /*/ (RegexpError)
        from -e:1:in `Regexp#compile'
        from -e:1

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RuntimeError

ancestors: RuntimeError < StandardError < Exception < Object < Kernel

Abstract

特定の例外クラスには該当しないエラーが起こったときに発生します。 また Kernel.#raise で例外クラスを指定しなかった場合も RuntimeError が発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class ScriptError

ancestors: ScriptError < Exception < Object < Kernel

Abstract

スクリプトのエラーを表す例外クラスです。

以下の例外クラスのスーパークラスです。

  • LoadError
  • NotImplementedError
  • SyntaxError

これらの例外が発生したときは Ruby スクリプト自体に バグがある可能性が高いと考えられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SecurityError

ancestors: SecurityError < StandardError < Exception < Object < Kernel

Abstract

セキュリティ上の問題が起きたときに発生します。

セキュリティモデルも参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module Signal

ancestors: Signal

Abstract

UNIX のシグナル関連の操作を行うモジュールです。

Module Functions

Signature Description
list -> Hash

シグナル名とシグナル番号を対応づけた Hash オブジェクトを返し ます。

trap(signal, command) -> String | Proc | nil
trap(signal) { ... } -> String | Proc | nil

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。


class SignalException

ancestors: SignalException < Exception < Object < Kernel

Abstract

捕捉していないシグナルを受け取ったときに発生します。

実際に発生したシグナル名は、 SignalException#message から 「"SIG" + シグナル名」という形で得られます。

デフォルトの状態では、 以下のシグナルが SignalException を発生させます。

  • SIGALRM
  • SIGHUP
  • SIGINT (※ただし以下参照)
  • SIGQUIT
  • SIGUSR1
  • SIGUSR2

なお、SIGINT シグナルを受けた場合は SignalException の下位クラスである Interrupt が発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class StandardError

ancestors: StandardError < Exception < Object < Kernel

Abstract

通常のプログラムで発生する可能性の高い 例外クラスを束ねるためのクラスです。

StandardError とそのサブクラスは、 rescue 節でクラスを省略したときにも捕捉できます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class StopIteration

ancestors: StopIteration < IndexError < StandardError < Exception < Object < Kernel

Abstract

イテレーションを止めるときに発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class String

ancestors: String < Enumerable < Comparable < Object < Kernel

Abstract

文字列のクラスです。 NUL 文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。

文字列は通常、文字列リテラルを使って生成します。 以下に文字列リテラルの例をいくつか示します。

'str\\ing'   # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n"   # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q」文字列 (エスケープシーケンスがすべて有効、デリミタが変えられる)

# ヒアドキュメント
<<End
この行はヒアドキュメント
End

# ダブルクオートヒアドキュメント (クオートなしの場合と同じ)
<<"End"
この行はヒアドキュメント
End

# シングルクオートヒアドキュメント (一切のエスケープシーケンスが無効)
<<'End'
この行はヒアドキュメント
End

# 終端記号がインデントされたヒアドキュメント
# シングルクオート、ダブルクオートとの併用も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
   End

破壊的な変更

Ruby の String クラスは mutable です。 つまり、オブジェクト自体を破壊的に変更できます。

「破壊的な変更」とは、あるオブジェクトの内容自体を変化させることです。 例えば文字列のすべての文字を破壊的に大文字へ変更する String#upcase! メソッドの使用例を以下に示します。

a = "string"
b = a
a.upcase!
p a   # => "STRING"
p b   # => "STRING"

この例では、a に対してメソッドを呼んだにも関わらず b も変更されています。 これは、変数 a と b が一つの文字列オブジェクトを指していて、 upcase! メソッドでそのオブジェクト自体が変更されたからです。

upcase! の非破壊版である String#upcase を使った例を以下に示します。 こちらでは a の変更が b に波及しません。

a = "string"
b = a
a = a.upcase
p a   # => "STRING"
p b   # => "string"

一般には、破壊的「ではない」メソッドを 中心に使っていくほうがバグが出にくくなります。

String クラスのメソッドには破壊的なメソッドも非破壊的なメソッドもあります。 破壊的なメソッドの例としては concat, sub!, upcase! などが挙げられます。 非破壊的なメソッドの例としては index, sub, upcase などが挙げられます。

同じ動作で破壊的なメソッドと非破壊的なメソッドの両方が定義されているときは、 破壊的なバージョンには名前の最後に「!」が付いています。 例えば upcase メソッドは非破壊的で、upcase! メソッドは破壊的です。

ただし、この命名ルールを 「破壊的なメソッドにはすべて『!』が付いている」と解釈しないでください。 例えば concat には「!」が付いていませんが、破壊的です。あくまでも、 「『!』が付いているメソッドと付いていないメソッドの両方があるときは、 『!』が付いているほうが破壊的」というだけです。 「『!』が付いているならば破壊的」は常に成立しますが、逆は必ずしも成立しません。

マルチバイト文字列の処理

String クラスは自身を文字の列ではなくバイト列として扱います。 例えば str[1] は str の内容やエンコーディングに関わらず 2 バイトめの数値を返します。

マルチバイト文字列を正しく処理するためには、 原則としてインデックスよりも正規表現を使うメソッド、 例えば String#sub や String#gsub を中心に用いるべきです。 Ruby の正規表現エンジンはマルチバイト文字列に対応しているので、 正規表現を使って位置を指定すればマルチバイト文字を正しく処理できます。 なお、正規表現を正しく動作させるためには、組み込み変数 $KCODE を文字列のエンコーディングにあわせて設定する必要があります。

また、jcode ライブラリを利用すると String クラスのすべてのメソッドが文字単位で動作するようになります。 しかし jcode ライブラリはプロセス全体に影響するため、 中程度以上の規模プログラムで用いることは推奨できません。

Singleton Methods

Signature | Description
new(string = "") -> String | string と同じ内容の新しい文字列を作成して返します。 引数を省略した場合は空文字列を生成して返します。

Instance Methods

Signature Description
self % args -> String

printf と同じ規則に従って args をフォーマットします。

self * times -> String

文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します。

self + other -> String

文字列と other を連結した新しい文字列を返します。

self << other -> self
concat(other) -> self

self に文字列 other を破壊的に連結します。 other が 0 から 255 のまでの整数である場合は その 1 バイトを末尾に追加します (つまり、整数が示す ASCII コードの文字が追加されます)。

self <=> other -> Integer

self と other を ASCII コード順で比較して、 self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返します。 このメソッドは Comparable モジュールのメソッドを実装するために使われます。

self == other -> bool

文字列の内容が文字列 other の内容と等しいときに true を返します。 等しくなければ false を返します。

self =~ other -> Integer

正規表現 other とのマッチを行います。 マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。

self[nth] -> Integer
slice(nth) -> Integer

nth 番目のバイトを整数 (文字コード) で返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目のバイトを返します。

self[nth, len] -> String | nil
slice(nth, len) -> String | nil

nth バイト番目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。

self[substr] -> String
slice(substr) -> String

self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。

self[regexp, nth = 0] -> String
slice(regexp, nth = 0) -> String

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。

self[range] -> String
slice(range) -> String

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

self[nth] = val

nth 番目のバイトを文字列 val で置き換えます。 val が 0 から 255 の範囲の整数である場合、 文字コードとみなしてその文字で置き換えます。

self[nth, len] = val

nth バイト番目から長さ len バイトの部分文字列を文字列 val で置き換えます。 nth が負の場合は文字列の末尾から数えます。

self[substr] = val

文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。

self[regexp, nth = 0] = val

正規表現 regexp の nth 番目の括弧にマッチする 最初の部分文字列を文字列 val で置き換えます。 nth を省略したときや nth が 0 の場合は、 マッチした部分文字列全体を val で置き換えます。

self[range] = val

rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。

each_byte {|byte| ... } -> ()
bytes {|byte| ... } -> ()
each_byte -> Enumerable::Enumerator
bytes -> Enumerable::Enumerator

文字列の各バイトに対して繰り返します。

bytesize -> Integer

文字列のバイト長を整数で返します。

capitalize -> String

文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。

capitalize! -> self | nil

文字列先頭の文字を大文字に、残りを小文字に変更します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。

casecmp(other) -> Integer

String#<=> と同様に文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。

center(width, padding = ' ') -> String

長さ width の文字列に self を中央寄せした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。

each_char {|cstr| block } -> self
chars {|cstr| block } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

文字列の各文字に対して繰り返します。

chomp(rs = $/) -> String

self の末尾から rs で指定する改行コードを取り除いた文字列を生成し返します。 ただし、rs が "\n" ($/ のデフォルト値) のときは、 実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。

chomp!(rs = $/) -> self | nil

self の末尾から rs で指定する改行コードを取り除きます。 ただし rs が "\n" ($/ のデフォルト値) のときは、 システムによらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。

chop -> String
chop! -> String|nil

String#chop の日本語対応版です。

jcode
chop -> String

文字列の最後の文字を取り除いた新しい文字列を生成して返します。 ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。

chop! -> self | nil

文字列の最後の文字を取り除きます。 ただし、終端が "\r\n" であればその 2 文字を取り除きます。

count(*chars) -> Integer

chars で指定された文字が文字列 self にいくつあるか数えます。

crypt(salt) -> String

self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。

delete(str) -> String
delete!(str) -> String|nil

String#delete の日本語対応版です。 指定したパターンの文字列を取り除きます。

jcode
delete(*strs) -> String

self から strs に含まれる文字を取り除いた文字列を生成し返します。

delete!(*strs) -> self | nil

self から strs に含まれる文字を破壊的に取り除きます。

downcase -> String

'A' から 'Z' までの アルファベット大文字をすべて小文字に置き換えた新しい文字列を生成し返します。 アルファベット大文字以外の文字はすべてそのまま保存されます。

downcase! -> self | nil

文字列中の 'A' から 'Z' までの アルファベット大文字をすべて破壊的に小文字に置き換えます。 アルファベット大文字以外の文字はすべてそのまま保存されます。

dump -> String

文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。

each(rs = $/) {|line| ... } -> ()
each_line(rs = $/) {|line| ... } -> ()
lines(rs = $/) {|line| ... } -> ()
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator
lines(rs = $/) -> Enumerable::Enumerator

文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。

each_char -> [String]
each_char {|char| ... } -> String

文字列中の各文字に対してブロックを呼びだします。 ブロックを指定せずに呼び出された時には、各文字の配列を返します。

jcode
empty? -> bool

文字列が空 (つまり長さ 0) の時、真を返します。

end_with?(str) -> bool

self の末尾が str であるとき true を返します。

eql?(other) -> bool

self == other と同じです。 Hash クラス内での比較に使われます。

gsub(pattern, replace) -> String

文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成し返します。

gsub(pattern) {|matched| .... } -> String
gsub(pattern) -> Enumerable::Enumerator

文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えます。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

gsub!(pattern, replace) -> self | nil

文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。

gsub!(pattern) {|matched| .... } -> self | nil
gsub!(pattern) -> Enumerable::Enumerator

文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。

hash -> Integer

self のハッシュ値を返します。 eql? で等しい文字列は、常にハッシュ値も等しくなります。

hex -> Integer

文字列に 16 進数で数値が表現されていると解釈して整数に変換します。 接頭辞 "0x", "0X" とアンダースコアは無視されます。 文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。

include?(substr) -> bool

文字列中に部分文字列 substr が含まれていれば真を返します。

index(pattern, pos = 0) -> Integer

インデックス pos から右に向かって pattern を検索し、 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。

insert(pos, other) -> ()

nth 番目の文字の直前に文字列 other を挿入します。 self[pos, 0] = other と同じ操作です。

inspect -> String

文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます

intern -> Symbol
to_sym -> Symbol

文字列に対応するシンボル値 Symbol を返します。

length -> Integer
size -> Integer

文字列のバイト数を返します。

ljust(width, padding = ' ') -> String

長さ width の文字列に self を左詰めした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。

lstrip -> String

文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v" です。

lstrip! -> self | nil

文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。

match(regexp) -> MatchData

regexp.match(self) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。

succ -> String
next -> String

self の「次の」文字列を返します。

succ! -> String
next! -> String

self を「次の」文字列に置き換えます。 「次の」文字列は、アルファベットなら 16 進数、 数字なら 10 進数とみなして計算されます。 「次の」文字列の計算では "99" → "100" のように繰り上げも行われます。 このとき負符号などは考慮されません。

oct -> Integer

文字列を 8 進文字列であると解釈して、整数に変換します。

partition(sep) -> [String, String, String]

セパレータ sep が最初に登場する部分で self を 3 つに分割し、 [最初のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。

replace(other) -> String

self の内容を other の内容で置き換えます。

reverse -> String

文字列をバイト単位で左右逆転した文字列を返します。

reverse! -> ()

文字列をバイト単位で左右逆転します。

rindex(pattern, pos = self.size) -> Integer | nil

文字列のインデックス pos から左に向かって pattern を探索します。 見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。

rjust(width, padding = ' ') -> String

長さ width の文字列に self を右詰めした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。

rpartition(sep) -> [String, String, String]

セパレータ sep が最後に登場する部分で self を 3 つに分割し、 [最後のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。

rstrip -> String

文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v\0" です。

rstrip! -> self | nil

文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。

scan(re) -> [String] | [[String]]

self に対して正規表現 re を繰り返しマッチし、 マッチした部分文字列の配列を返します。

scan(re) {|s| ... } -> ()

正規表現 re がマッチした部分文字列をブロックに渡して実行します。 正規表現 re が括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。

slice!(nth) -> Integer
slice!(pos, len) -> String
slice!(substr) -> String
slice!(regexp, nth = 0) -> String
slice!(first..last) -> String
slice!(first...last) -> String
slice!(regexp, nth = 0) -> String

指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。

split(sep = $;, limit = 0) -> [String] | [[String]]

第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。

squeeze([str]) -> String
squeeze!([str]) -> String|nil

String#squeeze の日本語対応版です。 指定した文字を1文字にまとめます。

jcode
squeeze(*chars) -> String

chars に含まれる文字が複数並んでいたら 1 文字にまとめます。

squeeze!(*chars) -> ()

chars に含まれる文字が複数並んでいたら 1 文字にまとめます。

start_with?(str) -> bool

self の先頭が str であるとき true を返します。

strip -> String

文字列先頭と末尾の空白文字を全て取り除いた文字列を生成して返します。 空白文字の定義は " \t\r\n\f\v" です。 また、文字列右側からは "\0" も取り除きますが、 左側の "\0" は取り除きません。

strip! -> self | nil

先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。 また、文字列右側からは "\0" も取り除きますが、 左側の "\0" は取り除きません。

sub(pattern, replace) -> String

文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成し返します。

sub(pattern) {|matched| .... } -> String

文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

sub!(pattern, replace) -> self | nil

文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。

sub!(pattern) {|matched| .... } -> self | nil

文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果へ破壊的に置き換えます。

succ -> String
succ! -> String|nil

String#succ の日本語対応版です。 「次の」文字列を返します。

jcode
sum(bits = 16) -> Integer

文字列の bits ビットのチェックサムを計算します。 以下と同じです。

swapcase -> String

'A' から 'Z' までのアルファベット大文字を小文字に、 'a' から 'z' までのアルファベット小文字を大文字に変更した文字列を返します。

swapcase! -> self | nil

'A' から 'Z' までのアルファベット大文字を小文字に、 'a' から 'z' までのアルファベット小文字を大文字に、破壊的に変更します。

to_f -> Float

文字列を 10 進数表現と解釈して、浮動小数点数 Float に変換します。

to_i(base = 10) -> Integer

文字列を 10 進数表現された整数であると解釈して、整数に変換します。

to_s -> String
to_str -> String

self を返します。

tr(pattern, replace) -> String

pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に置き換えます。

tr(search, replace) -> String
tr!(search, replace) -> String|nil

String#tr の日本語対応版です。 search に含まれる文字を検索し、 replace の対応する文字に 置き換えます。

jcode
tr!(pattern, replace) -> self | nil

pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に破壊的に置き換えます。

tr_s(pattern, replace) -> String

文字列の中に pattern 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。

tr_s(search, replace) -> String
tr_s!(search, replace) -> String|nil

String#tr_s の日本語対応版です。 文字列の中に search 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。

jcode
tr_s!(pattern, replace) -> self | nil

文字列の中に pattern 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。

unpack(template) -> Array

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

upcase -> String

'a' から 'z' までのアルファベット小文字を大文字に変換した文字列を作成し返します。

upcase! -> self | nil

ASCII 文字列の範囲内で 'a' から 'z' までの アルファベット小文字を全て大文字にします。 このメソッドは self を破壊的に変更して返しますが、 置換が起こらなかった場合は nil を返します。

upto(max, exclusive = false) {|s| ... } -> self

self から始めて max まで 「次の文字列」を順番にブロックに与えて繰り返します。 「次」の定義については String#succ を参照してください。

Inherited Methods

< <= > >= between? all? any? collect cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
is_binary_data? yaml
is_complex_yaml? yaml
iseuc -> bool

self が EUC-JP なバイト列として正当であるかどうかを判定します。

kconv
issjis -> bool

self が Shift_JIS なバイト列として正当であるかどうかを判定します。

kconv
isutf8 -> bool

self が UTF-8 なバイト列として正当であるかどうかを判定します。

kconv
jcount(str) -> Integer

String#count の日本語対応版です。

jcode
jlength -> Integer
jsize -> Integer

String#length の日本語対応版です。

jcode
kconv(out_code, in_code = Kconv::AUTO) -> String

self のエンコーディングを out_code に変換した文字列を 返します。 out_code in_code は Kconv の定数で指定します。

kconv
mbchar? -> Integer|nil

self に多バイト文字が最初に現れる位置を返します。 多バイト文字が含まれていなければ nil を返します。

jcode
scanf(format) -> Array
scanf(format) {|*ary| ...} -> Array

ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。

scanf
shellescape -> String

文字列を Bourne シェルのコマンドライン中で安全に使えるようにエスケープします。

shellwords
shellsplit -> [String]

Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。

shellwords
to_d

BigDecimalに変換する

bigdecimal/util
to_ptr -> DL::PtrData

自身を複製し、複製した文字列を指す DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。

dl
toeuc -> String

self のエンコーディングを EUC-JP に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

kconv
tojis -> String

self のエンコーディングを iso-2022-jp に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

kconv
tosjis -> String

self のエンコーディングを shift_jis に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

kconv
toutf16 -> String

self のエンコーディングを UTF-16BE に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

kconv
toutf8 -> String

self のエンコーディングを UTF-8 に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

kconv


class Struct

ancestors: Struct < Enumerable < Object < Kernel

Abstract

構造体クラス。Struct.new はこのクラスのサブクラスを新たに生成します。

個々の構造体はサブクラスから Struct.new を使って生成します。個々 の構造体サブクラスでは構造体のメンバに対するアクセスメソッドが定義され ています。

Singleton Methods

Signature Description
new(*args) -> Class

Struct クラスに新しいサブクラスを作って、それを返します。

new(*args) -> Struct
self[*args] -> Struct

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

members -> [String]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(String)の配列を返します。

Instance Methods

Signature Description
self == other -> bool

自身と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

self[member] -> object

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を返します。

self[member] = value

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体の member で指定されたメンバの値を value にして value を返します。

each {|value| ... } -> self
each -> Enumerable::Enumerator

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体の各メンバに対して繰り返します。

each_pair {|member, value| ... } -> self
each_pair -> Enumerable::Enumerator

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

eql?(other) -> bool

自身と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

hash -> Integer

自身が保持するメンバのハッシュ値を元にして算出した整数を返します。 自身が保持するメンバの値が変化すればこのメソッドが返す値も変化します。

length -> Fixnum
size -> Fixnum

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの数を返します。

members -> [String]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(文字列)の配列を返します。

values -> [object]
to_a -> [object]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を配列にいれて返します。

values_at(*members) -> [object]

(このメソッドは Struct の下位クラスにのみ定義されています) 引数で指定されたメンバの値の配列を返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
yaml_tag_class_name -> String | Struct::をのぞいたクラス名を返す | yaml
yaml_tag_read_class(name) -> String | 引数nameにStruct::を加えた文字列を返す | yaml


class Struct::Tms

ancestors: Struct::Tms < Struct < Enumerable < Object < Kernel

Abstract

Process.#times の返り値を表現する構造体です。

この機能がサポートされているプラットフォーム上でプロセスの 処理時間に関する情報を保持します。プラットフォームによっては 使えない値があります。

@see Process.#times

Instance Methods

Signature | Description
cstime -> Float | 終了した子プロセスのシステム CPU 時間の合計(秒)を返します。
cstime=(n) | 終了した子プロセスのシステム CPU 時間の合計(秒)をセットします。
cutime -> Float | 終了した子プロセスのユーザー CPU 時間の合計(秒)を返します。
cutime=(n) | 終了した子プロセスのユーザー CPU 時間の合計(秒)をセットします。
stime -> Float | システム CPU 時間を返します。
stime=(n) | システム CPU 時間をセットします。
utime -> Float | ユーザー CPU 時間を返します。
utime=(n) | ユーザー CPU 時間をセットします。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Symbol

ancestors: Symbol < Object < Kernel

Abstract

シンボルを表すクラス。シンボルは任意の文字列と一対一に対応するオブジェクトです。

文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。 同じ内容のシンボルはかならず同一のオブジェクトです。

シンボルオブジェクトは以下のようなリテラルで得られます。

:symbol
:'symbol'
%s!symbol! # %記法

生成されたシンボルの一覧はSymbol.all_symbolsで得られます。 一番目のリテラルでシンボルを表す場合、`:' の後に は識別子、メソッド名(`!',`?',`=' などの接尾辞を含む)、変数名 (`$'などの接頭辞を含む)、再定義できる演算子のいずれかに適合する ものしか書くことはできません(そうでなければ文法エラーになります)。 そうでない文字列をシンボルにしたい場合は残りの表記かString#internを使用してください。

シンボルの実装と用途

実装

Rubyの内部実装では、メソッド名や変数名、定数名、クラス名など の`名前'を整数で管理しています。これは名前を直接文字列として処理するよりも 速度面で有利だからです。そしてその整数をRubyのコード上で表現したものがシンボルです。

シンボルは、ソース上では文字列のように見え、内部では整数として扱われる、両者を仲立ちするような存在です。

名前を管理するという役割上、シンボルと文字列は一対一に対応します。 また、文字列と違い、immutable(変更不可)であり、同値ならば必ず同一です。

p "abc" == "abc" #=> true
p "abc".equal?("abc") #=> false
p :abc == :abc #=> true
p :abc.equal?(:abc) #=> true ←同値ならば同一

用途

実用面では、シンボルは文字の意味を明確にします。`名前'を指し示す時など、 文字列そのものが必要なわけではない時に用います。

  • ハッシュのキー { :key => "value" }
  • アクセサの引数で渡すインスタンス変数名 attr_reader :name
  • メソッド引数で渡すメソッド名 __send__ :to_s
  • C の enum 的な使用 (値そのものは無視してよい場合)

シンボルを使うメリットは

  • 新しく文字列を生成しない分やや効率がよく、比較も高速。
  • 文字の意味がはっきりするのでコードが読みやすくなる
  • immutableなので内容を書き換えられる心配がない

大抵のメソッドはシンボルの代わりに文字列を引数として渡すこともできるようになっています。

Singleton Methods

Signature | Description
all_symbols -> [Symbol] | 定義済みの全てのシンボルオブジェクトの配列を返します。

Instance Methods

Signature Description
id2name -> String
to_s -> String

シンボルに対応する文字列を返します。

inspect -> String

Returns the representation of sym as a symbol literal.

to_i -> Integer
to_int -> Integer

シンボルに対応する整数を返します。

to_proc -> Proc

self に対応する Proc オブジェクトを返します。

to_sym -> self

self を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature Description Library


class SyntaxError

ancestors: SyntaxError < ScriptError < Exception < Object < Kernel

Abstract

ソースコードに文法エラーがあったときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SystemCallError

ancestors: SystemCallError < StandardError < Exception < Object < Kernel

Abstract

Ruby の実装に用いられているシステムコールまたは一部の C 言語関数が失敗した時に発生する例外です。 システムコールの失敗した原因を表すエラーコードを保持します。

多くの場合、実際には SystemCallError そのものではなく サブクラスである Errno::EXXX (XXX はエラーコードの値によって異なる。 システム定義のエラー名と同じ名前) が発生します。 詳しくは Errno::EXXX を参照してください。

Singleton Methods

Signature Description
new(error_message) -> SystemCallError

SystemCallError オブジェクトを生成して返します。

new(error_message, errno) -> SystemCallError
new(errno) -> SystemCallError

整数 errno に対応する Errno::EXXX オブジェクトを生成して返します。

Instance Methods

Signature | Description
errno -> Fixnum | nil | レシーバに対応するシステム依存のエラーコードを返します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SystemExit

ancestors: SystemExit < Exception < Object < Kernel

Abstract

Ruby インタプリタを終了させるときに発生します。

Singleton Methods

Signature | Description
new(status = 0, error_message = "") -> SystemExit | SystemExit オブジェクトを生成して返します。

Instance Methods

Signature | Description
status -> Fixnum | 例外オブジェクトに保存された終了ステータスを返します。
success? -> bool | 終了ステータスが正常終了を示す値ならば true を返します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SystemStackError

ancestors: SystemStackError < StandardError < Exception < Object < Kernel

Abstract

システムスタックがあふれたときに発生します。

典型的には、メソッド呼び出しを無限再帰させてしまった場合に発生します。

ほとんどの場合は実際にスタックがあふれる前に SystemStackError 例外が発生しますが、 運が悪いと例外を発生させる間もなくスタックがあふれてしまうこともあります。 その場合は [BUG] というエラーメッセージが出たり、 "segmentation fault (core dumped)" などと表示されて プロセスが異常終了します。

この問題の解決策は検討されていますが、 近いうちには修正できない可能性があります。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Thread

ancestors: Thread < Object < Kernel

Abstract

スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。

実装

Ruby のスレッドはユーザレベルで実装されており、 全プラットホーム上において同じ挙動を示します。 Ruby インタプリタは時分割でスレッドを実行しますので、 スレッドを使うことで実行速度が速くなることはありません。

スケジューリング

Ruby のスレッドスケジューリングは優先順位付のラウンドロビンです。一定 時間毎、あるいは実行中のスレッドが権利を放棄したタイミングでスケジュー リングが行われ、その時点で実行可能なスレッドのうち最も優先順位が高いも のにコンテキストが移ります。

メインスレッド

プログラムの開始と同時に生成されるスレッドを「メインスレッド」と呼 びます。なんらかの理由でメインスレッドが終了する時には、他の全てのスレッ ドもプログラム全体も終了します。ユーザからの割込みによって発生した例外 はメインスレッドに送られます。

スレッドの終了

スレッドの起動時に指定したブロックの実行が終了するとスレッドの実行も終 了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。

例外発生時のスレッドの振る舞い

あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ た場合、通常はそのスレッドだけがなにも警告なしに終了されます。ただ しその例外で終了するスレッドを Thread#join で待っている他の スレッドがある場合、その待っているスレッドに対して、同じ例外が再度 発生します。

begin
  t = Thread.new do
    Thread.pass    # メインスレッドが確実にjoinするように
    raise "unhandled exception"
  end
  t.join
rescue
  p $!  # => "unhandled exception"
end

また、以下の 3 つの方法により、いずれかのスレッドが例外によって終 了した時に、インタプリタ全体を中断させるように指定することができま す。

  • 組み込み変数 $DEBUG を真に設定する(デバッグモード) ruby インタプリタを -d オプション 付きで起動した場合も同様。 (オプションの詳細に関してはRubyの起動 を参照)
  • Thread.abort_on_exception でフラグを設定する。
  • Thread#abort_on_exception で指定 したスレッドのフラグを設定する。

上記3つのいずれかが設定されていた場合、インタプリタ全体が中断されます。

スレッド終了時の ensure 節の実行

スレッド終了時には ensure 節が実行されます。 これはスレッドが正常に終了する時はもちろんですが、他のスレッドから Thread#kill などによって終了させられた時も同様に実行されます。Thread#kill! が呼ばれた時は ensure 節が実行されません。

ただしメインスレッドに対して Thread#kill! が呼ばれても ensure 節が実行されます。 メインスレッドの終了時の詳細に関しては 終了処理 を参照して下さい。

スレッドの状態

個々のスレッドは、以下の実行状態を持ちます。これらの状態は Object#inspect や Thread#status によって見ることができます。

p Thread.new {sleep 1} # => #<Thread:0xa039de0 sleep>
run (実行or実行可能状態)

生成されたばかりのスレッドや Thread#run や Thread#wakeup で起こされたスレッドはこの状態です。 Thread#join でスレッドの終了を待っているスレッドもスレッドの 終了によりこの状態になります。 この状態のスレッドは「生きて」います。

sleep (停止状態)

Thread.stop や Thread#join により停止されたスレッ ドはこの状態になります。 この状態のスレッドは「生きて」います。

aborting (終了処理中)

Thread#kill 等で終了されるスレッドは一時的にこの状態になりま す。この状態から停止状態(sleep)になることもあります。 この状態のスレッドはまだ「生きて」います。

dead (終了状態)

Thread#kill 等で終了したスレッドはこの状態になります。この状 態のスレッドはどこからも参照されていなければ GC によりメモリ上から なくなります。 この状態のスレッドは「死んで」います。

デッドロックの検出

ruby はデッドロックを検出します。デッドロックを検出した場合、例外 fatal が 発生してプロセスは終了します。デッドロックの条件は以下のとおりです。

  • スレッドが複数ある
  • すべてのスレッドが sleep (停止状態) である
  • すべてのスレッドが IO 待ちでない

メインスレッドだけが Thread.stop で停止している状態は sleep forever と同じと見なし、 fatal は発生しません。

Singleton Methods

Signature Description
abort_on_exception -> bool
abort_on_exception=(newstate)

真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。

critical -> bool
critical=(newstate)

真である間、スレッドの切替えを行いません。

current -> Thread

現在実行中のスレッド(カレントスレッド)を返します。

exit -> ()

カレントスレッドに対して Thread#exit を呼びます。

start(*arg) {|*arg| ... } -> Thread
fork(*arg) {|*arg| ... } -> Thread

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

kill(thread) -> Thread

指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。

list -> [Thread]

全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。

main -> Thread

メインスレッドを返します。

new(*arg) {|*arg| ... } -> Thread

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

pass -> nil

他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。

stop -> nil

他のスレッドから Thread#run メソッドで再起動されるまで、カレ ントスレッドの実行を停止します。

Instance Methods

Signature Description
self[name] -> object | nil

name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。

self[name] = val

val を name に対応するスレッド固有のデータとして格納します。

abort_on_exception -> bool
abort_on_exception=(newstate)

真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。

alive? -> bool

スレッドが「生きている」時、true を返します。

exit -> self
kill -> self
terminate -> self

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

exit! -> self
kill! -> self
terminate! -> self

ensure 節を実行せずにスレッドの実行を終了させます。

group -> ThreadGroup | nil

スレッドが属している ThreadGroup オブジェクトを返します。 死んでいるスレッドは nil を返します。

join -> self
join(limit) -> self | nil

スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。

key?(name) -> bool

name に対応したスレッドに固有のデータが定義されていれば true を返します。

keys -> [Symbol]

スレッド固有データに関連づけられたキーの配列を返します。キーは Symbol で返されます。

priority -> Integer
priority=(val)

スレッドの優先度を返します。この値の大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

raise(error_type, message, traceback) -> ()

自身が表すスレッドで強制的に例外を発生させます。

run -> self

停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。

safe_level -> Integer

self のセーフレベルを返します。カレントスレッドの safe_level は、$SAFE と同じです。

status -> String | false | nil

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

stop? -> bool

スレッドが終了(dead)あるいは停止(stop)している時、true を返します。

value -> object

スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。

wakeup -> self

停止状態(stop)のスレッドを実行可能状態(run)にします。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
exclusive { ... } | ブロック実行中、Threadの切り替えを行いません。 | thread


class ThreadError

ancestors: ThreadError < StandardError < Exception < Object < Kernel

Abstract

Thread 関連のエラーが起きたときに発生します。

  • カレントスレッドを Thread#join しようとしたとき
  • Thread#join でデッドロックしそうになったとき
  • 終了したスレッドを Thread#wakeup あるいは Thread#run しようとしたとき
  • スレッドが一つしかないのに Thread.stop しようとしたとき
  • Kernel.#throw がスレッド内で Kernel.#catch されないとき
  • スレッドから return しようとしたとき
  • イテレータを与えずにスレッドを生成しようとしたとき
  • カレントスレッドの属するスレッドグループが freeze されているときに、スレッドを生成しようとしたとき
  • freeze あるいは enclose されているスレッドグループにスレッドを加えようとした時

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class ThreadGroup

ancestors: ThreadGroup < Object < Kernel

Abstract

スレッドグループを表すクラスです。グループに属する Thread をまとめて 操作することができます。

Thread は必ずいずれかひとつのスレッドグループに属します。 生成されたばかりの Thread は、生成した Thread のグループを引き継ぎます。 メインスレッドはデフォルトでは ThreadGroup::Default に属します。

例:

生成したすべてのThreadが終了するのを待つ

5.times {
   Thread.new { sleep 1; puts "#{Thread.current} finished" }
}

(ThreadGroup::Default.list - [Thread.current]).each {|th| th.join}

puts "all threads finished"

対象の Thread が Thread を起こす可能性がある場合 (Thread.exclusive参照)

Thread.exclusive do
  (ThreadGroup::Default.list - [Thread.current]).each {|th| th.join}
end

ThreadGroup#freeze と ThreadGroup#enclose の違い

どちらのメソッドでも ThreadGroup#add によるスレッドの追加ができなくなる点は同じですが、 Thread.new に関して違いがあります。現在のスレッドが属する ThreadGroup が freeze されている場合、Thread.new{ ... } はエラーになります。ThreadGroup が enclose されているだけでは、 Thread.new{ ... } はエラーになりません。生成されたスレッドは従来通り 親スレッドの ThreadGroup に属します。

Singleton Methods

Signature | Description
new -> ThreadGroup | 新たな ThreadGroup を生成して返します。

Instance Methods

Signature | Description
add(thread) -> self | スレッド thread が属するグループを自身に変更します。
enclose -> self | 自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
enclosed? -> bool | 自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
list -> [Thread] | self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。

Constants

Signature | Description
Default -> ThreadGroup | デフォルトで定義されている ThreadGroup です。メインスレッド は最初このグループに属します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Time

ancestors: Time < Comparable < Object < Kernel

Abstract

時刻を表すクラスです。

Time.now は現在の時刻を返します。 File.mtime などが返すファイルのタイムスタンプは Time オブジェクトです。

Time オブジェクトは時刻を起算時からの経過秒数で保持しています。 起算時は協定世界時(UTC、もしくはその旧称から GMT とも表記されます) の 1970年1月1日午前0時です。なお、うるう秒を勘定するかどうかはシステムに よります。

現在の Unix システムでの最大時刻は、 協定世界時の2038年1月19日午前3時14分7秒 です。

Time オブジェクトが格納可能な時刻の範囲は環境によって異なります。 範囲の下限としては、上記起算時からの経過秒数として 0 および正数しか 受け付けない環境もあれば、負数も受け付ける環境もあります。 また、範囲の上限としては、上記の Unix システムでの最大時刻を越えて 64bit 値の範囲の経過秒数を受け付ける環境もあります。 さらに、他に特定の時点を越える時刻の値を受け付けない環境もあります。 Time オブジェクトを生成する各メソッドで、それぞれの環境での範囲外の 時刻を格納しようとした場合は例外が発生します。

また、Time オブジェクトは協定世界時と地方時のどちらのタイムゾー ンを使用するかのフラグを内部に保持しています。 ただし、この情報は Marshal.#dump では保存されず、Marshal.#load で読み込んだ Time オブジェクトのタイムゾーンは常に地方時になりま す。

p Marshal.load(Marshal.dump(Time.now.gmtime)).zone
# => "JST"

time ライブラリによって、Time.parse, Time.rfc2822, Time.httpdate, Time.iso8601 等が拡張されます。

localtime(3) も参照しください。

C 言語との違いに注意

C 言語の tm 構造体とは異なり、month は 1 月に対 して 1 を返し、year は 1998 年に対して 1998 を返します。また、 yday は 1 から数えます。

Singleton Methods

Signature Description
at(time) -> Time

time で指定した時刻の Time オブジェクトを返します。

at(time, usec) -> Time

time + (usec/1000000) の時刻を表す Time オブジェクトを返します。 浮動小数点の精度では不十分な場合に使用します。

gm(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time
utc(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time

引数で指定した協定世界時の Time オブジェクトを返します。

gm(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time
utc(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time

引数で指定した協定世界時の Time オブジェクトを返します。

local(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time
mktime(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time

引数で指定した地方時の Time オブジェクトを返します。

local(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time
mktime(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time

引数で指定した地方時の Time オブジェクトを返します。

new -> Time
now -> Time

現在時刻の Time オブジェクトを生成して返します。 タイムゾーンは地方時となります。

times -> Struct::Tms

このメソッドは obsolete です。

Instance Methods

Signature Description
self + other -> Time

self より other 秒だけ後の時刻を返します

self - time -> Float

自身と time との時刻の差を Float で返します。単位は秒です。

self - sec -> Time

自身より sec 秒だけ前の時刻を返します。

self <=> other -> -1 | 0 | 1 | nil

self と other の時刻を比較します。self の方が大きい場合は 1 を、等しい場合は 0 を、 小さい場合は -1 を返します。比較できない場合は、nil を返します。

asctime -> String
ctime -> String

時刻を asctime(3) の形式の文字列に変換します。た だし、末尾の改行文字 "\n" は含まれません。

mday -> Integer
day -> Integer

日を整数で返します。

isdst -> bool
dst? -> bool

自身が表す日時が夏時間なら true を返します。そうでないなら false を返します。

eql?(other) -> bool

other が Time かそのサブクラスのインスタンスであり自身と時刻が等しい場合に true を返します。そうでない場合に false を返します。

getgm -> Time
getutc -> Time

タイムゾーンを協定世界時に設定した Time オブジェクトを新しく 生成して返します。

getlocal -> Time

タイムゾーンを地方時に設定した Time オブジェクトを新しく生成 して返します。

gmt? -> bool
utc? -> bool

self のタイムゾーンが協定世界時に設定されていれば真を返します。

utc_offset -> Integer
gmt_offset -> Integer
gmtoff -> Integer

協定世界時との時差を秒を単位とする数値として返します。

gmtime -> self
utc -> self

タイムゾーンを協定世界時に設定します。

hour -> Integer

時を整数で返します。

localtime -> self

タイムゾーンを地方時に設定します。

min -> Integer

分を整数で返します。

mon -> Integer
month -> Integer

月を整数で返します。

sec -> Integer

秒を整数で返します。

strftime(format) -> String

時刻を format 文字列に従って文字列に変換した結果を返します。

succ -> Time

self に 1 秒足した Time オブジェクトを生成して返します。

to_a -> Array

時刻を10要素の配列で返します。その要素は順序も含めて以下の通りです。

to_f -> Float

起算時からの経過秒数を浮動小数点数で返します。1 秒に満たない経過も 表現されます。

to_i -> Integer
tv_sec -> Integer

起算時からの経過秒数を整数で返します。

to_s -> String

時刻を date(1) のような形式の文字列に変換します。

usec -> Integer
tv_usec -> Integer

時刻のマイクロ秒の部分を整数で返します。

wday -> Integer

曜日を0(日曜日)から6(土曜日)の整数で返します。

yday -> Integer

1月1日を1とした通算日(1から366まで)を整数で返します。

year -> Integer

年を整数で返します。

zone -> String

タイムゾーンを表す文字列を返します。

Inherited Methods

< <= == > >= between? === =~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
httpdate(date) -> Time

[RFC2616]で定義されているHTTP-dateとしてdateをパースして Timeオブジェクトに変換します。

time
httpdate -> String

[RFC2616]で定義されているHTTP-dateのrfc1123-dateとして 表現される以下の形式の文字列を返します:

time
xmlschema(date) -> Time
iso8601(date) -> Time

XML Schema で定義されている dateTime として date をパースして Time オブジェクトに変換します。

time
xmlschema(fractional_seconds = 0) -> String
iso8601(fractional_seconds = 0) -> String

XML Schema で定義されている dateTime として 表現される以下の形式の文字列を返します:

time
parse(date, now = Time.now) -> Time
parse(date, now = Time.now) {|year| year } -> Time

date を ParseDate.#parsedate によって パースして Timeオブジェクトに変換します。

time
rfc2822 -> String
rfc822 -> String

[RFC2822] で定義されている date-time として表現される 以下の形式の文字列を返します:

time
rfc2822(date) -> Time
rfc822(date) -> Time

[RFC2822]で定義されているdate-timeとしてdateをパースして Timeオブジェクトに変換します。 この形式は[RFC822]で定義されて[RFC1123]で更新された形式と 同じです。

time


class TrueClass

ancestors: TrueClass < Object < Kernel

Abstract

true のクラス。 true は TrueClass クラスの唯一のインスタンスです。 true は真を表す代表のオブジェクトです。

Instance Methods

Signature | Description
self & other -> bool | other が真なら true を, 偽なら false を返します。
self ^ other -> bool | other が真なら false を, 偽なら true を返します。
to_s -> String | 常に文字列 "true" を返します。
self | other -> bool | 常に true を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class TypeError

ancestors: TypeError < StandardError < Exception < Object < Kernel

Abstract

不正な型の値を評価したときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class UnboundMethod

ancestors: UnboundMethod < Object < Kernel

Abstract

レシーバを持たないメソッドを表すクラスです。 呼び出すためにはレシーバにバインドする必要があります。

Module#instance_method や Method#unbind により生成し、後で UnboundMethod#bind によりレシーバを 割り当てた Method オブジェクトを作ることができます。

例: Method クラスの冒頭にある例を UnboundMethod で書くと以下のようになります。

class Foo
  def foo() "foo" end
  def bar() "bar" end
  def baz() "baz" end
end

# 任意のキーとメソッドの関係をハッシュに保持しておく
# レシーバの情報がここにはないことに注意
methods = {1 => Foo.instance_method(:foo),
           2 => Foo.instance_method(:bar),
           3 => Foo.instance_method(:baz)}

# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスでなければならない)
p methods[1].bind(Foo.new).call      # => "foo"
p methods[2].bind(Foo.new).call      # => "bar"
p methods[3].bind(Foo.new).call      # => "baz"

例: 以下はメソッドの再定義を UnboundMethod を使って行う方法です。普通は alias や super を使います。

class Foo
  def foo
    p :foo
    end
  @@orig_foo = instance_method :foo
  def foo
    p :bar
    @@orig_foo.bind(self).call
  end
end

Foo.new.foo

=> :bar
   :foo

Instance Methods

Signature Description
self == other -> bool
self === other -> bool

自身と other が同じクラスあるいは同じモジュールの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。

arity -> Integer

メソッドが受け付ける引数の数を返します。

bind(obj) -> Method

self を obj にバインドした Method オブジェクトを生成し返します。

eql?(other) -> bool
equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

hash -> Integer

自身の Object#object_id を返します。これは Object クラスで定義されたデフォルトの動作です。

name -> String

このメソッドの名前を返します。

owner -> Class | Module

このメソッドが定義されている class か module を返します。

Inherited Methods

=~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class ZeroDivisionError

ancestors: ZeroDivisionError < StandardError < Exception < Object < Kernel

Abstract

整数に対して整数の 0 で除算を行ったときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class fatal

ancestors: fatal < Exception < Object < Kernel

Abstract

インタプリタ内部で致命的なエラーが起こったときに発生します。

致命的なエラーとは、例えば以下のような状態です。

  • スレッドのデッドロックが発生した
  • -x オプションや -C オプションで指定されたディレクトリに移動できなかった
  • -i オプション付きで起動されたが、 パーミッションなどの関係でファイルを変更できなかった

通常の手段では、 Ruby プログラムからは fatal クラスにはアクセスできません。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library abbrev

Abstract

与えられた文字列の短縮形を生成するモジュールです。

Classes/Modules

module Abbrev

与えられた文字列の短縮形を生成するモジュールです。

Added/Redefined Methods

Array#abbrev


module Abbrev

ancestors: Abbrev

Abstract

与えられた文字列の短縮形を生成するモジュールです。

例

require 'abbrev'
require 'pp'

pp Abbrev.abbrev(%w[ruby rules]).sort
    # => [["rub", "ruby"],
    #    ["ruby", "ruby"],
    #    ["rul", "rules"],
    #    ["rule", "rules"],
    #    ["rules", "rules"]]

Module Functions

Signature | Description
abbrev(words, pattern = nil) -> Hash | 文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。


library base64

Abstract

MIME Base64のデコード/エンコードを行うメソッドが定義されています。 このライブラリは Base64 エンコーディングの サンプルスクリプトとして書かれました。

Base64 は、3 オクテット (8bits * 3 = 24bits) のバイナリコードを ASCII 文字のうちの 65 文字 ([A-Za-z0-9+/] の 64 文字と '=') だけを使用して 4 オクテット (6bits * 4 = 24bits) の印字可能文字列に変換するエンコーディング法です。 [RFC2045]で定義されています。

使用方法

require 'base64'
# EUC-JP の場合
p Base64.b64encode("日本語")      # => "xvzL3Ljs\n"
p Base64.decode64('xvzL3Ljs')    # => "日本語"
p Base64.decode_b("日本語")       # => "日本語"
p Base64.decode_b("=?ISO-2022-JP?B?QyAbJEI4QDhsJV0lJCVzJT80MEE0QClHRhsoQg==?=")
                           # => "C 言語ポインタ完全制覇"

Classes/Modules

module Base64 | Base64 エンコード / デコードするためのメソッドを定義したモジュールです。
module Base64::Deprecated | 後方互換性を維持する目的で、 Base64 モジュールに定義された各種の モジュール関数を Kernel モジュールに include するために存在するモ ジュールです。通常、ユーザが利用することはありません。また、将来的に廃 止される可能性があります。

Added/Redefined Methods

Kernel.#b64encode Kernel.#decode64 Kernel.#decode_b Kernel.#encode64


module Base64

ancestors: Base64

Abstract

Base64 エンコード / デコードするためのメソッドを定義したモジュールです。

Module Functions

Signature | Description
b64encode(bin, len = 60) -> () | 文字列 bin をエンコードし、len の長さで折り返し、表示します。
decode64(str) -> String | Base64エンコードされた文字列strをデコードします。
decode_b(str) -> String | [RFC2047] で定義されている encoded-word を含む 文字列 str をデコードします。
encode64(str) -> String | 文字列strをBase64エンコードします。


module Base64::Deprecated

ancestors: Base64::Deprecated

Abstract

後方互換性を維持する目的で、 Base64 モジュールに定義された各種の モジュール関数を Kernel モジュールに include するために存在するモ ジュールです。通常、ユーザが利用することはありません。また、将来的に廃 止される可能性があります。

Module Functions

Signature | Description
b64encode(bin, len = 60) -> () | Base64.#b64encode と同じです。
decode64(str) -> String | Base64.#decode64 と同じです。
decode_b(str) -> String | Base64.#decode_b と同じです。
encode64(str) -> String | Base64.#encode64 と同じです。


library benchmark

Abstract

ベンチマークを取るためのクラスです。

Classes/Modules

module Benchmark |
class Benchmark::Job | Benchmark.#bmbm メソッドの内部で使用されるクラスです。
class Benchmark::Report | Benchmark.#benchmark メソッドや Benchmark.#bm メソッドの 内部で使用されているクラスです。
class Benchmark::Tms |


module Benchmark

ancestors: Benchmark

Abstract

Module Functions

Signature | Description
benchmark(caption = "", label_width = nil, fmtstr = nil, *labels) {|rep| ...} -> bool | Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
bm(label_width = 0, *labels) {|rep| ... } -> bool | Benchmark.#benchmark メソッドの引数を簡略化したものです。
bmbm(width = 0) {|job| ... } -> [Benchmark::Tms] | Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。
measure(label = "") { ... } -> Benchmark::Tms | 与えられたブロックを実行して、経過した時間を Process.times で計り、 Benchmark::Tms オブジェクトを生成して返します。
realtime { ... } -> Float | 与えられたブロックを評価して実行時間を計測して返します。

Constants

Signature | Description
BENCHMARK_VERSION | benchmark ライブラリのバージョンを表します。
CAPTION | Benchmark.#bm の内部などで使用されます。
FMTSTR | Benchmark.#benchmark の第三引数のデフォルト値。


class Benchmark::Job

ancestors: Benchmark::Job < Object < Kernel

Abstract

Benchmark.#bmbm メソッドの内部で使用されるクラスです。

このライブラリのユーザーが直接意識する必要はありません。

Singleton Methods

Signature | Description
new(width) -> Benchmark::Job |

Instance Methods

Signature Description
item(label = "") { ... } -> self
report(label = "") { ... } -> self

与えられたラベルとブロックをジョブリストに登録します。

list -> [String, Proc]

登録されているジョブのリストを返します。

width -> Integer

Benchmark::Job#list のサイズ。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Benchmark::Report

ancestors: Benchmark::Report < Object < Kernel

Abstract

Benchmark.#benchmark メソッドや Benchmark.#bm メソッドの 内部で使用されているクラスです。

このライブラリのユーザーが直接意識する必要はありません。

Singleton Methods

Signature | Description
new(width = 0, fmtstr = nil) -> Benchmark::Report | Benchmark::Report のインスタンスを初期化して返します。

Instance Methods

Signature Description
item(label = "", *fmt) { ... } -> Benchmark::Tms
report(label = "", *fmt) { ... } -> Benchmark::Tms

ラベルと与えられたブロックの実行時間を標準出力に出力します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Benchmark::Tms

ancestors: Benchmark::Tms < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(utime = 0.0, stime = 0.0, cutime = 0.0, cstime = 0.0, real = 0.0, label = nil) -> Benchmark::Tms | 新しい Benchmark::Tms オブジェクトを生成して返します。

Instance Methods

Signature | Description
self * x -> Benchmark::Tms | self と x の乗算を計算します。
self + x -> Benchmark::Tms | self と x の加算を計算します。
self - x -> Benchmark::Tms | self と x の減算を計算します。
self / x -> Benchmark::Tms | self と x の除算を計算します。
add { ... } -> Benchmark::Tms | 与えられたブロックの実行時間を self に加算して 新しい Benchmark::Tms オブジェクトを生成して返します。
add! { ... } -> self | 与えられたブロックの実行時間を self に加算して返します。
cstime -> Float | 子プロセスの System CPU time
cutime -> Float | 子プロセスの User CPU time
format(fmtstr = nil, *args) | self を指定されたフォーマットで整形して返します。
label -> String | ラベル。
memberwise(op, x) -> Benchmark::Tms | Benchmark::Tms の四則演算を実行するために内部で使用されるメソッドです。
real -> Float | 実経過時間。
stime -> Float | System CPU time
to_a -> Array | 6 要素の配列を返します。
to_s -> String | 引数を省略して Benchmark::Tms#format を呼び出すのと同じです。
total -> Float | 合計時間。(utime + stime + cutime + cstime)
utime -> Float | User CPU time

Constants

Signature | Description
CAPTION | Benchmark.#bm の内部などで使用されます。
FMTSTR | Benchmark.#benchmark の第三引数のデフォルト値。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library bigdecimal

Abstract

bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。

他の数値オブジェクトとの変換 (coerce)

BigDecimal オブジェクトが算術演算子の左にあるときは、 BigDecimal オブジェクトが右にあるオブジェクトを (必要なら) BigDecimal に変換してから計算します。 従って、BigDecimal オブジェクト以外でも数値を意味するものなら 右に置けば演算は可能です。

ただし、文字列は (通常) 数値に自動変換することはできません。 文字列を数値に自動変換したい場合は bigfloat.c の 「/* #define ENABLE_NUMERIC_STRING */」のコメントを外してから、 再コンパイル、再インストールする必要があります。 文字列で数値を与える場合は注意が必要です。 数値に変換できない文字があると、 単に変換を止めるだけでエラーにはなりません。 "10XX"なら 10、"XXXX"は 0 と扱われます。

a = BigDecimal.E(20)
c = a * "0.123456789123456789123456789"   # 文字を BigDecimal に変換してから計算

無限大や非数を表す文字として、 "Infinity"、"+Infinity"、"-Infinity"、"NaN" も使用できます (大文字・小文字を区別します)。 ただし、mode メソッドで false を指定した場合は例外が発生します。 また、BigDecimalクラスは coerce(Ruby本参照)をサポートしています。 従って、BigDecimal オブジェクトが右にある場合も大抵は大丈夫です。 ただ、現在の Ruby インタプリタの仕様上、文字列が左にあると計算できません。

a = BigDecimal.E(20)
c = "0.123456789123456789123456789" * a   # エラー

必要性があるとは思いませんが、 どうしてもと言う人は String オブジェクトを継承した新たなクラスを作成してから、 そのクラスで coerce をサポートしてください。

無限、非数、ゼロの扱い

「無限」とは表現できないくらい大きな数です。 特別に扱うために +Infinity (正の無限大) や -Infinity (負の無限大) と表記されます。 無限は 1.0/0.0 のようにゼロで割るような計算をしたときに生成されます。

「非数」は 0.0/0.0 や Infinity-Infinity 等の結果が定義できない計算をしたときに生成されます。非数は NaN(Not a Number)と表記されます。 NaN を含む計算は全て NaN になります。また NaN は自分も含めて、どんな数とも一致しません。

ゼロは +0.0 と -0.0 が存在します。ただし、+0.0 == -0.0 は true です。

Infinity、NaN、 +0.0 と -0.0 等を含んだ計算結果は組み合わせにより複雑です。興味のある人は、以下のプログラムを実行して結果を確認してください(結果について、疑問や間違いを発見された方はお知らせ願います)。

require "bigdecimal"

aa  = %w(1 -1 +0.0 -0.0 +Infinity -Infinity NaN)
ba  = %w(1 -1 +0.0 -0.0 +Infinity -Infinity NaN)
opa = %w(+ - * / <=> > >=  < == != <=)

for a in aa
  for b in ba
    for op in opa
      x = BigDecimal::new(a)
      y = BigDecimal::new(b)
      eval("ans= x #{op} y;print a,' ',op,' ',b,' ==> ',ans.to_s,\"\n\"")
    end
  end
end

内部構造

BigDecimal内部で浮動小数点は構造体(Real)で表現されます。 そのうち仮数部は unsigned long の配列 (以下の構造体要素 frac) で管理されます。 概念的には、以下のようになります。

<浮動小数点数> = 0.xxxxxxxxx * BASE ** n

ここで、x は仮数部を表す数字、BASE は基数 (10 進表現なら 10)、 n は指数部を表す整数値です。BASEが大きいほど、大きな数値が表現できます。 つまり、配列のサイズを少なくできます。 BASE は大きいほど都合がよいわけですが、デバッグのやりやすさなどを考慮して、 10000になっています (BASE は VpInit() 関数で自動的に計算します)。 これは 32 ビット整数の場合です。64ビット整数の場合はもっと大きな値になります。 残念ながら、64 ビット整数でのテストはまだやっていません。 もし、テストをした方がいれば結果を教えてください。 BASE が 10000 のときは、以下の仮数部の配列 (frac) の各要素には最大で 4 桁の数字が格納されます。

浮動小数点構造体 (Real) は以下のようになっています。

typedef struct {
   unsigned long MaxPrec; // 最大精度(frac[]の配列サイズ)
   unsigned long Prec;    // 精度(frac[]の使用サイズ)
   short    sign;         // 以下のように符号等の状態を定義します。
                          //  ==0 : NaN
                          //    1 : +0
                          //   -1 : -0
                          //    2 : 正の値
                          //   -2 : 負の値
                          //    3 : +Infinity
                          //   -3 : -Infinity
   unsigned short flag;   // 各種の制御フラッグ
   int      exponent;     // 指数部の値(仮数部*BASE**exponent)
   unsigned long frac[1]; // 仮数部の配列(可変)
} Real;

例えば BASE=10000 のとき 1234.56784321 という数字は、

0.1234 5678 4321*(10000)**1

ですから frac[0] = 1234、frac[1] = 5678、frac[2] = 4321、 Prec = 3、sign = 2、exponent = 1 となります。 MaxPrec は Prec より大きければいくつでもかまいません。 flag の使用方法は実装に依存して内部で使用されます。

2 進と 10 進

BigDecimal は <浮動小数点数> = 0.xxxxxxxxx*10**n という 10 進形式で数値を保持します。 しかし、計算機の浮動小数点数の内部表現は、 言うまでもなく <浮動小数点数> = 0.bbbbbbbb*2**n という 2 進形式が普通です (x は 0 から 9 まで、b は 0 か 1 の数字)。 BigDecimal がなぜ 10 進の内部表現形式を採用したのかを以下に説明します。

10 進のメリット

デバッグのしやすさ

まず、プログラム作成が楽です。 frac[0]=1234、frac[1]=5678、frac[2]=4321、 exponent=1、sign=2 なら数値が 1234.56784321 であるのは見ればすぐに分かります。

10進表記された数値なら確実に内部表現に変換できる

例えば、以下のようなプログラムは全く誤差無しで計算することができます。 以下の例は、一行に一つの数値が書いてあるファイル file の合計数値を求めるものです。

file = File::open(....,"r")
s = BigDecimal::new("0")
while line = file.gets
   s = s + line
end

この例を 2 進数で計算すると誤差が入る可能性があります。 例えば 0.1 を2進で表現すると 0.1 = b1*2**(-1)+b1*2**(-2)+b3*2**(-3)+b4*2**(-4) …… と無限に続いてしまいます (b1=0,b2=0,b3=0,b4=1...)。 ここで bn(n=1,2,3,...) は 2進を表現する 0 か 1 の数字列です。 従って、どこかで打ち切る必要があります。ここで変換誤差が入ります。 もちろん、これを再度 10 進表記にして印刷するような場合は 適切な丸め操作(四捨五入)によって再び "0.1" と表示されます。 しかし、内部では正確な 0.1 ではありません。

有効桁数は有限である (つまり自動決定できる)

0.1 を表現するための領域はたった一つの配列要素 (frac[0] = 1) で済みます。 配列要素の数は10進数値から自動的に決定できます。 これは、可変長浮動小数点演算では大事なことです。 逆に 0.1 を 2 進表現したときに 2 進の有効桁をいくつにするのかは、 0.1 という数値だけからは決定できません。

10 進のデメリット

実は今までのメリットは、そのままデメリットにもなります。 そもそも、10 進を 2 進に変換するような操作は 変換誤差を伴う場合を回避することはできません。 大概のコンピュータは 10 進の内部表現を持っていないので、 BigDecimal を利用して誤差無しの計算をする場合は、 計算速度を無視しても最後まで BigDecimal を使用続ける必要があります。

最初は何か？

自分で計算するときにわざわざ 2 進数を使う人は極めてまれです。 計算機にデータを入力するときもほとんどの場合、 10進数で入力します。 その結果、double 等の計算機内部表現は最初から誤差が入っている場合があります。 BigDecimal はユーザ入力を誤差無しで取り込むことができます。 デバッグのしやすさと、データ読みこみ時に誤差が入らないという 2 点が実際のメリットです。

計算精度について

c = a op b という計算 (op は + - * /) をしたときの動作は以下のようになります。

  1. 乗算は (a の有効桁数) + (b の有効桁数)、 除算は (a の最大有効桁数) + (b の最大有効桁数) 分の最大桁数 (実際は、余裕を持って、もう少し大きくなります) を持つ変数 c を新たに生成します。 加減算の場合は、誤差が出ないだけの精度を持つ c を生成します。 例えば c = 0.1+0.1*10**(-100) のような場合、c の精度は100桁以上の精度を持つようになります。
  2. 次に c = a op b の計算を実行します。

このように、加減算と乗算での c は必ず「誤差が出ない」だけの精度を持って生成されます (BigDecimal.limit を指定しない場合)。 除算は (a の最大有効桁数) + (b の最大有効桁数) 分の最大桁数を持つ c が生成されますが、 c = 1.0/3.0 のような計算で明らかなように、 c の最大精度を超えるところで計算が打ち切られる場合があります。

いずれにせよ、c の最大精度は a や b より大きくなりますので c が必要とするメモリー領域は大きくなることに注意して下さい。

注意：「+, -, *, /」では結果の精度(有効桁数)を自分で指定できません。 精度をコントロールしたい場合は、以下のインスタンスメソッドを使用します。

add, sub, mult, div

これらのメソッドは先頭 (最左) の数字からの桁数を指定できます。

BigDecimal("2").div(3,12) # 2.0/3.0 => 0.6666666666 67E0

truncate, round, ceil, floor

これらのメソッドは小数点からの相対位置を指定して桁数を決定します。

BigDecimal("6.66666666666666").round(12) # => 0.6666666666 667E1

自分で精度をコントロールしたい場合

自分で精度(有効桁数)をコントロールしたい場合は add、sub、mult、div 等のメソッドが使用できます。以下の円周率を計算するプログラム例のように、求める桁数は自分で指定することができます。

#!/usr/local/bin/ruby

require "bigdecimal"
#
# Calculates 3.1415.... (the number of times that a circle's diameter
# will fit around the circle) using J. Machin's formula.
#
def big_pi(sig) # sig: Number of significant figures
  exp    = -sig
  pi     = BigDecimal::new("0")
  two    = BigDecimal::new("2")
  m25    = BigDecimal::new("-0.04")
  m57121 = BigDecimal::new("-57121")

  u = BigDecimal::new("1")
  k = BigDecimal::new("1")
  w = BigDecimal::new("1")
  t = BigDecimal::new("-80")
  while (u.nonzero? && u.exponent >= exp)
    t   = t*m25
    u   = t.div(k,sig)
    pi  = pi + u
    k   = k+two
  end

  u = BigDecimal::new("1")
  k = BigDecimal::new("1")
  w = BigDecimal::new("1")
  t = BigDecimal::new("956")
  while (u.nonzero? && u.exponent >= exp )
    t   = t.div(m57121,sig)
    u   = t.div(k,sig)
    pi  = pi + u
    k   = k+two
  end
  pi
end

if $0 == __FILE__
  if ARGV.size == 1
    print "PI("+ARGV[0]+"):\n"
    p big_pi(ARGV[0].to_i)
  else
    print "TRY: ruby pi.rb 1000 \n"
  end
end

BigDecimal は可変長浮動小数点計算機能ライブラリです。

はじめに

「有効桁数」とは BigDecimal が精度を保証する桁数です。ぴったりではありません、 若干の余裕を持って計算されます。また、例えば32ビットのシステムでは10進で4桁毎に計算します。 従って、現状では、内部の「有効桁数」は4の倍数となっています。

以下のメソッド以外にも、(C ではない) Ruby ソースの形で提供されているものもあります。例えば、

require "bigdecimal/math.rb"

とすることで、sin や cos といった関数が使用できるようになります。 使用方法など、詳細は bigdecimal/math を参照して下さい。 その他、Float との相互変換などの メソッドが bigdecimal/util でサポートされています。利用するには

require "bigdecimal/util.rb"

のようにします。詳細は bigdecimal/util を参照して下さい。

例

require 'bigdecimal'
a = BigDecimal::new("0.123456789123456789")
b = BigDecimal("123456.78912345678",40)
c = a + b

Classes/Modules

class BigDecimal

Sub-Libraries

bigdecimal/jacobian |
bigdecimal/ludcmp |
bigdecimal/math | BigDecimalを使った数学的な機能を提供します。
bigdecimal/newton |
bigdecimal/util | ここにあるメソッドを使うには

Added/Redefined Methods

Kernel#BigDecimal


class BigDecimal

ancestors: BigDecimal < Numeric < Comparable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
_load(str) |
double_fig | Ruby の Float クラスが保持できる有効数字の数を返します。
induced_from(x) |
limit([n]) | 生成されるBigDecimalオブジェクトの最大桁数をn桁に制限します。 戻り値は設定する前の値です。設定値のデフォルト値は0で、桁数無制限という意味です。 n を指定しない、または n が nil の場合は、現状の最大桁数が返ります。 計算を続行する間に、数字の桁数が無制限に増えてしまうような場合 limit で 予め桁数を制限できます。この場合 BigDecimal.mode で指定された丸め処理が 実行されます。ただし、インスタンスメソッド (BigDecimal#truncate / BigDecimal#round / BigDecimal#ceil / BigDecimal#floor / BigDecimal#add/ BigDecimal#sub / BigDecimal#mult / BigDecimal#div) の桁数制限は limit より優先されます。
mode(s [, v]) | BigDecimalの実行結果を制御します。 第2引数を省略、または nil を指定すると現状の設定値が戻ります。 以下の使用方法が定義されています。
new(s [, n]) | 新しい BigDecimal オブジェクトを生成します。 s は数字を表現する初期値を文字列で指定します。スペースは無視されます。 また、判断できない文字が出現した時点で文字列は終了したものとみなされます。 n は必要な有効桁数(a の最大有効桁数)を整数で指定します。 n が 0 または省略された ときは、n の値は s の有効桁数とみなされます。 s の有効桁数より n が小さいときも n=0 のときと同じです。 a の最大有効桁数は n より若干大い値が採用されます。 最大有効桁数は以下のような割り算を実行するとき等に意味を持ちます。
ver |

Instance Methods

Signature | Description
self % n | 詳細は Float#% を参照して下さい。
self * other | 乗算 (c = a * b)。
self ** n | a の n 乗を計算します。n は整数。
self + other | 加算 (c = a + b)。
+ |
self - other | 減算 (c = a - b)、または符号反転 (c = -a)。
- |
self / other | 除算 (c = a / b)。
self < other |
self <= other |
self <=> other | a == b なら 0、a > b なら 1、a < b なら -1 になります。
self == other |
self === other |
self > other |
self >= other |
_dump |
abs | a の絶対値
add(b, n) | 以下のように使用します。
ceil([n]) | a 以上の整数のうち、最も小さい整数を計算し、 その値 (BigDecimal 値)を返します。
coerce |
div(b [, n]) | 以下のように使用します。
divmod(n) | 詳細は Float#divmod を参照して下さい。
eql? |
exponent | 指数部を整数値で返します。
finite? | a.finite? は a が∞または NaN でないとき真を返します。
fix | self の小数点以下の切り捨て。
floor([n]) | a 以下の最大整数 (BigDecimal 値) を返します。
frac | self の整数部分の切り捨て。
hash |
infinite? | a.infinite? は a が+∞のとき 1 、-∞のときは -1、 それ以外のときは nil を返します。
inspect | デバッグ出力に使用されます。
modulo(n) | 詳細は Float#modulo を参照して下さい。
mult(b, n) | 以下のように使用します。
nan? | a.nan? は a が NaN のとき真を返します。
nonzero? | a が 0 なら nil、0 以外なら a そのものが返ります。
power(n) | メソッド演算子 ** と同じで、a の n 乗を計算します。n は整数。
precs | a の有効数字 (n) と最大有効数字 (m) の配列を返します。
quo(n) | 詳細は Float#quo を参照して下さい。
remainder(n) | 詳細は Float#remainder を参照して下さい。
round(n [, b]) | クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した BigDecimal::ROUND_MODE に従って丸め操作を実行します。 BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で何も指定せず、 かつ、引数を指定しない場合は 「小数点以下第一位の数を四捨五入して整数(BigDecimal 値)」にします。
sign | 値が正 (sign > 0)、負 (sign < 0)、その他 (sign == 0) であるかの情報を返します。
split | BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、 符号 (NaNのときは 0、それ以外は+1か-1になります)、 仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。
sqrt(n) | a の有効桁 n 桁の平方根 (n の平方根ではありません) をニュートン法で計算します。
sub(b, n) | のように使用します。
to_f | Float オブジェクトに変換します。 よりきめ細かい値が必要ならば BigDecimal#split メソッドを利用してください。
to_i | 小数点以下を切り捨てて整数に変換します。
to_int |
to_s([n]) | 文字列に変換します (デフォルトは "0.xxxxxEn" の形になります)。
truncate | 小数点以下の数を切り捨てて整数 (BigDecimal 値)にします。 以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。 n が正の時は、小数点以下 n+1 位の数字を切り捨てます (小数点以下を、最大 n 桁にします)。 n が負のときは小数点以上 n 桁目を操作します (小数点位置から左に少なくとも n 個の 0 が並びます)。
zero? | a が 0 なら true を返します。

Constants

Signature | Description
BASE |
EXCEPTION_ALL |
EXCEPTION_INFINITY |
EXCEPTION_NaN |
EXCEPTION_OVERFLOW |
EXCEPTION_UNDERFLOW |
EXCEPTION_ZERODIVIDE |
ROUND_CEILING |
ROUND_DOWN |
ROUND_FLOOR |
ROUND_HALF_DOWN |
ROUND_HALF_EVEN |
ROUND_HALF_UP |
ROUND_MODE |
ROUND_UP |
SIGN_NEGATIVE_FINITE |
SIGN_NEGATIVE_INFINITE |
SIGN_NEGATIVE_ZERO |
SIGN_NaN |
SIGN_POSITIVE_FINITE |
SIGN_POSITIVE_INFINITE |
SIGN_POSITIVE_ZERO |

Inherited Methods

arg clone conj fdiv im imag integer? real step =~ __id__ __send__ class dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
to_digits | Converts a BigDecimal to a String of the form "nnnnnn.mmm". This method is deprecated; use BigDecimal#to_s("F") instead. | bigdecimal/util
to_r | Rationalに変換する | bigdecimal/util


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/jacobian

library bigdecimal/jacobian

Abstract

Classes/Modules

module Jacobian


module Jacobian

ancestors: Jacobian

Abstract

Instance Methods

Signature | Description
dfdxi(f, fx, x, i) |
isEqual(a, b, zero = 0.0, e = 1.0e-8) |
jacobian(f, fx, x) |


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/ludcmp

library bigdecimal/ludcmp

Abstract

Classes/Modules

module LUSolve


module LUSolve

ancestors: LUSolve

Abstract

Instance Methods

Signature | Description
ludecomp(a, n, zero = 0, one = 1) |
lusolve(a, b, ps, zero = 0.0) |


library bigdecimal/math

Abstract

BigDecimalを使った数学的な機能を提供します。

以下の計算が行えます。

  • sqrt(x, prec)
  • sin (x, prec)
  • cos (x, prec)
  • atan(x, prec)
  • exp (x, prec)
  • log (x, prec)
  • PI (prec)
  • E (prec)

引数:

x

計算対象の BigDecimal オブジェクト。

prec

計算結果の精度。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath

a = BigDecimal((PI(100)/2).to_s)
puts sin(a,100) #=> 0.10000000000000000000......E1

Classes/Modules

module BigMath

BigDecimalを使った数学的な機能を提供するモジュールです。


module BigMath

ancestors: BigMath

Abstract

BigDecimalを使った数学的な機能を提供するモジュールです。

Instance Methods

Signature | Description
E(prec) -> BigDecimal | 自然対数の底 e を prec で指定した精度で計算します。
PI(prec) -> BigDecimal | 円周率を prec で指定した精度で計算します。
atan(x, prec) -> BigDecimal | x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。 x に無限大や NaN を指定した場合には NaN を返します。
cos(x, prec) -> BigDecimal | x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。
exp(x, prec) -> BigDecimal | x の指数関数を prec で指定した精度で計算します。 x に無限大や NaN を指定した場合には x を返します。
log(x, prec) -> BigDecimal | x の自然対数を prec で指定した精度で計算します。x に無限大や NaN を指定 した場合には x を返します。
sin(x, prec) -> BigDecimal | x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。
sqrt(x, prec) -> BigDecimal | x の平方根を prec で指定した精度で計算します。


library bigdecimal/newton

Abstract

Classes/Modules

module Newton

Required Libraries

bigdecimal/jacobian
bigdecimal/ludcmp


module Newton

ancestors: Newton

Abstract

Instance Methods

Signature | Description
nlsolve(f, x) |
norm(fv, zero = 0.0) |


library bigdecimal/util

Abstract

ここにあるメソッドを使うには

require 'bigdecimal/util'

する必要がある。

Added/Redefined Methods

BigDecimal#to_digits BigDecimal#to_r Float#to_d Rational#to_d String#to_d


library cgi

Abstract

CGI プログラムの支援ライブラリです。

CGI プロトコルの詳細については以下の文書を参照してください。

  • http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-03.txt
  • [RFC3875]: The Common Gateway Interface (CGI) Version 1.1

使用例

フォームフィールドの値を得る

require "cgi"
cgi = CGI.new
values = cgi['field_name']   # <== 'field_name' の配列
  # 'field_name' が指定されていなかったら、 []を返す。 (1.6)
  # 'field_name' が指定されていなかったら、 ""を返す。(1.8)
fields = cgi.keys            # <== field nameの配列

# フォームに 'field_name' というfield nameがあるときに真
cgi.has_key?('field_name')
cgi.include?('field_name')

フォームフィールドの値をハッシュとして得る

フォームの値をハッシュとして得るには CGI#params を使います。

例
require "cgi"
cgi = CGI.new
params = cgi.params

また CGI#params は毎回同じ Hash オブジェクトを返すので 以下のような使いかたもできます。

cgi.params['new_field_name'] = ["value"]  # 新しいパラメータを加える
cgi.params['field_name'] = ["new_value"]  # パラメータの値を変える
cgi.params.delete('field_name')           # パラメータを消去
cgi.params.clear                          # 全パラメータを消去

フォームフィールドの値をファイルに保存する

PStore を使うのが最も簡単です。

# 保存
require 'pstore'
db = PStore.new("query.db")
db.transaction do
  db["params"] = cgi.params
end

# 復帰
require 'pstore'
db = PStore.new("query.db")
db.transaction do
  cgi.params = db["params"]
end

ただし、PStore は Ruby のバージョンによってデータ互換性が なくなることがあるので、長い期間データを保存することがある 場合には検討が必要です。

PStore も参照してください。

マルチパートフィールドの値を取得する（ファイル送信）

require "cgi"
cgi = CGI.new
value = cgi.params['field_name'][0]   # TempFile オブジェクト（Ruby 1.8では 10240バイト未満の場合は StringIOオブジェクト）
value.read                            # 本文（送られてきたファイルの中身）
value.local_path                      # ローカルファイルのパス（Ruby 1.8では存在しない）
value.original_filename               # 元の名前
value.content_type                    # content_type

クライアントにクッキーを渡す

require "cgi"
cgi = CGI.new
for name, cookie in cgi.cookies
  cookie.expires = Time.now + 30
end
cgi.out("cookie" => cgi.cookies){"string"}

cgi.cookies # { "name1" => cookie1, "name2" => cookie2, ... }

require "cgi"
cgi = CGI.new
cgi.cookies['name'].expires = Time.now + 30
cgi.out("cookie" => cgi.cookies['name']){"string"}

クライアントからクッキーを得る

require "cgi"
cgi = CGI.new
values = cgi.cookies['name']  # values は name クッキーの値の配列。
                              # name クッキーが存在しない場合は空配列を返す。
names = cgi.cookies.keys      # 全てのクッキーの名前の配列

CGI に関連する環境変数の値を取得する

CGI に関連する環境変数の値は直接 ENV から得る他に、 CGI クラスのメソッドで得ることもできます。 基本的には環境変数の名前を downcase したメソッドにマップされます。 例えば AUTH_TYPE には CGI#auth_type が対応します。

require "cgi"
cgi = CGI.new
value = cgi.auth_type

このような環境変数には以下のものがあります。

  • AUTH_TYPE
  • CONTENT_LENGTH
  • CONTENT_TYPE
  • GATEWAY_INTERFACE
  • PATH_INFO
  • PATH_TRANSLATED
  • QUERY_STRING
  • REMOTE_ADDR
  • REMOTE_HOST
  • REMOTE_IDENT
  • REMOTE_USER
  • REQUEST_METHOD
  • SCRIPT_NAME
  • SERVER_NAME
  • SERVER_PORT
  • SERVER_PROTOCOL
  • SERVER_SOFTWARE

#content_length と #server_port は整数を、その他のメソッドは文字列を返します。

HTTP_COOKIE と HTTP_COOKIE2 には それぞれ raw_cookie と raw_cookie2 が対応します。

value = cgi.raw_cookie      # ENV["HTTP_COOKIE"]
value = cgi.raw_cookie2     # ENV["HTTP_COOKIE2"]

最後に、以下の HTTP 関連の環境変数は HTTP_ を除いた部分を downcase したメソッド名が定義されています。

例
value = cgi.accept              # ENV["HTTP_ACCEPT"]
value = cgi.accept_charset      # ENV["HTTP_ACCEPT_CHARSET"]

このような環境変数には以下のものがあります。

  • HTTP_ACCEPT
  • HTTP_ACCEPT_CHARSET
  • HTTP_ACCEPT_ENCODING
  • HTTP_ACCEPT_LANGUAGE
  • HTTP_CACHE_CONTROL
  • HTTP_FROM
  • HTTP_HOST
  • HTTP_NEGOTIATE
  • HTTP_PRAGMA
  • HTTP_REFERER
  • HTTP_USER_AGENT

CGI に関連する環境変数に関しては http://www.w3.org/CGI/ も参照してください。

標準出力に HTTP ヘッダと HTML を出力する

require "cgi"
cgi = CGI.new("html3")  # HTML生成メソッドを追加
cgi.out() do
  cgi.html() do
    cgi.head{ cgi.title{"TITLE"} } +
    cgi.body() do
      cgi.form() do
        cgi.textarea("get_text") +
        cgi.br +
        cgi.submit
      end +
      cgi.pre() do
        CGI.escapeHTML(
          "params: " + cgi.params.inspect + "\n" +
          "cookies: " + cgi.cookies.inspect + "\n" +
          ENV.collect() do |key, value|
            key + " --> " + value + "\n"
          end.join("")
        )
      end
    end
  end
end

# HTML生成メソッドを追加
CGI.new("html3")    # html3.2
CGI.new("html4")    # html4.0 (Strict)
CGI.new("html4Tr")  # html4.0 Transitional
CGI.new("html4Fr")  # html4.0 Frameset

ファイルのアップロード

[[unknown:執筆者募集]]

[ruby-list:25399] を参照してください。

オフラインモード

[[unknown:執筆者募集]]

cgi には、コマンドラインから CGI スクリプトを動かすための仕組み（オフラインモード）があります。 コマンドラインから以下のように実行すると、

$ ruby -r cgi some_script.rb
(offline mode: enter name=value pairs on standard input)

と聞いてくるので、

q=hoge&v=foo

などと入力して下さい。クエリーに入力された値がセットされて、スクリプトが実行されます。

なお、Windows 環境の場合、ただ値を入力して Enter を押すだけでは実行されません。キーボードから Ctrl + Z を入力する必要があります。

HTMLエレメント出力用メソッド

新たな CGI オブジェクトを生成する際、引数として特定の文字列を与えることによって、そのオブジェクトに HTML 生成用のメソッドを追加することができます。これらのメソッドを利用することにより、「よりRuby的に」HTML 文書を出力することが可能になります。

例：
cgi = CGI.new("html3")  # HTML3.2に準拠したHTML生成メソッドを追加
cgi.h1
  # <H1></h1>
cgi.h1{ "content" }
  # <H1>content</H1>
cgi.h1({ "class" => "foo", "attr" => "bar" }){ "content" }
  # <H1 class="foo" attr="bar">content</H1>

# HTML生成メソッドを追加
CGI.new("html3")    # html3.2
CGI.new("html4")    # html4.0 (Strict)
CGI.new("html4Tr")  # html4.0 Transitional
CGI.new("html4Fr")  # html4.0 Frameset

HTML 生成メソッドの引数としては、基本的に Hash オブジェクトが与えられる（あるいは何も与えられない）べきです。ただし以下に列挙されたメソッドでは、各メソッドの引数の形式に従って、 Hash オブジェクト以外のものを渡すこともできます。

Classes/Modules

class CGI
class CGI::Cookie
module CGI::Html3
module CGI::Html4
module CGI::Html4Fr
module CGI::Html4Tr
module CGI::HtmlExtension
module CGI::QueryExtension
module CGI::QueryExtension::Value
module CGI::TagMaker

Sub-Libraries

cgi/session | CGI のセッション管理を行うライブラリ。
cgi/session/pstore |


class CGI

ancestors: CGI < CGI::QueryExtension < Object < Kernel

Abstract

Singleton Methods

Signature | Description
escape(string) -> string | string を URL エンコードした文字列を新しく作成し返します。
escapeElement(string, *elements) -> string | elements に指定したエレメントのタグだけを実体参照に置換します。
escapeHTML(string) -> string | string 中の &"<> を実体参照にエンコードした文字列を新しく作成し返します。
parse(query) -> object | QUERY_STRING をパースします。
pretty(string, shift = " ") -> string | HTML を人間に見やすく整形します。
rfc1123_date(time) -> string | 時刻 time を [RFC1123] フォーマットに準拠した文字列に変換します。
unescape(string) -> string | string を URL デコードした文字列を新しく作成し返します。
unescapeElement(string, *element) -> string | 特定の要素だけをHTMLエスケープから戻す。
unescapeHTML(string) -> string | string 中の実体参照のうち、&amp; &gt; &lt; &quot; と数値指定がされているもの (&#0ffff など) だけを外します。

Instance Methods

Signature | Description
header(options = "text/html") -> string | HTTP ヘッダを options に従って生成します。（ CGI#out と違い、標準出力には出力しません） CGI#out を使わずに自力で HTML を出力したい場合などに使います。 このメソッドは文字列エンコーディングを変換しません。 [ruby-list:35911]
out(options = "text/html") { .... } | HTTP ヘッダと、ブロックで与えられた文字列を標準出力に出力します。
print(*strings) | 引数の文字列を標準出力に出力します。 cgi.print は $DEFAULT_OUTPUT.print と等価です。

Constants

Signature | Description
CR |
EOL |
HTTP_STATUS |
LF |
NEEDS_BINMODE |
PATH_SEPARATOR |
REVISION |
RFC822_DAYS |
RFC822_MONTHS |

Inherited Methods

[] accept accept_charset accept_encoding accept_language auth_type cache_control content_length content_type cookies from gateway_interface has_key? host keys multipart? negotiate params params= path_info path_translated pragma query_string raw_cookie raw_cookie2 referer remote_addr remote_host remote_ident remote_user request_method script_name server_name server_port server_protocol server_software user_agent == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class CGI::Cookie

ancestors: CGI::Cookie < Array < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(name = "", *value) | クッキーオブジェクトを作成します。
parse(raw_cookie) | クッキー文字列をパースします。

Instance Methods

Signature Description
name
name=(value)
value
value=(value)
path
path=(value)
domain
domain=(value)
expires
expires=(value)
secure
secure=(val)

Cookie オブジェクトのアトリビュートです。

to_s

Inherited Methods

& * + - << <=> == [] []= abbrev assoc at choice clear clone collect! combination compact concat dclone delete delete_at delete_if each each_index empty? eql? fetch fill flatten hash index indexes insert join last length nitems pack permutation pop product push rassoc replace reverse reverse_each rindex shelljoin shift shuffle shuffle! slice slice! sort to_ary to_ptr transpose uniq unshift values_at | .[] all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class display enum_for equal? extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


module CGI::Html3

ancestors: CGI::Html3

Abstract

Instance Methods

Signature | Description
doctype |
element_init |


module CGI::Html4

ancestors: CGI::Html4

Abstract

Instance Methods

Signature | Description
doctype |
element_init |


module CGI::Html4Fr

ancestors: CGI::Html4Fr

Abstract

Instance Methods

Signature | Description
doctype |
element_init |


module CGI::Html4Tr

ancestors: CGI::Html4Tr

Abstract

Instance Methods

Signature | Description
doctype |
element_init |


module CGI::HtmlExtension

ancestors: CGI::HtmlExtension

Abstract

Instance Methods

Signature Description
a(href = "")
例：
a("url")
  # = a({ "HREF" => "url" })
base(href = "")
例：
base("url")
  # = base({ "HREF" => "url" })
blockquote(cite = nil)
例：
blockquote("url"){ "string" }
  # = blockquote({ "CITE" => "url" }){ "string" }
caption(align = nil)
例：
caption("align"){ "string" }
  # = caption({ "ALIGN" => "align" }){ "string" }
checkbox(name = "", value = nil, checked = nil)
例：
checkbox("name")
  # = checkbox({ "NAME" => "name" })
checkbox_group(name = "", *values)
例：
checkbox_group("name", "foo", "bar", "baz")
  # <INPUT TYPE="checkbox" NAME="name" VALUE="foo">foo
  # <INPUT TYPE="checkbox" NAME="name" VALUE="bar">bar
  # <INPUT TYPE="checkbox" NAME="name" VALUE="baz">baz
file_field(name = "", size = 20, maxlength = nil)
例：
file_field("name")
  # <INPUT TYPE="file" NAME="name" SIZE="20">
form(method = "post", action = nil, enctype = "application/x-www-form-urlencoded")
例：
form{ "string" }
  # <FORM METHOD="post" ENCTYPE="application/x-www-form-urlencoded">string</FORM>
hidden(name = "", value = nil)
例：
hidden("name")
  # <INPUT TYPE="hidden" NAME="name">
html(attributes = {})
例：
image_button(src = "", name = nil, alt = nil)
例：
image_button("url")
  # <INPUT TYPE="image" SRC="url">
img(src = "", alt = "", width = nil, height = nil)
例：
img("src", "alt", 100, 50)
  # <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50">
multipart_form(action = nil, enctype = "multipart/form-data")
例：
multipart_form{ "string" }
  # <FORM METHOD="post" ENCTYPE="multipart/form-data">string</FORM>
password_field(name = "", value = nil, size = 40, maxlength = nil)
例：
password_field("name")
  # <INPUT TYPE="password" NAME="name" SIZE="40">
popup_menu(name = "", *values)
例：
popup_menu("name", "foo", "bar", "baz")
  # <SELECT NAME="name">
  #   <OPTION VALUE="foo">foo</OPTION>
  #   <OPTION VALUE="bar">bar</OPTION>
  #   <OPTION VALUE="baz">baz</OPTION>
  # </SELECT>
radio_button(name = "", value = nil, checked = nil)
例：
radio_button("name", "value")
  # <INPUT TYPE="radio" NAME="name" VALUE="value">
radio_group(name = "", *values)
例：
radio_group("name", "foo", "bar", "baz")
  # <INPUT TYPE="radio" NAME="name" VALUE="foo">foo
  # <INPUT TYPE="radio" NAME="name" VALUE="bar">bar
  # <INPUT TYPE="radio" NAME="name" VALUE="baz">baz
reset(value = nil, name = nil)
例：
reset
  # <INPUT TYPE="reset">
scrolling_list(name = "", *values)
例：
submit(value = nil, name = nil)
例：
submit
  # <INPUT TYPE="submit">
text_field(name = "", value = nil, size = 40, maxlength = nil)
例：
text_field("name")
  # <INPUT TYPE="text" NAME="name" SIZE="40">
textarea(name = "", cols = 70, rows = 10)
例：
textarea("name")
  # = textarea({ "NAME" => "name", "COLS" => 70, "ROWS" => 10 })


module CGI::QueryExtension

ancestors: CGI::QueryExtension

Abstract

Instance Methods

Signature Description
self[key]

文字列 key に対応するパラメータを配列で返します。 key に対応するパラメータが見つからなかった場合は、nil を返します。（CGI#paramsと等価です）

accept

ENV['HTTP_ACCEPT']

accept_charset

ENV['HTTP_ACCEPT_CHARSET']

accept_encoding

ENV['HTTP_ACCEPT_ENCODING']

accept_language

ENV['HTTP_ACCEPT_LANGUAGE']

auth_type

ENV['AUTH_TYPE']

cache_control

ENV['HTTP_CACHE_CONTROL']

content_length

ENV['CONTENT_LENGTH']

content_type

ENV['CONTENT_TYPE']

cookies
cookies=(value)
from

ENV['HTTP_FROM']

gateway_interface

ENV['GATEWAY_INTERFACE']

has_key?(*args)
key?(*args)
include?(*args)
host

ENV['HTTP_HOST']

keys(*args)
multipart?

マルチパートフォームの場合にtrueが返ります。

negotiate

ENV['HTTP_NEGOTIATE']

params

パラメータを格納したハッシュを返します。

params=(hash)
path_info

ENV['PATH_INFO']

path_translated

ENV['PATH_TRANSLATED']

pragma

ENV['HTTP_PRAGMA']

query_string

ENV['QUERY_STRING']

raw_cookie

ENV["HTTP_COOKIE"]

raw_cookie2

ENV["HTTP_COOKIE2"]

referer

ENV['HTTP_REFERER']

remote_addr

ENV['REMOTE_ADDR']

remote_host

ENV['REMOTE_HOST']

remote_ident

ENV['REMOTE_IDENT']

remote_user

ENV['REMOTE_USER']

request_method

ENV['REQUEST_METHOD']

script_name

ENV['SCRIPT_NAME']

server_name

ENV['SERVER_NAME']

server_port

ENV['SERVER_PORT']

server_protocol

ENV['SERVER_PROTOCOL']

server_software

ENV['SERVER_SOFTWARE']

user_agent

ENV['HTTP_USER_AGENT']


module CGI::QueryExtension::Value

ancestors: CGI::QueryExtension::Value

Abstract

Instance Methods

Signature Description
self[idx, *args]
first
last
set_params(params)
to_a
to_ary


module CGI::TagMaker

ancestors: CGI::TagMaker

Abstract

Instance Methods

Signature | Description
nOE_element_def(element, append = nil) |
nO_element_def(element) |
nn_element_def(element) |


library cgi/session

Abstract

CGI のセッション管理を行うライブラリ。

セッションとは、HTTP の一連のリクエストとレスポンスが属するべき コンテクスト (状況) のことをいいます。 セッション管理には従来通り cgi ライブラリが提供する クッキーを使用してもいいですが、 この cgi/session を使用した方がよりわかりやすいでしょう。 セッション情報は Hash ライクなインターフェースです。

セッションはセッション ID とプログラムが記録した セッション情報から構成されます。 デフォルトでは CGI::Session::FileStore が使用され、 記録できるのは文字列のみです。

セッション情報は CGI::Session::FileStore か CGI::Session::PStore を使用した場合は サーバのローカルファイルに記録され、 次回のリクエスト時に利用されます。 デフォルトでは明示的に操作を行なわなくても プログラム終了時にセッション情報はファイルに保存されます。 セッション毎に新しいファイルが作成されます。

クライアントにはセッション情報に対応するセッション ID を クッキーあるいは form の hidden input として渡すことになります。 クッキーはデフォルトでは expires が指定されていないために、 ブラウザを終了した時点で消滅します。

使い方 (生成)

require 'cgi/session'
cgi = CGI.new
session = CGI::Session.new(cgi)

CGI::Session.new に CGI オブジェクトを渡します。クライアントから渡された セッション ID はクッキーかクエリーとして cgi に格納されているため、意識する必要はありません。

使い方 (セッション情報を記録する)

session['name'] = "value"

CGI::Session オブジェクトは Hash のようなもので、キーに対応する値を記録します。 デフォルトではプログラム終了時にセッション情報はファイルに記録されます。

使い方 (セッション情報を得る)

name = session['name']

別な CGI でこのセッション情報を取り出すときは、このようにします。

使い方 (ヘッダ出力)

ヘッダ出力は CGI#out、CGI#header を使っている限り 通常通りで構いません。 cgi/session は内部的にクッキーを使用していますが、 これらのメソッドが面倒を見てくれるので、意識をする必要はありません。

umask 値

umask 値が 0022 ならば セッション情報ファイルのパーミッションが 644 になるので、 任意のユーザがそのセッション情報ファイルを見ることができます。 それが嫌な場合は CGI::Session オブジェクト生成前に umask 値を設定してください。

セッション情報ファイルは 0600 で作成されるようになりました。

CGI::HtmlExtension#form の出力

CGI::Session.new 後の CGI::HtmlExtension#form は、セッション ID を埋め込んだ隠しフィールドを自動出力するようになります。CGI::Session.new は、これによって生成されたフォームフィールド値を、セッション ID として自動認識します。

CGI::HtmlExtension#form を使い、<INPUT TYPE="submit"> でページ遷移をするようにすれば、クッキーが使えない環境でのセッション維持に利用できます。

#!/usr/bin/ruby
require 'cgi'
require 'cgi/session'

cgi = CGI.new('html3')
File.umask(0077)
session = CGI::Session.new(cgi)
cgi.out('charset'=>'euc-jp') {
  html = cgi.html {
    cgi.head { cgi.title {'Form Demo'} }
    cgi.body {
      cgi.form('action'=>"#{CGI.escapeHTML(cgi.script_name)}") {
        cgi.p {
          'あなたの名前は？' +
          cgi.text_field('name') +
          cgi.hidden('cmd', 'hello') +
          cgi.submit('です。')
        }
      }
    }
  }
  CGI.pretty(html)
}
#=>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
  <BODY>
    <FORM METHOD="post" ENCTYPE="application/x-www-form-urlencoded" action="/sample.rb">
      <P>
        あなたの名前は？
        <INPUT NAME="name" SIZE="40" TYPE="text">
        <INPUT NAME="cmd" TYPE="hidden" VALUE="hello">
        <INPUT TYPE="submit" VALUE="です。">
      </P>
      <INPUT TYPE="HIDDEN" NAME="_session_id" VALUE="bc315cc069266e21">    # これ
    </FORM>
  </BODY>
</HTML>

使用例

ただ名前を入力するとあいさつをするだけのつまらない CGI スクリプト。

ソースコード

#!/usr/bin/ruby
require 'kconv'
require 'cgi'
require 'cgi/session'

class SessionDemo
  def initialize
    @cgi = CGI.new
    File.umask(0077)                                # セッションファイルは誰にも読まれたくないよ
    @session = CGI::Session.new(@cgi)               # セッションはこうして生成する。
    @cmd = "#{@cgi['cmd'].first}"                   # ruby 1.8 でも動くように(warning は出ます)
    @cmd = 'start' if @cmd.empty?
    @header = { "type" => "text/html", "charset" => "euc-jp" }

    __send__("cmd_#{@cmd}")
  end

  def cmd_start
    @cgi.out(@header) {
      <<-END
      <html><head><title>CGI::Session Demo</title></head>
      <body>
       <form action="#{CGI.escapeHTML(ENV['SCRIPT_NAME'])}" method="get">
       <p>
       あなたの名前は？
       <input type="text" name="name">
       <input type="hidden" name="cmd" value="hello">
       <input type="submit" value="です。">
       </p>
       </form>
      </body></html>
      END
    }
  end

  def cmd_hello
    name = Kconv.toeuc(@cgi['name'].first)
    @session['name'] = name                         # セッションに記憶
    @cgi.out(@header) {                             # セッション情報は隠れクッキーで保持されるため、CGI#outで出力
      <<-END
      <html><head><title>CGI::Session Demo</title></head>
      <body>
       <p>こんにちは、#{CGI.escapeHTML(name)}さん</p>
       <p><a href="#{CGI.escapeHTML(ENV['SCRIPT_NAME'])}?cmd=bye">[次へ]</a></p>
      </body></html>
      END
    }
  end

  def cmd_bye
    name = @session['name']                         # セッションデータから取り出し
    @cgi.out(@header) {
      <<-END
      <html><head><title>CGI::Session Demo</title></head>
      <body>
       <p>#{CGI.escapeHTML(name)}さん、さようなら</p>
       <p><a href="#{CGI.escapeHTML(ENV['SCRIPT_NAME'])}">[戻る]</a></p>
      </body></html>
      END
    }
  end
end

SessionDemo.new

参考URL

  • http://www.shugo.net/article/webdb2/#label:13
  • http://www.modruby.net/doc/faq.ja.jis.html#label-13
  • http://www.ruby-doc.org/stdlib/libdoc/cgi/rdoc/index.html

Classes/Modules

class CGI::Session
class CGI::Session::FileStore
class CGI::Session::MemoryStore

Exception Classes

class CGI::Session::NoSession

Sub-Libraries

cgi/session/pstore


class CGI::Session

ancestors: CGI::Session < Object < Kernel

Abstract

Singleton Methods

Signature | Description
callback(dbman) |
new(cgi[, aHash]) | セッションオブジェクトを新しく作成し返します。 オプションとして Hash オブジェクト aHash を与えることができます。

Instance Methods

Signature | Description
self[key] | 指定されたキーの値を返します。
self[key] = val | 指定されたキーの値を設定します。
close | データベースクラスの close メソッドを呼び出して、 セッション情報をサーバに保存し、セッションストレージをクローズします。
delete | データベースクラスの delete メソッドを呼び出して、 セッションをストレージから削除します。
new_session |
session_id |
update | データベースクラスの update メソッドを呼び出して、 セッション情報をサーバに保存します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class CGI::Session::FileStore

ancestors: CGI::Session::FileStore < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class CGI::Session::MemoryStore

ancestors: CGI::Session::MemoryStore < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class CGI::Session::NoSession

ancestors: CGI::Session::NoSession < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library cgi/session/pstore

Abstract

Classes/Modules

class CGI::Session::PStore

Required Libraries

cgi/session | CGI のセッション管理を行うライブラリ。
pstore | Rubyのオブジェクトを外部ファイルに格納するためのライブラリです。


class CGI::Session::PStore

ancestors: CGI::Session::PStore < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(session, option = {}) |

Instance Methods

Signature | Description
close |
delete |
restore |
update |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library cgi-lib

Abstract

このライブラリは obsolete です。 cgi ライブラリを使ってください。

Classes/Modules

class CGI_cgi_lib


class CGI_cgi_lib

ancestors: CGI_cgi_lib < Object < Kernel

Abstract

Singleton Methods

Signature | Description
cookie(options) |
error |
escape(str) |
escapeHTML(str) |
header(*options) |
message(message, title = "", header = ["Content-Type: text/html"]) |
new(input = $stdin) |
print(*options) |
rfc1123_date(time) |
tag(element, attributes = {}) |
unescape(str) |

Instance Methods

Signature | Description
cookie |
inputs |
read_from_cmdline |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library complex

Abstract

複素数を扱うためのライブラリです。

Classes/Modules

class Complex

複素数を扱うためのクラスです。

Added/Redefined Methods

Math.#acos Math.#acosh Math.#asin Math.#asinh Math.#atan Math.#atan2 Math.#atanh Math.#cos Math.#cosh Math.#exp Math.#log Math.#log10 Math.#sin Math.#sinh Math.#sqrt Math.#tan Math.#tanh Numeric#arg Numeric#conj Numeric#im Numeric#imag Numeric#real


class Complex

ancestors: Complex < Numeric < Comparable < Object < Kernel

Abstract

複素数を扱うためのクラスです。

このライブラリを require すると、Math モジュールが複素数対応に拡張されます。 対象となる複素数を以下のように極座標表示した時の

z = a + b * i = r * exp(i * t)

偏角 t は[-π,π]の範囲であると考えて、関数は定義されます。 Complex#argを参照して下さい。

以下が複素関数の定義です。

abs(z)  = r
sqrt(z) = sqrt(r) * exp(i * t/2)
exp(z)  = exp(a) * exp(i * b)
log(z)  = log(r) + i * t

sin(z)  = (exp(i * z) - exp(-i * z)) / 2i
cos(z)  = (exp(i * z) + exp(-i * z)) / 2
tan(z)  = sin(z) / cos(z)
sinh(z) = (exp(z) - exp(-z)) / 2
cosh(z) = (exp(z) + exp(-z)) / 2
tanh(z) = sinh(z) / cosh(z)

asin(z) = -i * log(i*z + sqrt(1-z*z))
acos(z) = -i * log(z + i*sqrt(1-z*z))
atan(z) = i/2 * log((i+z) / (i-z))
atan2(y, x) = -i * log( (x + i * y) / sqrt( x*x + y*y ) )
asinh(z) = log(z + sqrt(z*z+1))
acosh(z) = log(z + sqrt(z*z-1))
atanh(z) = 1/2 * log((1+z) / (1-z))

また、添付ライブラリのベクトルクラス Vector、および、 行列クラス Matrix を読み込んでいるとき、 Vector や Matrix の要素として、複素数を使うことができます。 Vector および Matrix のそれぞれの項目を参照してください。

例

require 'complex'

z1 = Complex.new(4, 3)
z2 = Complex.new(2, 1)

p z1 + z2 #=> Complex(6, 4)
p z1 * z2 #=> Complex(5, 10)

i = Complex::I

p z1 == 4 + 3 * i #=> true

Singleton Methods

Signature Description
generic?(other) -> bool

other が Integer Float Rational クラスのオブジェクトかどうか判定します。

new(r, i) -> Complex
new!(r, i = 0) -> Complex

実部が r、虚部が i であるComplexクラスのオブジェクトを生成します。

polar(r, theta) -> Complex

絶対値が r、偏角が theta である Complexクラスのオブジェクトを生成します。

Instance Methods

Signature Description
self % c -> Complex

除算の剰余を計算します。

self * c -> Complex

複素数 c を乗じた結果を返します。

self ** c -> Complex

複素数 c でべき乗した結果

exp(c * log(self))

を返します

self + c -> Complex

複素数 c を加えた結果を返します。

self - c -> Complex

複素数 c を減じた結果を返します。

self / other -> Complex

複素数 other で除した結果を返します。

self == c -> bool

c と等しければ、true を返します。

abs -> Float

自分自身の絶対値を返します。

abs2 -> Fixnum
abs2 -> Float

自分自身の絶対値の2乗を返します。

angle -> Float
arg -> Float

複素数の偏角を[-π,π]の範囲で返します。

coerce(other) -> Array

自分自身とotherのペアの配列を生成し、生成した配列を返します。

conj -> Complex
conjugate -> Complex

自分の共役複素数を返します。

denominator -> Fixnum

自分自身の実部・虚部の分母のLCM(最小公倍数)を返します。

hash -> Fixnum

複素数のハッシュ値を返します。

imag -> Fixnum
imag -> Float
image -> Fixnum
image -> Float

虚部を返します。

inspect -> String

自分自身について "Complex(実部, 虚部)" 形式の文字列を返します。

numerator -> Complex

Complex#denominator の値で実部・虚部を通分したものの分子のみを Complex で返します。

polar -> Array

複素数の極座標表示、すなわち、配列 [self.abs, self.arg] を返します。

quo(other) -> Complex

複素数otherでの除算結果を返します。

real -> Fixnum
real -> Float

実部を返します。

to_s -> String

自分自身について "実部 + 虚部i" 形式の文字列を返します。

Constants

Signature | Description
I | 虚数単位です。

Inherited Methods

+@ -@ <=> ceil clone div divmod eql? fdiv floor im integer? modulo nonzero? remainder round step to_int truncate zero? === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature | Description | Library
Unify | 内部実装で利用しています。深くは考えないでください。ユーザープログラムでは利用しないでください。 | mathn


library csv

Abstract

CSV (Comma Separated Values) を扱うライブラリです。

Classes/Modules

class CSV | CSV (Comma Separated Values) を扱うクラスです。
class CSV::BasicWriter | CSVデータ書き込み時に用いられるクラス
class CSV::Cell | CSV形式データのカラム（Cell）を操作するためのクラス。 このクラスはバージョン1.8.7で廃止されました。
class CSV::IOBuf | IOのバッファリングを実現するクラス
class CSV::IOReader | CSVの読み込み処理を行うクラス
class CSV::Reader | CSVの読み込み時のベースとなるクラス
class CSV::Row | CSV形式1行分のデータ（Row）を操作するためのクラス。
class CSV::StreamBuf | ストリームバッファを扱うクラス。
class CSV::StringReader | CSV形式の文字列の読み込み（パース）時に使用されるクラス
class CSV::Writer | CSVの書き込み時のベースとなるクラス

Exception Classes

class CSV::IllegalFormatError

CSV 形式のパースが失敗した場合に発生します。


class CSV

ancestors: CSV < Object < Kernel

Abstract

CSV (Comma Separated Values) を扱うクラスです。

各メソッドの共通パラメタ

mode
   'r', 'w', 'rb', 'wb' から指定可能です。

   - 'r' 読み込み
   - 'w' 書き込み
   - 'b' バイナリモード
fs
   フィールドの区切り文字
   デフォルトは ','
rs
   行区切り文字。nil (デフォルト) で CrLf / Lf。
   Cr で区切りたい場合は ?\r を渡します。

Singleton Methods

Signature Description
foreach(path[, rs = nil]) {|row| ... } -> nil

読み込みモードでファイルを開き、各行を配列でブロックに渡します。

generate(path[, fs = nil[, rs = nil]]) -> CSV::BasicWriter
generate(path[, fs = nil[, rs = nil]]) {|writer| ... } -> nil

path で指定されたファイルを書き込みモードで開き、ブロックに渡します。 ブロック未指定の場合は CSV::BasicWriter を返します。

generate_line(row[, fs = nil[, rs = nil]]) -> String
generate_line(row[, fs = nil[, rs = nil]]) {|s| ... } -> nil

row で指定された配列をパースし、fs で指定された文字をフィールドセパレータとして 1行分の文字列をブロックに渡します。 ブロック未指定の場合は変換された文字列を返します。

generate_row(src, cells, out_dev[, fs = nil[, rs = nil]]) -> Fixnum

src で指定された配列をパースして csv形式の文字列として(行区切り文字も含めて) out_dev に出力します。 返り値として fs で区切ったフィールド(cell)の数を返します。

open(path, mode[, fs = nil[, rs = nil]]) {|row| ... } -> nil
open(path, mode[, fs = nil[, rs = nil]]) -> CSV::Reader
open(path, mode[, fs = nil[, rs = nil]]) -> CSV::Writer

CSVファイルを読み込んでパースします。

parse(str_or_readable[, fs = nil[, rs = nil]]) -> Array
parse(str_or_readable[, fs = nil[, rs = nil]]) {|rows| ... } -> nil

str_or_readable で指定された文字列をパースし配列の配列に変換、ブロックに渡します。 ブロック未指定の場合は変換された配列の配列を返します。

parse_line(src[, fs = nil[, rs = nil]]) -> Array
parse_line(src[, fs = nil[, rs = nil]]) {|row| ... } -> nil

src で指定された文字列を1行分としてパースし配列に変換、ブロックに渡します。 ブロック未指定の場合は変換された配列を返します。

parse_row(src, index, out_dev[, fs = nil[, rs = nil]]) -> Array

CSV形式の文字列をパースしてCSV1行(row)分のデータを配列に変換し out_dev に出力します。

read(path[, length = nil[, offset = nil]]) -> Array

path で指定された CSV ファイルを読み込み、配列の配列でデータを返します。

readlines(path[, rs = nil]) -> Array

path で指定された CSV ファイルを読み込み、配列の配列でデータを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class CSV::BasicWriter

ancestors: CSV::BasicWriter < CSV::Writer < Object < Kernel

Abstract

CSVデータ書き込み時に用いられるクラス

Singleton Methods

Signature | Description
new(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter | 引数str_or_writableを出力先としてCSV::BasicWriterオブジェクトを生成します。

Instance Methods

Signature | Description
close_on_terminate -> true | 本メソッドを呼び出すことで終了時にCSV::BasicWriterオブジェクトがIOクローズ処理を行います。

Private Instance Methods

Signature | Description
terminate -> nil | close_on_terminateメソッドが既に呼び出されていれば、出力先(newメソッドのstr_or_writableパラメータ)のIOクローズ処理を行います。

Inherited Methods

<< close .create .generate == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class CSV::Cell

ancestors: CSV::Cell < String < Enumerable < Comparable < Object < Kernel

Abstract

CSV形式データのカラム（Cell）を操作するためのクラス。 このクラスはバージョン1.8.7で廃止されました。

Singleton Methods

Signature | Description
new([data = '', is_null = false]) -> CSV::Cell | 引数dataを値として持つCSV::Cellクラスのオブジェクトを生成します。

Instance Methods

Signature | Description
data -> String | 自分自身のCellデータをStringクラスオブジェクトとして返します。

Inherited Methods

< <= == > >= between? all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint % * + << <=> =~ [] []= bytes bytesize capitalize capitalize! casecmp center chars chomp chomp! chop chop! crypt delete delete! downcase downcase! dump each empty? end_with? eql? gsub gsub! hash hex index insert inspect intern is_binary_data? is_complex_yaml? iseuc issjis isutf8 jcount jlength kconv length ljust lstrip lstrip! match mbchar? next next! oct replace reverse reverse! rindex rjust rpartition rstrip rstrip! scan scanf shellescape shellsplit slice! split squeeze squeeze! start_with? strip strip! sub sub! sum swapcase swapcase! to_d to_f to_i to_ptr to_s toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! unpack upcase upcase! upto


class CSV::IOBuf

ancestors: CSV::IOBuf < CSV::StreamBuf < Object < Kernel

Abstract

IOのバッファリングを実現するクラス

Instance Methods

Signature | Description
close -> nil | オブジェクト終了（破棄）処理を行います。
new(s) -> self | インスタンスを生成します。

Private Instance Methods

Signature | Description
read(size) -> () | バッファリングしたデータの読み出しを行います。
terminate -> nil | オブジェクトの破棄処理を行います。

Inherited Methods

[] add_buf buf_size drop idx_is_eos? is_eos? rel_buf .new ::BufSize == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class CSV::IOReader

ancestors: CSV::IOReader < CSV::Reader < Enumerable < Object < Kernel

Abstract

CSVの読み込み処理を行うクラス

Singleton Methods

Signature | Description
new(io[, fs = ','[, rs = nil]]) -> CSV::IOReader | 引数に従い、CSV::IOReaderクラスのオブジェクトを生成します。

Instance Methods

Signature | Description
close_on_terminate -> True | 本メソッドを呼び出すことで終了(terminateメソッド実行)時にCSV::IOReaderオブジェクトがnewメソッドで指定した読み込み先のIOクローズ処理を行います。

Private Instance Methods

Signature | Description
get_row(row) -> Fixnum | CSVデータの1行分のデータを取得します。
terminate -> nil | オブジェクト破棄を行います。 close_on_terminateメソッドが既に呼び出されていれば、IO(newメソッドでパラメタとして渡したオブジェクト)の終了処理を行います。

Inherited Methods

close each initialize shift .create .parse == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class CSV::IllegalFormatError

ancestors: CSV::IllegalFormatError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

CSV 形式のパースが失敗した場合に発生します。

  • クオート対応不正
  • 改行コード不正

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class CSV::Reader

ancestors: CSV::Reader < Enumerable < Object < Kernel

Abstract

CSVの読み込み時のベースとなるクラス

Singleton Methods

Signature Description
create(str_or_readable[, fs = ','[, rs = nil]]) -> CSV::StringReader

CSVデータを解析して、解析結果を格納したCSV::StringReaderを返します。

parse(str_or_readable[, fs = ','[, rs = nil]]) -> CSV::StringReader
parse(str_or_readable[, fs = ','[, rs = nil]]) {|row| ... } -> nil

CSVデータを解析して、CSV::StringReaderを返します。 ブロックに渡された場合はパースした結果を1列づつArrayとして渡します。

Instance Methods

Signature | Description
close -> nil | 内部的にterminateメソッドを呼び出します。
each {|row| ... } -> nil | 自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。
shift -> Array | CSVをパースした結果から1行分を取り除き、取り除いた1行を配列として返します。 shiftは破壊的メソッドです。

Private Instance Methods

Signature | Description
get_row(row) -> () | 本メソッドは再定義 or サブクラスで定義されることを想定されています。 再定義せずに呼び出した場合は例外NotImplementedErrorが発生します。
initialize(dev) -> () | 本メソッドは再定義 or サブクラスで定義されることを想定されています。 再定義せずに呼び出した場合は例外RuntimeErrorが発生します。
terminate -> () | 終了時処理を行う場合に再定義してください。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class CSV::Row

ancestors: CSV::Row < Array < Enumerable < Object < Kernel

Abstract

CSV形式1行分のデータ（Row）を操作するためのクラス。

Inherited Methods

& * + - << <=> == [] []= abbrev assoc at choice clear clone collect! combination compact concat dclone delete delete_at delete_if each each_index empty? eql? fetch fill flatten hash index indexes insert join last length nitems pack permutation pop product push rassoc replace reverse reverse_each rindex shelljoin shift shuffle shuffle! slice slice! sort to_ary to_ptr to_s transpose uniq unshift values_at | .[] .new all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class display enum_for equal? extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class CSV::StreamBuf

ancestors: CSV::StreamBuf < Object < Kernel

Abstract

ストリームバッファを扱うクラス。

Singleton Methods

Signature | Description
new -> self | CSV::StreamBufオブジェクトを生成します。

Instance Methods

Signature | Description
self[idx[, n = nil]] -> String | ストリームバッファから部分文字列を取り出します。
drop(n) -> Fixnum | ストリームからデータを削除します。
is_eos? -> bool | ストリームの終端かどうかをTrue/Falseで返します。
read(size) -> [] | NotImplementedError例外を発生させます。
terminate -> nil | ストリームの解放処理を行います。 本メソッドはその他のメソッドの内部から呼ばれます。

Private Instance Methods

Signature | Description
add_buf -> bool | ストリームバッファからデータを読み込み、True/Falseを返します。
buf_size(idx) -> Fixnum | idxで指定したバッファのデータサイズを取得します。
idx_is_eos?(idx) | 引数idxで指定した位置がストリームの終端かどうかを判定します。
rel_buf -> bool | 現在処理中のストリームバッファを解放する。

Constants

Signature | Description
BufSize | ストリームバッファの1回の読み込みデータサイズ 1024 * 8 = 8192

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class CSV::StringReader

ancestors: CSV::StringReader < CSV::Reader < Enumerable < Object < Kernel

Abstract

CSV形式の文字列の読み込み（パース）時に使用されるクラス

Singleton Methods

Signature | Description
new(string[, fs = ','[, rs = nil]]) -> CSV::StringReader | CSV形式の文字列を初期値として与えてインスタンスを生成します。

Private Instance Methods

Signature | Description
get_row(row) -> Fixnum | CSV 形式の文字列から1 行(row)分のデータを配列に変換し、row に出力する。

Inherited Methods

close each initialize shift terminate .create .parse == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class CSV::Writer

ancestors: CSV::Writer < Object < Kernel

Abstract

CSVの書き込み時のベースとなるクラス

Singleton Methods

Signature Description
create(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter

str_or_writable を書き込み先とする CSV::BasicWriter クラスのインスタンスを生成します。

generate(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter
generate(str_or_writable[, fs = ','[, rs = nil]]) { |row| ... } -> nil

str_or_writable を書き込み先とする CSV::BasicWriter クラスのインスタンスを生成し、書き込み先(str_or_writable)をブロックに渡します。

Instance Methods

Signature Description
self << row -> CSV::BasicWriter
add_row(row) -> CSV::BasicWriter

引数で渡されたデータを1行分としてCSVデータに追加します。

close -> nil

privateのterminateメソッドを呼び出します。

Private Instance Methods

Signature | Description
terminate -> nil | インスタンス破棄時処理が必要な場合に再定義してください。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library curses

Abstract

Ruby の curses ライブラリ(以下、Ruby curses)は、C のプログラムから端末 の画面を制御するための curses ライブラリ(以下、C curses)を利用して、端 末に依存しない形式でテキストユーザインタフェースを構築するためのライブ ラリです。

C curses には、次のような実装があります。

  • http://www.gnu.org/software/ncurses/ncurses.html
  • http://pdcurses.sourceforge.net/

Ruby curses を使ってテキストユーザインタフェース(以下、TUI)を 構築する流れは次のようになります。

  1. Curses.#init_screen で初期化を行います。
  2. Curses のモジュール関数を使い、 入力のエコーを無効にするなどの Ruby curses の設定を行います。
  3. Curses.#stdscr やそのサブウインドウを操作し、TUI を構築します。
  4. Curses.#getch や Curses.#getstr により、 ユーザからの入力を取得します。入力した情報に従って処理を行い、 そして、入力を待つということを繰り返します。
  5. 最後に Curses.#close_screen で終了処理を行います。

例: 画面中央に「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 を発生します。

Classes/Modules

module Curses | Curses モジュールや Curses::Window クラスは、curses ライブラリを利用して、 端末に依存しない形式でテキストユーザインタフェースを作成できます。 curses ライブラリとは、 C のプログラムから端末のディスプレイ画面を制御するためのライブラリのことで、 次のような実装があります。
module Curses::Key |
class Curses::MouseEvent | マウスの位置や状態などの情報を取得するためのクラスです。 ncurses を利用して curses ライブラリをインストールした場合にだけ、 本クラスが定義されています。
class Curses::Window |


module Curses

ancestors: Curses

Abstract

Curses モジュールや Curses::Window クラスは、curses ライブラリを利用して、 端末に依存しない形式でテキストユーザインタフェースを作成できます。 curses ライブラリとは、 C のプログラムから端末のディスプレイ画面を制御するためのライブラリのことで、 次のような実装があります。

  • http://pdcurses.sourceforge.net/
  • http://www.gnu.org/software/ncurses/ncurses.html

本モジュールを使ってテキストユーザインタフェースを作成する流れは次のようになります。

  1. Curses.#init_screen で初期化を行います。
  2. Curses のモジュール関数を使って、 入力のエコーを無効にするなどの curses の設定を行います。
  3. Curses.#stdscr で Curses::Window オブジェクトを取得し、 それを使ってインタフェースを構築する。
  4. Curses.#getch や Curses.#getstr により、 ユーザからの入力を取得します。入力した情報に従って処理を行い、 そして、入力を待つということを繰り返します。
  5. 最後に Curses.#close_screen で終了処理を行います。

例: 画面中央に「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 や ncurses をインストールしていない環境では、 本モジュールは利用できません。 利用できない場合、require の時点で以下のような例外が発生します。

foo:1:in `require': no such file to load -- bar (LoadError)
        from foo:1:in `<main>'

いくつかの操作において、サポートしていない環境では、 例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、ほとんどの操作で例外 SecurityError を発生します。

Module Functions

Signature Description
ESCDELAY -> Integer

ESC の入力を破棄する時間(ミリ秒単位)を取得します。

ESCDELAY=(val) -> Integer

ESC の入力を破棄する時間(ミリ秒単位)を val に設定します。 設定した値を返します。

TABSIZE -> Integer

タブ幅を取得します。

TABSIZE=(val) -> Integer

タブ幅を val に設定します。設定した値を返します。

addch(ch)

stdscr のカーソルの位置に ch (1 バイト) を上書きします。

addstr(str)

stdscr のカーソルの位置に文字列 str を挿入します。

attroff(attrs)
attron(attron)
attrset(attrs)
beep

音を出します。 この機能がないところでは単に無視されます。

bkgd(ch)
bkgdset(ch)
can_change_color?
cbreak -> nil
crmode -> nil

キーボード入力のバッファリングをやめ、ユーザの入力を即座に処理できるようにします。

clear -> nil

画面全体を表すウィンドウ stdscr の文字を消去し、画面をクリアします。 画面のクリアを反映させるために、 本メソッドのあとに Curses.#refresh を呼び出す必要はありません。

close_screen -> nil

curses の終了処理を行います。 端末の状態を復帰させ、カーソルを左端に移動させます。

closed? -> bool

curses が終了しているかどうかを返します。

clrtoeol
color_content(color)
color_pair(attr)
cols

画面に表示可能な桁数(バイト)を返します。 ただし実際にはもう 1 バイト少なくしか表示できないライブラリが あるようです。

curs_set(visibility)
def_prog_mode
delch
deleteln

stdscr のカーソルがある行を削除し、後の行を上に詰めます。

doupdate -> nil

画面全体を表すウィンドウ stdscr の表示を更新します。 Curses.#refresh 以上に能率良く更新処理を行います。

echo -> nil

ユーザの入力内容を画面に表示するようにします。 つまり、入力のエコーを有効にします。

flash

画面を一瞬点滅させます。 この機能がないところでは単に無視されます。

getch

標準入力から 1 バイト読み込みます。 戻り値は ASCII コードを表す整数です。

getmouse
getstr

標準入力から一行読み込みます。 戻り値は文字列です。

has_colors?
inch

stdscr のカーソル位置から 1 バイト読みとって返します。

init_color(color, r, g, b)
init_pair(pair, f, b)
init_screen -> Curses::Window
stdscr -> Curses::Window

端末の種類や curses に関するデータを初期化し、画面をクリアします。 stdscr と呼ばれる画面全体を表すウィンドウを返します。

insch(ch)

stdscr のカーソルの位置に ch (1 バイト) を挿入します。

insertln
keyname(c)
lines

画面に表示可能な行数を返します。

mouseinterval(interval)
mousemask(mask)
nl -> nil

cooked モードのとき、return キーの入力に対して LF (Ctrl-j) を返すようにします。

nocbreak -> nil
nocrmode -> nil

通常の端末のように、キーボード入力のバッファリングを有効にします。 ユーザの入力はエンターキーなどを押すまで処理できません。 この状態のことを「cooked」モードといいます。

noecho

ユーザの入力内容を画面に表示しないようにします。 つまり、入力のエコーを止めます。

nonl

cooked モードのとき、return キーの入力に対して CR (Ctrl-m) を返すようにします。

noraw -> nil

raw モードを抜け、通常の状態にします。 つまり、キーボード入力のバッファリングを行い、 割り込み(Ctrl-C)、サスペンド(Ctrl-Z) などの特殊キーの処理を行うようにします。

pair_content(pair)
pair_number(attrs)
raw -> nil

Curses.#cbreak と同様に、キーボード入力のバッファリングをやめ、 ユーザの入力を即座に処理できるようにします。なおかつ、 割り込み(Ctrl-C)、サスペンド(Ctrl-Z) などの特殊キーの処理をやめます。 この状態のことを「raw」モードといいます。

refresh -> nil

画面全体を表すウィンドウ stdscr の表示を更新します。

reset_prog_mode
resize(lin, col)
resizeterm(lin, col)
scrl(n)
setpos(y, x)

stdscr のカーソルを座標 (x,y) に移動します。 座標はともに 0 が始点です。

setscrreg(top, bottom)
standend

強調する文字の書き込みを終えます。

standout

以降書き込む文字を強調します。 「強調」は反転であることが多いようですが、 そう決められているわけではありません。

start_color
timeout=
ungetch(ch)

文字 ch (ASCII コードを示す整数) をストリームに戻します。

ungetmouse(mevent)
use_default_colors -> nil

前景色と背景色を端末のデフォルト値 (-1) に設定します。

Constants

Signature | Description
ALL_MOUSE_EVENTS |
A_ALTCHARSET |
A_ATTRIBUTES |
A_BLINK |
A_BOLD |
A_CHARTEXT |
A_COLOR |
A_DIM |
A_HORIZONTAL |
A_INVIS |
A_LEFT |
A_LOW |
A_NORMAL |
A_PROTECT |
A_REVERSE |
A_RIGHT |
A_STANDOUT |
A_TOP |
A_UNDERLINE |
A_VERTICAL |
BUTTON1_CLICKED |
BUTTON1_DOUBLE_CLICKED |
BUTTON1_PRESSED |
BUTTON1_RELEASED |
BUTTON1_TRIPLE_CLICKED |
BUTTON2_CLICKED |
BUTTON2_DOUBLE_CLICKED |
BUTTON2_PRESSED |
BUTTON2_RELEASED |
BUTTON2_TRIPLE_CLICKED |
BUTTON3_CLICKED |
BUTTON3_DOUBLE_CLICKED |
BUTTON3_PRESSED |
BUTTON3_RELEASED |
BUTTON3_TRIPLE_CLICKED |
BUTTON4_CLICKED |
BUTTON4_DOUBLE_CLICKED |
BUTTON4_PRESSED |
BUTTON4_RELEASED |
BUTTON4_TRIPLE_CLICKED |
BUTTON_ALT |
BUTTON_CTRL |
BUTTON_SHIFT |
COLOR_BLACK |
COLOR_BLUE |
COLOR_CYAN |
COLOR_GREEN |
COLOR_MAGENTA |
COLOR_RED |
COLOR_WHITE |
COLOR_YELLOW |
KEY_A1 |
KEY_A3 |
KEY_B2 |
KEY_BACKSPACE |
KEY_BEG |
KEY_BREAK |
KEY_BTAB |
KEY_C1 |
KEY_C3 |
KEY_CANCEL |
KEY_CATAB |
KEY_CLEAR |
KEY_CLOSE |
KEY_COMMAND |
KEY_COPY |
KEY_CREATE |
KEY_CTAB |
KEY_CTRL_A |
KEY_CTRL_B |
KEY_CTRL_C |
KEY_CTRL_D |
KEY_CTRL_E |
KEY_CTRL_F |
KEY_CTRL_G |
KEY_CTRL_H |
KEY_CTRL_I |
KEY_CTRL_J |
KEY_CTRL_K |
KEY_CTRL_L |
KEY_CTRL_M |
KEY_CTRL_N |
KEY_CTRL_O |
KEY_CTRL_P |
KEY_CTRL_Q |
KEY_CTRL_R |
KEY_CTRL_S |
KEY_CTRL_T |
KEY_CTRL_U |
KEY_CTRL_V |
KEY_CTRL_W |
KEY_CTRL_X |
KEY_CTRL_Y |
KEY_CTRL_Z |
KEY_DC |
KEY_DL |
KEY_DOWN |
KEY_EIC |
KEY_END |
KEY_ENTER |
KEY_EOL |
KEY_EOS |
KEY_EXIT |
KEY_F0 |
KEY_F1 |
KEY_F10 |
KEY_F11 |
KEY_F12 |
KEY_F13 |
KEY_F14 |
KEY_F15 |
KEY_F16 |
KEY_F17 |
KEY_F18 |
KEY_F19 |
KEY_F2 |
KEY_F20 |
KEY_F21 |
KEY_F22 |
KEY_F23 |
KEY_F24 |
KEY_F25 |
KEY_F26 |
KEY_F27 |
KEY_F28 |
KEY_F29 |
KEY_F3 |
KEY_F30 |
KEY_F31 |
KEY_F32 |
KEY_F33 |
KEY_F34 |
KEY_F35 |
KEY_F36 |
KEY_F37 |
KEY_F38 |
KEY_F39 |
KEY_F4 |
KEY_F40 |
KEY_F41 |
KEY_F42 |
KEY_F43 |
KEY_F44 |
KEY_F45 |
KEY_F46 |
KEY_F47 |
KEY_F48 |
KEY_F49 |
KEY_F5 |
KEY_F50 |
KEY_F51 |
KEY_F52 |
KEY_F53 |
KEY_F54 |
KEY_F55 |
KEY_F56 |
KEY_F57 |
KEY_F58 |
KEY_F59 |
KEY_F6 |
KEY_F60 |
KEY_F61 |
KEY_F62 |
KEY_F63 |
KEY_F7 |
KEY_F8 |
KEY_F9 |
KEY_FIND |
KEY_HELP |
KEY_HOME |
KEY_IC |
KEY_IL |
KEY_LEFT |
KEY_LL |
KEY_MARK |
KEY_MAX |
KEY_MESSAGE |
KEY_MIN |
KEY_MOUSE |
KEY_MOVE |
KEY_NEXT |
KEY_NPAGE |
KEY_OPEN |
KEY_OPTIONS |
KEY_PPAGE |
KEY_PREVIOUS |
KEY_PRINT |
KEY_REDO |
KEY_REFERENCE |
KEY_REFRESH |
KEY_REPLACE |
KEY_RESET |
KEY_RESIZE |
KEY_RESTART |
KEY_RESUME |
KEY_RIGHT |
KEY_SAVE |
KEY_SBEG |
KEY_SCANCEL |
KEY_SCOMMAND |
KEY_SCOPY |
KEY_SCREATE |
KEY_SDC |
KEY_SDL |
KEY_SELECT |
KEY_SEND |
KEY_SEOL |
KEY_SEXIT |
KEY_SF |
KEY_SFIND |
KEY_SHELP |
KEY_SHOME |
KEY_SIC |
KEY_SLEFT |
KEY_SMESSAGE |
KEY_SMOVE |
KEY_SNEXT |
KEY_SOPTIONS |
KEY_SPREVIOUS |
KEY_SPRINT |
KEY_SR |
KEY_SREDO |
KEY_SREPLACE |
KEY_SRESET |
KEY_SRIGHT |
KEY_SRSUME |
KEY_SSAVE |
KEY_SSUSPEND |
KEY_STAB |
KEY_SUNDO |
KEY_SUSPEND |
KEY_UNDO |
KEY_UP |
REPORT_MOUSE_POSITION |


module Curses::Key

ancestors: Curses::Key

Abstract

Constants

Signature | Description
A1 |
A3 |
B2 |
BACKSPACE |
BEG |
BREAK |
BTAB |
C1 |
C3 |
CANCEL |
CATAB |
CLEAR |
CLOSE |
COMMAND |
COPY |
CREATE |
CTAB |
DC |
DL |
DOWN |
EIC |
END |
ENTER |
EOL |
EOS |
EXIT |
F0 |
F1 |
F10 |
F11 |
F12 |
F13 |
F14 |
F15 |
F16 |
F17 |
F18 |
F19 |
F2 |
F20 |
F21 |
F22 |
F23 |
F24 |
F25 |
F26 |
F27 |
F28 |
F29 |
F3 |
F30 |
F31 |
F32 |
F33 |
F34 |
F35 |
F36 |
F37 |
F38 |
F39 |
F4 |
F40 |
F41 |
F42 |
F43 |
F44 |
F45 |
F46 |
F47 |
F48 |
F49 |
F5 |
F50 |
F51 |
F52 |
F53 |
F54 |
F55 |
F56 |
F57 |
F58 |
F59 |
F6 |
F60 |
F61 |
F62 |
F63 |
F7 |
F8 |
F9 |
FIND |
HELP |
HOME |
IC |
IL |
LEFT |
LL |
MARK |
MAX |
MESSAGE |
MIN |
MOUSE |
MOVE |
NEXT |
NPAGE |
OPEN |
OPTIONS |
PPAGE |
PREVIOUS |
PRINT |
REDO |
REFERENCE |
REFRESH |
REPLACE |
RESET |
RESIZE |
RESTART |
RESUME |
RIGHT |
SAVE |
SBEG |
SCANCEL |
SCOMMAND |
SCOPY |
SCREATE |
SDC |
SDL |
SELECT |
SEND |
SEOL |
SEXIT |
SF |
SFIND |
SHELP |
SHOME |
SIC |
SLEFT |
SMESSAGE |
SMOVE |
SNEXT |
SOPTIONS |
SPREVIOUS |
SPRINT |
SR |
SREDO |
SREPLACE |
SRESET |
SRIGHT |
SRSUME |
SSAVE |
SSUSPEND |
STAB |
SUNDO |
SUSPEND |
UNDO |
UP |


class Curses::MouseEvent

ancestors: Curses::MouseEvent < Object < Kernel

Abstract

マウスの位置や状態などの情報を取得するためのクラスです。 ncurses を利用して curses ライブラリをインストールした場合にだけ、 本クラスが定義されています。

本クラスのインスタンスを直接生成することはできません。 Curses.#getmouse で生成します。

なお、ncurses でマウスのイベントを取得できるようにするには、 いくつかの条件が必要なようです。 詳しくは man ページの curs_mouse(3X) の BUGS を参照ください。

例: クリックした位置などを取得する。

require "curses"

Curses.init_screen
begin
  Curses.cbreak
  Curses.stdscr.keypad(true)
  Curses.mousemask(Curses::BUTTON1_CLICKED | Curses::BUTTON2_CLICKED |
                   Curses::BUTTON3_CLICKED | Curses::BUTTON4_CLICKED)
  s = "Click"
  Curses.setpos(Curses.lines / 2, Curses.cols / 2 - (s.length / 2))
  Curses.addstr(s)
  Curses.refresh
  if Curses.getch == Curses::KEY_MOUSE
    m = Curses.getmouse
    if m
      s = "mouse event = #{'0x%x' % m.bstate}, axis = (#{m.x},#{m.y},#{m.z})"
      Curses.setpos(Curses.lines / 2 + 1, Curses.cols / 2 - (s.length / 2))
      Curses.addstr(s)
      Curses.refresh
    end
  end
ensure
  Curses.close_screen
end

Instance Methods

Signature | Description
bstate -> Integer | マウスのボタンがクリックされたとか、押しっぱなしといった状態を返します。
eid -> Integer | マウスを識別するための ID を返します。 複数のマウスを使用している場合に、それらを識別するために使用します。
x -> Integer | マウスのイベントが発生した文字の位置の X 座標を返します。
y -> Integer | マウスのイベントが発生した文字の位置の Y 座標を返します。
z -> Integer | マウスのイベントが発生した文字の位置の Z 座標を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Curses::Window

ancestors: Curses::Window < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(height, width, y, x) | 画面の座標 (x,y) を左上端とし、幅 width 高さ height とする curses のトップレベルウィンドウを 作成し、それを表現する Curses::Window オブジェクトを 返します。

Instance Methods

Signature Description
addstr(str)
self << str

ウィンドウのカーソル位置に文字列 str を上書きします。

addch(ch)

ウィンドウのカーソル位置に ch (1 バイト) を上書きします。

attroff(attrs)
attron(attrs)
attrset(attrs)
begx

親ウィンドウの中でウィンドウの左上がある x 座標を返します。 始点は 0 です。

begy

親ウィンドウの中でウィンドウの左上がある y 座標を返します。 始点は 0 です。

bkgd(ch)
bkgdset(ch)
box(ver_char, hor_char)

縦の線に ver_char、横の線に hor_char を使い ウィンドウに沿って箱を書きます。線は普通にウィンドウ内に 書かれるだけなので上書きしないよう注意してください。

clear

ウィンドウの表示を消去します。 この操作は即座に実行されます。

close

ウィンドウを閉じます。 以降のこのウィンドウオブジェクトに対する操作は例外を発生します。

clrtoeol(color)
color_set(color)
curx

ウィンドウ内におけるカーソルの桁番号を返します。 一桁目が 0 です。

cury

ウィンドウ内におけるカーソルの行番号を返します。 一行目が 0 です。

delch

ウィンドウのカーソル位置から 1 バイト消去します。

deleteln

ウィンドウの、カーソルがある行を消去します。

getbkgd
getch

ウィンドウへの入力から 1 バイト読みこみます。

getstr

ウィンドウへの入力から一行読みこみます。

idlok(bf)
inch

ウィンドウのカーソル位置から 1 バイト読みとって返します。

insch(ch)

ウィンドウのカーソル位置に ch (1 バイト) を挿入します。

insertln
keypad(val)
keypad=(val)
maxx

移動可能な最大の x 座標を返します。 表示可能なバイト数 + 1 です。

maxy

移動可能な最大の y 座標を返します。 表示可能な行 + 1 です。

move(y, x)

ウィンドウを (x,y) に移動します。

nodelay=(val)
noutrefresh
refresh

ウィンドウの表示を更新します。

resize(lin, col)
scrl(n)
scroll
scrollok(bf)
setpos(y, x)

ウィンドウ内の (x,y) にカーソルを移動します。

setscrreg(top, bottom)
standend

強調書き込みを終了します。

standout

以後書き込む文字を強調表示します。

subwin(height, width, y, x)

画面の座標 (x,y) を左上端とし、幅 width 高さ height とするサブウィンドウを作成し、 それを表現する Curses::Window オブジェクトを返します。

timeout=(delay)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library date

Abstract

日付をあつかうためのライブラリです。

Classes/Modules

class Date | 日付だけでなく時刻も扱える Date のサブクラス DateTime も利用できます。
class DateTime | 日付だけでなく時刻も扱える Date のサブクラスです。


class Date

ancestors: Date < Comparable < Object < Kernel

Abstract

日付だけでなく時刻も扱える Date のサブクラス DateTime も利用できます。

簡単なつかいかた

require 'date'

a = Date.new(1993, 2, 24)
b = Date.parse('1993-02-24')
b += 10

b - a            #=> 10
b.year           #=> 1993
b.strftime('%a') #=> "Sat"

yesterday = Date.today - 1

用語の定義

いくつか用語の定義は、[[ISO:8601]]、および [[JIS:X 0301]] に基づきます。

暦日付

暦日付は、暦年、暦月、および暦月の中の序数によって 指定される特定の日の日付です。

つまり、ごく当たり前の年月日による日付です。

年間通算日 (年日付)

年間通算日 (年日付) は、暦年、および暦年の中の序数によって指定される 特定の日の日付です。

暦週日付

暦週日付は、暦週と暦年中の序数による日付です。

暦週は、暦年中の序数によって指定される特定の7日の期間であり、月曜から 始まります。その年の第1暦週は、最初の木曜日を含む週とします。これは、 1月4日を含む週と同じです。

ユリウス日

ユリウス日は紀元前4713年1月1日 (ユリウス暦) 正午 (グリニッジ平均時) を 暦元とした通日 (経過日数) です。

この文書で、天文学的なユリウス日とは、本来のユリウス日と同じものです。 また、年代学的なユリウス日とは、地方時における零時を一日の始まりとする 流儀です。

この文書で、単に「ユリウス日」といった場合、それは本来のユリウス日でな く、「年代学的なユリウス日」を意味しています。

修正ユリウス日

修正ユリウス日は西暦1858年11月17日 (グレゴリオ暦) 正子/零時 (協定世界時) を 暦元とした通日 (経過日数) です。

この文書で、天文学的な修正ユリウス日とは、本来の修正ユリウス日と同じも のです。また、年代学的な修正ユリウス日とは、地方時における零時を一日の 始まりとする流儀です。

この文書で、単に「修正ユリウス日」といった場合、それは本来の修正ユリウ ス日でなく、「年代学的な修正ユリウス日」を意味しています。

Singleton Methods

Signature Description
_parse(str, complete = false) -> Hash

このメソッドは Date.parse と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

_strptime(str, format = '%F') -> Hash

このメソッドは Date.strptime と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

civil(year = -4712, mon = 1, mday = 1, start = Date::ITALY) -> Date
new(year = -4712, mon = 1, mday = 1, start = Date::ITALY) -> Date

暦日付に相当する日付オブジェクトを生成します。

commercial(cwyear = 1582, cweek = 41, cwday = 5, start = Date::ITALY) -> Date

暦週日付に相当する日付オブジェクトを生成します。

gregorian_leap?(year) -> bool
leap?(year) -> bool

グレゴリオ暦の閏年なら真を返します。

jd(jd = 0, start = Date::ITALY) -> Date

ユリウス日に相当する日付オブジェクトを生成します。

julian_leap?(year) -> bool

ユリウス暦の閏年なら真を返します。

ordinal(year = -4712, yday = 1, start = Date::ITALY) -> Date

年間通算日 (年日付) に相当する日付オブジェクトを生成します。

parse(str = '-4712-01-01', complete = false, start = Date::ITALY) -> Date

与えられた日付表現を解析し、 その情報に基づいて日付オブジェクトを生成します。

strptime(str = '-4712-01-01', format = '%F', start = Date::ITALY) -> Date

与えられた雛型で日付表現を解析し、 その情報に基づいて日付オブジェクトを生成します。

today(start = Date::ITALY) -> Date

現在の日付に相当する日付オブジェクトを生成します。

valid_civil?(year, mon, mday, start = Date::GREGORIAN) -> Numeric | nil
valid_date?(year, mon, mday, start = Date::GREGORIAN) -> Numeric | nil

正しい暦日付であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

valid_commercial?(cwyear, cweek, cwday, start = Date::GREGORIAN) -> Numeric | nil

正しい暦週日付であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

valid_jd?(jd, start = Date::GREGORIAN) -> Numeric | nil

ひとつ目の引数をそのまま返します。

valid_ordinal?(year, yday, start = Date::GREGORIAN) -> Numeric | nil

正しい年間通算日 (年日付) であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

Instance Methods

Signature Description
self + n -> Date

self から n 日後の日付オブジェクトを返します。 n は数値でなければなりません。

self - x -> Rational | Date

x が日付オブジェクトなら、ふたつの差を返します。 あるいは x が数値ならば、self より x 日前の日付を返します。

self << n -> Date

self より n ヶ月前の日付オブジェクトを返します。 n は数値でなければなりません。

self <=> other -> Integer

ふたつを比較し、-1、零、あるいは 1 を返します。 other は日付オブジェクトか、 天文学的なユリウス日をあらわす数値でなければなりません。

self === other -> bool

同じ日なら真を返します。

self >> n -> Date

self から n ヶ月後の日付オブジェクトを返します。 n は数値でなければなりません。

ajd -> Rational

このメソッドは Date#jd と似ていますが、天文学的なユリウス日を返します。 時刻を含みます。

amjd -> Rational

このメソッドは Date#mjd と似ていますが、天文学的な修正ユリウス日を返します。 時刻を含みます。

asctime -> String
ctime -> String

asctime(3) 書式の文字列を返します (ただし、末尾の "\n\0" は除く)。

cwday -> Integer

暦週の日 (曜日) を返します (1-7、月曜は1)。

cweek -> Integer

暦週を返します (1-53)。

cwyear -> Integer

暦週における年を返します。

mday -> Integer
day -> Integer

月の日を返します (1-31)。

downto(min) {|date| ...} -> self

このメソッドは、step(min, -1){|date| ...} と等価です。

england -> Date

このメソッドは、new_start(Date::ENGLAND) と等価です。

gregorian -> Date

このメソッドは、new_start(Date::GREGORIAN) と等価です。

gregorian? -> bool

グレゴリオ暦なら真を返します。

italy -> Date

このメソッドは、new_start(Date::ITALY) と等価です。

jd -> Integer

ユリウス日を返します。 時刻を含みません。

julian -> Date

このメソッドは、new_start(Date::JULIAN) と等価です。

julian? -> bool

ユリウス暦なら真を返します。

ld -> Integer

リリウス日を返します。

leap? -> bool

閏年なら真を返します。

mjd -> Integer

修正ユリウス日を返します。 時刻の情報を含みません。

mon -> Integer
month -> Integer

月を返します (1-12)。

new_start(start = Date::ITALY) -> Date

self を複製して、その改暦日を設定しなおします。 引数を省略した場合は、Date::ITALY (1582年10月15日) になります。

succ -> Date
next -> Date

翌日の日付オブジェクトを返します。

start -> Integer

改暦日をあらわすユリウス日を返します。

step(limit, step = 1) {|date| ...} -> self

ブロックの評価を繰り返します。ブロックは日付オブジェクトをとります。 limit は日付オブジェクトでなければなりません、 また step は非零でなければなりません。

strftime(format = '%F') -> String

与えられた雛型で日付を書式づけます。

to_s -> String

[[ISO:8601]] 書式の文字列を返します (拡大表記はつかいません)。

upto(max) {|date| ...} -> self

このメソッドは、step(max, 1){|date| ...} と等価です。

wday -> Integer

曜日を返します (0-6、日曜日は零)。

yday -> Integer

年の日を返します (1-366)。

year -> Integer

年を返します。

Constants

Signature | Description
ENGLAND | 英国がグレゴリオ暦をつかい始めた日 (1752年9月14日) をあらわすユリウス日です。 この "ENGLAND" の名前は、旧い UNIX の cal(1) の記述に由来します。
GREGORIAN | 常にグレゴリオ暦であることを示します。 改暦日は無限の過去にあると考えられます。
ITALY | 伊国がグレゴリオ暦をつかい始めた日 (1582年10月15日) をあらわすユリウス日です。
JULIAN | 常にユリウス暦であることを示します。 改暦日は無限の未来にあると考えられます。

Inherited Methods

< <= == > >= between? =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class DateTime

ancestors: DateTime < Date < Comparable < Object < Kernel

Abstract

日付だけでなく時刻も扱える Date のサブクラスです。

簡単なつかいかた

require 'date'

a = DateTime.new(1993, 2, 24, 12, 30, 45)
b = DateTime.parse('1993-02-24T12:30:45')
b += 10

b - a            #=> 10
b.year           #=> 1993
b.strftime('%a') #=> "Sat"

yesterday = DateTime.now - 1

Singleton Methods

Signature Description
civil(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
new(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

暦日付に相当する日時オブジェクトを生成します。

commercial(cwyear = 1582, cweek = 41, cwday = 5, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

暦週日付に相当する日時オブジェクトを生成します。

jd(jd = 0, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

ユリウス日に相当する日時オブジェクトを生成します。

now(start = Date::ITALY) -> DateTime

現在の時刻に相当する日時オブジェクトを生成します。

ordinal(year = -4712, yday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

年日付に相当する日時オブジェクトを生成します。

today(start = Date::ITALY) -> Date

このクラスでは利用できません。

Instance Methods

Signature | Description
hour -> Integer | 時間を返します (0-23)。
min -> Integer | 分を返します (0-59)。
new_offset(offset = 0) -> DateTime | self を複製して、その時差を設定しなおします。 引数を省略した場合は、零 (協定世界時) になります。
offset -> Rational | 時差を返します。
sec -> Integer | 秒を返します (0-59)。
zone -> String | タイムゾーンを返します。

Inherited Methods

< <= == > >= between? + - << <=> === >> ajd amjd asctime cwday cweek cwyear day downto england gregorian gregorian? italy jd julian julian? ld leap? mjd mon new_start next start step strftime to_s upto wday yday year ._parse ._strptime .gregorian_leap? .julian_leap? .parse .strptime .valid_civil? .valid_commercial? .valid_jd? .valid_ordinal? ::ENGLAND ::GREGORIAN ::ITALY ::JULIAN =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library date2

library date2

Abstract

このライブラリは date に置き換えられました


library dbm

Abstract

DBM を Ruby スクリプトから扱えるようにするライブラリです。

扱えるキーや値のサイズはリンクしているライブラリに依存します。

@see gdbm, sdbm, dbm

Classes/Modules

class DBM

NDBM ファイルをアクセスするクラス。

Exception Classes

class DBMError

DBM 内部で使用する例外クラスです。


class DBM

ancestors: DBM < Enumerable < Object < Kernel

Abstract

NDBM ファイルをアクセスするクラス。

キー、データともに文字列でなければならないという制限と、データがファイルに 保存されるという点を除いては Hash クラスと全く同様に扱うことができます。

Singleton Methods

Signature Description
open(dbname, mode = 0666, flags = nil) -> DBM
open(dbname, mode = 0666, flags = nil) {|db| ... } -> ()

dbname で指定したデータベースをモードを mode に設定してオープンします。

Instance Methods

Signature Description
self[key] -> String

key をキーとする値を返します。

self[key] = value

key をキーとして、value を格納します。 value として nil を指定すると、key に対する要素を削除します。

clear -> self

DBM ファイルを空にします。

close -> nil

DBM ファイルをクローズします。以後の操作は例外を発生させます。

closed? -> bool

DBM ファイルが既に閉じられているか調べます。

delete(key) -> String

key をキーとする要素を削除します。

reject! { |key, value| ... } -> self
delete_if { |key, value| ... } -> self

ブロックを評価した値が真であれば該当する要素を削除します。

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

各要素に対するイテレータ。

each_key {|key| ... } -> self

全ての key に対して繰り返すイテレータ。

each_value {|value| ... } -> self

全ての value に対して繰り返すイテレータ。

empty?() -> bool

データベースが空の時、真を返します。

fetch(key, ifnone = nil) -> String

データベースからキーを探して対応する要素の値を返します。

has_key?(key) -> bool
key?(key) -> bool
include?(key) -> bool
member?(key) -> bool

key がデータベース中に存在する時、真を返します。

has_value?(value) -> bool
value?(value) -> bool

value を値とする組がデータベース中に存在する時、真を返します。

index(value) -> String | nil

value を持つ要素のキーを返します。

indexes(*keys) -> [String]
indices(*keys) -> [String]

各引数の値をキーとする要素の値を含む配列を返します。

invert -> Hash

値からキーへのハッシュを返します。

keys -> [String]

データベース中に存在するキー全てを含む配列を返します。

length -> Integer
size -> Integer

データベース中の要素の数を返します。

reject { |key, value| ... } -> Hash

ブロックを評価した値が真であれば該当する要素を削除します。

replace(other) -> self

self の内容を other の内容で置き換えます。

select {|key, value| ... } -> [Array]

ブロックを評価して真になった要素のみを配列に格納して返します。

shift -> String

データベース中の要素を一つ取り出し、データベースから削除します。

store(key, value) -> String

key に対して value を格納します。

to_a -> [Array]

キーと値のペアを配列に変換して返します。

to_hash -> Hash

self をハッシュに変換して返します。

update(other) {|key, value| ... } -> self

self と other の内容をマージします。

values -> [String]

データベース中に存在する値全てを含む配列を返します。

values_at(*keys) -> [String]

keys に対応する値を配列に格納して返します。

Constants

Signature | Description
NEWDB | 書き込みモードで、すでにファイルが存在したら削除して作り直します．
READER | 読み込みモードでオープンします．
VERSION | libdbm のバージョンを表す文字列です。
WRCREAT | 書き込みモードで、すでにファイルが存在しなかったら作ります．
WRITER | 書き込みモードでオープンします．

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by inject max max_by min min_by minmax minmax_by none? one? partition sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class DBMError

ancestors: DBMError < StandardError < Exception < Object < Kernel

Abstract

DBM 内部で使用する例外クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library debug

Abstract

Ruby デバッガです。Ruby スクリプトのソースコードデバッグに使用します。

また、Emacs を使用したインタフェース rubydb[23]x.el が Ruby のアーカイブの misc/ にあるので、活用してください。 rubydb2x.el は Emacs 19.2x 以前用、 rubydb3x.el は Emacs 19.3x 以降用です。

使い方

$ ruby -rdebug foo.rb

または、Emacs から

M-x load-library rubydb3x.el
M-x rubydb

デバッグコマンド

以下は、デバッガで使用できるコマンド名とその用法の一覧です。 各コマンド名には省略形があります。

ここに挙げたもの以外を入力した場合、その入力を ruby の式として評価します。

break
break [<file>:]<position>|<class>:<method>

ブレークポイントを設定します。引数を省略した場合設定したブレークポ イントを表示します。

設定するブレークポイントの書式は プログラムファイル名:位置 か クラス名:メソッド名 です。 位置 はファイル中の行番号もしくはメソッド名で指定します。 ファイル名: を省略した場合は現在実行中のファイルを指定した ものと見倣されます。

このコマンドの省略形は b です。

catch <an Exception>

例外が発生した時にデバッガを停止させるキャッチポイントを設定します。 引数を省略した場合設定したキャッチポイントを表示します。

発生した例外が <an Exception> のサブクラスであれば デバッガが停止します。デフォルトのキャッチポイントは StandardErrorに設定されています。

<an Exception>として off を指定すると 例外発生時に停止しなくなります。

このコマンドの省略形は cat です。

watch <expression>

式 <expression> の値が変化したときに停止するウォッ チポイントを設定します。

このコマンドの省略形は wat です。

delete [nnn]

指定したブレークポイントを取り除きます。引数を省略した場合すべての ブレークポイントを取り除きます。

このコマンドの省略形は del です。

display <expression>

処理が停止するごとに <expression> を評価するディス プレイ式を設定します。 引数を省略した場合すべてのディスプレイ式を表示します。

このコマンドの省略形は disp です。

undisplay <nnn>

指定したディスプレイ式を取り除きます。引数を省略した場合すべての ディスプレイ式を取り除きます。

このコマンドの省略形は undisp です。

cont

スクリプトが終了するまで、もしくは次のブレークポイントに到達するま で処理を続行します。

このコマンドの省略形は c です。

step [nnn]

一行ずつ処理を実行します。引数を指定した場合、指定した行数分、処理を 続行します。メソッドの中に入ります。

このコマンドの省略形は s です。

next [nnn]

一行ずつ処理を実行します。引数を指定した場合、指定した行数分、処理を 続行します。step [nnn]との違いは、メソッド呼び出しのところでそのメ ソッドの中に入らないことです。

このコマンドの省略形は n です。

where
frame

フレームのスタックと、現在のフレーム位置を表示します。

このコマンドの省略形は w または f です。

list [(-|nn-mm)]

スクリプトを表示します。引数が `-' ならば前の行を表示します。 nn-mm の形式では指定した範囲の行のスクリプトを表示します。

このコマンドの省略形は l です。

up [nn]

上位のフレームに上がります。

down [nn]

下位のフレームに下がります。

finish

外側のフレームに上がるまで処理を続行します。

このコマンドの省略形は fin です。

trace [(on|off)]

トレースモードの設定を変更します。トレースモードをonにすると、以後 の実行においてメソッドの呼び出し関係が表示されます。引数を省略した 場合現在のモードを表示します。

このコマンドの省略形は tr です。

quit

スクリプトを中断し、デバッガを終了します。

このコマンドの省略形は q です。

var g[lobal]
var l[ocal]
var i[nstance] <object>
var c[onst] <object>

それぞれ、グローバル変数、ローカル変数、オブジェクト<object>の インスタンス変数、<object>の定数を表示します。

このコマンドの省略形は v です。

method i[nstance] <object>
method <class|module>

それぞれ、オブジェクト<object>のインスタンスメソッド クラスメソッド または モジュールメソッドを表示します。

このコマンドの省略形は m です。

thread l[ist]

スレッドの一覧を表示します。

このコマンドの省略形は th です。

thread c[ur[rent]]

現在のスレッドを表示します。

thread <nnn>
thread sw[itch] <nnn>

実行するスレッドを <nnn> に切替えます。

thread stop <nnn>
thread c[ur[rent]] <nnn>

スレッド <nnn> を停止します。

thread resume <nnn>

スレッド <nnn> を再開します。

p <expression>

ruby の式 <expression> の結果を表示します。

help

デバッグコマンドの一覧を表示します。

このコマンドの省略形は h です。


library delegate

Abstract

メソッドの委譲 (delegation) を行うためのライブラリです。

Delegator クラスは指定したオブジェクトにメソッドの実行を委譲します。 Delegator クラスを利用する場合はこれを継承して Delegator#__getobj__ メソッドを再定義して委譲先のオブジェクトを指定します。

SimpleDelegator は Delegator の利用例の一つであり、 コンストラクタに渡されたオブジェクトにメソッドの実行を委譲します。

Kernel#DelegateClass は 引数で渡されたクラスのインスタンスをひとつとり、 そのオブジェクトにインスタンスメソッドを委譲するクラスを定義して返します。

参考

  • Rubyist Magazine - 標準添付ライブラリ紹介【第 6 回】委譲 http://jp.rubyist.net/magazine/?0012-BundledLibraries

Classes/Modules

class Delegator | サブクラスにメソッド委譲の仕組みを提供する抽象クラス。
class SimpleDelegator | Delegator クラスを継承し、シンプルなメソッド委譲を実現した具象クラス。

Added/Redefined Methods

Kernel#DelegateClass


class Delegator

ancestors: Delegator < Object < Kernel

Abstract

サブクラスにメソッド委譲の仕組みを提供する抽象クラス。

メソッド委譲を行う場合は、本クラスを継承しDelegator#__getobj__を再定義する必要があります。

具体的な使用例については、SimpleDelegatorを参照してください。

Instance Methods

Signature | Description
__getobj__ -> object | 委譲先のオブジェクトを返します。
marshal_dump -> object | シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。
marshal_load(obj) -> object | シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
method_missing(m, *args) -> object | 渡されたメソッド名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。
respond_to?(m) -> bool | Delegator#__getobj__ が返すオブジェクトが メソッド m を持つとき真を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class SimpleDelegator

ancestors: SimpleDelegator < Delegator < Object < Kernel

Abstract

Delegator クラスを継承し、シンプルなメソッド委譲を実現した具象クラス。

委譲先に指定されたオブジェクトへメソッドの実行を委譲します。

例:

require 'delegate'

foo = Object.new
def foo.test
  p 25
end
foo2 = SimpleDelegator.new(foo)
foo2.test   # => 25

Singleton Methods

Signature | Description
new(obj) -> object | メソッドを委譲するオブジェクトの設定と、 メソッド委譲を行うためのクラスメソッドの定義を行います。

Instance Methods

Signature Description
__getobj__ -> object

委譲先のオブジェクトを返します。

__setobj__(obj) -> object

委譲先のオブジェクトを obj に変更します。

clone -> object
dup(obj) -> object

オブジェクトの複製を作成して返します。 dupの引数objについては、[ruby-list:44914]にて問題があることが報告されています。

Inherited Methods

marshal_dump marshal_load method_missing respond_to? == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library digest

Abstract

メッセージダイジェストライブラリ。

Digest::MD5 や Digest::SHA1 などの 全てのメッセージダイジェストの実装クラスは、 基底クラスである Digest::Base と同じインタフェースを持ちます。 基本的な使い方は、MD5やSHA1など、どのアルゴリズムでも同じです。 詳しくは Digest::Base を参照してください。

なお、「メッセージダイジェスト」とは、 データから固定長の疑似乱数を生成する演算手法のことです。

Classes/Modules

module Digest |
class Digest::Base | すべての Digest::XXX クラスの基底クラス。
class Digest::Class |
module Digest::Instance |
class Digest::MD5 | RFC1321に記述されているRSA Data Security, Inc. の MD5 Message-Digest Algorithmを実装するクラス。
class Digest::RMD160 | Hans Dobbertin, Antoon Bosselaers, Bart Preneel によって設計された RIPEMD-160 ハッシュ関数を実装するクラス。
class Digest::SHA1 | NIST (the US' National Institute of Standards and Technology) の SHA-1 Secure Hash Algorithmを実装するクラス。 FIPS PUB 180-1に記述されている.
class Digest::SHA2 |
class Digest::SHA256 | FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-256 Secure Hash Algorithmを 実装するクラス。
class Digest::SHA384 | FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-384 Secure Hash Algorithmを 実装するクラス。
class Digest::SHA512 | FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-512 Secure Hash Algorithmを 実装するクラス。

Required Libraries

digest | メッセージダイジェストライブラリ。
digest/md5 |
digest/rmd160 |
digest/sha1 |
digest/sha2 |

Sub-Libraries

digest/bubblebabble

Added/Redefined Methods

Kernel#Digest


module Digest

ancestors: Digest

Abstract

Module Functions

Signature | Description
hexencode(string) -> String | 与えられた文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。

Added Methods

Signature | Description | Library
bubblebabble(string) | Returns a BubbleBabble encoded version of a given string. | digest/bubblebabble


class Digest::Base

ancestors: Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

すべての Digest::XXX クラスの基底クラス。

例えば、MD5 値を得るには以下のようにする。

require 'digest/md5'

p Digest::MD5.hexdigest('abc')               #=> '900150983cd24fb0d6963f7d28e17f72'
p Digest::MD5.file('ruby-1.8.5.tar.gz').to_s #=> '3fbb02294a8ca33d4684055adba5ed6f'

すべての Digest::XXX クラスは以下の共通インタフェースを持つ。

Singleton Methods

Signature | Description
digest(str) | 与えられた文字列に対するハッシュ値を文字列で返す。 new(str).digest と等価。
file(path) -> object | 新しいダイジェストオブジェクトを生成し、 ファイル名 file で指定したファイルの内容を読み込み、 そのダイジェストオブジェクトを返します。
hexdigest(str) | 与えられた文字列に対するハッシュ値を、ASCIIコードを使って 16進数の列を示す文字列にエンコードして返す。 new(str).hexdigest と等価。
new | 新しいダイジェストオブジェクトを生成する。

Instance Methods

Signature Description
update(str)
self << str

文字列を追加する。self を返す。 複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと等しい。 すなわち m.update(a); m.update(b) は m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価 である。

self == md

与えられたダイジェストオブジェクトと比較する。

self == str

与えられた文字列を hexdigest 値と見て、自身の hexdigest 値と比較する。

block_length -> Integer

ダイジェストのブロック長を取得します。 例えば、Digest::MD5であれば64、Digest::SHA512であれば128です。

dup
clone

ダイジェストオブジェクトの複製を作る。

digest -> String

updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。

digest! -> String

updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。 Digest::Base#digestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。

digest_length -> Integer
length -> Integer
size -> Integer

ダイジェストのハッシュ値のバイト長を取得する。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。

file(path) -> self

ファイル名 file で指定したファイルの内容を読み込んでダイジェストを更新し、 オブジェクト自身を返します。

hexdigest -> String
to_s -> String

updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返す。

hexdigest! -> String

updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。 Digest::Base#hexdigestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。

reset -> self

オブジェクトの状態を初期状態(newした直後と同様の状態)に戻し、 オブジェクト自身を返します。

Inherited Methods

=== =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Digest::Class

ancestors: Digest::Class < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


Ruby 1.8.7 Reference Manual > All Libraries > library digest > module Digest::Instance

module Digest::Instance

ancestors: Digest::Instance

Abstract


library digest/bubblebabble

Abstract

Required Libraries

digest | メッセージダイジェストライブラリ。
digest/md5 |
digest/rmd160 |
digest/sha1 |
digest/sha2 |

Added/Redefined Methods

Digest.#bubblebabble


library digest/md5

Abstract

Classes/Modules

class Digest::MD5

RFC1321に記述されているRSA Data Security, Inc. の MD5 Message-Digest Algorithmを実装するクラス。

Required Libraries

digest | メッセージダイジェストライブラリ。
digest/md5 |
digest/rmd160 |
digest/sha1 |
digest/sha2 |


class Digest::MD5

ancestors: Digest::MD5

      < Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

RFC1321に記述されているRSA Data Security, Inc. の MD5 Message-Digest Algorithmを実装するクラス。

Singleton Methods

Signature Description
new([str])
digest(str)
hexdigest(str)

Digest::Base のページを参照のこと。

Instance Methods

Signature Description
dup
clone
digest
hexdigest
to_s
update(str)
self << str
self == md
self == str

Digest::Base のページを参照のこと。

Inherited Methods

block_length digest! digest_length file hexdigest! reset .file === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library digest/rmd160

Abstract

Classes/Modules

class Digest::RMD160

Hans Dobbertin, Antoon Bosselaers, Bart Preneel によって設計された RIPEMD-160 ハッシュ関数を実装するクラス。

Required Libraries

digest | メッセージダイジェストライブラリ。
digest/md5 |
digest/rmd160 |
digest/sha1 |
digest/sha2 |


class Digest::RMD160

ancestors: Digest::RMD160

      < Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

Hans Dobbertin, Antoon Bosselaers, Bart Preneel によって設計された RIPEMD-160 ハッシュ関数を実装するクラス。

Singleton Methods

Signature Description
new([str])
digest(str)
hexdigest(str)

Digest::Base のページを参照のこと。

Instance Methods

Signature Description
dup
clone
digest
hexdigest
to_s
update(str)
self << str
self == md
self == str

Digest::Base のページを参照のこと。

Inherited Methods

block_length digest! digest_length file hexdigest! reset .file === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library digest/sha1

Abstract

Classes/Modules

class Digest::SHA1

NIST (the US' National Institute of Standards and Technology) の SHA-1 Secure Hash Algorithmを実装するクラス。 FIPS PUB 180-1に記述されている.

Required Libraries

digest | メッセージダイジェストライブラリ。
digest/md5 |
digest/rmd160 |
digest/sha1 |
digest/sha2 |


class Digest::SHA1

ancestors: Digest::SHA1

      < Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

NIST (the US' National Institute of Standards and Technology) の SHA-1 Secure Hash Algorithmを実装するクラス。 FIPS PUB 180-1に記述されている.

Inherited Methods

<< == block_length clone digest digest! digest_length file hexdigest hexdigest! reset .digest .file .hexdigest .new === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library digest/sha2

Abstract

Classes/Modules

class Digest::SHA2 |
class Digest::SHA256 | FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-256 Secure Hash Algorithmを 実装するクラス。
class Digest::SHA384 | FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-384 Secure Hash Algorithmを 実装するクラス。
class Digest::SHA512 | FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-512 Secure Hash Algorithmを 実装するクラス。

Required Libraries

digest | メッセージダイジェストライブラリ。
digest/md5 |
digest/rmd160 |
digest/sha1 |
digest/sha2 |


class Digest::SHA2

ancestors: Digest::SHA2 < Digest::Class < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(bitlen = 256) | Creates a new SHA2 hash object with a given bit length.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Digest::SHA256

ancestors: Digest::SHA256

      < Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-256 Secure Hash Algorithmを 実装するクラス。

Inherited Methods

<< == block_length clone digest digest! digest_length file hexdigest hexdigest! reset .digest .file .hexdigest .new === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Digest::SHA384

ancestors: Digest::SHA384

      < Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-384 Secure Hash Algorithmを 実装するクラス。

Inherited Methods

<< == block_length clone digest digest! digest_length file hexdigest hexdigest! reset .digest .file .hexdigest .new === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Digest::SHA512

ancestors: Digest::SHA512

      < Digest::Base

      < Digest::Instance

      < Digest::Class

      < Object

      < Kernel

Abstract

FIPS PUB 180-2に記述されているNIST (the US' National Institute of Standards and Technology) の SHA-512 Secure Hash Algorithmを 実装するクラス。

Inherited Methods

<< == block_length clone digest digest! digest_length file hexdigest hexdigest! reset .digest .file .hexdigest .new === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library dl

Abstract

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

Ruby/DL は、UNIX の dlopen(3) や Windows の LoadLibrary() などの ダイナミックリンカへのインタフェースを提供します。

Using Ruby/DL

通常は、DL::Importable モジュールを使用します。 これは DL モジュールの便利なラッパーです。 ある Ruby のモジュールを拡張するには以下のように使用します。

require "dl/import"
module LIBC
  extend DL::Importable
end

以後、このモジュールの dlload と extern メソッドを使用できます。 以下のように dlload 使ってライブラリをロードし、 それぞれのライブラリ関数に対して extern を使用することで ラッパーメソッドを定義します。

module LIBC
  extend DL::Importable
  dlload "libc.so.6","libm.so.6"
  extern "int strlen(char*)"
end
# Note that we should not include the module M from some reason.

p LIBC.strlen('abc') #=> 3

LIBC.strlen を使用することで、ライブラリ関数 strlen() を使用できます。 与えられた関数名の最初の文字が大文字なら、 定義されるメソッド名の最初の文字は小文字になります。

構造体を扱う

構造体も扱うことができます。たとえば gettimeofday(2) を使って現在時刻を得たい場合は以下のとおりです。

require 'dl/import'
module LIBC
  extend DL::Importable
  dlload "libc.so.6"
  extern('int gettimeofday(void *, void *)')
end

timeval = DL.malloc(DL.sizeof('LL'))
timeval.struct!('LL', :tv_sec, :tv_usec)

e = LIBC.gettimeofday(timeval, nil)
if e == 0
 p timeval[:tv_sec] #=> 1173519547
end

構造体や共用体の作成には、以下のように dl/struct で定義されている DL::Importable::Internal#struct メソッドや DL::Importable::Internal#union メソッドを使用することもできます。

require 'dl/import'
require "dl/struct"

module LIBC
  extend DL::Importable
  dlload "libc.so.6"
  extern('int gettimeofday(void *, void *)')
  Timeval = struct ["long tv_sec", "long tv_usec"]
end

timeval = LIBC::Timeval.malloc # allocate memory.

e = LIBC.gettimeofday(timeval, nil)
if e == 0
 p timeval.tv_sec #=> 1173519547
end

上の例で、メモリの割り当てに LIBC::Timeval.new ではなく、
LIBC::Timeval.malloc を使用していることに注意してください。
LIBC::Timeval.new は作成済みの PtrData オブジェクトをラップするためのものです。

コールバック

以下のように モジュール関数 callback を使用したコールバックを定義できます。

require 'dl/import'
module M
  extend DL::Importable
  dlload "libc.so.6"

  COMPARE = DL.callback('IPP'){|ptr1, ptr2|
    str1 = ptr1.ptr.to_s
    str2 = ptr2.ptr.to_s
    ret = str1[-1] <=> str2[-1]
  }
  extern 'void qsort(void *, int, int, void *)'
end

a = ['1b', '2a', '3c']
ap = a.to_ptr
M.qsort(ap, a.size, DL.sizeof('P'), M::COMPARE)
p ap.to_a('P').map{|s| s.to_s } #=> ["2a", "1b", "3c"]

ここで M::COMPARE は、ブロックを呼ぶ DL::Symbol オブジェクトです。

DL::Importable モジュールはとても便利です。 しかし、ときにはdlsym() のような低レベル関数を 直接使わなければならない場面に遭遇します。 このような場合には DL モジュールの関数を使用することになるでしょう。 これについては DL で説明します。

Classes/Modules

module DL | UNIX の dlopen(3) や Windows の LoadLibrary() などのダイナミックリンカへの低レベルな インターフェースを提供するモジュールです。
class DL::Handle | オープンされたダイナミックライブラリを表すクラスです。 dlopen(3) が返すハンドラーのラッパーです。
module DL::MemorySpace |
class DL::PtrData | メモリ領域を表すクラスです。C 言語のポインタに相当します。
class DL::Symbol | ダイナミックライブラリの関数を表すクラスです。

Exception Classes

class DL::DLError | DL に関する一般的なエラーが発生したときに投げられます。
class DL::DLTypeError | 型に関するエラーが発生したときに投げられます。

Sub-Libraries

dl/import |
dl/struct | DL::Importable を extend したモジュールに構造体/共用体を定義する機能を与えます。
dl/types | improt dl
dl/win32 | Ruby/DL が Win32API と互換性を持つようにするライブラリ。

Added/Redefined Methods

Array#to_ptr IO#to_ptr String#to_ptr


module DL

ancestors: DL

Abstract

UNIX の dlopen(3) や Windows の LoadLibrary() などのダイナミックリンカへの低レベルな インターフェースを提供するモジュールです。

モジュール DL は 3 つのクラスから成っています。

DL::Symbol

ダイナミックライブラリの関数のラッパークラスです。

DL::PtrData

C のポインタのようなメモリブロックを表すクラスです。

DL::Handle

オープンされたダイナミックライブラリを表すクラスです。

Type specifiers

プロトタイプは以下の型修飾子から成ります。プロトタイプの最初の要素は戻り値 の型を意味します。残りの要素は各引数の型を意味します。

C

文字 (char)

c

文字を指すポインタ (char *)

H

short 整数 (short)

h

short 整数を指すポインタ (short *)

I

整数 (char, short, int)

i

整数を指すポインタ (char *, short *, int *)

L

long int

l

long int へのポインタ (long *)

F

実数 (float)

f

実数へのポインタ (float *)

D

実数 (double)

d

実数へのポインタ(double *)

S

不変 (immutable) の文字列 (const char *)

s

変更可能(mutable)な文字列 (char *)

A

配列 (const type[])

a

変更可能 (mutable) な配列 (type[])

P

ポインタ (void *)

p

変更可能 (mutable) なポインタ (void *)

0

void 関数 (これはプロトタイプの最初の文字でなければならない)

cbtype は型修飾子 0, C, I, H, L, F, D, S そして P から成ります。 例えば,

DL.callback('IPP'){|ptr1,ptr2|
  str1 = ptr1.ptr.to_s
  str2 = ptr2.ptr.to_s
  str1 <=> str2
}

Ruby のオブジェクトから C の型への変換

DL.#callback や DL::Handle#sym で指定した 型指定子に従って Ruby のオブジェクトと C の型は相互に変換されます。

Singleton Methods

Signature Description
last_error
last_error=
win32_last_error
win32_last_error=

Module Functions

Signature Description
callback(type) -> DL::Symbol
define_callback(type) -> DL::Symbol

Cレベルのコールバック関数を定義し、その関数(へのポインタ)を保持した DL::Symbol を返します。

dlopen(lib) -> DL::Handle
dlopen(lib) {|handle| ... } -> DL::Handle

ダイナミックライブラリ lib をロードし、 DL::Handle として返します。

malloc(size) -> DL::PtrData

size バイトのメモリ領域を確保し、 その領域を指す DL::PtrData オブジェクトを返します。

remove_callback(sym) -> nil

コールバック関数 sym を DL::FuncTable から削除します。 以後 sym.call を呼ぶことができなくなります。

sizeof(type) -> Integer

型のサイズを返します。

strdup(str) -> DL::PtrData

文字列 str を複製し、その新しい文字列へのポインタ DL::PtrData オブジェクトを返します。

Constants

Signature | Description
ALIGN_DOUBLE |
ALIGN_FLOAT |
ALIGN_INT |
ALIGN_LONG |
ALIGN_SHORT |
ALIGN_VOIDP |
DLSTACK |
FREE | free(3) を表す DL::Symbol です。 この定数に新たに DL::Symbol を代入しても、DL::PtrData にデフォルトでセットされる free 関数が変わることはありません。
FuncTable |
MAX_ARG |
RTLD_GLOBAL |
RTLD_LAZY |
RTLD_NOW |


class DL::DLError

ancestors: DL::DLError < StandardError < Exception < Object < Kernel

Abstract

DL に関する一般的なエラーが発生したときに投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DL::DLTypeError

ancestors: DL::DLTypeError < DL::DLError < StandardError < Exception < Object < Kernel

Abstract

型に関するエラーが発生したときに投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DL::Handle

ancestors: DL::Handle < Object < Kernel

Abstract

オープンされたダイナミックライブラリを表すクラスです。 dlopen(3) が返すハンドラーのラッパーです。

Singleton Methods

Signature Description
new(lib) -> DL::Handle
new(lib) {|handle| ... } -> DL::Handle

ライブラリ lib をオープンし、Handle オブジェクトとして返します。

Instance Methods

Signature Description
sym(func) -> DL::PtrData
self[func] -> DL::PtrData

関数やグローバル変数 func へのポインタを取得し、 DL::PtrData オブジェクトとして返します。

sym(func, type) -> DL::Symbol
self[func, type] -> DL::Symbol

関数 func へのポインタを取得し、 DL::Symbol オブジェクトとして返します。 type は型修飾子からなる文字列で関数のプロトタイプを示します。

close -> Integer

自身をクローズします。成功した場合は 0 を返します。そうでない場合は、 0 以外の整数を返します。

enable_close -> nil
disable_close -> nil

GC によるオブジェクトの回収時に、自身をクローズするかどうかを指定します。

to_i -> Integer

自身が表すハンドル(dlopen(3) が返したもの)のアドレスを返します。

to_ptr -> DL::PtrData

自身が表すハンドル(dlopen(3) が返したもの)へのポインタ DL::PtrData を返します。この返り値には、free 関数がセットされていません。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module DL::MemorySpace

ancestors: DL::MemorySpace

Abstract

Module Functions

Signature | Description
each |

Constants

Signature | Description
MemoryTable |


class DL::PtrData

ancestors: DL::PtrData < Object < Kernel

Abstract

メモリ領域を表すクラスです。C 言語のポインタに相当します。

Singleton Methods

Signature | Description
malloc(size, free = nil) -> DL::PtrData | サイズが size であるメモリ領域を確保し、それを指す DL::PtrData を返します。
new(addr, size = 0, free = nil) -> DL::PtrData | アドレス addr を指すポインタに相当する PtrData オブジェクトを返します。

Instance Methods

Signature Description
self + n -> DL::PtrData

自身のアドレスに n バイトを足した新しい PtrData オブジェクトを返します。

ptr -> DL::PtrData
+ -> DL::PtrData

自身の指す値を PtrData にして返します。 自身の指す値はポインタであると仮定します。 C 言語におけるポインタのポインタに対する間接参照 *p と同じです。

self - n -> DL::PtrData

自身のアドレスから n バイトを引いた新しい PtrData オブジェクトを返します。

ref -> DL::PtrData
- -> DL::PtrData

自身を指す PtrData オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

self <=> other -> Integer

ポインタの指すアドレスの大小を比較します。

self == other -> bool
eql?(other) -> bool

ポインタの指すアドレスが同一かどうかを判定します。

self[key] -> object

構造体または共用体メンバ key の値を返します。返り値は DL::PtrData#struct! または DL::PtrData#union! によって定義された型により、Ruby のオブジェクトへ 変換されたものです。

self[offset, len = 0] -> String

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトを複製し、 文字列として返します。(self + offset).to_s(len) と同等です。 offset + len が自身のサイズより小さいかを検証しません。

self[key] = val

構造体または共用体メンバ key の値を val にします。

self[offset] = str

自身の指すアドレスに offset バイトを足したメモリ領域に 文字列 str をコピーします。コピー先の領域が str のサイズより大きいか検証しません。

self[offset, len] = str

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトに 文字列 str をコピーします。str のサイズが len より小さい場合は、残りの領域を 0 で埋めます。 コピー先の領域が len より大きいか検証しません。

data_type -> [object]

使ってはいけません。

define_data_type -> nil

使ってはいけません。

free -> DL::Symbol

GC がメモリを解放するのに使用するシンボルオブジェクト sym を返します。 sym は普通 PtrData#free= や PtrData.new によって設定されます。

free=(sym)

GC が自身を解放するのに使う関数を DL::Symbol で指定します。

null? -> bool

自身が NULL なら true を返します。そうでないなら false を返します。

size -> Integer
size=(s)

自身の指す領域のサイズを返します。 s を指定した場合は、自身の指す領域のサイズは s であると設定します。 ただし、自身が指すメモリのサイズが s になるように再割り当てはしません。

struct!(type, *members) -> nil

構造体のメンバにメソッド DL::PtrData#[] でアクセスできるようにします。 C 言語における構造体のポインタへのキャストと同じです。

to_a(type) -> [object]
to_a(type, size) -> [object]

自身が指す領域から type で指定された型の配列を複製して返します。 type は 'S','P','I','L','D' そして 'F' のいずれかです。 size を指定した場合は、自身が指す領域からサイズが size である配列を 複製します。

to_i -> Integer

自身が指すアドレスを整数で返します。

to_s -> String
to_s(len) -> String

自身が指す領域から長さ len の文字列を複製して返します。

to_str
union!(type, *members) -> nil

共用体のメンバにメソッド DL::PtrData#[] でアクセスできるようにします。 C 言語における共用体のポインタへのキャストと同じです。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DL::Symbol

ancestors: DL::Symbol < Object < Kernel

Abstract

ダイナミックライブラリの関数を表すクラスです。

Singleton Methods

Signature | Description
char2type(char) -> String | nil | 型に相当する文字 char を取り、C 言語の型修飾を返します。 char が型指定子でない場合は、nil を返します。
new(addr, type = nil, name = nil) -> DL::Symbol | ダイナミックライブラリの関数のアドレス addr から DL::Symbol を生成して返します。

Instance Methods

Signature Description
call(*args) -> object
self[*args] -> object

自身が表しているライブラリ関数を呼び出します。関数の 戻り値 result と、 call に渡された引数の配列 args = [arg1, arg2, ... argN] からなる配列 [result, args] を返します。

cproto -> String
to_s -> String

C 言語形式のプロトタイプを文字列で返します。

inspect -> String

人間が読みやすい形式の文字列を返します。

name -> String

関数名を文字列で返します。

proto -> String

関数のプロトタイプを DL モジュールの型指定文字列で返します。

to_i -> Integer

ダイナミックライブラリの関数のアドレスを返します。

to_ptr -> DL::PtrData

ダイナミックライブラリの関数へのポインタ DL::PtrData を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library dl/import

Abstract

Classes/Modules

module DL::Importable

DL モジュールの各クラスの便利なラッパーです。

Required Libraries

dl | *.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl/types | improt dl


module DL::Importable

ancestors: DL::Importable

Abstract

DL モジュールの各クラスの便利なラッパーです。

Importable モジュールは、モジュールから extend を呼んで使います。include ではありません。 クラスやオブジェクトから extend を呼んで使うことはできません。

require "dl/import"

module M
  extend DL::Importable
  dlload "libc.so.6"
  extern "int strlen(char*)"
end

p M.strlen("abc") #=> 3

Instance Methods

Signature Description
self[func] -> nil | DL::Symbol | DL::PtrData

DL::Importable#extern、DL::Importable#import または DL::Importable#callback によって定義した、 C レベルの関数や変数名 func に対応する DL::Symbol オブジェクトを返します。

_args_ -> [object]

直前に呼んだダイナミックライブラリの関数の引数の配列を返します。

_retval_ -> object

直前に呼んだダイナミックライブラリの関数の返り値を返します。

callback(proto) -> DL::Symbol

与えられたプロトタイプにしたがって、自身のインスタンスメソッドを C のコールバック関数に変換し、DL::Symbol として返します。

dlload(*lib) -> ()
dllink(*lib) -> ()

DL.#dlopen を用いてライブラリをロードし、extend した モジュール内でそのライブラリで定義されている参照可能なシンボルを取得できるよ うにします。

extern(proto) -> DL::Symbol

与えられたプロトタイプにしたがって、ダイナミックライブラリ内のシンボルを検索し、 自身の特異メソッドとして、定義します。

import(sym, rettype, argtypes = nil) -> DL::Symbol

ダイナミックライブラリ内のシンボルを検索し、 自身の特異メソッドとして、定義します。

symbol(sym) -> DL::PtrData

ロードしたダイナミックライブラリ内のシンボルを検索し シンボルへのポインタを DL::PtrData として返します。

symbol(func, typespec) -> DL::Symbol

ロードしたダイナミックライブラリ内の関数を検索し 名前が func の関数を DL::Symbol として返します。

typealias(newtype, oldtype) -> ()

newtype 型を oldtype 型のエイリアスとして定義する。 newtype で与えた型は extern や callback メソッド のプロトタイプを与えるときに利用します。

Constants

Signature | Description
LIB_MAP | ロードされたライブラリを保持するHashオブジェクトです。

Added Methods

Signature Description Library
define_struct(contents)
struct(contents)

構造体を定義します。 contentsについては DL::Importable::Struct.new を参照せよ。

dl/struct
define_union(contents)
union(contents)

共用体を定義します。 contents については上記 define_struct と同様です。

dl/struct


library dl/struct

Abstract

DL::Importable を extend したモジュールに構造体/共用体を定義する機能を与えます。

Classes/Modules

class DL::Importable::Memory | DL::PtrData のラッパー用クラス。 ドット形式で構造体や共用体の要素へアクセスできるようになります。 Struct,Unionのインスタンスのmalloc,newメソッドを呼ぶことによって、 Memoryクラスのインスタンスが生成できます。 そのため、通常、直接生成する必要はありません。
class DL::Importable::Struct |
class DL::Importable::Union | 共用体に対するクラスである以外は、Struct とほぼ同じです。

Required Libraries

dl | *.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl/import |
dl/types | improt dl

Added/Redefined Methods

DL::Importable#define_struct DL::Importable#define_union


class DL::Importable::Memory

ancestors: DL::Importable::Memory < Object < Kernel

Abstract

DL::PtrData のラッパー用クラス。 ドット形式で構造体や共用体の要素へアクセスできるようになります。 Struct,Unionのインスタンスのmalloc,newメソッドを呼ぶことによって、 Memoryクラスのインスタンスが生成できます。 そのため、通常、直接生成する必要はありません。

Singleton Methods

Signature | Description
new(ptr, names, ty, len, enc, dec) | DL::PtrData オブジェクト ptr の各メンバへアクセスするためのメソッドを 動的に定義する。Struct, Union のインスタンスがこれらの情報を保持する。

Instance Methods

Signature | Description
size | DL::PtrData#size を呼びます。
to_ptr | 保持している DL::PtrData オブジェクトを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class DL::Importable::Struct

ancestors: DL::Importable::Struct < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(types, contents) | types には DL::Types のインスタンス、contents には構造体の定義を 以下のようにして与える。

Instance Methods

Signature | Description
malloc(size = nil) | sizeバイトの領域を確保してDL::PtrDataオブジェクトを生成し、その DL::PtrDataオブジェクトを保持するMemoryオブジェクトを返します。
members | 構造体の要素名で構成される Array オブジェクトを返します。
new(ptr) | DL::PtrData オブジェクト ptr を保持する Memory オブジェクトを返します。
parse(contents) |
parse_elem(elem) |
size | malloc されたサイズを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class DL::Importable::Union

ancestors: DL::Importable::Union < DL::Importable::Struct < Object < Kernel

Abstract

共用体に対するクラスである以外は、Struct とほぼ同じです。

Instance Methods

Signature | Description
new |

Inherited Methods

malloc members parse parse_elem size .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library dl/types

Abstract

improt dl

Classes/Modules

class DL::Types

型の定義を保持するオブジェクトのクラス。


class DL::Types

ancestors: DL::Types < Object < Kernel

Abstract

型の定義を保持するオブジェクトのクラス。

型を定義する

["alias name", "type name",
 encoding_method, decoding_method,   # for function prototypes
 encoding_method, decoding_method]   # for structures (not implemented)

という形式の配列を内部に持ちます。エイリアス名と実際の型、エンコーディング、 デコーディングの方法を定義します。DL::Types::TYPES はデフォルトで持って いる定義です。

Instance Methods

Signature | Description
encode_argument_type(alias_type) |
encode_return_type(ty) |
encode_struct_type(alias_type) |
encode_type(alias) | DL モジュールで用いる型定義と Ruby のオブジェクトを DL モジュールで用いるデータへのエンコード用 Proc オブジェクトと、 DL モジュールのデータから Ruby オブジェクトへのデコード用の Proc オブジェクトの組を次の通りの Array として返す。
init_types |
typealias(alias, type, enc, dec, struct_enc, struct_dec) | 型定義の追加を行う。

Constants

Signature | Description
TYPES | インスタンス変数 @TYDEFS の初期値。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library dl/win32

Abstract

Ruby/DL が Win32API と互換性を持つようにするライブラリ。

Classes/Modules

class Win32API

Required Libraries

dl

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。


class Win32API

ancestors: Win32API < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(dllname, func, import, export) | DLL dllname をロードし、API func のオブジェクトを生成します。
new(dllname, func, import, export = "0") | 指定された関数を DL::Symbol オブジェクトとして生成します。

Instance Methods

Signature Description
call(*args)
Call(*args)

DL::Symbol#call により関数を実行します。

call(*args)
Call(*args)

API を呼び出します。 指定する引数と戻り値は Win32API.new の引数の指定に従います。 特にポインタを渡してそのポインタの指す領域に値が設定される場合は その領域をあらかじめ確保しておく必要があります。

Constants

Signature | Description
DLL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library drb

Abstract

分散オブジェクトプログラミングのためのライブラリです。

[[unknown:執筆者募集]]

  • http://www2a.biglobe.ne.jp/~seki/ruby/druby.html
  • http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html

Classes/Modules

module DRb |
class DRb::DRbIdConv | Class responsible for converting between an object and its id.
class DRb::DRbObject | Object wrapping a reference to a remote drb object.
module DRb::DRbProtocol | Module managing the underlying network protocol(s) used by drb.
class DRb::DRbServer | Class representing a drb server instance.
module DRb::DRbUndumped | このモジュールをインクルードしたクラスのインスタンスは ネットワーク越しに参照渡しで渡されるようになります。 値渡し出来ないオブジェクトを drb と一緒に使う時に有用です。
class DRb::DRbUnknown | Class wrapping a marshalled object whose type is unknown locally.

Exception Classes

class DRb::DRbBadScheme | Error raised by a dRuby protocol when it doesn't support the scheme specified in a URI. See DRb::DRbProtocol.
class DRb::DRbBadURI | Error raised by the DRbProtocol module when it cannot find any protocol implementation support the scheme specified in a URI.
class DRb::DRbConnError | Error raised when an error occurs on the underlying communication protocol.
class DRb::DRbError |
class DRb::DRbRemoteError | An exception wrapping an error object
class DRb::DRbServerNotFound | Error raised by the DRb module when an attempt is made to refer to the context's current drb server but the context does not have one. See current_server.
class DRb::DRbUnknownError | An exception wrapping a DRb::DRbUnknown object

Sub-Libraries

drb/acl |
drb/extserv |
drb/extservm |
drb/gw |
drb/observer |
drb/ssl | DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
drb/timeridconv |
drb/unix | DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。


module DRb

ancestors: DRb

Abstract

Module Functions

Signature | Description
config | Get the configuration of the current server.
current_server | Get the 'current' server.
fetch_server(uri) |
front | Get the front object of the current server.
here?(uri) | Is uri the URI for the current local server?
install_acl(acl) | Set the default acl.
install_id_conv(idconv) | Set the default id conv object. See DRb::DRbServer.default_id_conv.
regist_server(server) |
remove_server(server) |
start_service(uri=nil, front=nil, config=nil) | Start a dRuby server locally.
stop_service | Stop the local dRuby server.
thread | Get the thread of the primary server.
to_id(obj) | Get a reference id for an object using the current server.
to_obj(ref) | Convert a reference into an object using the current server.
uri | Get the URI defining the local dRuby space.


class DRb::DRbBadScheme

ancestors: DRb::DRbBadScheme < DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Error raised by a dRuby protocol when it doesn't support the scheme specified in a URI. See DRb::DRbProtocol.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbBadURI

ancestors: DRb::DRbBadURI < DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Error raised by the DRbProtocol module when it cannot find any protocol implementation support the scheme specified in a URI.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbConnError

ancestors: DRb::DRbConnError < DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Error raised when an error occurs on the underlying communication protocol.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbError

ancestors: DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbIdConv

ancestors: DRb::DRbIdConv < Object < Kernel

Abstract

Class responsible for converting between an object and its id.

This, the default implementation, uses an object's local ObjectSpace id as its id. This means that an object's identification over drb remains valid only while that object instance remains alive within the server runtime.

For alternative mechanisms, see DRb::TimerIdConv in drb/timeridconv and DRbNameIdConv in sample/name.rb in the full drb distribution.

Instance Methods

Signature | Description
to_id(obj) | Convert an object into a reference id. This implementation returns the object's id in the local object space.
to_obj(ref) | Convert an object reference id to an object. This implementation looks up the reference id in the local object space and returns the object it refers to.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class DRb::DRbObject

ancestors: DRb::DRbObject < Object < Kernel

Abstract

Object wrapping a reference to a remote drb object.

Method calls on this object are relayed to the remote object that this object is a stub for.

Singleton Methods

Signature | Description
_load(s) | Unmarshall a marshalled DRbObject.
new(obj, uri=nil) | Create a new remote object stub.
new_with_uri(uri) | Create a new DRbObject from a URI alone.

Instance Methods

Signature Description
self == other
eql?(other)

DRb::DRbObject オブジェクト同士の同値判定は、 オブジェクトが参照している URI と識別子が等しいかどうかでします。

__drbref

Get the reference of the object, if local.

__drburi

Get the URI of the remote object.

method_missing(msg_id, *a, &b)

Routes method calls to the referenced object.

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module DRb::DRbProtocol

ancestors: DRb::DRbProtocol

Abstract

Module managing the underlying network protocol(s) used by drb.

By default, drb uses the [[c:DRbTCPSocket protocol]]. Other protocols can be defined.

A new protocol is registered with the DRbProtocol module using the add_protocol method.

For examples of other protocols, see DRb::DRbUNIXSocket in drb/unix, and HTTP0 in sample/http0.rb and sample/http0serv.rb in the full drb distribution.

All of these methods should raise a DRb::DRbBadScheme error if the URI does not identify the protocol they support (e.g. "druby:" for the standard Ruby protocol). This is how the DRb::DRbProtocol module, given a URI, determines which protocol implementation serves that protocol.

Module Functions

Signature | Description
add_protocol(prot) | Add a new protocol to the DRbProtocol module.


class DRb::DRbRemoteError

ancestors: DRb::DRbRemoteError < DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

An exception wrapping an error object

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbServer

ancestors: DRb::DRbServer < Object < Kernel

Abstract

Class representing a drb server instance.

A DRbServer must be running in the local process before any incoming dRuby calls can be accepted, or any local objects can be passed as dRuby references to remote processes, even if those local objects are never actually called remotely. You do not need to start a DRbServer in the local process if you are only making outgoing dRuby calls passing marshalled parameters.

Unless multiple servers are being used, the local DRbServer is normally started by calling DRb.start_service.

Singleton Methods

Signature Description
default_acl(acl)

Set the default value for the :acl option. See new(). The initial default value is nil.

default_argc_limit(argc)

Set the default value for the :argc_limit option. See new(). The initial default value is 256.

default_id_conv(idconv)

Set the default value for the :id_conv option. See #new(). The initial default value is a DRb::DRbIdConv instance.

default_load_limit(sz)

Set the default value for the :load_limit option. See new(). The initial default value is 25 MB.

default_safe_level(level)
new(uri=nil, front=nil, config_or_acl=nil)

Create a new DRbServer instance.

verbose
verbose=

Get the default value of the :verbose option. See new(). The initial default value is false.

Instance Methods

Signature Description
alive?

Is this server alive?

check_insecure_method(obj, msg_id)

Check that a method is callable via dRuby. obj is the object we want to invoke the method on. msg_id is the method name, as a Symbol. If the method is an insecure method (see insecure_method?) a SecurityError is thrown. If the method is private or undefined, a NameError is thrown.

config

The configuration of this DRbServer

front

The front object of the DRbServer.

safe_level
stop_service()

Stop this server.

thread

The main thread of this DRbServer.

to_id(obj)

Convert a local object to a dRuby reference.

to_obj(ref)

Convert a dRuby reference to the local object it refers to.

uri

The URI of this DRbServer.

verbose
verbose=

Get whether the server is in verbose mode. In verbose mode, failed calls are logged to stdout.

Constants

Signature | Description
INSECURE_METHOD | List of insecure methods. These methods are not callable via dRuby.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbServerNotFound

ancestors: DRb::DRbServerNotFound < DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Error raised by the DRb module when an attempt is made to refer to the context's current drb server but the context does not have one. See current_server.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module DRb::DRbUndumped

ancestors: DRb::DRbUndumped

Abstract

このモジュールをインクルードしたクラスのインスタンスは ネットワーク越しに参照渡しで渡されるようになります。 値渡し出来ないオブジェクトを drb と一緒に使う時に有用です。

また Marshal.#dump(obj) が必ず失敗するようになります。


class DRb::DRbUnknown

ancestors: DRb::DRbUnknown < Object < Kernel

Abstract

Class wrapping a marshalled object whose type is unknown locally.

If an object is returned by a method invoked over drb, but the class of the object is unknown in the client namespace, or the object is a constant unknown in the client namespace, then the still-marshalled object is returned wrapped in a DRbUnknown instance.

If this object is passed as an argument to a method invoked over drb, then the wrapped object is passed instead.

The class or constant name of the object can be read from the name attribute. The marshalled object is held in the buf attribute.

Singleton Methods

Signature | Description
new(err, buf) | Create a new DRbUnknown object.

Instance Methods

Signature | Description
exception() | Create a DRbUnknownError exception containing this object.
reload() | Attempt to load the wrapped marshalled object again.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class DRb::DRbUnknownError

ancestors: DRb::DRbUnknownError < DRb::DRbError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

An exception wrapping a DRb::DRbUnknown object

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library drb/acl

library drb/acl

Abstract

Classes/Modules

class ACL


class ACL

ancestors: ACL < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(list=nil, order = DENY_ALLOW) |

Instance Methods

Signature | Description
allow_addr?(addr) |
allow_socket?(soc) |
install_list(list) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extserv

library drb/extserv

Abstract

Classes/Modules

class DRb::ExtServ


class DRb::ExtServ

ancestors: DRb::ExtServ < DRb::DRbUndumped < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(there, name, server=nil) |

Instance Methods

Signature | Description
alive? |
front |
server |
stop_service |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library drb/extservm

Abstract

Classes/Modules

class DRb::ExtServManager


class DRb::ExtServManager

ancestors: DRb::ExtServManager < Object < Kernel

Abstract

Singleton Methods

Signature Description
command
command=(cmd)
new

Instance Methods

Signature | Description
regist(name, ro) |
service(name) |
unregist(name) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library drb/gw

library drb/gw

Abstract

Classes/Modules

class DRb::GW

以下の文章も参照。


class DRb::GW

ancestors: DRb::GW < Object < Kernel

Abstract

以下の文章も参照。

  • http://www2a.biglobe.ne.jp/~seki/ruby/drbssh.html

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
self[key]
self[key] = v

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library drb/observer

Abstract

Classes/Modules

class DRb::DRbObservable


class DRb::DRbObservable

ancestors: DRb::DRbObservable < Observable < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new add_observer changed changed? count_observers delete_observer delete_observers notify_observers


library drb/ssl

Abstract

DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。

require 'drb/ssl'
obj = ''
DRb::DRbServer.new( 'drbssl://localhost:10000',
                    obj,
                    {:SSLCertName => [["CN","fqdn.example.com"]]})


Ruby 1.8.7 Reference Manual > All Libraries > library drb/timeridconv

library drb/timeridconv

Abstract

Classes/Modules

class DRb::TimerIdConv


class DRb::TimerIdConv

ancestors: DRb::TimerIdConv < DRb::DRbIdConv < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(timeout=600) |

Instance Methods

Signature | Description
to_id(obj) |
to_obj(ref) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library drb/unix

Abstract

DRb のプロトコルとして UNIX ドメインソケット経由で通信する drbunix が使えるようになります。

require 'drb/unix'
obj = ''
DRb::DRbServer.new('drbunix:/tmp/hoge', obj)


library e2mmap

Abstract

例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのライブラリです。

使い方

1. クラス定義の中で、Exception2MessageMapper を extend すれば、 def_e2message メソッドや def_exception メソッドが使えます。 これらで例外クラスとメッセージを関連づけることができます。

例:

class Foo
  extend Exception2MessageMapper
  def_e2message ExistingExceptionClass, "message..."
  def_exception :NewExceptionClass, "message...", StandardError
  ...
end

foo = Foo.new
foo.Fail ....

2. 何度も使いたい例外クラスは、クラスの代わりにモジュールで定義して、 それを include して使います。

例:

module ErrorMod
  extend Exception2MessageMapper
  def_e2message ExistingExceptionClass, "message..."
  def_exception :NewExceptionClass, "message...", StandardError
  ...
end
class Foo
  include ErrorMod
  ...
end

foo = Foo.new
foo.Fail ....

3. 例外を設定したクラスのインスタンス以外から例外を呼ぶこともできます。

例:

module ErrorMod
  extend Exception2MessageMapper
  def_e2message ExistingExceptionClass, "message..."
  def_exception :NewExceptionClass, "message...", StandardError
  ...
end
class Foo
  extend Exception2MessageMapper
  include ErrorMod
  ...
end

Foo.Fail NewExceptionClass, arg...
Foo.Fail ExistingExceptionClass, arg...

Classes/Modules

module Exception2MessageMapper

例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのモジュールです。

Exception Classes

class Exception2MessageMapper::ErrNotRegisteredException

登録されていない例外が Exception2MessageMapper#Raise で使用された場合に発生します。


module Exception2MessageMapper

ancestors: Exception2MessageMapper

Abstract

例外クラスに特定のエラーメッセージ用フォーマットを関連づけるためのモジュールです。

Singleton Methods

Signature Description
Raise(klass = E2MM, exception_class = nil, *rest) -> ()
Fail(klass = E2MM, exception_class = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

def_e2message(klass, exception_class, message_format) -> Class

すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。

def_exception(klass, exception_name, message_format, superklass = StandardError) -> Class

exception_name という名前の例外クラスを定義します。

extend_to(b) -> Class

このメソッドは後方互換性のために用意されています。

fail(err = nil, *rest) -> ()

このメソッドは後方互換性のために用意されています。

Instance Methods

Signature Description
Raise(err = nil, *rest) -> ()
Fail(err = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

def_e2message(exception_class, message_format) -> Class

すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。

def_exception(exception_name, message_format, superclass = StandardError) -> Class

exception_name という名前の例外クラスを定義します。

fail(err = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。


class Exception2MessageMapper::ErrNotRegisteredException

ancestors: Exception2MessageMapper::ErrNotRegisteredException < StandardError < Exception < Object < Kernel

Abstract

登録されていない例外が Exception2MessageMapper#Raise で使用された場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library English

Abstract

特殊変数 $! などに英語名の別名 ($ERROR_INFO など)をつけます。

例:

p $/  #=> "\n"
p $RS #=> nil

require 'English'
p $RS #=> "\n"

Added/Redefined Methods

$ARGV $CHILD_STATUS $DEFAULT_INPUT $DEFAULT_OUTPUT $ERROR_INFO $ERROR_POSITION $FIELD_SEPARATOR $IGNORECASE $INPUT_LINE_NUMBER $INPUT_RECORD_SEPARATOR $LAST_MATCH_INFO $LAST_PAREN_MATCH $LAST_READ_LINE $MATCH $OFS $ORS $PID $POSTMATCH $PREMATCH $PROGRAM_NAME


library Env

Abstract

このライブラリは obsolete です。 importenv を参照してください。


library erb

Abstract

eRuby スクリプトを扱うためのライブラリです。

Classes/Modules

class ERB | eRuby スクリプトを処理するクラス。
module ERB::DefMethod | def_erb_methodを提供するモジュールです。
module ERB::Util | eRubyスクリプトのためのユーティリティを提供するモジュールです。


class ERB

ancestors: ERB < Object < Kernel

Abstract

eRuby スクリプトを処理するクラス。

従来 ERbLight と呼ばれていたもので、 標準出力への印字が文字列の挿入とならない点が eruby と異なります。

  • http://jp.rubyist.net/magazine/?0017-BundledLibraries

使い方

ERB クラスを使うためには require 'erb' する必要があります。

例:

require 'erb'

ERB.new($<.read).run

trim_mode

trim_mode は整形の挙動を変更するオプションです。次の振舞いを指定できます。

  • 改行の扱い
  • %ではじまる行の扱い (ERB 2.0 から追加されました)

trim_mode に指定できる値は次の通りです。

  • ERb-1.4.x 互換の指定方法
  • nil, 0: そのまま変換
  • 1: 行末が%>のとき改行を出力しない
  • 2: 行頭が<%で行末が%>のとき改行を出力しない
  • 2.0 からの指定方法
  • nil, "": そのまま変換
  • ">": 1と同じ
  • "<>": 2と同じ
  • "-": 行末が-%>のとき改行を出力しない。また、行頭が<%-のとき行頭の空白文字を削除する
  • "%": %ではじまる行を<%..%>とみなして変換する。この行の改行は出力しない
  • "%>", ">%": 1と"%"の両方を行なう
  • "%<>", "<>%": 2と"%"の両方を行なう
  • "%-": "-"と"%"の両方を行なう

実行例:

# スクリプト
<% 3.times do |n| %>
% n = 0
* <%= n%>
<% end %>

# trim_mode = nil, '', 0

% n = 0
* 0

% n = 0
* 1

% n = 0
* 2

# trim_mode = 1, '>'
% n = 0
* 0% n = 0
* 1% n = 0
* 2

# trim_mode = 2, '<>'
% n = 0
* 0
% n = 0
* 1
% n = 0
* 2

# trim_mode = '%'

* 0

* 0

* 0

# trim_mode = '%>', '>%'
* 0* 0* 0

# trim_mode = '%<>', '<>%'
* 0
* 0
* 0

# スクリプト
<% 3.times do |n| -%>
% n = 0
  <%- m = 0 %>*
* <%= n%>
<% end -%>

# trim_mode = '%-'
*
* 0
*
* 0
*
* 0

# スクリプト
<% 3.times do |n| %>
% n = 0
  <%- m = 0 %>*
* <%= n%>
<% end %>

# trim_mode = '%'

  *
* 0

  *
* 0

  *
* 0

Singleton Methods

Signature | Description
new(eruby_script, safe_level=nil, trim_mode=nil, eoutvar='_erbout') -> ERB | eRubyスクリプト から ERB オブジェクトを生成して返します。
version -> String | erb.rbのリビジョン情報を返します。

Instance Methods

Signature | Description
def_class(suplerklass=Object, methodname='erb') -> Class | 変換した Ruby スクリプトをメソッドとして定義した無名のクラスを返します。
def_method(mod, methodname, fname='(ERB)') -> nil | 変換した Ruby スクリプトをメソッドとして定義します。
def_module(methodname='erb') -> Module | 変換した Ruby スクリプトをメソッドとして定義した無名のモジュールを返します。
filename -> String | エラーメッセージを表示する際のファイル名を取得します。
filename= -> String | エラーメッセージを表示する際のファイル名を設定します。
result(b=TOPLEVEL_BINDING) -> String | ERB を b の binding で実行し、結果の文字列を返します。
run(b=TOPLEVEL_BINDING) -> nil | ERB を b の binding で実行し、結果を標準出力へ印字します。
set_eoutvar(compiler, eoutvar = '_erbout') -> Array | ERBの中でeRubyスクリプトの出力をためていく変数を設定します。
src -> String | 変換した Ruby スクリプトを取得します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module ERB::DefMethod

ancestors: ERB::DefMethod

Abstract

def_erb_methodを提供するモジュールです。

Module Functions

Signature | Description
def_erb_method(methodname, erb) -> nil | self に erb のスクリプトをメソッドとして定義します。


module ERB::Util

ancestors: ERB::Util

Abstract

eRubyスクリプトのためのユーティリティを提供するモジュールです。

Module Functions

Signature Description
html_escape(s) -> String
h(s) -> String

文字列 s を HTML用にエスケープした文字列を返します。

url_encode(s) -> String
u(s) -> String

文字列 s を URLエンコードした文字列を返します。


library eregex

Abstract

2 つの正規表現による AND/OR を提供します。

このライブラリはコンセプト実証用のおもちゃのようなものです。

Regexp クラスに & と | のメソッドを定義し、それぞれ 2つの正規表現の両方にマッチすれば真となるもの (RegAnd) と いずれかにマッチすれば真となるもの (RegOr) を返します。 RegAnd、RegOr は =~ のみサポートしています。

使用例

require 'eregex'
p "abc" =~ /b/|/c/
p "abc" =~ /b/&/c/

Classes/Modules

class RegAnd | 二つの正規表現を内部で保持するクラスです。
class RegOr | 二つの正規表現を内部で保持するクラスです。

Added/Redefined Methods

Regexp#& Regexp#|


class RegAnd

ancestors: RegAnd < Object < Kernel

Abstract

二つの正規表現を内部で保持するクラスです。

Singleton Methods

Signature | Description
new(re1, re2) -> RegAnd | 新しい RegAnd オブジェクトを生成します。

Instance Methods

Signature | Description
self =~ str -> bool | str が内部で保持している正規表現の両方にマッチすれば真を返します。

Inherited Methods

== === __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class RegOr

ancestors: RegOr < Object < Kernel

Abstract

二つの正規表現を内部で保持するクラスです。

Singleton Methods

Signature | Description
new(re1, re2) -> RegOr | 新しい RegOr オブジェクトを生成します。

Instance Methods

Signature | Description
self =~ str -> bool | str が 内部で保持しているいずれかの正規表現にマッチすれば真を返します。

Inherited Methods

== === __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library etc

Abstract

/etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。

使い方

require 'etc'
p Etc.getlogin

Classes/Modules

module Etc | /etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。
class Struct::Group | Etc.#getgrent で得られる構造体。
class Struct::Passwd | Etc.#getpwent で得られる構造体。


module Etc

ancestors: Etc

Abstract

/etc に存在するデータベースから情報を得るためのモジュールです。 クラスにインクルードして使うこともできます。

Module Functions

Signature | Description
endgrent -> nil | Etc.#getgrent によって開始された /etc/group ファイルを読む プロセスを終了させファイルを閉じます。
endpwent -> nil | Etc.#getpwent によって開始された /etc/passwdファイルを読む プロセスを終了させファイルを閉じます。
getgrent -> Struct::Group | nil | /etc/group ファイルから読み込んだエントリを一つ返します。
getgrgid(gid) -> Struct::Group | group データベースを検索し、グループ ID が gid であるグループエントリを返します。
getgrnam(name) -> Struct::Group | name という名前のグループエントリを返します。
getlogin -> String | nil | 自分の login 名を返します。得られなかった場合は nil を返します。
getpwent -> Struct::Passwd | nil | /etc/passwd から読み込んだエントリを一つ返します。
getpwnam(name) -> Struct::Passwd | passwd データベースを検索し、 名前が name である passwd エントリを返します。
getpwuid(uid = getuid) -> Struct::Passwd | passwd データベースを検索し、 ユーザ ID が uid である passwd エントリを返します。
group -> Struct::Group | nil | /etc/group ファイルから読み込んだエントリを一つ返します。
group {|gr| ... } -> () | 全てのグループエントリを順にアクセスするためのイテレータです。
passwd -> Struct::Passwd | nil | /etc/passwd から読み込んだエントリを一つ返します。
passwd {|pw| ... } -> () | 全ての passwd エントリを順にアクセスするためのイテレータです。
setgrent -> nil | /etc/group の先頭に戻ります。
setpwent -> nil | /etc/passwd の先頭に戻ります。


class Struct::Group

ancestors: Struct::Group < Struct < Enumerable < Object < Kernel

Abstract

Etc.#getgrent で得られる構造体。

この構造体の値を変更してもシステムには反映されません。

Instance Methods

Signature | Description
gid -> Integer | グループ ID を返します。
gid=(gid) | グループ ID を設定します。
mem -> [String] | このグループに所属するメンバーのログイン名を配列で返します。
mem=(mem) | このグループに所属するメンバーのログイン名を設定します。
name -> String | グループ名を設定します。
name=(name) | グループ名を返します。
passwd -> String | 暗号化されたパスワードを返します。
passwd=(passwd) | このグループのパスワードを設定します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Struct::Passwd

ancestors: Struct::Passwd < Struct < Enumerable < Object < Kernel

Abstract

Etc.#getpwent で得られる構造体。

この構造体の値を変更してもシステムには反映されません。

全てのシステムで提供されているメンバ。

  • name
  • passwd
  • uid
  • gid
  • gecos
  • dir
  • shell

以降のメンバはシステムによっては提供されません。

  • change
  • quota
  • age
  • class
  • comment
  • expire

Instance Methods

Signature | Description
age -> Integer | エージ(整数)を返します。このメンバはシステム依存です。
age=(age) | エージ(整数)を設定します。このメンバはシステム依存です。
change -> Integer | パスワード変更時間(整数)を返します。このメンバはシステム依存です。
change=(change) | パスワード変更時間(整数)を設定します。このメンバはシステム依存です。
class -> String | ユーザアクセスクラス(文字列)を返します。このメンバはシステム依存です。
class=(class) | ユーザアクセスクラス(文字列)を設定します。このメンバはシステム依存です。
comment -> String | コメント(文字列)を返します。このメンバはシステム依存です。
comment=(comment) | コメント(文字列)を設定します。このメンバはシステム依存です。
dir -> String | このユーザのホームディレクトリを表すパスを返します。
dir=(dir) | このユーザのホームディレクトリを表すパスを設定します。
expire -> Integer | アカウント有効期限(整数)を返します。このメンバはシステム依存です。
expire=(expire) | アカウント有効期限(整数)を設定します。このメンバはシステム依存です。
gecos | このユーザのフルネーム等の詳細情報を返します。
gecos=() | このユーザのフルネーム等の詳細情報を設定します。
gid -> Integer | このユーザの gid を返します。
gid=(gid) | このユーザの gid を設定します。
name -> String | このユーザのログイン名を返します。
name=(name) | このユーザのログイン名を設定します。
passwd -> String | このユーザの暗号化されたパスワードを返します。
passwd=(passwd) | このユーザの暗号化されたパスワードを設定します。
quota -> Integer | クォータ(整数)を返します。このメンバはシステム依存です。
quota=(quota) | クォータ(整数)を設定します。このメンバはシステム依存です。
shell -> String | このユーザのログインシェルを返します。
shell=(shell) | このユーザのログインシェルを設定します。
uid -> Integer | このユーザの uid を返します。
uid=(uid) | このユーザの uid を設定します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


library expect

Abstract

IOオブジェクトから指定したパターンが読み込まれるまで待つ機能を提供します。

Expect ライブラリは、tcl の expect パッケージと似たような機能を IO クラスに追加します。

$expect_verbose というグローバル変数に真をセットすると、 レシーバから文字を読み込む度に読み込んだ文字を標準出力に表示するようになります。

Added/Redefined Methods

IO#expect


library fcntl

Abstract

ファイルディスクリプタを扱う Unix のシステムコール IO#fcntl (つまり fcntl(2)) で使用できる定数を集めたモジュールです。

例:

require "fcntl"
m = s.fcntl(Fcntl::F_GETFL, 0)
f.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK|m)

require 'fcntl'

fd = IO::sysopen('/tmp/tempfile',
     Fcntl::O_WRONLY | Fcntl::O_EXCL | Fcntl::O_CREAT)
f = IO.open(fd)
f.syswrite("TEMP DATA")

f.close

Classes/Modules

module Fcntl

ファイルディスクリプタを扱う Unix のシステムコール IO#fcntl (つまりfcntl(2)) で使用できる定数を集めたモジュールです。


module Fcntl

ancestors: Fcntl

Abstract

ファイルディスクリプタを扱う Unix のシステムコール IO#fcntl (つまりfcntl(2)) で使用できる定数を集めたモジュールです。

@see fcntl(2), open(2), IO#fcntl, IO.open

Constants

Signature Description
FD_CLOEXEC -> Integer

close-on-exec フラグの値です。

F_DUPFD -> Integer

ファイルディスクリプタを複製します。

F_GETFD -> Integer

ファイルディスクリプタから close-on-exec フラグの値を読み出します。

F_GETFL -> Integer

ファイル状態フラグを読み出します。

F_GETLK -> Integer

与えられたファイルの範囲のロック状態を取得します。

F_RDLCK -> Integer

読み出しリースを取得します。

F_SETFD -> Integer

ファイルディスクリプタに close-on-exec フラグの値を設定します。

F_SETFL -> Integer

ファイル状態フラグを設定します。

F_SETLK -> Integer

ファイルの範囲のロックを取得します。

F_SETLKW -> Integer

ファイルの範囲のロックを取得します。必要があればロックを取得できるまで待ちます。

F_UNLCK -> Integer

そのファイルからリースを削除します。

F_WRLCK -> Integer

書き込みリースを取得する。

O_ACCMODE -> Integer

ファイルアクセスモードのマスクです。

O_APPEND -> Integer

ファイルを追記モードで開きます。

O_CREAT -> Integer

ファイルが存在しない場合にファイルを作成します。

O_EXCL -> Integer

ファイルが存在する場合に失敗します。Fcntl::O_CREAT と一緒に使用します。

O_NONBLOCK -> Integer
O_NDELAY -> Integer

ファイルを non-blocking モードで開きます。

O_NOCTTY -> Integer

開いたファイルが端末デバイスでも、制御端末にはなりません。

O_RDONLY -> Integer

ファイルを読み込み専用で開きます。

O_RDWR -> Integer

ファイルを読み書きできるように開きます。

O_TRUNC -> Integer

ファイルを開くときに中身を切り捨てます。

O_WRONLY -> Integer

ファイルを書き込み専用で開きます。


library fileutils

Abstract

再帰的な削除などの基本的なファイル操作を行うためのライブラリです。

Classes/Modules

module FileUtils | 基本的なファイル操作を集めたモジュールです。
module FileUtils::DryRun | FileUtils と同じメソッドが定義されていますが、 実際にファイルを変更する操作は実行せず、操作を表示します。
module FileUtils::NoWrite | FileUtils と同じメソッドが定義されていますが、 実際にファイルを変更する操作は実行しません。
module FileUtils::Verbose | FileUtils と同じメソッドが定義されており全く同じ動作をしますが、 しようとしていることを実行前に表示します。


module FileUtils

ancestors: FileUtils

Abstract

基本的なファイル操作を集めたモジュールです。

オプションの説明

引数 options で使用できるオプションの説明です。 メソッドごとに使用できるオプションは決まっています。 不正なオプションを与えると ArgumentError が発生します。

:noop

真を指定すると実際の処理は行いません。

:preserve

真を指定すると更新時刻と、可能なら所有ユーザ・所有グループもコピーします。

:verbose

真を指定すると詳細を出力します。

:mode

パーミッションを8進数で指定します。

:force

真を指定すると作業中すべての StandardError を無視します。

:nocreate

真を指定するとファイルを作成しません。

:dereference_root

真を指定すると src についてだけシンボリックリンクの指す 内容をコピーします。偽の場合はシンボリックリンク自体をコピーします。

:remove_destination

真を指定するとコピーを実行する前にコピー先を削除します。

:secure

真を指定するとファイルの削除に FileUtils.#remove_entry_secure を使用します。

:mtime

時刻を Time か、起算時からの経過秒数を数値で指定します。

Module Functions

Signature Description
cd(dir, options = {}) -> nil
cd(dir, options = {}) {|dir| .... } -> ()
chdir(dir, options = {}) -> nil
chdir(dir, options = {}) {|dir| .... } -> ()

プロセスのカレントディレクトリを dir に変更します。

chmod(mode, list, options = {}) -> Array

ファイル list のパーミッションを mode に変更します。

chmod_R(mode, list, options = {}) -> Array

ファイル list のパーミッションを再帰的に mode へ変更します。

chown(user, group, list, options = {}) -> Array

ファイル list の所有ユーザと所有グループを user と group に変更します。

chown_R(user, group, list, options = {}) -> Array

list 以下のファイルの所有ユーザと所有グループを user と group へ再帰的に変更します。

cmp(file_a, file_b) -> bool
compare_file(file_a, file_b) -> bool
identical?(file_a, file_b) -> bool

ファイル a と b の内容が同じなら真を返します。

compare_stream(io_a, io_b) -> bool

IO オブジェクト io_a と io_b の内容が同じなら真を返します。

cp(src, dest, options = {}) -> ()
copy(src, dest, options = {}) -> ()

ファイル src を dest にコピーします。

copy_entry(src, dest, preserve = false, dereference_root = false) -> ()

ファイル src を dest にコピーします。

copy_file(src, dest, preserve = false, dereference_root = true) -> ()

ファイル src の内容を dest にコピーします。

copy_stream(src, dest) -> ()

src を dest にコピーします。 src には read メソッド、dest には write メソッドが必要です。

cp_r(src, dest, options = {}) -> ()

src を dest にコピーします。src がディレクトリであったら再帰的に コピーします。その際 dest がディレクトリなら dest/src にコピーします。

pwd -> String
getwd -> String

プロセスのカレントディレクトリを文字列で返します。

install(src, dest, options = {})

src と dest の内容が違うときだけ src を dest にコピーします。

ln(src, dest, options = {}) -> ()
link(src, dest, options = {}) -> ()

src へのハードリンク dest を作成します。

ln_s(src, dest, options = {}) -> ()
symlink(src, dest, options = {}) -> ()

src へのシンボリックリンク dest を作成します。

ln_sf(src, dest, options = {}) -> ()

src へのシンボリックリンク dest を作成します。

mkdir_p(list, options = {}) -> String | Array
mkpath(list, options = {}) -> String | Array
makedirs(list, options = {}) -> String | Array

ディレクトリ dir とその親ディレクトリを全て作成します。

mkdir(dir, options = {}) -> ()

ディレクトリ dir を作成します。

mv(src, dest, options = {}) -> ()
move(src, dest, options = {}) -> ()

ファイル src を dest に移動します。

rm(list, options = {}) -> ()
remove(list, options = {}) -> ()

list で指定された対象を消去します。

remove_dir(path, force = false) -> ()

ディレクトリ path を削除します。

remove_entry(path, force = false)

ファイル path を削除します。path がディレクトリなら再帰的に削除します。

remove_entry_secure(path, force = false) -> ()

ファイル path を削除します。path がディレクトリなら再帰的に削除します。

remove_file(path, force = false) -> ()

ファイル path を削除します。

rm_f(list, options = {}) -> ()
safe_unlink(list, options = {}) -> ()

FileUtils.rm(list, :force => true) と同じです。

rm_r(list, options = {}) -> ()

ファイルまたはディレクトリ list を再帰的に消去します。

rm_rf(list, options = {}) -> ()
rmtree(list, options = {}) -> ()

ファイルまたはディレクトリ list を再帰的に消去します。

rmdir(dir, options = {}) -> ()

ディレクトリ dir を削除します。

touch(list, options = {}) -> ()

list で指定されたファイルの最終変更時刻 (mtime) と アクセス時刻 (atime) を変更します。

uptodate?(newer, older_list, options = nil) -> bool

newer が、older_list に含まれるすべてのファイルより新しいとき真。 存在しないファイルは無限に古いとみなされます。


module FileUtils::DryRun

ancestors: FileUtils::DryRun < FileUtils

Abstract

FileUtils と同じメソッドが定義されていますが、 実際にファイルを変更する操作は実行せず、操作を表示します。

Inherited Methods

.#cd .#chmod .#chmod_R .#chown .#chown_R .#cmp .#compare_stream .#copy .#copy_entry .#copy_file .#copy_stream .#cp_r .#getwd .#install .#link .#ln_s .#ln_sf .#makedirs .#mkdir .#move .#remove .#remove_dir .#remove_entry .#remove_entry_secure .#remove_file .#rm_f .#rm_r .#rm_rf .#rmdir .#touch .#uptodate?


module FileUtils::NoWrite

ancestors: FileUtils::NoWrite < FileUtils

Abstract

FileUtils と同じメソッドが定義されていますが、 実際にファイルを変更する操作は実行しません。

Inherited Methods

.#cd .#chmod .#chmod_R .#chown .#chown_R .#cmp .#compare_stream .#copy .#copy_entry .#copy_file .#copy_stream .#cp_r .#getwd .#install .#link .#ln_s .#ln_sf .#makedirs .#mkdir .#move .#remove .#remove_dir .#remove_entry .#remove_entry_secure .#remove_file .#rm_f .#rm_r .#rm_rf .#rmdir .#touch .#uptodate?


module FileUtils::Verbose

ancestors: FileUtils::Verbose < FileUtils

Abstract

FileUtils と同じメソッドが定義されており全く同じ動作をしますが、 しようとしていることを実行前に表示します。

Inherited Methods

.#cd .#chmod .#chmod_R .#chown .#chown_R .#cmp .#compare_stream .#copy .#copy_entry .#copy_file .#copy_stream .#cp_r .#getwd .#install .#link .#ln_s .#ln_sf .#makedirs .#mkdir .#move .#remove .#remove_dir .#remove_entry .#remove_entry_secure .#remove_file .#rm_f .#rm_r .#rm_rf .#rmdir .#touch .#uptodate?


library finalize

Abstract

オブジェクトが GC される時にメッセージを送る機能を提供します。このライブラリは obsolete です。

Finalizer とは, あるオブジェクト obj が GC される時に obj に依存しているオブジェクトに対 してメッセージを送る機能です。

このライブラリは実装が古いため動きません。 ObjectSpace.#define_finalizer 等を使用してください。

@see [ruby-list:3465]

Classes/Modules

module Finalizer

オブジェクトが GC される時にメッセージを送る機能を提供します。 このモジュールは obsolete なので、 ObjectSpace.#define_finalizer 等を使用してください。


module Finalizer

ancestors: Finalizer

Abstract

オブジェクトが GC される時にメッセージを送る機能を提供します。 このモジュールは obsolete なので、 ObjectSpace.#define_finalizer 等を使用してください。

Singleton Methods

Signature Description
add(obj, dependant, method = :finalize, *options)
add_dependency(obj, dependant, method = :finalize, *options)
delete(id, dependant, method = :finalize)
delete_dependency(id, dependant, method = :finalize)
delete_all_by_dependant(dependant)
delete_all_dependency(id, dependant)
delete_by_dependant(dependant, method = :finalize)
finalize_all
finalize_all_by_dependant(dependant)
finalize_all_dependency(id, dependant)
finalize_by_dependant(dependant, method = :finalize)
finalize_dependency(id, dependant, method = :finalize)
safe


library find

Abstract

ディレクトリ配下のファイルを探索するためのモジュールです。

使い方

require "find"

Find.find('/foo','/bar') {|f| ...}

または

require "find"

include Find
find('/foo','/bar') {|f| ...}

以下は、ruby のアーカイブに含まれるサンプルスクリプト [[unknown:"ruby-src:sample/trojan.rb"]] をこのモジュールで書き換えたものです。

#! /usr/bin/env ruby
require "find"
# 他人が書き込み可能な危険なコマンドを探す

for dir in ENV['PATH'].split(File::PATH_SEPARATOR)
  Find.find(dir) do |fpath|
    if File.file?(fpath) and (File.stat(fpath).mode & 022) != 0
      printf("file %s is writable from other users\n", fpath)
    end
  end
end

Classes/Modules

module Find

ディレクトリ配下のファイルを探索するためのモジュールです。


module Find

ancestors: Find

Abstract

ディレクトリ配下のファイルを探索するためのモジュールです。

Module Functions

Signature | Description
find(*dirs) {|file| ... } -> nil | find(1) のように dir 配下のすべてのファイルや ディレクトリを一つずつ引数 file に渡してブロックを実行します。
prune -> () | Find.#find メソッドのブロックにディレクトリが渡されたときにこ のメソッドを実行すると、そのディレクトリ配下の探索を無視します。


library forwardable

Abstract

クラスやオブジェクトに、メソッドの委譲機能を追加するためのライブラリです。

参考

  • Rubyist Magazine 0012 号 標準添付ライブラリ紹介【第 6 回】委譲 (http://jp.rubyist.net/magazine/?0012-BundledLibraries)

Classes/Modules

module Forwardable | クラスに対し、メソッドの委譲機能を定義するモジュールです。
module SingleForwardable | オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。


module Forwardable

ancestors: Forwardable

Abstract

クラスに対し、メソッドの委譲機能を定義するモジュールです。

使い方

クラスに対して Object#extend して使います。Module#include でないところに注意して下さい。

例:

class Foo
  extend Forwardable

  def_delegators("@out", "printf", "print")
  def_delegators(:@in, :gets)
  def_delegator(:@contents, :[], "content_at")
end
f = Foo.new
f.printf ...
f.gets
f.content_at(1)

Singleton Methods

Signature | Description
debug -> bool | 委譲部分をバックトレースに含めるかどうかの状態を返します。
debug= -> bool | 委譲部分をバックトレースに含めるかどうかの状態を設定します。

Instance Methods

Signature Description
def_instance_delegator(accessor, method, ali = method) -> nil
def_delegator(accessor, method, ali = method) -> nil

メソッドの委譲先を設定します。

def_instance_delegators(accessor, *methods) -> nil
def_delegators(accessor, *methods) -> nil

メソッドの委譲先をまとめて設定します。


module SingleForwardable

ancestors: SingleForwardable

Abstract

オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。

使い方

オブジェクトに対して extend して使います。

例:

g = Goo.new
g.extend SingleForwardable
g.def_delegator("@out", :puts)
g.puts ...

Instance Methods

Signature Description
def_singleton_delegator(accessor, method, ali = method) -> nil
def_delegator(accessor, method, ali = method) -> nil

メソッドの委譲先を設定します。

def_singleton_delegators(accessor, *methods) -> nil
def_delegators(accessor, *methods) -> nil

メソッドの委譲先をまとめて設定します。


library ftools

Abstract

ファイル操作のためのライブラリです。

注意

1.8 以降では、ftools の利用は推奨しません。ファイル操作をするには fileutils を使ってください。

概要

require 'ftools' とすると、ファイルのコピーや削除などのメソッドが追加されます。

Added/Redefined Methods

File.catname File.chmod File.cmp File.copy File.install File.makedirs File.move File.rm_f File.syscopy


library gdbm

Abstract

GDBM(GNU データベース・マネージャ) を Ruby スクリプトから扱うためのライブラリです。

GDBM は dbm および ndbm 互換機能を含んでいます。 扱えるキーや値のサイズに制限はありません。

@see dbm, sdbm, gdbm

Classes/Modules

class GDBM

GDBM ファイルをアクセスするクラス。

Exception Classes

class GDBMError | GDBM 内部で使用する例外クラスです。
class GDBMFatalError | GDBM 内部で使用する例外クラスです。


class GDBM

ancestors: GDBM < Enumerable < Object < Kernel

Abstract

GDBM ファイルをアクセスするクラス。

キー、データともに文字列でなければならないという制限と、 データがファイルに保存されるという点を除いては Hash クラスと 全く同様に扱うことができます。

Singleton Methods

Signature Description
new(dbname, mode = 0666, flags = 0) -> GDBM
open(dbname, mode = 0666, flags = 0) -> GDBM
open(dbname, mode = 0666, flags = 0) {|db| ... } -> ()

dbname で指定したデータベースをモードを mode に設定してオープンします。

Instance Methods

Signature Description
self[key] -> String

key をキーとする値を返します。

self[key] = value

key をキーとして、value を格納します。

cachesize=(size)

内部のキャッシュのサイズを指定します。

clear -> self

DBM ファイルを空にします。

close -> nil

DBM ファイルをクローズします。

closed? -> bool

DBM ファイルが既に閉じられているかどうかを返します。

delete(key) -> nil
delete(key) {|key| ... } -> ()

key をキーとする項目を削除します。

delete_if { |key, value| ... } -> self
reject! { |key, value| ... } -> self

ブロックを評価した値が真であれば該当する項目を削除します。

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

各要素に対するイテレータです。

each_key {|key| ... } -> self

全ての key に対して繰り返すイテレータです。

each_value {|value| ... } -> self

全ての value に対して繰り返すイテレータです。

empty? -> bool

データベースが空の時、真を返します。

fastmode=(bool) -> bool

オープンしている GDBM オブジェクトのモードを変更します。

fetch(key, ifnone = nil) {|key| ... } -> object

データベースから対応するキーを探してその要素の値を返します。

has_key?(key) -> bool
key?(key) -> bool
include?(key) -> bool
member?(key) -> bool

key がデータベース中に存在する時、真を返します。

has_value?(value) -> bool
value?(value) -> bool

value を値とする要素がデータベース中に存在する時、真を返します。

index(val) -> String

値 val に対応するキーを返します。

indexes(*keys) -> [String]
indices(*keys) -> [String]

各引数の値をキーとする要素の値を含む配列を返します。

invert -> Hash

値からキーへのハッシュを返します。

keys -> [String]

データベース中に存在するキー全てを含む配列を返します。

length -> Integer
size -> Integer

データベース中の要素の数を返します。

reject {|key, value| ... } -> Hash
reorganize -> self

DB ファイルの再編成を行います。

replace(other) -> self

self の内容を other の内容で置き換えます。

select {|key, value| ... } -> [[String]]

ブロックを評価して真になった要素のみを配列に格納して返します。

shift -> [String]

データベース中の要素を一つ取り出し、データベースから削除します。

store(key, val) -> [String]

key に対して val を格納します。

sync -> self

要素の変更をファイルに反映します。

syncmode=(bool) -> bool

オープンしている GDBM オブジェクトのモードを変更します。

to_a -> [[String]]

self の各要素を格納した配列を返します。

to_hash -> Hash

self の各要素を格納したハッシュを返します。

update(other) -> self

self と other の内容をマージします。

values -> [String]

データベース中に存在する値全てを含む配列を返します。

values_at(*keys) -> [String]

keys に対応する値を配列に格納して返します。

Constants

Signature | Description
FAST | GDBM.open の第3引数に指定します。
NEWDB | GDBM.open の第3引数に指定します。
NOLOCK | GDBM.open の第3引数に指定します。
READER | GDBM.open の第3引数に指定します。
SYNC | GDBM.open の第3引数に指定します。
VERSION | libgdbm のバージョン情報の文字列です。
WRCREAT | GDBM.open の第3引数に指定します。
WRITER | GDBM.open の第3引数に指定します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by inject max max_by min min_by minmax minmax_by none? one? partition sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class GDBMError

ancestors: GDBMError < StandardError < Exception < Object < Kernel

Abstract

GDBM 内部で使用する例外クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class GDBMFatalError

ancestors: GDBMFatalError < StandardError < Exception < Object < Kernel

Abstract

GDBM 内部で使用する例外クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library generator

Abstract

外部イテレータを扱うためのライブラリです。

Classes/Modules

class Generator | 内部イテレータを外部イテレータに変えるためのクラスです。 実装に callcc を使っているので遅いです。
class SyncEnumerator | 複数の Enumerable オブジェクトを並行して yield するためのクラスです。

Added/Redefined Methods

Enumerable::Enumerator#next Enumerable::Enumerator#rewind


class Generator

ancestors: Generator < Enumerable < Object < Kernel

Abstract

内部イテレータを外部イテレータに変えるためのクラスです。 実装に callcc を使っているので遅いです。

  • SyncEnumerator

例:

require 'generator'

# Generator from an Enumerable object
g = Generator.new(['A', 'B', 'C', 'Z'])

while g.next?
  puts g.next
end

# Generator from a block
g = Generator.new { |g|
  for i in 'A'..'C'
    g.yield i
  end

  g.yield 'Z'
}

# The same result as above
while g.next?
  puts g.next
end

Singleton Methods

Signature Description
new(enum = nil) -> Generator
new(enum = nil) {|g| ... } -> Generator

Enumerable オブジェクトかブロックから Generator オブジェクトを生成します。

Instance Methods

Signature Description
current -> object

現在の位置にある要素を返します。next と違い位置は移動しません。

each {|e| ... } -> self

ジェネレータの要素を引数としてブロックを評価します。self を返します。

end? -> bool

次の要素がなく、ジェネレータが終わりに達しているなら真を返します。

index -> Integer
pos -> Integer

現在の位置を返します。

next -> object

現在の位置にある要素を返し、位置を1つ進めます。

next? -> bool

次の要素が存在するなら真を返します。

rewind -> self

ジェネレータを最初に巻き戻します。self を返します。

yield(val) -> self

val をジェネレータに渡します。 Generator.new() {|g| ... } のブロックの中でしか呼ぶことができません。 ジェネレータに渡された val は next などで取り出すことができます。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SyncEnumerator

ancestors: SyncEnumerator < Enumerable < Object < Kernel

Abstract

複数の Enumerable オブジェクトを並行して yield するためのクラスです。

例:

require 'generator'

s = SyncEnumerator.new([1,2,3], ['a', 'b', 'c'])

# Yields [1, 'a'], [2, 'b'], and [3,'c']
s.each { |row| puts row.join(', ') }

Singleton Methods

Signature | Description
new(*enums) -> SyncEnumerator | SyncEnumerator オブジェクトを生成します。

Instance Methods

Signature Description
each {|elem| ... } -> self

与えられた Enumerable オブジェクトのそれぞれの要素の配列を引数として ブロックを評価します。self を返します。

end?(i = nil) -> bool

SyncEnumerator が終わりに達している場合は真を返します。

length -> Integer
size -> Integer

与えられた Enumerable オブジェクトの数を返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library getoptlong

Abstract

getoptlong は、GNU の getopt_long() とまったく同じ方式でコマンド 行オプションの解析を行う Ruby のライブラリです。

Author: 笠原 基之 (m-kasahr@sra.co.jp)

Copyright 1998, 1999 Motoyuki Kasahara

You may redistribute it and/or modify it under the same license terms as Ruby.

GNU getopt_long() とは?

GNU getopt_long() は、コマンド行オプションの解析を行う C の関数です。多 くの GNU ソフトウェアがこの関数を使用しています。GNU getopt_long() そし て getoptlong には、以下のような特徴があります。

  • 伝統的な一文字オプションに加えて、長いオプションに対応しています。長 いオプションは `-' の代わりに `--' で始まります (例: `--version')。
  • 長いオプションは、一意に定まる限り後方を省略することができます (例: `--version' は、`--ver' と略すことができます。ただし、他のオプ ション名が `--ver' で始まらない場合に限ります)。
  • 特殊な引数 `--' によって、オプションの解析を強制的に終了します。

順序形式 (Ordering)

GNU getopt_long() および getoptlong.rb には、`REQUIRE_ORDER', `PERMUTE', `RETURN_IN_ORDER' という、3 つの「順序形式 (ORDERING)」が用 意されています。それぞれの処理形式は、非オプション引数についての扱い方 が異なります。

  • REQUIRE_ORDER: 非オプション引数の後に来たオプションは、オプションとして認識しません。 最初に非オプション引数が現れた時点で、オプションの解析処理を中止します。
  • PERMUTE: コマンド行引数の内容を、走査した順に入れ替え、最終的にはすべての非オプ ションを末尾に寄せます。この方式では、オプションはどの順序で書いても良 いことになります。これは、たとえプログラム側でそうなることを期待しなく ても、そうなります。この方式がデフォルトです。
  • RETURN_IN_ORDER: オプションと他の非オプション引数はどんな順序で並んでも良いが、お互いの 順序は保持したままにしたいというプログラムのための形式です。

POSIXLY_CORRECT

環境変数 POSIXLY_CORRECT が定義されていると、処理形式に `PERMUTE' を 選択していても、REQUIRE_ORDER 形式で処理されます。

使い方

あなたの作ったプログラムのヘルプメッセージが、次のようになっているもの とします。

Usage: command [option...]
Options:
  -m SIZE  --max-size SIZE    Set maximum size
  -q  --quiet  --silence      Suppress all warnings
  --help                      Output this help, then exit
  --version                   Output version number, then exit

まず、`getoptlong.rb' を Ruby で書かれたあなたのプログラムに取り込みま す。

require 'getoptlong.rb'

getopts や parsearg とは異なり、getoptlong はモジュール ではなくクラスを提供します。 クラスの名前は GetoptLong です。 GetoptLong クラスのオブジェクトを生成します。

parser = GetoptLong.new

そして、set_options メソッドを呼び出し、この parser にオプションを セットします。

parser.set_options(
    ['--max-size',           '-m', GetoptLong::REQUIRED_ARGUMENT],
    ['--quiet', '--silence', '-q', GetoptLong::NO_ARGUMENT],
    ['--help',                     GetoptLong::NO_ARGUMENT],
    ['--version',                  GetoptLong::NO_ARGUMENT])

getopts モジュールが行っているように、与えられたオプションを `$OPT_...' という定数に入れたいときは、次のコードをあなたのプログラム に足して下さい。

begin
   parser.each_option do |name, arg|
      eval "$OPT_#{name.sub(/^--/, '').gsub(/-/, '_').upcase} = '#{arg}'"
   end
rescue
   exit(1)
end

each_option メソッドは、常にオプション名を「正式名 (CANONICAL NAME)」 の形で返してきます。「正式名」とは、`set_options' へ渡した個々の引数に おいて、一番左にあるオプション名のことです。たとえば、`--quiet' は、 `-q' と `--silence' の正式名になります。したがって、この節の例で定義さ れる可能性があるのは、`$OPT_MAX_SIZE', `$OPT_QUIET', `$OPT_HELP', `$OPT_VERSION' です。後方が省略されたオプションが与えられたときも、対 応する正式名に変換されます。

順序形式の設定

先に記したように、順序形式 (ORDEING) のデフォルトは `PERMUTE' です。 順序形式を変えるには `ordering=' メソッドを用います。

parser.ordering = GetoptLong::REQUIRE_ORDER

エラー

オプションの処理中は、次のような理由でエラーが発生します。

  • 与えれたオプションは名前の後方が省略されていると思われるが、一意に決 まらない。
  • 知らないオプションが与えられた。
  • 与えられたオプションには引数が欠けている。
  • 与えられたオプションには引数が伴っているが、そのオプションは引数をと らない。

エラーが発生した場合、「静粛 (quiet)」フラグが設定されていなければ、標 準エラー出力にエラーメッセージが出力され、例外が発生します。例外には、 エラーメッセージも渡されます。

一旦エラーが起きてしまうと、続きのオプションを得ようとする試みはすべて 失敗します。`GetoptLong' には、エラーを解除する方法はありません。言い 換えると、エラーが起きたら、オプションの処理は諦めなければなりません。

静粛フラグ

エラーが発生すると、デフォルトではエラーメッセージが標準エラー出力に出 力されます。「静粛 (quiet)」フラグを設定すると、エラーメッセージの出力 は抑制されます。

parser.quiet = TRUE

Classes/Modules

class GetoptLong

Exception Classes

class GetoptLong::AmbigousOption | 与えられたオプションは名前の後方が省略されていると思われる が、一意に決まらない。
class GetoptLong::Error |
class GetoptLong::InvalidOption | 知らないオプションが与えられた。
class GetoptLong::MissingArgument | 与えられたオプションには引数が欠けている。
class GetoptLong::NeedlessArgument | 与えられたオプションは引数を伴っているが、そのオプションは 引数をとらない。


class GetoptLong

ancestors: GetoptLong < Object < Kernel

Abstract

Singleton Methods

Signature Description
new
new(option...)

GetoptLong のオブジェクトを生成します。option が与えられる たときは、それを set_options メソッドに渡します。

Instance Methods

Signature Description
each {|optname, optarg|...}
each_option {|optname, optarg|...}

get メソッドのイテレータ版です。オプションとその引数の取得を 繰り返し行います。詳しくは get の説明を参照して下さい。

error
error?

現在のエラーの型を返します。エラーが発生していなければ、nil を返します。

error_message

現在のエラーのエラーメッセージを返します。エラーが発生していな ければ、nil を返します。

get
get_option

ARGV から、次のオプションの名前と、もしあればその引数の組を取 得します。メソッドは 2 つの値を返し、1 つ目の値がオプション名 (例: --max-size) で、2 つ目がオプションの引数 (例: 20K) で す。get の通常の呼び出し方は次の通りです。

ordering

現在の順序形式を返します。

ordering=(ordering)

順序形式 (ordering) を設定します。引数 ordering は、 PERMUTE, REQUIRE_ORDER, RETURN_IN_ORDER のいずれかでなく てはなりません。それ以外の値を代入しようとすると、例外 ArgumentError が発生します。

quiet
quiet?

静粛モードが有効であれば、TRUE が返ります。そうでなければ、 FALSE が返ります。

quiet=(flag)

flag が TRUE なら、静粛 (quiet) モードが有効になります。 静粛モードが有効になっていると、レシーバのオブジェクトは、 get, get_option, each, each_option メソッドでエラーが 発生しても、エラーメッセージを出力しません。初期値は、FALSE になっています。

set_options(option...)

あなたのプログラムで、認識させたいオプションをセットします。 個々の option は、オプション名と引数のフラグからなる配列でな ければいけません。

terminate

オプションの処理を、強制的に終了させます。ただし、エラーが起き ている状態でこのメソッドを起動しても、終了させることはできませ ん。エラーが起きている状態でこのメソッドを起動すると、 RuntimeError 例外が発生します。すでにオプションの処理が終了 しているときは、このメソッドは何も行いません。

terminated?

エラーが起きずにオプションの処理が終了しているときは TRUE が 返ります。それ以外のときは、FALSE が返ります。

Constants

Signature Description
NO_ARGUMENT
REQUIRED_ARGUMENT
OPTIONAL_ARGUMENT

オプションへの引数のフラグです。

PERMUTE
REQUIRE_ORDER
RETURN_IN_ORDER

順序形式を表しています。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class GetoptLong::AmbigousOption

ancestors: GetoptLong::AmbigousOption < GetoptLong::Error < StandardError < Exception < Object < Kernel

Abstract

与えられたオプションは名前の後方が省略されていると思われる が、一意に決まらない。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class GetoptLong::Error

ancestors: GetoptLong::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class GetoptLong::InvalidOption

ancestors: GetoptLong::InvalidOption < GetoptLong::Error < StandardError < Exception < Object < Kernel

Abstract

知らないオプションが与えられた。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class GetoptLong::MissingArgument

ancestors: GetoptLong::MissingArgument < GetoptLong::Error < StandardError < Exception < Object < Kernel

Abstract

与えられたオプションには引数が欠けている。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class GetoptLong::NeedlessArgument

ancestors: GetoptLong::NeedlessArgument < GetoptLong::Error < StandardError < Exception < Object < Kernel

Abstract

与えられたオプションは引数を伴っているが、そのオプションは 引数をとらない。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library getopts

Abstract

このライブラリは obsolete です。 optparse を使ってください。

オプションを解析するためのライブラリです。 $OPT_xxx に値を設定します。

典型的な使い方は以下のようになります。

require 'getopts'

unless getopts('vh', 'version', 'help')
  abort "usage: #$0 [-vh] [--version] [--help] file"
end

if $OPT_v or $OPT_version
  puts VERSION_STRING
  exit
end

# ARGV からオプションは取り除かれる。

while line = ARGF.gets
  # ...
end

Added/Redefined Methods

Kernel#getopts


library gserver

Abstract

サーバを実装するためのライブラリです。

Classes/Modules

class GServer

サーバを実装するためのクラスです。GServer を継承した新しいクラスを定義して使います。 fork ではなくスレッドを使っています。


class GServer

ancestors: GServer < Object < Kernel

Abstract

サーバを実装するためのクラスです。GServer を継承した新しいクラスを定義して使います。 fork ではなくスレッドを使っています。

例:

#
# 1970年からの経過時間を秒で返すサーバの例です。
#
class TimeServer < GServer
  def initialize(port=10001, *args)
    super(port, *args)
  end
  def serve(io)
    io.puts(Time.now.to_i)
  end
end

# ログを取る設定でサーバをスタートします。
server = TimeServer.new
server.audit = true                  # Turn logging on.
server.start

# まだサーバが動いているかを確認してみましょう。
GServer.in_service?(10001)           # -> true
server.stopped?                      # -> false

# サーバを止めます。
server.shutdown

# すぐさまサーバを止めることもできます。
GServer.stop(10001)
# もちろん server.stop でも可能です。

参照

http://www.ruby-doc.org/stdlib/libdoc/gserver/rdoc/

Singleton Methods

Signature | Description
in_service?(port, host = DEFAULT_HOST) | 与えられた host と port で GServer オブジェクトが同じプロセス内で サービス中なら真を返します。
new(port, host = DEFAULT_HOST, maxConnections = 4, stdlog = $stderr, audit = false, debug = false) | GServer オブジェクトを生成します。
stop(port, host = DEFAULT_HOST) | 与えられた host と port に対応する GServer オブジェクトを停止します。

Instance Methods

Signature | Description
audit | メソッド starting, connecting, disconnecting, stopping をそれぞれ定められた時に呼ぶなら true、そうでないなら false を返します。
audit=(bool) | true なら GServer はログを取るためのメソッド starting, connecting, disconnecting, stoppingを それぞれ定められた時に呼びます。
connecting(client) | audit が true に設定されているなら、クライアント接続時に呼ばれます。 client はクライアントと接続している TCPSocket です。 サブクラスでオーバーライドします。
connections() | 現在接続しているクライアントの数を返します。
debug | デバッグモードなら true、そうでないなら false を返します。
debug=(bool) | デバッグモードにするかどうかを設定します。
disconnecting(clientPort) | audit が true に設定されているなら、クライアントとの接続終了時に呼ばれます。 clientPort は接続していたクライアントのポートです。 サブクラスでオーバーライドします。
error(detail) | debug が true に設定されている時、例外が発生すると呼ばれます。 detail は例外オブジェクトです。protected メソッドです。
host | ホストを文字列で返します。
join | サーバのサービスを実行しているスレッドを join します。
log(msg) | 文字列 msg をログに記録します。protected メソッドです。
maxConnections | 受け付ける最大接続数を返します。
port | ポートを数で返します。
serve(io) | 何もしません。サブクラスでオーバーライドします。
shutdown | GServer を停止します。
start(maxConnections = -1) | GServer を起動します。 0 より大きい maxConnections を与えたなら、 最大接続数として設定されます。
starting | audit が true に設定されているなら、サーバ起動時に呼ばれます。 サブクラスでオーバーライドします。
stdlog | ログを出力する先の IO オブジェクトを返します。デフォルトは $stderr です。
stdlog=(io) | ログを出力する先の IO オブジェクトを設定します。デフォルトは $stderr です。
stop | GServer をすぐに停止します。
stopped? | GServer が停止しているなら真を返します。
stopping | audit が true に設定されているなら、サーバ停止時に呼ばれます。 サブクラスでオーバーライドします。

Constants

Signature | Description
DEFAULT_HOST | "127.0.0.1" です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library iconv

Abstract

Iconv は UNIX 95 の iconv() 関数のラッパーで、 さまざまな文字コード体系間で文字列の変換を行ないます。

詳細は http://www.opengroup.org/ のオンラインドキュメントを 参照して下さい。

  • iconv(3)
  • iconv_open(3)
  • iconv_close(3)
  • http://www.opengroup.org/onlinepubs/009695399/basedefs/iconv.h.html

注意

どの文字コード体系が利用できるかはプラットフォーム依存です。さらに文字コード体系をあらわす文字列もプラットフォーム依存です。日本語 EUC をあらわす文字列が EUC-JP, euc-jp, eucJP など異なる場合があります。このプラットフォームによる違いを吸収するために、 「ext/iconv/charset_alias.rb」 が用意されています。 GNU ソフトウェア texinfo (http://www.gnu.org/software/texinfo/) に含まれるファイル config.charset を以下のミラーサイトから手に入れて

  • http://ring.riken.go.jp/archives/text/CTAN/macros/texinfo/texinfo/gnulib/lib/config.charset

ext/iconv/ に置き、ext/iconv/ で次のように実行すると

ruby extconf.rb
make

iconv.rb が生成されます。この iconv.rb がプラットフォームによる文字コード体系をあらわす文字列の違いを吸収します。

config.charset のライセンスは LGPL なので、生成された iconv.rb にも LGPL が適用されます。

例

require 'iconv'
euc = ["a4a2a4a4a4a6a4a8a4aa"].pack("H*") # あいうえお
sjis = ["82a082a282a482a682a8"].pack("H*")
iconv = Iconv.new('SHIFT_JIS', 'EUC-JP')  # EUC-JP から SHIFT_JIS へ変換
str = iconv.iconv(euc)
str << iconv.iconv(nil)
p( str == sjis )

(1) 新しく Iconv のインスタンスを作り, Iconv#iconv メソッドを使う

cd = Iconv.new(to, from)
begin
  input.each {|s| output << cd.iconv(s)}
  output << cd.iconv(nil)      # don't forget this
ensure
  cd.close
end

(2) Iconv.open をブロックつきで呼び出す

Iconv.open(to, from) do |cd|
  input.each {|s| output << cd.iconv(s)}
  output << cd.iconv(nil)
end

(3) (2) の短縮系

Iconv.iconv(to, from, *input.to_a)

参考

  • 標準添付ライブラリ紹介【第 3 回】 Kconv/NKF/Iconv (http://jp.rubyist.net/magazine/?0009-BundledLibraries#l30)

Classes/Modules

class Iconv | iconv 関数のラッパークラスです。
module Iconv::Failure | Iconv が起こす例外のためのモジュールです。

Exception Classes

class Iconv::BrokenLibrary | iconv ライブラリのバグなどにより、errno(3) が設定されなかった場合に発生します。 (Windows で iconv.dll の使用する MSVC runtime DLL のバージョンが、ruby 本体が使用するものと一致していない場合も含みます。)
class Iconv::IllegalSequence | 入力か出力の文字が指示された文字集合に含まれないために変換が停止したこと を表します。
class Iconv::InvalidCharacter | 入力の最後が不完全な文字かシフトで終っているために変換が停止したこと を表します。
class Iconv::InvalidEncoding | メソッドの引数等で指定された文字コード体系が見つからない (システム上で有効でない) 場合に発生します。
class Iconv::OutOfRange | Iconv ライブラリの内部エラーです。この例外は起こらないはずです。


class Iconv

ancestors: Iconv < Data < Object < Kernel

Abstract

iconv 関数のラッパークラスです。

Singleton Methods

Signature Description
charset_map -> Hash
conv(to, from, str) -> String

与えられた文字コードにしたがって str を変換し、結果を文字列として返します。

iconv(to, from, *strs) -> Array

与えられた文字コードにしたがって strs を変換し、結果を文字列の配列として返します。

new(to, from) -> Iconv

文字コード from から to へ変換するIconvオブジェクトを生成します。

open(to, from) -> Iconv
open(to, from) {|cd| ...} -> object

ブロックが与えられない場合は Iconv.new と等価です。 ブロックが与えられると、Iconv オブジェクトを生成し、それを引数としてブロックを実行します。 ブロックの終りに Iconv オブジェクトは close されます。 ブロックの値を返します。

Instance Methods

Signature | Description
close -> String | 変換を終了します。出力バッファを初期シフト状態に戻すための文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。
iconv(str, start = 0, length = -1) -> String | 文字列の変換を開始し、変換後の文字列を返します。 str が文字列の場合、str[start, length] を変換し、 変換後の文字列を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Iconv::BrokenLibrary

ancestors: Iconv::BrokenLibrary < Iconv::Failure < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

iconv ライブラリのバグなどにより、errno(3) が設定されなかった場合に発生します。 (Windows で iconv.dll の使用する MSVC runtime DLL のバージョンが、ruby 本体が使用するものと一致していない場合も含みます。)

Inherited Methods

backtrace exception message set_backtrace .exception failed inspect success == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module Iconv::Failure

ancestors: Iconv::Failure

Abstract

Iconv が起こす例外のためのモジュールです。

Instance Methods

Signature | Description
failed -> String | Iconv に渡された文字列のうち、 例外が起こった位置からはじまる部分を返します。
inspect -> String | #<type: "success", "failed"> のような形をした 文字列を返します。
success -> String | 例外が起こるまでに変換に成功した文字列を返します。


class Iconv::IllegalSequence

ancestors: Iconv::IllegalSequence < Iconv::Failure < ArgumentError < StandardError < Exception < Object < Kernel

Abstract

入力か出力の文字が指示された文字集合に含まれないために変換が停止したこと を表します。

Inherited Methods

backtrace exception message set_backtrace .exception failed inspect success == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Iconv::InvalidCharacter

ancestors: Iconv::InvalidCharacter < Iconv::Failure < ArgumentError < StandardError < Exception < Object < Kernel

Abstract

入力の最後が不完全な文字かシフトで終っているために変換が停止したこと を表します。

Inherited Methods

backtrace exception message set_backtrace .exception failed inspect success == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Iconv::InvalidEncoding

ancestors: Iconv::InvalidEncoding < Iconv::Failure < ArgumentError < StandardError < Exception < Object < Kernel

Abstract

メソッドの引数等で指定された文字コード体系が見つからない (システム上で有効でない) 場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception failed inspect success == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Iconv::OutOfRange

ancestors: Iconv::OutOfRange < Iconv::Failure < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Iconv ライブラリの内部エラーです。この例外は起こらないはずです。

Inherited Methods

backtrace exception message set_backtrace .exception failed inspect success == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library importenv

Abstract

環境変数をグローバル変数としてアクセスするためのライブラリです。 このライブラリは deprecated です。代替となるライブラリはありません。

このライブラリを require するだけで環境変数をグローバル変数としてアクセスすることができるようになります。

使用例

require 'importenv'
p $USER              # => "matz" (自分のユーザ名)
$USER = "matz-2.0"
p ENV["USER"]        # => "matz-2.0"
p $USER              # => "matz-2.0"


library io/nonblock

Abstract

IOのノンブロックモードを扱うライブラリです。

Added/Redefined Methods

IO#nonblock IO#nonblock= IO#nonblock?


library io/wait

Abstract

IOが読み込み可能になるまで待つ機能を提供するライブラリです。

Added/Redefined Methods

IO#ready? IO#wait


library ipaddr

Abstract

IPアドレスを扱うライブラリです。

Classes/Modules

class IPAddr

IP アドレスを扱うのためのクラスです。


class IPAddr

ancestors: IPAddr < Object < Kernel

Abstract

IP アドレスを扱うのためのクラスです。

例:

require 'ipaddr'

ipaddr1 = IPAddr.new("3ffe:505:2::1")
p ipaddr1   # => #<IPAddr: IPv6:3ffe:0505:0002:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>

ipaddr3 = IPAddr.new("192.168.2.0/24")
p ipaddr3   # => #<IPAddr: IPv4:192.168.2.0/255.255.255.0>

参照

  • [RFC3513]

Singleton Methods

Signature | Description
new(addr = '::', family = Socket::AF_UNSPEC) -> IPAddr | 新しい IPAddr オブジェクトを生成します。
new_ntoh(addr) -> IPAddr | ネットワークバイトオーダーのバイト列から IPAddr オブジェクトを生成します。
ntop(addr) | ネットワークバイトオーダーのバイト列で表現された IP アドレスを人間の読める形式に変換します。

Instance Methods

Signature Description
self & ipaddr -> IPAddr

他の IPAddr オブジェクトとのビットごとの論理積により、 新しい IPAddr オブジェクトを生成します。

self << num -> IPAddr

ビットごとの左シフト演算により、新しい IPAddr オブジェクトを生成します。

self <=> other -> nil | Integer

self と other を比較します。

self == ipaddr -> bool

IPAddr オブジェクト同士が等しいかを比較します。

include?(ipaddr) -> bool
self === ipaddr -> bool

与えられた IPAddr オブジェクトが自身の範囲に入っているかを判定します。

self >> num -> IPAddr

ビットごとの右シフト演算により、新しい IPAddr オブジェクトを生成します。

family -> Integer

このオブジェクトのアドレスファミリを返します。

hton -> String

ネットワークオーダーのバイト列に変換します。

inspect -> String

オブジェクトを人間が読める形式に変換した文字列を返します。

ip6_arpa -> String

IPv6 なら [RFC3172] で定義された形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。

ip6_int -> String

IPv6 なら [RFC1886] 互換形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。

ipv4? -> bool

IPv4 なら真を返します。

ipv4_compat -> IPAddr

IPv4 アドレスから IPv4 互換 IPv6 アドレスの 新しい IPAddr オブジェクトを返します。

ipv4_compat? -> bool

IPv4 互換 IPv6 アドレスなら 真を返します。

ipv4_mapped -> IPAddr

IPv4 アドレスから IPv4 射影 IPv6 アドレスの 新しい IPAddr オブジェクトを返します。

ipv4_mapped? -> bool

IPv4 射影 IPv6 アドレスなら 真を返します。

ipv6? -> bool

IPv6 なら真を返します。

mask(prefixlen) -> IPAddr

マスクされた新しい IPAddr オブジェクトを返します。 引数にはプリフィックス長とマスクの両方を受け付けます (e.g. 8, 64, "255.255.255.0")。

mask!(mask) -> self

与えられた mask を使用してこのオブジェクトの IP アドレスを破壊的に変更します。

native -> self | IPAddr

IPv4 射影 IPv6 アドレスや IPv4 互換 IPv6 アドレスから、 IPv4 アドレスの新しい IPAddr オブジェクトを返します。 IPv4 互換でも IPv4 組み込みでもないなら self を返します。

reverse -> String

DNS 逆引きのための文字列を返します。 IPv6 なら [RFC3172] で定義された形式で返します。

set(addr, *family) -> self

このオブジェクトの IP アドレスとアドレスファミリをセットして自身を返します。

succ -> IPAddr

次の IPAddr オブジェクトを返します。

to_i -> Integer

整数に変換します。

to_range -> Range

self の IP アドレスとサブネットマスクで取得できる IP アドレスの範囲を Range オブジェクトとして返します。

to_s -> String

文字列に変換します。

to_string -> String

標準的な文字列表現に変換します。

self | ipaddr -> IPAddr

他の IPAddr オブジェクトとのビットごとの論理和により、 新しい IPAddr オブジェクトを生成します。

~ -> IPAddr

ビットごとの論理否定により、新しい IPAddr オブジェクトを生成します。

Constants

Signature | Description
IN4MASK | IPv4 アドレスの場合に使用するマスク値。
IN6FORMAT | IPv6 アドレスをわかりやすく表示するためのフォーマット文字列。
IN6MASK | IPv6 アドレスの場合に使用するマスク値。

Inherited Methods

=~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library irb

Abstract

irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。

irb の使い方

Ruby さえ知っていれば irb を使うのは簡単です。 irb コマンドを実行すると、以下のようなプロンプトが表れます。

$ irb
irb(main):001:0>

あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。

irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1>   def foo
irb(main):004:2>     print 1
irb(main):005:2>   end
irb(main):006:1> end
nil
irb(main):007:0>

また irb コマンドは readline ライブラリにも対応しています。 readline ライブラリがインストールされている時には 自動的にコマンドライン編集や履歴の機能が使えるようになります。

irb のコマンドラインオプション

irb [options] file_name opts
options:
-f                ~/.irbrc を読み込まない
-m                bc モード (分数と行列の計算ができる)
-d                $DEBUG を true にする (ruby -d と同じ)
-Kc               ruby -Kc と同じ
-r library        ruby -r と同じ
-I                ruby -I と同じ
--verbose         これから実行する行を表示する (デフォルト)
--noverbose       これから実行する行を表示しない
--echo            実行結果を表示する (デフォルト)
--noecho          実行結果を表示しない
--inspect         結果出力にinspectを用いる (bc モード以外ではデフォルト)
--noinspect       結果出力にinspectを用いない
--readline        readlineライブラリを利用する
--noreadline      readlineライブラリを利用しない。デフォルトでは
                  inf-ruby-mode 以外で readline ライブラリを利用する。
--prompt prompt-mode
--prompt-mode prompt-mode
                  プロンプトモードを切り替える。現在定義されているプ
                  ロンプトモードは、default/simple/xmp/inf-ruby。
--inf-ruby-mode   emacsのinf-ruby-mode 用のプロンプト表示を行なう。
                  特に指定がない限り readline ライブラリは使わなくなる。
--simple-prompt
                  非常にシンプルなプロンプトを用いるモード。
--noprompt        プロンプトを表示しない。
--tracer          コマンド実行時にトレースする。
--back-trace-limit n
                  バックトレース表示をバックトレースの頭から n、
                  うしろから n だけ行なう。デフォルト値は 16。
--irb_debug n     irb のデバッグレベルを n に設定する
                  (ユーザは利用すべきではない)
-v, --version     irb のバージョンを表示する

irb のカスタマイズ

irb コマンドは起動時にホームディレクトリの .irbrc というファイルを読み込みます。 .irbrc は Ruby スクリプトです。ホームディレクトリに .irbrc が存在しない場合は、 カレントディレクトリの .irbrc, irb.rc, _irbrc, $irbrc を順番にロードしようと 試みます。

以下のような (Ruby の) 式を .irbrc に記述すると、 irb コマンドのオプションを指定したのと同じ効果が得られます。

IRB.conf[:AUTO_INDENT] = false
IRB.conf[:BACK_TRACE_LIMIT] = 16
IRB.conf[:DEBUG_LEVEL] = 1
IRB.conf[:ECHO] = nil
IRB.conf[:EVAL_HISTORY] = nil
IRB.conf[:IGNORE_EOF] = true
IRB.conf[:IGNORE_SIGINT] = true
IRB.conf[:INSPECT_MODE] = nil
IRB.conf[:IRB_NAME] = "irb"
IRB.conf[:IRB_RC] = nil
IRB.conf[:MATH_MODE] = false
IRB.conf[:PROMPT] = {....}
IRB.conf[:PROMPT_MODE] = :DEFALUT
IRB.conf[:SINGLE_IRB] = false
IRB.conf[:USE_LOADER] = true
IRB.conf[:USE_READLINE] = nil
IRB.conf[:USE_TRACER] = true
IRB.conf[:VERBOSE] = true

プロンプトのカスタマイズ

irb のプロンプトをカスタマイズしたい時は、 まず独自のプロンプトモードを作成し、 それをコマンドラインや .irbrc に指定します。

まず、新しいプロンプトモードを作成するには、 例えば .irbrc で以下のように記述します。

# 新しいプロンプトモード MY_PROMPT を作成する
IRB.conf[:PROMPT][:MY_PROMPT] = {
  :PROMPT_I => nil,          # 通常時のプロンプト
  :PROMPT_S => nil,          # 文字列などの継続行のプロンプト
  :PROMPT_C => nil,          # 式が継続している時のプロンプト
  :RETURN => "    ==>%s\n"   # メソッドから戻る時のプロンプト
}

いま作成した新しいプロンプトモードを使うには、 以下のように irb コマンドに --prompt オプションを指定します。

$ irb --prompt my-prompt

毎回指定するのが面倒なら、.irbrc に以下の式を記述します。

# プロンプトモード MY_PROMPT を使う
IRB.conf[:PROMPT_MODE] = :MY_PROMPT

PROMPT_I, PROMPT_S, PROMPT_C にはフォーマット文字列を指定します。 フォーマット文字列では Kernel.#printf のように 「%」を用いた記法が使えます。 フォーマット文字列で使用可能な記法は以下の通りです。

%N

起動しているコマンド名

%m

main オブジェクト (self) を to_s した文字列

%M

main オブジェクト (self) を inspect した文字列

%l

文字列中のタイプを表す (", ', /, ], `]'は%wの中の時)

%NNi

インデントのレベルを、NN 桁に右詰めした文字列。 NN は省略可能。

%NNn

行番号を、NN 桁に右詰めした文字列。 NN は省略可能。

%%

文字「%」それ自体

また、RETURN は現在のところ printf と全く同じ形式で指定します。 ただし、将来は仕様が変わる可能性があります。

例えば、デフォルトのプロンプトモードである 「default」プロンプトモードは以下のように設定されています。

IRB.conf[:PROMPT_MODE][:DEFAULT] = {
  :PROMPT_I => "%N(%m):%03n:%i> ",
  :PROMPT_S => "%N(%m):%03n:%i%l ",
  :PROMPT_C => "%N(%m):%03n:%i* ",
  :RETURN => "%s\n"
}

プロンプトモードは :DEFAULT の他に :NULL, :CLASSIC, :SIMPLE, :XMP が定義されています。

サブ irb

irb では、起動時の irb インタプリタとは独立した環境を持つ 「サブ irb」を任意の数だけ起動することができます。 サブ irb は、irb 実行中に「irb」と入力すると起動します。

例えば以下の実行例を見てください。

irb(main):004:0> x = "OK"          # ローカル変数 x を定義
=> "OK"
irb(main):005:0> x                 # x を表示
=> "OK"
irb(main):006:0> irb               # サブ irb を起動
irb#1(main):001:0> x               # x を表示
NameError: undefined local variable or method `x' for main:Object
        from (irb#1):1:in `Kernel#binding'

起動時のインタプリタでローカル変数 x を定義しましたが、 「irb」でサブ irb を起動すると、 ローカル変数 x が見えなくなっています。 これが「独立した環境」の意味です。

サブ irb の設定

irb コマンド起動時のインタプリタの設定は コマンドラインオプションと IRB.conf の値で決まります。 それに対して、サブ irb インタプリタの設定は、 各インタプリタの「conf」オブジェクトの値で決まります。

conf オブジェクトの値を変更するには、 まず以下のようにサブ irb を起動してから conf オブジェクトの 値を一つ一つ変更する方法があります。

$ irb
irb(main):001:0> irb                     # サブ irb を起動
irb#1(main):001:0> conf.prompt_i         # prompt_i の値を確認
=> "%N(%m):%03n:%i> "
irb#1(main):002:0> conf.prompt_i = ">"   # prompt_i の値を変更
=> ">"
>                                        # プロンプトが変わった

しかし、サブ irb を起動するたびに設定を入力するのは面倒です。 そこで、IRB.conf[:IRB_RC] を使う方法を紹介します。

IRB.conf[:IRB_RC] に Proc オブジェクトを設定しておくと、 サブ irb が起動されるたびに、その Proc オブジェクトに IRB::Context オブジェクトを渡して実行します。 これによってサブ irb の設定をまとめて設定することができます。

以下に例を示します。

$ irb
irb(main):001:0> IRB.conf[:IRB_RC] = lambda {|conf| conf.prompt_i = "> " }
=> #<Proc:0x00002a95fa3fd8@(irb):2>
irb(main):002:0> irb
>

irb の使用例

irb のいろいろな使用例を以下に示します。

$ irb
irb(main):001:0> irb                        # サブirbの立ちあげ
irb#1(main):001:0> jobs                     # サブirbのリスト
#0->irb on main (#<Thread:0x400fb7e4> : stop)
#1->irb#1 on main (#<Thread:0x40125d64> : running)
nil
irb#1(main):002:0> fg 0                     # jobのスイッチ
nil
irb(main):002:0> class Foo;end
nil
irb(main):003:0> irb Foo                    # Fooをコンテキストしてirb
                                            # 立ちあげ
irb#2(Foo):001:0> def foo                   # Foo#fooの定義
irb#2(Foo):002:1>   print 1
irb#2(Foo):003:1> end
nil
irb#2(Foo):004:0> fg 0                      # jobをスイッチ
nil
irb(main):004:0> jobs                       # jobのリスト
#0->irb on main (#<Thread:0x400fb7e4> : running)
#1->irb#1 on main (#<Thread:0x40125d64> : stop)
#2->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
nil
irb(main):005:0> Foo.instance_methods       # Foo#fooがちゃんと定義さ
                                            # れている
["foo"]
irb(main):006:0> fg 2                       # jobをスイッチ
nil
irb#2(Foo):005:0> def bar                   # Foo#barを定義
irb#2(Foo):006:1>  print "bar"
irb#2(Foo):007:1> end
nil
irb#2(Foo):010:0>  Foo.instance_methods
["bar", "foo"]
irb#2(Foo):011:0> fg 0
nil
irb(main):007:0> f = Foo.new
#<Foo:0x4010af3c>
irb(main):008:0> irb f                      # Fooのインスタンスでirbを
                                            # 立ちあげる.
irb#3(#<Foo:0x4010af3c>):001:0> jobs
#0->irb on main (#<Thread:0x400fb7e4> : stop)
#1->irb#1 on main (#<Thread:0x40125d64> : stop)
#2->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
#3->irb#3 on #<Foo:0x4010af3c> (#<Thread:0x4010a1e0> : running)
nil
irb#3(#<Foo:0x4010af3c>):002:0> foo         # f.fooの実行
nil
irb#3(#<Foo:0x4010af3c>):003:0> bar         # f.barの実行
barnil
irb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# jobのkill
nil
irb(main):009:0> jobs
#0->irb on main (#<Thread:0x400fb7e4> : running)
nil
irb(main):010:0> exit                       # 終了
$

使用上の制限

irbは, 評価できる時点(式が閉じた時点)での逐次実行を行ないます. したがって, rubyを直接使った時と若干異なる動作を行なう場合があります.

現在明らかになっている問題点を説明します.

ローカル変数の宣言

Ruby では以下のプログラムはエラーになります.

eval "foo = 0"
p foo    # -:2: undefined local variable or method `foo' for #<Object:0x40283118> (NameError)

ところが irb を用いると、以下のように、エラーになりません。

>> eval "foo = 0"
=> 0
>> foo
=> 0

この違いは、Ruby と irb のプログラムのコンパイル方法の差に起因します。 Ruby は最初にスクリプト全体をコンパイルしてローカル変数を決定します。 それに対し、irb は式が完結して実行可能になった時点で順番にコンパイルします。 上記の例では、

eval "foo = 0"

が入力された時点でまずその式をコンパイル・実行します。 この時点で変数 foo が定義されるため、 次の式を入力する時点ですでに変数 foo が定義されているのです。

この Ruby と irb の動作の違いをなくしたい場合は、 irb では以下のように式を begin 〜 end でくくって入力してください。

>> begin
?>   eval "foo = 0"
>>   foo
>> end
NameError: undefined local variable or method `foo' for #<Object:0x4013d0f0>
(irb):3
(irb_local_binding):1:in `eval'

ヒアドキュメント

現在のところヒアドキュメントの実装は不完全です。

シンボル

irb はシンボルであるかどうかの判断を間違えることがあります。 具体的には、式が完了しているのに継続行と見なすことがあります。

Classes/Modules

class IRB::Context |
class IrbCommands | このクラスは irb のコマンドをまとめるためのプレースホルダです。 実際には IrbCommands というクラスは定義されていません。 このクラスのドキュメントに記述されているメソッドは、 irb のプロンプトでレシーバなしで使うことができます。

Sub-Libraries

irb/completion | irb の completion 機能を提供するものです.
irb/frame |
irb/xmp | コードとその実行結果を、行ごとに交互に表示するためのライブラリです。 irb を実行しなくても、使うことが出来ます。 ごとけん xmp ([ruby-list:8489])の上位互換バージョンです. ただ, 非常に重いのでごとけん xmp では対応できない時に使用すると良いでしょう.


class IRB::Context

ancestors: IRB::Context < Object < Kernel

Abstract

Instance Methods

Signature Description
back_trace_limit

バックトレース表示をバックトレースの頭から n, 後ろから n だけ行なう. デフォルトは 16.

debug_level=(n)

irb のデバッグレベルの設定

eval_history=(n)

実行結果のヒストリ機能の設定. n は整数か nil で n > 0 であればその数だけヒストリにためる。 n = 0の時は無制限に記憶する. n = nil だとヒストリ機能はやめる (デフォルト).

ignore_eof
ignore_eof=(bool)

Ctrl-D が入力された時の動作を設定する. true の時は Ctrl-D を無視する. false の時は irb を終了する.

ignore_sigint
ignore_sigint=(bool)

Ctrl-C が入力された時の動作を設定します。 false 時は irb を終了します。 true の時の動作は以下のようになる.

inf_ruby_mode
inf_ruby_mode=(bool)

inf-ruby-mode 用のプロンプト表示を行なうかどうかを表します。 デフォルト値は false です。

inspect_mode=(val)

インスペクトモードを設定する.

math_mode

分数と行列の計算ができる bc モードかどうかを表します。

prompt_c

if の直後など, 行が継続している時のプロンプトを 表現するフォーマット文字列を返します。

prompt_i

通常のプロンプトを表現するフォーマット文字列を返します。

prompt_s

文字列中のプロンプトを表現するフォーマット文字列を返します。

rc

~/.irbrc を読み込んでいたら true を返します。 読み込んでいなければ false を返します。

use_loader
use_loader=(bool)

load または require 時に irb のファイル読み込み機能を使うかどうかを示します。 デフォルト値は false です。

use_prompt
use_prompt=(bool)

プロンプトを表示するかどうかを指定します。 use_prompt の値が true ならプロンプトを表示し、 false ならプロンプトを表示しません。

use_readline=(val)

readline を使うかどうかを指定します。 val の値によって、このメソッドの効果は以下のように分かれます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class IrbCommands

ancestors: IrbCommands < Object < Kernel

Abstract

このクラスは irb のコマンドをまとめるためのプレースホルダです。 実際には IrbCommands というクラスは定義されていません。 このクラスのドキュメントに記述されているメソッドは、 irb のプロンプトでレシーバなしで使うことができます。

irb のコマンドは、 簡単な名前と頭に「irb_」をつけた名前との両方が定義されています。 これは、簡単な名前がオーバーライドされた場合にも irb のコマンドが実行できるようにするためです。

Instance Methods

Signature Description
_

直前の式の実行結果です。

__

実行結果の履歴です。 __[lineno] で、lineno 行で実行した結果を得られます。 lineno が負の時は、最新の結果から -lineno 行だけ前の 結果を得られます。

cws([obj])
chws([obj])
irb_cws([obj])
irb_chws([obj])
irb_change_workspace([obj])

irb の self を obj に変更します。 obj が省略されたときは、 irb を起動したときの main オブジェクトを self にします。

conf
irb_context

irb の現在の設定です。IRB::Context オブジェクトです。 このメソッドで得た IRB::Context オブジェクトに対してメソッドを 呼び出すことで、現在稼働中の irb インタプリタの設定を表示・変更できます。

exit
quit
irb_exit

irb を終了します。 サブ irb で呼び出した場合は、そのサブ irb だけを終了します。

fg(n)
irb_fg(n)

n で指定したサブ irb に移動します。 n は以下のいずれかの値で指定します。

irb([obj])

新しいサブ irb インタプリタを起動します。 オブジェクト obj が指定された時はその obj を self にします。

jobs
irb_jobs

サブ irb のリストを返します。

kill(n)
irb_kill(n)

n で指定したサブ irb を停止します。 n は以下のいずれかの値で指定します。

irb_load(path, prev)

ファイル path を Ruby スクリプトとみなし、 現在の irb インタプリタ上で実行します。 Ruby の load の irb 版です。

popws
irb_popws
irb_pop_workspace

UNIX シェルコマンドの popd と同じです。

pushws([obj])
irb_pushws([obj])
irb_push_workspace([obj])

UNIX シェルコマンドの pushd と同じです。

souce(path)
irb_source(path)

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library irb/completion

Abstract

irb の completion 機能を提供するものです.

使い方

$ irb -r irb/completion

とするか, ~/.irbrc 中に

require "irb/completion"

を入れてください. irb実行中に require "irb/completion" してもよいです.

irb 実行中に [Tab] を押すとコンプレーションします.

トップレベルで [Tab] を押すとすべての構文要素, クラス, メソッドの候補がでます. 候補が唯一ならば完全に補完します.

irb(main):001:0> in
in                    inspect               instance_eval
include               install_alias_method  instance_of?
initialize            install_aliases       instance_variables
irb(main):001:0> inspect
"main"
irb(main):002:0> foo = Object.new
#<Object:0x4027146c>

"変数名." の後に [Tab] を押すと, そのオブジェクトのメソッド一覧がでます.

irb(main):003:0> foo.
foo.==                  foo.frozen?             foo.protected_methods
foo.===                 foo.hash                foo.public_methods
foo.=~                  foo.id                  foo.respond_to?
foo.__id__              foo.inspect             foo.send
foo.__send__            foo.instance_eval       foo.singleton_methods
foo.class               foo.instance_of?        foo.taint
foo.clone               foo.instance_variables  foo.tainted?
foo.display             foo.is_a?               foo.to_a
foo.dup                 foo.kind_of?            foo.to_s
foo.eql?                foo.method              foo.type
foo.equal?              foo.methods             foo.untaint
foo.extend              foo.nil?
foo.freeze              foo.private_methods


library irb/frame

Abstract

Classes/Modules

class IRB::Frame

現在実行中のフレーム情報を取り扱うためのクラスです.


class IRB::Frame

ancestors: IRB::Frame < Object < Kernel

Abstract

現在実行中のフレーム情報を取り扱うためのクラスです.

[注] set_trace_func を用いて Ruby の実行をトレースしています. マルチスレッドには対応していません.

Singleton Methods

Signature | Description
bottom(n = 0) | 下からn番目のコンテキストを取り出します. n は 0 が最下位になります.
sender | センダになっているオブジェクトを取り出します. センダとは, そのメソッドを呼び出した側の self のことです.
top(n = 0) | 上からn番目のコンテキストを取り出します. n は 0 が最上位になります.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library irb/xmp

Abstract

コードとその実行結果を、行ごとに交互に表示するためのライブラリです。 irb を実行しなくても、使うことが出来ます。 ごとけん xmp ([ruby-list:8489])の上位互換バージョンです. ただ, 非常に重いのでごとけん xmp では対応できない時に使用すると良いでしょう.

関数として使う

$ cat t.rb
require "irb/xmp"
xmp <<END
foo = 1
foo
END
$ ruby t.rb
foo = 1
    ==>1
foo
    ==>1

XMPインスタンスを用いる.

この場合は XMP がコンテキスト情報を持つので, 変数の値などを保持しています.

$ cat t.rb
require "irb/xmp"
xmp = XMP.new
xmp.puts <<END
foo = 1
foo
END
xmp.puts <<END
foo
END
$ ruby t.rb
foo = 1
    ==>1
foo
    ==>1
foo
    ==>1

コンテキストに関して

XMPメソッド群のコンテキストは, 呼び出す前のコンテキストで評価されます. 明示的にコンテキストを指定するとそのコンテキストで評価します.

例:

xmp "foo", an_binding

[注] マルチスレッドには対応していません.

Classes/Modules

class XMP

Added/Redefined Methods

Kernel#xmp


class XMP

ancestors: XMP < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
puts |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library jcode

Abstract

Stringクラスのメソッドを追加、再定義し、 日本語を意識した文字列処理を提供します。

対象の文字列のエンコーディングが $KCODE で あるものとして処理します。つまりスクリプト中で $KCODE を変更すると以後メソッドの動作が変わります。

String#chop、String#delete といった既存の メソッドを置き換えるため、別のライブラリの 動作が変化してしまう可能性があります。 そのためこのライブラリを使ってよいのは 利用しているライブラリを含め 動作しているソースすべてが把握可能な場合のみです。

マルチバイト文字列の取扱に関する問題を このライブラリで解決しようとするのはお勧めしません。 Ruby の文字列のエンコーディングの取り扱いに関しては、 Rubyの起動 の -K オプションの所や、 $KCODE を 見てください。

使用例

#!/usr/bin/ruby -Ke
# -*- coding: euc-jp -*-
# 漢字コードをEUC-JPに。
# Windows で Shift JIS なら -Ks, coding: cp932 にする

# jcode ライブラリを読み込み、メソッドの追加、再定義を行う
require 'jcode'

# 再定義された String#tr を呼びだす
puts 'abcdef'.tr('a-z', 'Ａ-Ｚ')

Added/Redefined Methods

String#chop String#delete String#each_char String#jcount String#jlength String#mbchar? String#squeeze String#succ String#tr String#tr_s


library kconv

Abstract

日本語文字コードの変換を手軽に行うためのライブラリです。

kconv を require すると String クラスに変換用のメソッドが定義されます。 Kconv にも同等のメソッドが定義されます。 Kconv には エンコーディングを表す定数も定義されています。

使用例

newstring = Kconv.kconv(string, Kconv::JIS, Kconv::AUTO)
newstring = Kconv.tojis(string)
newstring = Kconv.toeuc(string)
newstring = Kconv.tosjis(string)
guessed_code = Kconv.guess(string)

または

newstring = string.kconv(Kconv::JIS, Kconv::AUTO)
newstring = string.tojis
newstring = string.toeuc
newstring = string.tosjis

Classes/Modules

module Kconv

文字コードエンコーディングを変換するためのモジュール。 Kconv は nkf のラッパーです。

Added/Redefined Methods

String#iseuc String#issjis String#isutf8 String#kconv String#toeuc String#tojis String#tosjis String#toutf16 String#toutf8


module Kconv

ancestors: Kconv

Abstract

文字コードエンコーディングを変換するためのモジュール。 Kconv は nkf のラッパーです。

Module Functions

Signature | Description
guess(str) -> Integer | 文字列 str のエンコーディングを判定します。戻り値は Kconv の定数です。
guess_old(str) -> Integer | 文字列 str のエンコーディングを判定します。戻り値は Kconv の定数です。
iseuc(str) -> bool | 文字列 str が EUC-JP なバイト列として正当であるかどうかを判定します。
issjis(str) -> bool | 文字列 str が Shift_JIS なバイト列として正当であるかどうかを判定します。
isutf8(str) -> bool | 文字列 str が UTF-8 なバイト列として正当であるかどうかを判定します。
kconv(str, out_code, in_code = Kconv::AUTO) -> String | 文字列 str のエンコーディングを out_code に変換したものを 返します。in_code も指定されていたら str のエンコーディングが in_code だとして動作します。
toeuc(str) -> String | 文字列 str のエンコーディングを EUC-JP に変換して返します。
tojis(str) -> String | 文字列 str のエンコーディングを iso-2022-jp に変換して返します。
tosjis(str) -> String | 文字列 str のエンコーディングを shift_jis に変換して返します。
toutf16(str) -> String | 文字列 str のエンコーディングを UTF-16BE に変換して返します。
toutf8(str) -> String | 文字列 str のエンコーディングを UTF-8 に変換して返します。

Constants

Signature | Description
ASCII -> Integer | ASCII を表します。
AUTO -> Integer | エンコーディングを自動検出します。 入力の指定でのみ有効です。
BINARY -> Integer | JIS EUC SJIS 以外を表します。 この値はKconv.#guessの返り値としてのみ用いられます。
EUC -> Integer | EUC-JP を表します。
JIS -> Integer | ISO-2022-JP を表します。
NOCONV -> Integer | 変換されないことを表します。 出力エンコーディングの指定にのみ用います。
REVISION -> String | この定数は使うべきではありません。
RegexpEucjp -> Regexp | この定数は使うべきではありません。
RegexpShiftjis -> Regexp | この定数は使うべきではありません。
RegexpUtf8 -> Regexp | この定数は使うべきではありません。
SJIS -> Integer | Shift_JIS を表します。 cp932ではないことに注意してください。
UNKNOWN -> Integer | 出力においては「エンコーディングを判定できなかった」 入力においては AUTO と同様に「自動検出」を表します。
UTF16 -> Integer | UTF16 を表します。
UTF32 -> Integer | UTF32 を表します。
UTF8 -> Integer | UTF8 を表します。


library logger

Abstract

ログを記録するためのライブラリです。

使い方

5段階の重要度に分けてログを記録します。

FATAL

プログラムをクラッシュさせるような制御不可能なエラー

ERROR

エラー

WARN

警告

INFO

一般的な情報

DEBUG

低レベルの情報

全てのメッセージは必ず重要度を持ちます。また Logger オブジェクトも同じように 重要度を持ちます。メッセージの重要度が Logger オブジェクトの重要度よりも 低い場合メッセージは記録されません。

普段は INFO しか記録していないが、デバッグ情報が必要になった時には、 Logger オブジェクトの重要度を DEBUG に下げるなどという使い方をします。

例:

require 'logger'
log = Logger.new(STDOUT)
log.level = Logger::WARN

log.debug("Created logger")
log.info("Program started")
log.warn("Nothing to do!")

上の例ではログには WARN のみが記録されます。下が出力例です。

W, [2005-02-10T20:03:56.489954 #12469]  WARN -- : Nothing to do!

例外オブジェクトも記録するメッセージとして使えます。

例:

require 'logger'
log = Logger.new(STDOUT)
log.level = Logger::ERROR

begin
  File.each_line(path) do |line|
    unless line =~ /^(\w+) = (.*)$/
      log.error("Line in wrong format: #{line}")
    end
  end
rescue => err
  log.fatal("Caught exception; exiting")
  log.fatal(err)
end

参考

Rubyist Magazine

http://jp.rubyist.net/magazine/

標準添付ライブラリ紹介【第 2 回】

http://jp.rubyist.net/magazine/?0008-BundledLibraries

Classes/Modules

class Logger | ログを記録するためのクラスです。
class Logger::Application | ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。
class Logger::Formatter | ロガーのフォーマット文字列を扱うクラス。
class Logger::LogDevice | Logger の内部で使用するログの出力先を表すクラスです。
class Logger::LogDevice::LogDeviceMutex | ログの出力先ファイルを同期するためのクラスです。
module Logger::Severity | logger で使用する重要度を定義したモジュール。

Exception Classes

class Logger::Error | このライブラリで使用する例外です。
class Logger::ShiftingError | ログファイルの切り替えに失敗した場合に発生する例外です。


class Logger

ancestors: Logger < Logger::Severity < Object < Kernel

Abstract

ログを記録するためのクラスです。

Singleton Methods

Signature | Description
new(logdev, shift_age = 0, shift_size = 1048576) -> Logger | Logger オブジェクトを生成する。

Instance Methods

Signature Description
self << msg -> Integer | nil

ログを出力します。

add(severity, message = nil, progname = nil) -> true
add(severity, message = nil, progname = nil) { ... } -> true
log(severity, message = nil, progname = nil) -> true
log(severity, message = nil, progname = nil) { ... } -> true

メッセージをログに記録します。

close -> nil

ログ出力に使用していた IO オブジェクトを閉じます。

datetime_format -> String

ログに記録する時の日付のフォーマットです。

datetime_format=(format)

ログに記録する時の日付のフォーマットをセットします。

debug(progname = nil) -> true
debug(progname = nil) { ... } -> true

重要度がデバッグのメッセージを出力します。

debug? -> bool

現在の Logger オブジェクトが DEBUG 以上の重要度のメッセージを記録するなら 真を返します。

error(progname = nil) { ... } -> true
error(progname = nil) -> true

ERROR 情報を出力します。

error? -> bool

現在の Logger オブジェクトが ERROR 以上の重要度のメッセージを記録するなら 真を返します。

fatal(progname = nil) { ... } -> true
fatal(progname = nil) -> true

FATAL 情報を出力します。

fatal? -> bool

現在の Logger オブジェクトが FATAL 以上の重要度のメッセージを記録するなら 真を返します。

formatter -> String

ログを出力する際のフォーマット文字列を取得します。

formatter=(formatter)

ログを出力際のフォーマット文字列をセットします。

info(progname = nil) { ... } -> true
info(progname = nil) -> true

INFO 情報を出力します。

info? -> bool

現在の Logger オブジェクトが INFO 以上の重要度のメッセージを記録するなら 真を返します。

level -> Integer
sev_threshold -> Integer

レシーバにセットされているログレベルを取得します。

level=(level)
sev_threshold=(level)

Logger オブジェクトの重要度を設定します。重要度がこれより低いメッセージは 出力されません。

progname -> String

ログに出力するプログラム名を取得します。

progname=(name)

ログに出力するプログラム名を設定します。

unknown(progname = nil) { ... } -> true
unknown(progname = nil) -> true

UNKNOWN 情報を出力します。

warn(progname = nil) { ... } -> true
warn(progname = nil) -> true

WARN 情報を出力します。

warn? -> bool

現在の Logger オブジェクトが WARN 以上の重要度のメッセージを記録するなら 真を返します。

Constants

Signature | Description
ProgName -> String | ログファイル作成時に使うプログラム名。
SEV_LABEL -> Array | 重要度のラベルを格納した配列。

Inherited Methods

::DEBUG ::ERROR ::FATAL ::INFO ::UNKNOWN ::WARN == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Logger::Application

ancestors: Logger::Application < Logger::Severity < Object < Kernel

Abstract

ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。

使用方法

  1. このクラスのサブクラスとしてユーザ定義のアプリケーションのクラスを定義します。
  2. ユーザ定義のクラスでメイン処理を行う run メソッドを定義します。
  3. そのクラスをインスタンス化して start メソッドを呼び出します。

例:

class FooApp < Application
  def initialize(foo_app, application_specific, arguments)
    super('FooApp') # Name of the application.
  end

  def run
    ...
    log(WARN, 'warning', 'my_method1')
    ...
    @log.error('my_method2') { 'Error!' }
    ...
  end
end

status = FooApp.new(....).start

Singleton Methods

Signature | Description
new(appname = nil) -> Logger::Application | このクラスを初期化します。

Instance Methods

Signature Description
appname -> String

アプリケーション名を取得します。

level=(level)

ログの重要度をセットします。

log(severity, message = nil) -> true
log(severity, message = nil) { ... } -> true

メッセージをログに記録します。

log=(logdev)

ログの出力先をセットします。

logdev -> ()

このメソッドは使用されていません。

set_log(logdev, shift_age = 0, shift_size = 1024000) -> Integer

内部で使用する Logger のオブジェクトを初期化します。

start -> ()

アプリケーションをスタートさせます。

Inherited Methods

::DEBUG ::ERROR ::FATAL ::INFO ::UNKNOWN ::WARN == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Logger::Error

ancestors: Logger::Error < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

このライブラリで使用する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Logger::Formatter

ancestors: Logger::Formatter < Object < Kernel

Abstract

ロガーのフォーマット文字列を扱うクラス。

Instance Methods

Signature | Description
call(severity, time, progname, msg) -> String | ログ情報をフォーマットして返します。
datetime_format -> String | ログの日付フォーマットを取得します。
datetime_format=(format) | ログの日付フォーマットをセットします。

Constants

Signature | Description
Format -> String | フォーマット文字列。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Logger::LogDevice

ancestors: Logger::LogDevice < Object < Kernel

Abstract

Logger の内部で使用するログの出力先を表すクラスです。

Singleton Methods

Signature | Description
new(log = nil, opt = {}) -> Logger::LogDevice | ログの出力先を初期化します。

Instance Methods

Signature | Description
close -> nil | 出力先の IO オブジェクトを閉じます。
dev -> IO | 出力先の IO オブジェクトを取得します。
filename -> String | nil | 出力先のファイル名を取得します。
write(message) -> Integer | 出力先の IO オブジェクトにメッセージを書き込みます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Logger::LogDevice::LogDeviceMutex

ancestors: Logger::LogDevice::LogDeviceMutex < MonitorMixin < Object < Kernel

Abstract

ログの出力先ファイルを同期するためのクラスです。

@see MonitorMixin

Inherited Methods

mon_enter mon_exit mon_synchronize mon_try_enter new_cond == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module Logger::Severity

ancestors: Logger::Severity

Abstract

logger で使用する重要度を定義したモジュール。

Constants

Signature | Description
DEBUG -> Integer | 重要度:デバッグを表す定数です。
ERROR -> Integer | 重要度:エラーを表す定数です。
FATAL -> Integer | 重要度:致命的なエラーを表す定数です。
INFO -> Integer | 重要度:情報を表す定数です。
UNKNOWN -> Integer | 重要度:不明なエラーを表す定数です。
WARN -> Integer | 重要度:警告を表す定数です。


class Logger::ShiftingError

ancestors: Logger::ShiftingError < Logger::Error < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

ログファイルの切り替えに失敗した場合に発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library mailread

Abstract

Unix mbox 形式のメールファイルを解析するライブラリです。

Classes/Modules

class Mail

Unix mbox 形式のメールファイルを解析するライブラリです。


class Mail

ancestors: Mail < Object < Kernel

Abstract

Unix mbox 形式のメールファイルを解析するライブラリです。

mailread の使い方

require 'mailread'

m = Mail.new('/var/mail/foo')
puts 'From: ' + m['From'],
     'Subject: ' + m['Subject'],
     '--',
     m.body[0,5]

Singleton Methods

Signature | Description
new(file) | メールを解析します。 file にはファイル名か IO オブジェクトを渡します。 このメソッドを実行した時点でヘッダと本文が切り分けられ、 ヘッダのハッシュ(ヘッダフィールド単位)と本文の配列(行単位)が作られます。

Instance Methods

Signature | Description
self[field] -> String | nil | ヘッダの field の値を返します。 m.header[field.capitalize] と同じですので値取得の際は、 フィールド名のアルファベットの大小を気にする必要はありません。
body -> [ String ] | 本文の各行を要素とする Array を返します。
header -> Hash | ヘッダを Hash で返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library mathn

Abstract

rational と complex をシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。

  • 整数の除算が割り切れない場合、 Rational オブジェクトを返すようになります。
  • 複素数や有理数の演算結果が実数や整数に収まる場合、 Float オブジェクトや Integer オブジェクトを返します。
  • Math モジュールの数学関数の定義域と終域を、実数のみから複素数へと拡大します。

利用局面

Integer や Float に比べ Rational は誤差無しで表現できる範囲が大きいため、 数値の演算において Rational をシームレスに利用したいことがあります。 そこで mathn ライブラリは、各数値クラスの間の関係を ちょうど Bignum と Fixnum とのような自動的に変換される関係にします。

整数と有理数の相互変換

具体的には、Rational のインスタンスが整数ならば、それは自動的に Integer (Fixnum または Bignum)となり、また、整数/整数の結果、 割り切れない時は Rational が返るようになります。後者は、整数のメソッド「/」が整商(.div)でなく、商(.quo)を返すようになる、ということを意味します。

例:

1/2                #=> 0
2 * Rational(1,2)  #=> Rational(1,1)

require 'mathn'
1/2                #=> Rational(1,2)
2 * Rational(1,2)  #=> 1 (Fixnum)

実数と複素数の相互変換

同様にして Complex のインスタンスの虚部が 0 ならば、実部として含まれていた Rational, Float, または Integer オブジェクトに変換されます。

一方、数学演算の定義域・終域を複素数に拡大するので、 mathn を利用しない場合には範囲エラー例外を発生していたような演算が Complex オブジェクトを返す場合もあります。

例:

Complex(0,-1)**2  #=> Complex(-1,0)
Math.sqrt(-1)     #=> NaN

require 'mathn'
Complex(0,-1)**2  #=> -1
Math.sqrt(-1)     #=> Complex(0,1)

使用上の注意

なお、この挙動は、グローバルに影響を与えます。 つまり、(Ruby で書かれた)汎用ライブラリを require していた場合、 ライブラリ中の動作も、上のように変更されることになります。 他人の書いたライブラリを使う時は、ご注意下さい

逆に、汎用ライブラリの作者の方々は、この mathn が require される可能性を留意して書いて下されば親切だと思います。 整数同士で整除を意図するならば Integer#/ ではなく Integer#div を用いると良いでしょう。

  • [ruby-list:1174]

Classes/Modules

class Prime

Required Libraries

complex | 複素数を扱うためのライブラリです。
matrix | 行列を扱うためのライブラリです。
rational | 有理数を扱うためのライブラリです。

Added/Redefined Methods

Bignum#/ Complex::Unify Fixnum#/ Integer#gcd2 Integer#prime_division Integer.from_prime_division Math.#rsqrt Math.#sqrt Rational#** Rational#inspect Rational#power2 Rational::Unify


class Prime

ancestors: Prime < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new | 素数を列挙するオブジェクトを作ります。

Instance Methods

Signature Description
each {...} -> object

素数について繰り返すイテレータです。 これは無限ループになるので必ず break を入れてください。

succ
next

次の素数を返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library matrix

Abstract

行列を扱うためのライブラリです。

Classes/Modules

class Matrix | 数Numericを要素とする行列を扱うクラスです。
class Vector | 数 Numeric を要素とするベクトルを扱うクラスです。

Exception Classes

class ExceptionForMatrix::ErrDimensionMismatch
class ExceptionForMatrix::ErrNotRegular
class ExceptionForMatrix::ErrOperationNotDefined


class ExceptionForMatrix::ErrDimensionMismatch

ancestors: ExceptionForMatrix::ErrDimensionMismatch < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class ExceptionForMatrix::ErrNotRegular

ancestors: ExceptionForMatrix::ErrNotRegular < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class ExceptionForMatrix::ErrOperationNotDefined

ancestors: ExceptionForMatrix::ErrOperationNotDefined < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Matrix

ancestors: Matrix < Object < Kernel

Abstract

数Numericを要素とする行列を扱うクラスです。

行列

m * n 個の数a(i,j)を

[ a(0,0) a(0,1) a(0,2)  a(0,3) ... a(0,n-1)   ]
[ a(1,0) a(1,1) a(1,2)  a(1,3) ... a(1,n-1)   ]
[ a(2,0) a(2,1) a(2,2)  a(2,3) ... a(2,n-1)   ]
[                                             ]
[ a(m-1,0)                         a(m-1,n-1) ]

のように、縦横の表にあらわしたものを(m,n)型の行列という。 m=nの行列をm次の正方行列(square matrix)という。

上からi番目の横の数の並びを第i行(the i-th row)、 左からj番目の縦の数の並びを第j列(the j-th column)という。

(m,n)型行列は、 大きさnの行(横)ベクトルをm個縦に並べたものとみなすこともできるし、 大きさmの列(縦)ベクトルをn個横に並べたものとみなすこともできる。

第i行、第j列にある数a(i,j)を(i,j)要素(the (i,j)-th element)という。

i=jの要素a(i,j)を対角要素(diagonal element)、 それ以外の要素を非対角要素(nondiagonal element)という。

Complex クラスとの併用

require 'complex'することによって、 Matrixオブジェクトの要素はComplexクラスに拡張される。 多くのメソッドは、この拡張されたMatrixクラスでも、期待通りに動作する。

次の例は、各要素を共役複素数に置換するメソッド Matrix#conjugate である。

require 'matrix'
require 'complex'

class Matrix
  def conjugate
    collect{|e| e.conjugate }
  end
end

Singleton Methods

Signature Description
identity(n) -> Matrix
unit(n) -> Matrix
I(n) -> Matrix

n次の単位行列を生成します。

self[rows] -> Matrix

rowsを要素とする行列を生成します。 配列を行列の行成分として行列を生成します。

column_vector(column) -> Matrix

要素がcolumnの(n,1)型の行列(列ベクトル)を生成します。

columns(columns) -> Matrix

引数 columns を列ベクトルの集合とする行列を生成します。

diagonal(values) -> Matrix

対角要素がvalues(オブジェクトの並び)で、非対角要素が全て0であるような 正方行列を生成します。

row_vector(row) -> Matrix

要素がrowの(1,n)型の行列(行ベクトル)を生成します。

rows(rows, copy = true) -> Matrix

引数 rows を要素とする行列を生成します。 引数 copy が偽(false)ならば、rows の複製を行いません。

scalar(n, value) -> Matrix

対角要素が全てvalue(数)で、非対角要素が全て0であるようなn次の正方行列を生成します。

zero(n) -> Matrix

n次の零行列を生成します。 零行列とは、要素が全て0の行列です。

Instance Methods

Signature Description
self * m -> Matrix

行列mを右から乗じた行列を返します。

self ** n -> Matrix

self の n乗をした行列を返します。

self + m -> Matrix

行列mを加算した行列を返します。

self - m -> Matrix

行列mを減算した行列を返します。

self / m -> Matrix

行列mの逆行列を右から乗じた行列を返します。

self == other -> bool
eql?(other) -> bool

自分自身と other を比較し、同値であれば真(true)を返します。

self[i, j] -> ()

(i,j)要素を返します。

clone -> Matrix

自分自身のコピーを返します。

coerce(other) -> Array

他の数値オブジェクトとの変換を行います。

collect {|x| ... } -> Matrix
map {|x| ... } -> Matrix

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

column(j) -> Vector
column(j) {|x| ... } -> nil

第j番目の列ベクトルを返します。

column_size -> Fixnum

列の大きさを返します。

column_vectors -> Array

自分自身を列ベクトルの配列として返します。

compare_by_row_vectors(rows) -> bool

自分自身(Matrix)を配列の配列(Array)とみなして引数rowsと比較します。

determinant -> Fixnum | Float
det -> Fixnum | Float

行列式 (determinant) を返します。

hash -> Fixnum

行列のHash値を返します。

inspect -> String

自分自身を見やすい形式に文字列化し、その文字列を返します。

inverse -> Matrix
inv -> Matrix

逆行列を返します。

inverse_from(src) -> Matrix

行列1次方程式の解(の行列)を返します。

minor(from_row, row_size, from_col, col_size) -> Matrix
minor(from_row..to_row, from_col..to_col) -> Matrix

selfの部分行列を返します。

rank -> Fixnum

階数 (rank) を返します。

regular? -> bool

正則(regular)なら真(true)を返します。

row(i) -> Vector
row(i) {|x| ... } -> nil

第i番目の行ベクトルを返します。

row_size -> Fixnum

行の大きさを返します。

row_vectors -> Array

自分自身を行ベクトルの配列として返します。

singular? -> bool

特異(singular)なら真(true)を返します。

square? -> bool

正方行列であるなら、真を返します。

transpose -> Matrix
t -> Matrix

転置行列 (transpose matrix) を返します。

to_a -> Array

自分自身をArrayに変換したものを返します。

to_s -> String

行列を文字列化し、その文字列を返します。

trace -> Fixnum | Float | Rational
tr -> Fixnum | Float | Rational

トレース (trace) を返します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Vector

ancestors: Vector < Object < Kernel

Abstract

数 Numeric を要素とするベクトルを扱うクラスです。

Complexクラスとの併用 Working with Complex class

require 'complex' することによって、 Vector オブジェクトの要素は Complex クラスに拡張されます。 多くのメソッドは、この拡張されたVectorクラスでも、期待通りに動作します。

次の例は、各要素を共役複素数に置換するメソッド (Vector#conjugate)です。

require 'matrix'
require 'complex'

class Vector
  def conjugate
    collect{|e| e.conjugate }
  end
end

v1 = Vector[Complex(1,1),Complex(2,2),Complex(3,3)]
v2 = v1.conjugate
p v2 #=> Vector[Complex(1,-1),Complex(2,-2),Complex(3,-3)]
v3 = v1+v2
p v3 #=> Vector[Complex(1,0),Complex(2,0),Complex(3,0)]

しかし、Complex 要素に拡張された Vector クラスで、 期待通りに動作しないメソッドもあります。 例えば、ベクトルの絶対値を求める Vector#r メソッドは、 各要素の2乗和の平方根 Math.#sqrt を求めますが、 このとき例外を発生させる可能性があります。

複素数を要素とするベクトルの絶対値を求めるためには、 各要素の絶対値の2乗和をとらなくてはなりません(次の例 Vector#absメソッド）。

require 'matrix'
require 'complex'

class Vector
  def abs
    r=0
    @elements.each{|e| r += e.abs2 }
    Math.sqrt(r)
  end
end

v = Vector[Complex(1,1),Complex(2,2),Complex(3,3)}
p v.abs #=> 5.291502622 # Math.sqrt(28)
p v.r   #=> 'sqrt': undefined method `Rational'

Singleton Methods

Signature | Description
self[*a] -> Vector | 可変個引数を要素とするベクトルを生成します。
elements(a, copy = true) -> Vector | 配列 a を要素とするベクトルを生成します。 ただし、オプション引数 copy が偽 (false) ならば、複製を行いません。

Instance Methods

Signature Description
self * a -> Vector

数 a を各要素に乗じたベクトルを返します。

self * m -> Matrix

自分自身を列ベクトル(行列)に変換して (実際には Matrix.column_vector(self) を適用) から、行列 m を右から乗じた行列 (Matrix クラス) を返します。

self + v -> Vector

ベクトル v を加えたベクトルを返します。

self - v -> Vector

ベクトル v を減じたベクトルを返します。

self == v -> bool
eqn?(v) -> bool

自分自身と引数 v を比較し、true/false を返します。

self[i] -> object | nil

i 番目の要素を返します。インデックスは 0 から開始します。 要素が存在しないインデックスを指定した時には nil を返します。

clone() -> Vector

自分自身をコピーしたベクトルを返します。

coerce(other) -> Array

self と other が同じクラスになるよう、自分自身か other を変換し [other, self] という配列にして返します。

collect {|x| ... } -> Vector
map {|x| ... } -> Vector

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

collect2(v) {|x, y| ... } -> Array

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

compare_by(elements) -> bool

自分自身と引数 elements を配列として比較します。

covector -> Matrix

Matrix オブジェクトへ変換します。

each2(v) {|x, y| ... }

ベクトルの各要素と、それに対応するインデックスを持つ引数 v の要素との組に対して (2引数の) ブロックを繰返し評価します。`v' は size メソッドと [] メソッドを持つオブジェクトです。

hash() -> Fixnum

自分自身のハッシュ値を返します。

init_elements(array, copy) -> Array

ベクトルの要素を引数 array で初期化します。

inner_product(v) -> Float

ベクトル v との内積を返します。

inspect() -> String

オブジェクトの内容を文字列化します。

map2(v) {|x, y| ... } -> Vector

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。

r -> Float

ベクトルの絶対値を返します。 ベクトルの絶対値は、各要素の２乗の和の正の平方根を返します。

size() -> Fixnum

ベクトルの要素数(次元)を返します。

to_a -> Array

ベクトル(Vector)から配列 (Array) に変換します。

to_s -> String

ベクトル(Vector)から文字列 (String) に変換します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library md5

Abstract

このライブラリは obsolete です。digest ライブラリを使ってください。

digest/md5 をロードして MD5 を Digest::MD5 に置き換えます。

Classes/Modules

class MD5

Digest::MD5 のエイリアスです。


class MD5

ancestors: MD5 < Object < Kernel

Abstract

Digest::MD5 のエイリアスです。

Singleton Methods

Signature | Description
md5(*args) | Digest::MD5.newの別名です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library mkmf

Abstract

Ruby の拡張ライブラリのための Makefile を作成するライブラリです。

このライブラリは通常、extconf.rb という名前の ruby スクリプトから require されます。 この extconf.rb を実行して Makefile を作成するのが慣習です。

extconf.rb の書きかたについては、 Ruby のアーカイブに含まれる README.EXT (日本語版は README.EXT.ja) も参照してください。

使い方

架空の拡張ライブラリ foo.so を作成することを考えます。 この拡張ライブラリを作成するためには、 ヘッダファイル bar.h とライブラリ libbar.a の関数 baz() が必要だとします。 このための extconf.rb は以下のように書きます。

require 'mkmf'

dir_config('bar')
if have_header('bar.h') and have_library('bar', 'baz')
  create_makefile('foo')
end

拡張ライブラリ foo.so を作成、インストールするには以下のようにします。

$ ruby extconf.rb
$ make
$ make site-install

foo.so の extconf.rb では dir_config('bar') を実行しているので、 ユーザは以下のようにコマンドラインオプション --with-bar-dir などを使って、ヘッダファイルのパスやライブラリのパスを指定できます。

$ ruby extconf.rb --with-bar-include=/usr/local/include \
                  --with-bar-lib=/usr/local/lib

または

$ ruby extconf.rb --with-bar-dir=/usr/local

dir_config 関数の詳細については Kernel#dir_config を参照してください。

configure オプション

configure オプションとは Ruby インタプリタのコンパイル時に指定された configure スクリプトのオプション、 または extconf.rb 実行時のオプションのことです。 extconf.rb の作成者は任意のオプションを定義できます。 Kernel#arg_config も参照してください。

また、以下のオプションがデフォルトで利用可能です。

--with-opt-include=DIR

ヘッダファイルを探索するディレクトリ DIR を追加します。

--with-opt-lib=DIR

ライブラリファイルを探索するディレクトリ DIR を追加します。

--with-opt-dir=DIR

ヘッダファイル、ライブラリファイルを探索するディレクトリ DIR/include、DIR/lib をそれぞれ追加します。

--with-TARGET-include=DIR

ヘッダファイルを探索するディレクトリ DIR を追加します。

extconf.rb の中で dir_config(TARGET) を実行していればこのオプションを指定できます。

--with-TARGET-lib=DIR

ライブラリを探索するディレクトリ DIR を追加します。

extconf.rb の中で dir_config(TARGET) を実行していればこのオプションを指定できます。

--with-TARGET-dir=DIR

ヘッダファイル、ライブラリファイルを探索するディレクトリ DIR/include、DIR/lib をそれぞれ追加します。

extconf.rb の中で dir_config(TARGET) を実行していればこのオプションを指定できます。

depend ファイル

カレントディレクトリに depend という名前のファイルがある場合、 生成される Makefile の最後に depend ファイルの内容が追加されます。

depend ファイルはソースファイルの依存関係を記述するために使います。 例えば拡張ライブラリのソースコード foo.c が foo.h をインクルードしている場合、 foo.h が更新されたときにも foo.c を再コンパイルしたいでしょう。 このような依存関係を記述するには depend ファイルに以下の 1 行を書きます。

foo.o: foo.c foo.h

このように書くと、foo.o が foo.c と foo.h に依存していることを示します。 つまり、foo.c か foo.h のどちらかが更新された場合に foo.o がリコンパイルされるようになります。

C コンパイラによっては、このような記述を自動生成できます。 一般に、このためのオプションは「-M」です。 「-M」オプションを持つ C コンパイラを使っている場合は、 以下のコマンドを実行するだけで適切な depend が生成できます。

$ cc -M *.c > depend

gcc には、-M オプションを改善した -MM というオプションもあります。 このオプションは、通常更新することのない stdio.h など、 システムのヘッダファイルを依存関係に含めません。 この -MM オプションでは、「#include <...>」の形式で参照される ヘッダファイルをシステムのヘッダファイルとみなしているようです。

gcc の -MM オプションを使う場合は、 以下のコマンドを実行すれば適切な depend が生成できます。

$ gcc -MM *.c > depend

なお、depend ファイルを依存関係の記述以外に使うべきではありません。 mkmf.rb が depend ファイルを Makefile に連結するときに、 その内容を加工する場合があるからです。

extconf.rb が生成する make ターゲット

extconf.rb が生成する Makefile には以下のターゲットが定義されています。

all

拡張ライブラリを作成します。

clean

作成した拡張ライブラリ、オブジェクトファイルなどを削除します。

distclean
realclean

clean ターゲットが削除するファイルに加えて、 Makefile, extconf.h, core, ruby なども削除します。

install
site-install

作成した拡張ライブラリを $sitearchdir にインストールします。 カレントディレクトリにディレクトリ lib があれば その配下の ruby スクリプト (*.rb ファイル) を、 ディレクトリ階層を保ったまま $sitelibdir にインストールします。

Added/Redefined Methods

$CFLAGS $LDFLAGS $archdir $defs $hdrdir $libdir $libs $sitearchdir $sitelibdir $srcdir $topdir Kernel#append_library Kernel#arg_config Kernel#check_sizeof Kernel#checking_for Kernel#create_header Kernel#create_makefile Kernel#dir_config Kernel#egrep_cpp Kernel#enable_config Kernel#find_header Kernel#find_library Kernel#have_func Kernel#have_header Kernel#have_library Kernel#have_macro Kernel#have_struct_member Kernel#have_type Kernel#have_var Kernel#install_rb Kernel#pkg_config Kernel#try_compile Kernel#try_cpp Kernel#try_link Kernel#try_run Kernel#try_static_assert Kernel#what_type? Kernel#with_config Kernel::CFLAGS Kernel::CONFIG Kernel::CPP Kernel::LINK


library monitor

Abstract

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

参照

  • [ruby-list:6829]
  • [ruby-list:30447]
  • [ruby-list:30449]

monitor は以下のような Mutex としての機能も提供します。

  • lock の持ち主がスレッドである Mutex / 何度も lock できる Mutex
  • lock したスレッドを Mutex 側が覚えていて
  • そのスレッドがもう一度 lock しようとしてもブロックしない
  • synchronize は lock していなかったら通常どおり、 自分が lock していたら ただ yield するだけ (lock/unlockもしない)
  • unlock はそのスレッドだけができる

[ruby-list:30447] より。

Classes/Modules

class Monitor | スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。
module MonitorMixin | スレッドの同期機構としてのモニター機能を提供するモジュールです。
class MonitorMixin::ConditionVariable | MonitorMixin と Monitor のための ConditionVariable クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。

Exception Classes

class MonitorMixin::ConditionVariable::Timeout


class Monitor

ancestors: Monitor < MonitorMixin < Object < Kernel

Abstract

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

例

require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
  loop do
    buf.synchronize do
      empty_cond.wait_while { buf.empty? }
      print buf.shift
    end
  end
end

# producer
while line = ARGF.gets
  buf.synchronize do
    buf.push(line)
    empty_cond.signal
  end
end

2回ロックしてもデッドロックにならない例です。

require 'monitor'
mon = Monitor.new
mon.synchronize {
  mon.synchronize{

  }
}

Mutex ではデッドロックになります。

require 'thread'
mx = Mutex.new
mx.synchronize {
  mx.synchronize{

  }
}
# => deadlock; recursive locking (ThreadError)

Singleton Methods

Signature | Description
new | Monitor オブジェクトを生成します。

Instance Methods

Signature Description
mon_enter
enter

モニターをロックします。MonitorMixin#mon_enter を 参照して下さい。

mon_exit
exit

モニターを解放します。MonitorMixin#mon_exit を 参照して下さい。

mon_synchronize { ... }
synchronize { ... }

MonitorMixin#mon_synchronize を参照して下さい。

mon_try_enter
try_enter

MonitorMixin#mon_try_enter を参照して下さい。

new_cond

MonitorMixin#new_cond を参照して下さい。

Inherited Methods

mon_try_enter == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module MonitorMixin

ancestors: MonitorMixin

Abstract

スレッドの同期機構としてのモニター機能を提供するモジュールです。

例

require 'monitor'

buf = []
buf.extend(MonitorMixin)
empty_cond = buf.new_cond

# consumer
Thread.start do
  loop do
    buf.synchronize do
      empty_cond.wait_while { buf.empty? }
      print buf.shift
    end
  end
end

# producer
while line = ARGF.gets
  buf.synchronize do
    buf.push(line)
    empty_cond.signal
  end
end

初期化

MonitorMixin は初期化される必要があります。 上の例のように Object#extend を使って利用する場合は 自動的に初期化されます。

require 'monitor'
buf = []
buf.extend(MonitorMixin)

しかし、MonitorMixin をクラス定義の際に Module#include を使って 利用する場合は、initialize メソッドで super() か super を呼んで、初期化する必要があります。 スーパークラスの initialize に引数を渡したい場合は super を、そうでない場合は super() を呼んで下さい。 詳しくは、メソッド呼び出し(super・ブロック付き・yield)/super を参照して下さい。 例えば、以下の MyObject のスーパークラスは Object であり、その initialize は引数を受け付けないので super ではなく super() を呼ぶ必要があります。

require 'monitor'
class MyObject
  include MonitorMixin

  def initialize(val)
    super()
    @value = val
  end

  def to_s
    synchronize {
      @value.to_s
    }
  end
end

以下も参考になります。

  • [ruby-dev:9384]
  • [ruby-dev:9386]

Instance Methods

Signature Description
mon_enter

モニターをロックします。一度に一つのスレッドだけがモニターをロックできます。 Mutex#lock に相当します。返り値は不定です。 Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、 何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは 解放されません。

mon_exit

モニターのロックを解放します。mon_enter でロックした回数だけ mon_exit を 呼ばなければモニターは解放されません。返り値は不定です。

mon_synchronize { ... }
synchronize { ... }

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

mon_try_enter
try_mon_enter

モニターを開始しようとして成功した場合、true を返します。 つまりモニターしているスレッドがいないか、モニターしているのがスレッドが 現在のスレッドの場合に true を返します。

new_cond

新しい MonitorMixin::ConditionVariable を生成して返します。


class MonitorMixin::ConditionVariable

ancestors: MonitorMixin::ConditionVariable < Object < Kernel

Abstract

MonitorMixin と Monitor のための ConditionVariable クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。

Instance Methods

Signature | Description
broadcast | 待っている全てのスレッドの実行を再開します。nil を返します。
count_waiters | 待っているスレッドの数を返します。
signal | 待っているスレッドがあれば実行を再開させます。nil を返します。
wait(timeout = nil) | 現在のスレッドを停止します。timeout を与えない場合、 ConditionVariable#signal で起こされるまでスレッドは停止し続けます。 timeout を与えた場合は最大 timeout 秒まで停止した後にスレッドを 再開します。
wait_until { ... } | block が偽を返している間は ConditionVariable#signal で起こされても スレッドを停止し続けます。block が真を返すとスレッドを再開します。 true を返します。
wait_while { ... } | block が真を返している間は ConditionVariable#signal で起こされても スレッドを停止し続けます。 block が偽を返すとスレッドを再開します。 true を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class MonitorMixin::ConditionVariable::Timeout

ancestors: MonitorMixin::ConditionVariable::Timeout < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library multi-tk

Abstract

Classes/Modules

class MultiTkIp
module MultiTkIp_PseudoToplevel_Evaluable

Exception Classes

class MultiTkIp_OK

Required Libraries

tcltklib
tkutil

Added/Redefined Methods

Object#method_missing TkCore::INTERP


class MultiTkIp

ancestors: MultiTkIp < Object < Kernel

Abstract

Singleton Methods

Signature Description
__getip
_conv_listelement(arg)
_create_console
_eval(str)
_eval_with_enc(str)
_eval_without_enc(str)
_fromUTF8(str, encoding = nil)
_get_global_var(var)
_get_global_var2(var, idx)
_get_variable(var, flag)
_get_variable2(var, idx, flag)
_invoke(*args)
_invoke_with_enc(*args)
_invoke_without_enc(*args)
_ip_id_
_make_menu_embeddable(menu_path)
_merge_tklist(*args)
_return_value
_set_global_var(var, value)
_set_global_var2(var, idx, value)
_set_variable(var, value, flag)
_set_variable2(var, idx, value, flag)
_split_tklist(str)
_thread_tkwait(mode, target)
_thread_vwait(var)
_toUTF8(str, encoding = nil)
_unset_global_var(var)
_unset_global_var2(var, idx)
_unset_variable(var, flag)
_unset_variable2(var, idx, flag)
abort(msg = nil)
add_tk_procs(name, args = nil, body = nil)
alias_delete(slave, cmd_name)
alias_info(slave, cmd_name)
alias_target(aliascmd, slave = '')
aliases(slave = '')
alive?
allow_ruby_exit=(mode)
allow_ruby_exit?
bg_eval_proc(*args)
bg_call(*args)
background_call(*args)
background_eval_proc(*args)
thread_eval_proc(*args)
bg_eval(*args, &block)
background_eval(*args, &block)
bg_eval_string(cmd, *eval_args)
bg_eval_str(cmd, *eval_args)
background_eval_string(cmd, *eval_args)
background_eval_str(cmd, *eval_args)
bgerror(cmd = Proc.new, slave = nil, &block)
eval_proc
call
cb_entry_class
create_table
def_alias(slave, new_cmd, org_cmd, *args)
delete
delete_cmd(slave, cmd)
delete_slaves(*args)
deleted?
deleteed?
do_one_event(flag = TclTkLib::EventFlag::ALL)
eval(*args, &block)
eval_string(cmd, *eval_args)
eval_str(cmd, *eval_args)
exist?(slave = '')
exit(st = true)
exit!(st = false)
expose_cmd(slave, cmd, aliasname = nil)
get_cb_entry(cmd)
get_eventloop_tick
get_eventloop_weight
get_limit(limit_type, slave = '', slot = nil)
get_no_event_wait
has_mainwindow?
hidden_cmds(slave = '')
hide_cmd(slave, cmd, aliasname = nil)
inherited(subclass)
init_ip_env(script = Proc.new)
init_ip_internal
invalid_namespace?
invoke_hidden(slave, cmd, *args)
invoke_hidden_on_global(slave, cmd, *args)
invoke_hidden_on_namespace(slave, ns, cmd, *args)
ip_name
mainloop(check_root = true)
mainloop_abort_on_exception
mainloop_abort_on_exception=(mode)
mainloop_watchdog(check_root = true)
make_safe
manipulable?
mark_trusted(slave = '')
master?
method_missing
new_master(safe = nil, keys = {})
new(safe=nil, keys={})
new_safe_slave(safe = 4, keys = {})
new_safeTk(safe = 4, keys = {})
new_slave(safe = nil, keys = {})
new_trusted_slave(safe = nil, keys = {})
path
recursion_limit(slave = '', limit = Tk::None)
remove_tk_procs(*names)
restart(app_name = nil, keys = {})
safe?
safe_base?
safe_level
safe_level=(safe)
set_eventloop_tick(tick)
set_eventloop_weight(loop_max, no_event_tick)
set_limit(limit_type, slave = '', opts = {})
set_no_event_wait(tick)
set_safe_level(safe)
share_stderr(dist, src = '')
share_stdin(dist, src = '')
share_stdio(dist, src = '')
share_stdout(dist, src = '')
slave?
slaves(all = false)
tk_cmd_tbl
tk_object_table(id)
tk_windows
to_eval
transfer_stderr(dist, src = '')
transfer_stdin(dist, src = '')
transfer_stdio(dist, src = '')
transfer_stdout(dist, src = '')

Instance Methods

Signature Description
__create_safe_slave_obj(safe_opts, app_name, tk_opts)
__create_trusted_slave_obj(name, keys)
__eval(str)
__invoke(*args)
__pseudo_toplevel
__pseudo_toplevel=(m)
__pseudo_toplevel_evaluable=(mode)
__pseudo_toplevel_evaluable?
_add_new_tables
_add_tk_procs(name, args, body)
_conv_listelement(arg)
_create_slave_object(keys = {})
_default_delete_hook(slave)
_destroy_slaves_of_slaveIP(ip)
_eval(str)
_eval_with_enc(str)
_eval_without_enc(str)
_fromUTF8(str, encoding = nil)
_get_global_var(var)
_get_global_var2(var, idx)
_get_variable(var, flag)
_get_variable2(varm idx, flag)
_init_ip_env(script)
_init_ip_internal(init_ip_env, add_tk_procs)
_invoke(*args)
_invoke_with_enc(*args)
_invoke_without_enc(*args)
_ip_id_
_is_master_of?(tcltkip_obj)
_make_menu_embeddable
_merge_tklist(*args)
_receiver_mainloop(check_root)
_remove_tk_procs(*names)
_return_value
_set_global_var(var, value)
_set_global_var2(var, idx, value)
_set_variable(var, value, flag)
_set_variable2(var, idx, value, flag)
_split_tklist(str)
_thread_tkwait(mode, target)
_thread_vwait(var)
_tk_cmd_tbl
_tk_table_list
_tk_windows
_toUTF8(str, encoding=nil)
_unset_global_var(var)
_unset_global_var2(var, idx)
_unset_variable(var, flag)
_unset_variable2(var, idx, flag)
abort(msg = nil)
alias_delete(slave, cmd_name)
alias_info(slave, cmd_name)
alias_target(aliascmd, slave = '')
aliases(slave = '')
alive?
allow_ruby_exit=(mode)
allow_ruby_exit?
bg_eval_proc(*args)
background_eval_proc(*args)
background_call(*args)
bg_call(*args)
thread_eval_proc(*args)
bg_eval(*args, &block)
background_eval(*args, &block)
bg_eval_string(cmd, *eval_args)
bg_eval_str(cmd, *eval_args)
background_eval_string(cmd, *eval_args)
background_eval_str(cmd, *eval_args)
call(*args)
cb_error(e)
cb_eval(cmd, *args)
def_alias(slave, new_cmd, org_cmd, *args)
delete(idx, &block)
delete_cmd(slave, cmd)
delete_slaves(*args)
deleted?
encoding
encoding=(enc)
encoding_convertfrom(str, enc = Tk::None)
encoding_convert_from(str, enc = Tk::None)
encoding_convertto(str, enc = Tk::None)
encoding_convert_to(str, enc = Tk::None)
eval(*args, &block)
eval_callback(*args)
eval_proc(*args)
eval_string(cmd, *eval_args)
eval_str(cmd, *eval_args)
exist?(slave = '')
exit(st = true)
exit!(st = false)
expose_cmd(slave, cmd, aliasname = nil)
get_bgerror_handler(slave = '')
get_limit(limit_type, slave = '', slot = nil)
has_mainwindow?
hidden_cmds(slave = '')
hide_cmd(slave, cmd, aliasname = nil)
inspect
invalid_namespace?
invoke_hidden(slave, cmd, *args)
invoke_hidden_on_global(slave, cmd, *args)
invoke_hidden_on_namespace(slave, ns, cmd, *args)
ip_name
mainloop(check_root = true, restart_on_dead = true)
make_safe
manipulable?
mark_trusted(slave = '')
master?
path
recursion_limit(slave = '', limit = Tk::None)
restart(*args)
running_mainloop?
safe?
safe_base?
safe_level
safe_level=(safe)
safeip_add_to_access_path(dir)
safeip_configinfo(slot = nil)
safeip_configure(slot, value = Tk::None)
safeip_delete
safeip_find_in_access_path(dir)
safeip_set_log_cmd(cmd = Proc.new)
set_bgerror_handler(cmd = Proc.new, slave = nil, &block)
set_cb_error(cmd = Proc.new)
set_limit(limit_type, slave = '', opts = {})
set_safe_level(safe)
share_stderr(dist, src = '')
share_stdin(dist, src = '')
share_stdio(dist, src = '')
share_stdout(dist, src = '')
slave?
slaves(all = false)
to_eval
transfer_stderr(dist, src = '')
transfer_stdin(dist, src = '')
transfer_stdio(dist, src = '')
transfer_stdout(dist, src = '')
wait_on_mainloop=(bool)
wait_on_mainloop?

Constants

Signature | Description
BASE_DIR |
SAFE_OPT_LIST |
SLAVE_IP_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class MultiTkIp_OK

ancestors: MultiTkIp_OK < Exception < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(ret = nil) |
send(thread, ret = nil) |

Instance Methods

Signature Description
return_value
value

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module MultiTkIp_PseudoToplevel_Evaluable

ancestors: MultiTkIp_PseudoToplevel_Evaluable

Abstract

Singleton Methods

Signature | Description
extend(mod) |

Instance Methods

Signature | Description
pseudo_toplevel_evaluable=(mode) |
pseudo_toplevel_evaluable? |


library mutex_m

Abstract

スレッド同期機構である Mutex のモジュール版を提供するライブラリです。

Classes/Modules

module Mutex_m

スレッド同期機構である Mutex のモジュール版です。普通のオブジェクトを extend により Mutex にする事ができます。


module Mutex_m

ancestors: Mutex_m

Abstract

スレッド同期機構である Mutex のモジュール版です。普通のオブジェクトを extend により Mutex にする事ができます。

[ruby-list:1991]

require "mutex_m"
obj = Object.new
obj.extend(Mutex_m)
obj.lock
obj.unlock

Instance Methods

Signature Description
mu_lock
lock

Mutex_m をロックします。一度にひとつのスレッドしかロックできません。 既にロックされている mutex に対してロックを行おうとしたスレッドは Mutex_m のロックが解放されるまで、実行が停止されます。

mu_locked?
locked?

Mutex_m がロックされている時、真を返します。

mu_synchronize { ... }
synchronize { ... }

Mutex_m をロックし、ブロックを実行します。実行後に必ず Mutex_m のロックを解放します。

mu_try_lock
try_lock

Mutex_m をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。

mu_unlock
unlock

Mutex_m のロックを解放します。 Mutex_m のロック待ちになっていたスレッドの実行は再開されます。


library net/ftp

Abstract

FTP プロトコルを扱うライブラリです。

基本的には unix の ftp コマンドのような command-line interface の FTP クライアントを使ったことのある 人にとってわかりやすいインターフェースになっています。 より「Ruby 的」であるインターフェースも用意しています。

FTP については [RFC959]、[RFC3659] を参考にしてください。

バイナリモードとテキストモード

FTP のデータ転送にはテキストモードとバイナリモード があります。テキストモードで転送する場合には 改行を適宜CRLFに変換します。バイナリモードの場合は 一切の変換をしません。

通常はバイナリモード以外を使う必要はないでしょう。

Net::FTP#get、Net::FTP#put は
Net::FTP#binary の値に従ってテキストモードと
バイナリモードの一方を選びます。また、
Net::FTP#getbinaryfile、Net::FTP#putbinaryfile
は Net::FTP#binary の値によらずバイナリモードで、
Net::FTP#gettextfile、Net::FTP#puttextfile は
Net::FTP#binary の値によらずテキストモードで
データ転送が行われます。

パッシブモードとアクティブモード

FTP はファイル転送やディレクトリ情報取得のための データ転送用の TCP コネクションを、 サーバとの制御コマンドをやりとり するためのコネクションとは別に作成します。

このデータ転送用コネクションを作成する際に、 アクティブモードでは サーバ側からクライアント側へコネクションを作り、 パッシブモードでは クライアント側からサーバ側へコネクションを作ます。

そのため、アクティブモードではサーバ-クライアント間に ファイアーウォールや NAT がある場合にはうまく接続できない 場合があります。この時にはパッシブモードを利用してください。

例

例1:

require 'net/ftp'
ftp = Net::FTP.new('ftp.example.org')
ftp.login
ftp.passive = true
ftp.chdir('pub/ruby')
files = ftp.list('ruby*')
ftp.getbinaryfile('ruby-1.9.1-p243.tar.bz2', 'ruby.bz2', 1024)
ftp.close

例2:

require 'net/ftp'
Net::FTP.open('ftp.example.org') do |ftp|
  ftp.login
  ftp.passive = true
  ftp.chdir('pub/ruby')
  files = ftp.list('*.bz2')
  ftp.getbinaryfile('ruby-1.9.1-p243.tar.bz2', 'ruby.bz2', 1024)
endh

Classes/Modules

class Net::FTP

FTP を実装したクラスです。

Exception Classes

class Net::FTPError | net/ftp ライブラリ関連のエラー全般を表す例外クラスです。
class Net::FTPPermError | FTP の応答コード 5yz (Permanent Negative Completion reply) を表す例外クラスです。
class Net::FTPProtoError | サーバの応答が FTP のプロトコルに沿っていない場合に 発生する例外のクラスです。
class Net::FTPReplyError | FTPの応答が 1yz や 3yz であり、それが 想定外であることを表わす例外クラスです。
class Net::FTPTempError | FTP の応答コード 4yz (Transient Negative Completion reply) を表す例外クラスです。


class Net::FTP

ancestors: Net::FTP < Object < Kernel

Abstract

FTP を実装したクラスです。

Singleton Methods

Signature Description
new(host = nil, user = nil, passwd = nil, acct = nil) -> Net::FTP

新しい Net::FTP のインスタンスを生成します。

open(host, user = nil, passwd = nil, acct = nil) -> Net::FTP
open(host, user = nil, passwd = nil, acct = nil) {|ftp| ... } -> object

新しい Net::FTP インスタンスを生成します。

Instance Methods

Signature Description
abort -> String

データの転送を中止します。

acct(account) -> nil

サーバーに ACCT コマンドでアカウント情報を送ります。

binary -> bool

Net::FTP#put, Net::FTP#get による転送を バイナリモード(IMAGE)で行うかどうかを返します。

binary=(bool)

Net::FTP#put, Net::FTP#get による転送を バイナリモード(IMAGE)で転送するかどうかを指定します。

chdir(dirname) -> nil

リモートサーバでのカレントディレクトリを dirname に変更します。

close -> ()

サーバとの接続を切ります。

closed? -> bool

接続が切れている時に真を返します。

connect(host, port = FTP_PORT) -> ()

host で指定されたホストに接続します。

debug_mode -> bool

デバッグモードであれば真を、そうでなければ偽を返します。

debug_mode=(boolean)

デバッグモードの on/off を設定します。

delete(filename) -> nil

ファイルを削除します。

list(*args) -> [String]
list(*args) {|line| ... } -> nil
ls(*args) -> [String]
ls(*args) {|line| ... } -> nil
dir(*args) -> [String]
dir(*args) {|line| ...} -> nil

LIST コマンドを送信し、結果を返します。

get(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) -> nil
get(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) { |data| .... } -> nil

サーバ上のファイルを取得します。

getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) {|data| ...} -> nil
getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) -> nil

サーバ上のファイルをバイナリモードで取得します。

pwd -> String
getdir -> String

カレントディレクトリを返します。

gettextfile(remotefile, localfile = File.basename(remotefile)) -> nil
gettextfile(remotefile, localfile = File.basename(remotefile)) {|line| ...} -> nil

サーバ上のファイルをテキストモードで取得します。

help(arg = nil) -> String

サーバからの help 情報を返します。

last_response -> String

サーバからの最後の応答を文字列で返します。

lastresp -> String
last_response_code -> String

サーバからの最後の応答のコードを文字列で返します。

login(user = "anonymous", passwd = nil, acct = nil) -> ()

ホストへのログイン処理を行ないます。

mdtm(filename) -> String

MDTM コマンドを送信し、結果を返します。

mkdir(dirname) -> String

リモートサーバ上にディレクトリを作成します。

mtime(filename, local = false) -> Time

filename の更新時刻を Time オブジェクトで返します。

nlst(dir = nil) -> [String]

dir で指定したディレクトリのファイルの配列を返します。

noop -> nil

NOOP コマンドを発行します。

passive -> bool

passive モードであるならば真を、そうでなければ 偽を返します。

passive=(bool)

passive モードを設定します。

put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil
put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) { |data| .... } -> nil

サーバへファイルを転送します。

putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil
putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) {|data| ...} -> nil

サーバにファイルをバイナリモードで転送します。

puttextfile(localfile, remotefile = File.basename(localfile)) -> nil
puttextfile(localfile, remotefile = File.basename(localfile)) {|line| ... } -> nil

サーバにファイルをテキストモードで転送します。

quit -> nil

FTP のセッションからログアウトします。

rename(fromname, toname) -> nil

ファイルをリネームします。

resume -> bool

現在のリジュームモードの状態を返します。

resume=(boolean)

現在のリジュームモードを設定します。

retrbinary(cmd, blocksize, rest_offset = nil) -> nil
retrbinary(cmd, blocksize, rest_offset = nil) {|data| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、バイナリデータを 取り寄せます。

retrlines(cmd) {|line| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、テキストデータを 取り寄せます。

return_code -> String

このメソッドは obsolete です。使わないでください。

return_code=(string)

このメソッドは obsolete です。使わないでください。

rmdir(dirname) -> nil

リモートサーバ上のディレクトリを削除します。

sendcmd(cmd) -> String

cmd で指定されたコマンドをサーバーに送り、 サーバーからの応答を返します。

set_socket(sock, get_greeting = true) -> nil

FTP のコントロール接続の ソケットを TCPSocket オブジェクト sock に設定します。

site(arg) -> nil

SITE コマンドを発行します。

size(filename) -> Integer

リモートサーバ上のファイルのサイズを返します。

status -> String

現在の状態を返します。

storbinary(cmd, file, blocksize, rest_offset = nil) -> nil
storbinary(cmd, file, blocksize, rest_offset = nil) {|data| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、バイナリデータを 送ります。

storlines(cmd, file) -> nil
storlines(cmd, file) {|line| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、テキストデータを 送ります。

system -> String

サーバーの OS のタイプを返します。

voidcmd(cmd) -> nil

cmd で指定されたコマンドをサーバーに送ります。

welcome -> String

サーバのウェルカムメッセージを返します。

Constants

Signature | Description
DEFAULT_BLOCKSIZE -> Integer | get, put をするときのデフォルトのブロックサイズです。
FTP_PORT -> Integer | FTPのデフォルトのポート番号(21)です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::FTPError

ancestors: Net::FTPError < StandardError < Exception < Object < Kernel

Abstract

net/ftp ライブラリ関連のエラー全般を表す例外クラスです。

サーバの応答コードがエラーを示している場合に発生します。

例外発生の原因となったサーバ応答は Exception#message から得られます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::FTPPermError

ancestors: Net::FTPPermError < Net::FTPError < StandardError < Exception < Object < Kernel

Abstract

FTP の応答コード 5yz (Permanent Negative Completion reply) を表す例外クラスです。

詳しくは [RFC959] を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::FTPProtoError

ancestors: Net::FTPProtoError < Net::FTPError < StandardError < Exception < Object < Kernel

Abstract

サーバの応答が FTP のプロトコルに沿っていない場合に 発生する例外のクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::FTPReplyError

ancestors: Net::FTPReplyError < Net::FTPError < StandardError < Exception < Object < Kernel

Abstract

FTPの応答が 1yz や 3yz であり、それが 想定外であることを表わす例外クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::FTPTempError

ancestors: Net::FTPTempError < Net::FTPError < StandardError < Exception < Object < Kernel

Abstract

FTP の応答コード 4yz (Transient Negative Completion reply) を表す例外クラスです。

詳しくは [RFC959] を参照してください。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library net/ftptls

Abstract

net/ftp に TLS 拡張を実装するライブラリです。

Classes/Modules

class Net::FTPTLS


class Net::FTPTLS

ancestors: Net::FTPTLS < Net::FTP < Object < Kernel

Abstract

Instance Methods

Signature | Description
login(user = "anonymous", passwd = nil, acct = nil) |

Inherited Methods

abort acct binary binary= chdir close closed? connect debug_mode debug_mode= delete dir get getbinaryfile getdir gettextfile help last_response last_response_code mdtm mkdir mtime nlst noop passive passive= put putbinaryfile puttextfile quit rename resume resume= retrbinary retrlines return_code return_code= rmdir sendcmd set_socket site size status storbinary storlines system voidcmd welcome .new .open ::DEFAULT_BLOCKSIZE ::FTP_PORT == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library net/http

Abstract

汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は [RFC2616] に基きます。

使用例

ウェブサーバからドキュメントを得る (GET)

例1: GET して 表示するだけ

require 'net/http'
Net::HTTP.get_print 'www.example.com', '/index.html'

例2: URI を使う

require 'net/http'
require 'uri'
Net::HTTP.get_print URI.parse('http://www.example.com/index.html')

例3: より汎用的な例

require 'net/http'
require 'uri'

url = URI.parse('http://www.example.com/index.html')
res = Net::HTTP.start(url.host, url.port) {|http|
  http.get('/index.html')
}
puts res.body

例4: 上の例よりさらに汎用的な例

require 'net/http'

url = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(url.path)
res = Net::HTTP.start(url.host, url.port) {|http|
  http.request(req)
}
puts res.body

フォームの情報を送信する (POST)

require 'net/http'
require 'uri'

#例1: POSTするだけ
res = Net::HTTP.post_form(URI.parse('http://www.example.com/search'),
                          {'q'=>'ruby', 'max'=>'50'})
puts res.body

#例2: 認証付きで POST する
res = Net::HTTP.post_form(URI.parse('http://jack:pass@www.example.com/todo.cgi'),
                          {'from'=>'2005-01-01', 'to'=>'2005-03-31'})
puts res.body

#例3: より細かく制御する
url = URI.parse('http://www.example.com/todo.cgi')
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'jack', 'pass'
req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'}, ';')
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPSuccess, Net::HTTPRedirection
  # OK
else
  res.value
end

プロクシ経由のアクセス

Net::HTTP.Proxy はプロクシ経由での接続を行なうクラスを 生成して返します。このクラスは Net::HTTP と同じ メソッドを持ち、同じように動作をします。ただし 接続する際には常にプロクシ経由となります。

require 'net/http'

proxy_addr = 'your.proxy.host'
proxy_port = 8080
        :
Net::HTTP::Proxy(proxy_addr, proxy_port).start('www.example.com') {|http|
  # always connect to your.proxy.addr:8080
        :
}

また Net::HTTP.Proxy は第一引数が nil だと Net::HTTP 自身を返すので 上のコードのように書いておけばプロクシなしの場合にも対応できます。

Net::HTTP.Proxy にはユーザ名とパスワードを取る オプション引数があり、以下のようにして プロクシの認証をすることができます。

proxy_host = 'your.proxy.host'
proxy_port = 8080
uri = URI.parse(ENV['http_proxy'])
proxy_user, proxy_pass = uri.userinfo.split(/:/) if uri.userinfo
Net::HTTP::Proxy(proxy_host, proxy_port,
                 proxy_user, proxy_pass).start('www.example.com') {|http|
  # always connect to your.proxy.addr:8080 using specified username and password
        :
}

このライブラリは環境変数 HTTP_PROXY を一切考慮しないこと に注意してください。プロクシを使いたい場合は上の例のように 明示的に取り扱わなければなりません。

リダイレクトに対応する

以下の例の fetch はリダイレクトに対応しています。 limit 回数以上リダイレクトしたらエラーにします。

require 'net/http'
require 'uri'

def fetch(uri_str, limit = 10)
  # You should choose better exception.
  raise ArgumentError, 'HTTP redirect too deep' if limit == 0

  response = Net::HTTP.get_response(URI.parse(uri_str))
  case response
  when Net::HTTPSuccess
    response
  when Net::HTTPRedirection
    fetch(response['location'], limit - 1)
  else
    response.value
  end
end

print fetch('http://www.example.org')

より詳しくは Net::HTTPResponse、 Net::HTTPSuccess、 Net::HTTPRedirection を参照してください。

Basic 認証

require 'net/http'

Net::HTTP.start('www.example.com') {|http|
  req = Net::HTTP::Get.new('/secret-page.html')
  req.basic_auth 'account', 'password'
  response = http.request(req)
  print response.body
}

フォームの値の区切り文字について

POSTで application/x-www-form-urlencoded として複数のフォームの値を送る場合、 現在広く行なわれているのは、 name0=value0&name1=value1 のようにアンパサンド (`&') で区切るやりかたです。 この方法は、[RFC1866] Hypertext Markup Language - 2.0 で初めて公式に登場し、 HTML 4.01 Specification の 17.13.4 Form content types でもそのように書かれています。

ところが、同じ HTML 4.01 Specification の B.2.2 Ampersands in URI attribute values では、 この `&' がSGMLの文字実体参照で用いられることが指摘されており、 CGIやサーバの実装者に対し `&' の代わりに セミコロン `;' をサポートすることを奨めています。

しかし、実際には `;' を解釈しないCGIやサーバもまだまだ見受けられるため このリファレンスマニュアルでは例として `&' を用いました。

なお Ruby 標準の cgi ライブラリでは '&' と ';' の両方サポートしていますので、 cgi ライブラリを使って CGI スクリプトを書く場合はこれらの違いを気にする 必要はありません。

新しい仕様への変更と移行措置について

net/http 1.1 (Ruby 1.6に含まれています)の挙動を使いたい場合には Net::HTTP.version_1_1 を呼んでください。 その後 Net::HTTP.version_1_2 を呼ぶと挙動が 1.2 に 戻ります。

# example
Net::HTTP.start {|http1| ...(http1 has 1.2 features)... }

Net::HTTP.version_1_1
Net::HTTP.start {|http2| ...(http2 has 1.1 features)... }

Net::HTTP.version_1_2
Net::HTTP.start {|http3| ...(http3 has 1.2 features)... }

ただし、この機能はスレッドセーフではありません。 つまり、複数スレッドでそれぞれに version_1_1 や version_1_2 を呼んだ場合、 次に生成する Net::HTTP オブジェクトがどちらのバージョンになるかは保証できません。 アプリケーション全体でどちらかのバージョンに固定する必要があります。

通常この機能は使わないはずです。1.2固定で利用してください。

Classes/Modules

class Net::HTTP | HTTP のクライアントのためのクラスです。
class Net::HTTP::Copy | HTTP の COPY リクエストを表すクラスです。
class Net::HTTP::Delete | HTTP の DELETE リクエストを表すクラスです。
class Net::HTTP::Get | HTTP の GET リクエストを表すクラスです。
class Net::HTTP::Head | HTTP の HEAD リクエストを表すクラスです。
class Net::HTTP::Lock | HTTP の LOCK リクエストを表すクラスです。
class Net::HTTP::Mkcol | HTTP の MKCOL リクエストを表すクラスです。
class Net::HTTP::Move | HTTP の MOVE リクエストを表すクラスです。
class Net::HTTP::Options | HTTP の OPTIONS リクエストを表すクラスです。
class Net::HTTP::Post | HTTP の POST リクエストを表すクラスです。
class Net::HTTP::Propfind | HTTP の PROPFIND リクエストを表すクラスです。
class Net::HTTP::Proppatch | HTTP の PROPPATCH リクエストを表すクラスです。
class Net::HTTP::Put | HTTP の PUT リクエストを表すクラスです。
class Net::HTTP::Trace | HTTP の TRACE リクエストを表すクラスです。
class Net::HTTP::Unlock | HTTP の UNLOCK リクエストを表すクラスです。
class Net::HTTPAccepted | HTTP レスポンス 202 (Accepted) を表現するクラスです。
class Net::HTTPBadGateway | HTTP レスポンス 502 (Bad Gateway) を表現するクラスです。
class Net::HTTPBadRequest | HTTP レスポンス 400 (Bad Request) を表現するクラスです。
class Net::HTTPClientError | HTTP レスポンス 4xx (Client Error) を表現するクラスです。
class Net::HTTPConflict | HTTP レスポンス 409 (Conflict) を表現するクラスです。
class Net::HTTPContinue | HTTP レスポンス 100 (Continue) を表現するクラスです。
class Net::HTTPCreated | HTTP レスポンス 201 (Created) を表現するクラスです。
module Net::HTTPExceptions | HTTP 例外クラスです。
class Net::HTTPExpectationFailed | HTTP レスポンス 417 (Expectation Failed) を表現するクラスです。
class Net::HTTPForbidden | HTTP レスポンス 403 (Forbidden) を表現するクラスです。
class Net::HTTPFound | HTTP レスポンス 302 (Found) を表現するクラスです。 詳しくは [RFC2616] を見てください。
class Net::HTTPGatewayTimeOut | HTTP レスポンス 504 (Gateway Time-out) を表現するクラスです。
class Net::HTTPGenericRequest | Net::HTTPRequest のスーパークラスです。 このクラスは直接は使わないでください。
class Net::HTTPGone | HTTP レスポンス 410 (Gone) を表現するクラスです。
module Net::HTTPHeader | HTTP ヘッダのためのモジュールです。
class Net::HTTPInformation | HTTP レスポンス 1xx (Informational) を表現するクラスです。
class Net::HTTPInternalServerError | HTTP レスポンス 500 (Internal Server Error) を表現するクラスです。
class Net::HTTPLengthRequired | HTTP レスポンス 411 (Length Required) を表現するクラスです。
class Net::HTTPMethodNotAllowed | HTTP レスポンス 405 (Method Not Allowed) を表現するクラスです。
class Net::HTTPMovedPermanently | HTTP レスポンス 301 (Moved Permanently) を表現するクラスです。
class Net::HTTPMultipleChoice | HTTP レスポンス 300 (Multiple Choices) を表現するクラスです。
class Net::HTTPNoContent | HTTP レスポンス 204 (No Content) を表現するクラスです。
class Net::HTTPNonAuthoritativeInformation | HTTP レスポンス 203 (Non-Authoritative Information) を表現するクラスです。
class Net::HTTPNotAcceptable | HTTP レスポンス 406 (Not Acceptable) を表現するクラスです。
class Net::HTTPNotFound | HTTP レスポンス 404 (Not Found) を表現するクラスです。
class Net::HTTPNotImplemented | HTTP レスポンス 501 (Not Implemented) を表現するクラスです。
class Net::HTTPNotModified | HTTP レスポンス 304 (Not Modified) を表現するクラスです。
class Net::HTTPOK | HTTP レスポンス 200 (OK) を表現するクラスです。
class Net::HTTPPartialContent | HTTP レスポンス 206 (Partial Content) を表現するクラスです。
class Net::HTTPPaymentRequired | HTTP レスポンス 402 (Payment Required) を表現するクラスです。
class Net::HTTPPreconditionFailed | HTTP レスポンス 412 (Precondition Failed) を表現するクラスです。
class Net::HTTPProxyAuthenticationRequired | HTTP レスポンス 407 (Proxy Authentication Required) を表現するクラスです。
class Net::HTTPRedirection | HTTP レスポンス 3xx (Redirection) を表現するクラスです。
class Net::HTTPRequest | HTTP リクエストを抽象化するクラスです。
class Net::HTTPRequestEntityTooLarge | HTTP レスポンス 413 (Request Entity Too Large) を表現するクラスです。
class Net::HTTPRequestTimeOut | HTTP レスポンス 408 (Request Time-out) を表現するクラスです。
class Net::HTTPRequestURITooLong | HTTP レスポンス 414 (Request-URI Too Large) を表現するクラスです。
class Net::HTTPRequestedRangeNotSatisfiable | HTTP レスポンス 416 (Requested range not satisfiable) を表現するクラスです。
class Net::HTTPResetContent | HTTP レスポンス 205 (Reset Content) を表現するクラスです。
class Net::HTTPResponse | HTTP レスポンスを表現するクラスです。 Net::HTTP クラスは実際には HTTPResponse のサブクラスを返します。
class Net::HTTPSeeOther | HTTP レスポンス 303 (See Other) を表現するクラスです。
class Net::HTTPServerError | HTTP レスポンス 2xx (Server Error) を表現するクラスです。
class Net::HTTPServiceUnavailable | HTTP レスポンス 503 (Service Unavailable) を表現するクラスです。
class Net::HTTPSuccess | HTTP レスポンス 2xx (Success) を表現するクラスです。
class Net::HTTPSwitchProtocol | HTTP レスポンス 101 (Switching Protocols) を表現するクラスです。
class Net::HTTPTemporaryRedirect | HTTP レスポンス 307 (Temporary Redirect) を表現するクラスです。
class Net::HTTPUnauthorized | HTTP レスポンス 401 (Unauthorized) を表現するクラスです。
class Net::HTTPUnknownResponse | このライブラリが知らないレスポンスを表現するクラスです。
class Net::HTTPUnsupportedMediaType | HTTP レスポンス 415 (Unsupported Media Type) を表現するクラスです。
class Net::HTTPUseProxy | HTTP レスポンス 305 (Use Proxy) を表現するクラスです。
class Net::HTTPVersionNotSupported | HTTP レスポンス 505 (HTTP Version not supported) を表現するクラスです。

Exception Classes

class HTTPBadResponse | HTTP のレスポンスが不正であった場合に発生する例外です。
class HTTPError | HTTP ステータスコード 1xx を受け取ったという例外です。 または、ステータスコードが未知のものである場合も これに対応します。
class HTTPFatalError | HTTP ステータスコード 4xx を受け取ったという例外です。
class HTTPHeaderSyntaxError | HTTP ヘッダの内容が不正である場合に発生する例外です。
class HTTPRetriableError | HTTP ステータスコード 3xx を受け取ったという例外です。
class HTTPServerException | HTTP ステータスコード 5xx を受け取ったという例外です。


class HTTPBadResponse

ancestors: HTTPBadResponse < StandardError < Exception < Object < Kernel

Abstract

HTTP のレスポンスが不正であった場合に発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class HTTPError

ancestors: HTTPError < Net::HTTPExceptions < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

HTTP ステータスコード 1xx を受け取ったという例外です。 または、ステータスコードが未知のものである場合も これに対応します。

Inherited Methods

backtrace exception message set_backtrace .exception data == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class HTTPFatalError

ancestors: HTTPFatalError < Net::HTTPExceptions < Net::ProtoFatalError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

HTTP ステータスコード 4xx を受け取ったという例外です。

クライアントのリクエストに誤りがあるか、サーバにリクエストを拒否さ れた(認証が必要、リソースが存在しないなどで)ことを示します。

Inherited Methods

backtrace exception message set_backtrace .exception data == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class HTTPHeaderSyntaxError

ancestors: HTTPHeaderSyntaxError < StandardError < Exception < Object < Kernel

Abstract

HTTP ヘッダの内容が不正である場合に発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class HTTPRetriableError

ancestors: HTTPRetriableError < Net::HTTPExceptions < Net::ProtoRetriableError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

HTTP ステータスコード 3xx を受け取ったという例外です。

リソースが移動したなどの理由により、リクエストを完了させるには更な るアクションが必要になります。

Inherited Methods

backtrace exception message set_backtrace .exception data == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class HTTPServerException

ancestors: HTTPServerException < Net::HTTPExceptions < Net::ProtoServerError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

HTTP ステータスコード 5xx を受け取ったという例外です。

クライアントのリクエストに誤りがあるか、サーバにリクエストを拒否さ れた(認証が必要、リソースが存在しないなどで)ことを示します。

Inherited Methods

backtrace exception message set_backtrace .exception data == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP

ancestors: Net::HTTP < Object < Kernel

Abstract

HTTP のクライアントのためのクラスです。

Singleton Methods

Signature Description
Proxy(address, port = 80) -> Class

Proxy 経由で http サーバに接続するためのクラスを作成し返します。

http_default_port -> Integer
default_port -> Integer

HTTP のデフォルトポート (80) を返します。

get(uri) -> String
get(host, path, port = 80) -> String

指定した対象に GET リクエストを送り、そのボディを 文字列として返します。

get_print(uri) -> ()
get_print(host, path, port = 80) -> ()

指定した対象から HTTP でエンティティボディを取得し、 $stdout に出力します。

get_response(uri) -> Net::HTTPResponse
get_response(host, path = nil, port = nil) -> Net::HTTPResponse

指定した対象に GET リクエストを送り、そのレスポンスを Net::HTTPResponse として返します。

https_default_port -> Integer

HTTPS のデフォルトポート (443) を返します。

version_1_1? -> bool
is_version_1_1? -> bool

ライブラリの動作がバージョン1.1互換である場合に真を返します。

version_1_2? -> bool
is_version_1_2? -> bool

ライブラリの動作がバージョン1.2互換である場合に真を返します。

new(address, port = 80, proxy_addr = nil, proxy_port = nil, proxy_user=nil, proxy_pass=nil) -> Net::HTTP

新しい Net::HTTP オブジェクトを生成します。

post_form(uri, params) -> Net::HTTPResponse

URI で指定した対象に フォームのデータを HTTP で POST します。

proxy_address -> String|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシのアドレスを返します。

proxy_class? -> bool

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならば真を返し、そうでなければ偽を返します。

proxy_pass -> String|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシ認証のパスワードを返します。

proxy_port -> Integer|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシのポート番号を返します。

proxy_user -> String|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスで、かつプロクシの認証を利用する場合は プロクシ認証のユーザ名を返します。

start(address, port = 80, proxy_addr = nil, proxy_port = nil, proxy_user=nil, proxy_pass=nil) -> Net::HTTP
start(address, port = 80, proxy_addr = nil, proxy_port = nil, proxy_user=nil, proxy_pass=nil) {|http| .... } -> object

新しい Net::HTTP オブジェクトを生成し、 TCP コネクション、 HTTP セッションを開始します。

version_1_1 -> ()

ライブラリの動作をバージョン1.1互換にします。

version_1_2 -> ()

ライブラリの動作をバージョン1.2互換、つまり 通常の動作にします。

Instance Methods

Signature Description
started? -> bool
active? -> bool

HTTP セッションが開始されていたら真を返します。

address -> String

接続するアドレスを返します。

close_on_empty_response -> bool

レスポンスがボディを持っていない場合にコネクションを 閉じるかどうかを返します。

close_on_empty_response=(bool)

レスポンスがボディを持っていない場合にコネクションを 閉じるかどうかを設定します。

copy(path, initheader = nil) -> Net::HTTPResponse

サーバの path に COPY リクエストを ヘッダを initheader として送ります。

delete(path, initheader = nil) -> Net::HTTPResponse

サーバの path に DELETE リクエストを ヘッダを initheader として送ります。

finish -> ()

HTTP セッションを終了します。セッション開始前にこのメソッドが 呼ばれた場合は例外 IOError を発生します。

get(path, header = nil, dest = nil) -> Net::HTTPResponse
get(path, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティを取得し、 Net::HTTPResponse のインスタンスとして返します。

request_get(path, header = nil) -> Net::HTTPResponse
request_get(path, header = nil) {|response| .... } -> Net::HTTPResponse
get2(path, header = nil) -> Net::HTTPResponse
get2(path, header = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティを取得します。 Net::HTTPResponse オブジェクトを返します。

head(path, header = nil) -> Net::HTTPResponse

サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse のインスタンスを返します。

request_head(path, header = nil) -> Net::HTTPResponse
request_head(path, header = nil) {|response| .... } -> Net::HTTPResponse
head2(path, header = nil) -> Net::HTTPResponse
head2(path, header = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse オブジェクトを返します。

lock(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に LOCK リクエストを ヘッダを initheader, ボディを body として送ります。

mkcol(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に MKCOL リクエストを ヘッダが initheader, ボディを body として送ります。

move(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に MOVE リクエストを ヘッダが initheader, ボディを body として送ります。

open_timeout -> Integer

接続時に待つ最大秒数を返します。

open_timeout=(seconds)

接続時に待つ最大秒数を設定します。

options(path, initheader = nil) -> Net::HTTPResponse

サーバの path に OPTIONS リクエストを ヘッダが initheader として送り、 レスポンスを Net::HTTPResponse のオブジェクト で返します。

port -> Integer

接続するポート番号を返します。

post(path, data, header = nil, dest = nil) -> Net::HTTPResponse
post(path, data, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。

request_post(path, data, header = nil) -> Net::HTTPResponse
request_post(path, data, header = nil) {|response| .... } -> Net::HTTPResponse
post2(path, data, header = nil) -> Net::HTTPResponse
post2(path, data, header = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。 返り値は Net::HTTPResponse のインスタンスです。

propfind(path, body, initheader = {'Depth' => '0'}) -> Net::HTTPResponse

サーバの path に PROPFIND リクエストを ヘッダを initheader, ボディを body として送ります。

proppatch(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に PROPPATCH リクエストを ヘッダを initheader, ボディを body として送ります。

proxy? -> bool

プロクシを介して接続するなら真を返します。

proxy_address -> String|nil
proxyaddr -> String|nil

プロクシ経由で接続する HTTP オブジェクトならプロクシのアドレス を返します。

proxy_pass -> String|nil

プロクシ経由で接続し、さらにプロクシのユーザ認証を する HTTP オブジェクトなら認証のパスワードを を返します。

proxy_port -> Integer|nil
proxyport -> Integer|nil

プロクシ経由で接続する HTTP オブジェクトならプロクシのポート番号 を返します。

proxy_user -> String|nil

プロクシ経由で接続し、さらにプロクシのユーザ認証を する HTTP オブジェクトなら認証のユーザ名を を返します。

put(path, data, initheader = nil) -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を PUT で送ります。

request_put(path, data, initheader = nil) -> Net::HTTPResponse
request_put(path, data, initheader = nil) {|response| .... } -> Net::HTTPResponse
put2(path, data, initheader = nil) -> Net::HTTPResponse
put2(path, data, initheader = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を PUT で送ります。

read_timeout -> Integer

読みこみ(read(2)) 一回でブロックしてよい最大秒数 を返します。

read_timeout=(seconds)

読みこみ(read(2)) 一回でブロックしてよい最大秒数を 設定します。

request(request [, data]) -> Net::HTTPResponse
request(request [, data]) {|response| .... } -> Net::HTTPResponse

Net::HTTPRequest オブジェクト request をサーバに送信します。

send_request(name, path, data = nil, header = nil) -> Net::HTTPResponse

HTTP リクエストをサーバに送り、そのレスポンスを Net::HTTPResponse のインスタンスとして返します。

set_debug_output(io) -> ()

デバッグ出力の出力先を指定します。 このメソッドは深刻なセキュリティホールの原因 になるため、デバッグ以外では決して使わないでください。

start -> self
start {|http| .... } -> object

TCP コネクションを張り、HTTP セッションを開始します。 すでにセッションが開始していたら例外 IOError を発生します。

trace(path, initheader = nil) -> Net::HTTPResponse

サーバの path に TRACE リクエストを ヘッダを initheader として送ります。

unlock(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に UNLOCK リクエストを ヘッダを initheader, ボディを body として送ります。

use_ssl? -> bool

SSLを利用して接続する場合に真を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library
ca_file
ca_file=(path)

PEM 形式で保存された CA 証明書ファイルのパスを設定します。 ファイルには複数の CA 証明書が含まれていても構いません。

net/https
ca_path
ca_path=(path)

PEM 形式で保存された CA 証明書ファイルが存在するディレクトリを設定します。

net/https
cert
cert=(certificate)

クライアント証明書として OpenSSL::X509::Certificate オブジェクトを設定します。

net/https
cert_store
cert_store=(store)

サーバ証明書の検証のために使う信頼している CA 証明書のストレージ OpenSSL::X509::Store オブジェクトを設定します。 通常は ca_path=(path) や ca_file=(path) を使います。

net/https
key
key=(key)

OpenSSL::PKey::RSA オブジェクトか OpenSSL::PKey::DSA オブジェクトを設定します。

net/https
peer_cert

サーバが送ってきた X.509 証明書を OpenSSL::X509::Certificate オブジェクトとして返します。

net/https
ssl_timeout net/https
ssl_timeout=(sec)
timeout=(sec) 		net/https
use_ssl=(bool)

HTTP で SSL/TLS を使うかどうかを設定します。 HTTPS 使う場合は true を代入します。 デフォルトでは false です。 つまり SSL/TLS を有効にするには必ず use_ssl = true を呼ぶ必要があります。

net/https
use_ssl?

HTTP で SSL/TLS を使うなら true を返します。

net/https
verify_callback
verify_callback=(proc)

通常のサーバ証明書の検証に加えてさらに適用される Proc オブジェクトを設定します。

net/https
verify_depth
verify_depth=(depth)

サーバ証明書を検証する時の証明書チェーンの最大の深さを設定します。

net/https
verify_mode
verify_mode=(mode)

サーバ証明書に対する検証モードを設定します。 OpenSSL::SSL::VERIFY_NONE か OpenSSL::SSL::VERIFY_PEER が設定可能です。 OpenSSL::SSL も参照してください。

net/https


class Net::HTTP::Copy

ancestors: Net::HTTP::Copy

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の COPY リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Delete

ancestors: Net::HTTP::Delete

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の DELETE リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Get

ancestors: Net::HTTP::Get

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の GET リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Head

ancestors: Net::HTTP::Head

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の HEAD リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Lock

ancestors: Net::HTTP::Lock

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の LOCK リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Mkcol

ancestors: Net::HTTP::Mkcol

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の MKCOL リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Move

ancestors: Net::HTTP::Move

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の MOVE リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Options

ancestors: Net::HTTP::Options

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の OPTIONS リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Post

ancestors: Net::HTTP::Post

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の POST リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Propfind

ancestors: Net::HTTP::Propfind

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の PROPFIND リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Proppatch

ancestors: Net::HTTP::Proppatch

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の PROPPATCH リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Put

ancestors: Net::HTTP::Put

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の PUT リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Trace

ancestors: Net::HTTP::Trace

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の TRACE リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTP::Unlock

ancestors: Net::HTTP::Unlock

      < Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP の UNLOCK リクエストを表すクラスです。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params .new == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTPAccepted

ancestors: Net::HTTPAccepted

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 202 (Accepted) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPBadGateway

ancestors: Net::HTTPBadGateway

      < Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 502 (Bad Gateway) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPBadRequest

ancestors: Net::HTTPBadRequest

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 400 (Bad Request) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPClientError

ancestors: Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 4xx (Client Error) を表現するクラスです。

リクエスト構文が間違っているなど、クライアントが間違って いることを表しています。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPConflict

ancestors: Net::HTTPConflict

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 409 (Conflict) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPContinue

ancestors: Net::HTTPContinue

      < Net::HTTPInformation

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 100 (Continue) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPCreated

ancestors: Net::HTTPCreated

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 201 (Created) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module Net::HTTPExceptions

ancestors: Net::HTTPExceptions

Abstract

HTTP 例外クラスです。

実際にはこれを include した以下のサブクラスの 例外が発生します。

  • Net::HTTPError
  • Net::HTTPRetriableError
  • Net::HTTPServerError
  • Net::HTTPFatalError

また、例外を発生させるためには Net::HTTPResponse#value を 呼ぶ必要があります。

Instance Methods

Signature Description
response -> Net::HTTPResponse
data -> Net::HTTPResponse

例外の原因となったレスポンスオブジェクトを返します。


class Net::HTTPExpectationFailed

ancestors: Net::HTTPExpectationFailed

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 417 (Expectation Failed) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPForbidden

ancestors: Net::HTTPForbidden

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 403 (Forbidden) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPFound

ancestors: Net::HTTPFound

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 302 (Found) を表現するクラスです。 詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPGatewayTimeOut

ancestors: Net::HTTPGatewayTimeOut

      < Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 504 (Gateway Time-out) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPGenericRequest

ancestors: Net::HTTPGenericRequest < Net::HTTPHeader < Object < Kernel

Abstract

Net::HTTPRequest のスーパークラスです。 このクラスは直接は使わないでください。

Net::HTTPRequest のサブクラスを使ってください。

Instance Methods

Signature | Description
body -> String | サーバに送るリクエストのエンティティボディを返します。
body=(body) | サーバに送るリクエストのエンティティボディを文字列で設定します。
body_exist? -> bool | このメソッドは obsolete です。
method -> String | リクエストの HTTP メソッドを文字列で返します。
path -> String | リクエストする path を文字列で返します。
request_body_permitted? -> bool | リクエストにエンティティボディを一緒に送ることが許されている HTTP メソッド (POST など)の場合真を返します。
response_body_permitted? -> bool | サーバからのレスポンスにエンティティボディを含むことが許されている HTTP メソッド (GET, POST など)の場合真を返します。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type proxy_basic_auth range range= range_length sub_type type_params == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPGone

ancestors: Net::HTTPGone

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 410 (Gone) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module Net::HTTPHeader

ancestors: Net::HTTPHeader

Abstract

HTTP ヘッダのためのモジュールです。

このモジュールを mix-in に @header という(ハッシュを代入してある) 変数への「大文字小文字を無視した」ハッシュ的アクセスメソッドを 提供します。またよくある HTTP ヘッダへの便利なアクセスメソッドも 用意します。

Instance Methods

Signature Description
self[key] -> String|nil

key ヘッダフィールドを返します。

self[key] = val

key ヘッダフィールドに文字列 val をセットします。

add_field(key, val) -> ()

key ヘッダフィールドに val を追加します。

basic_auth(account, password) -> ()

Authorization: ヘッダを BASIC 認証用にセットします。

each_capitalized {|name, value| .... } -> ()
canonical_each {|name, value| .... } -> ()

ヘッダフィールドの正規化名とその値のペアを ブロックに渡し、呼びだします。

chunked? -> bool

Transfer-Encoding: ヘッダフィールドが "chunked" である 場合に真を返します。

content_length -> Integer|nil

Content-Length: ヘッダフィールドの表している値を整数で返します。

content_length=(len)

Content-Length: ヘッダフィールドに値を設定します。

content_range -> Range|nil

Content-Range: ヘッダフィールドの値を Range で返します。 Range の表わす長さは Net::HTTPHeader#range_length で得られます。

content_type -> String|nil

"text/html" のような Content-Type を表す 文字列を返します。

content_type=(type)
set_content_type(type, params = {})

type と param から Content-Type: ヘッダフィールドの 値を設定します。

delete(key) -> String | nil

key ヘッダフィールドを削除します。

each {|name, val| .... } -> ()
each_header {|name, val| .... } -> ()

保持しているヘッダ名とその値をそれぞれ ブロックに渡して呼びだします。

each_capitalized_name {|name| .... } -> ()

保持しているヘッダ名を正規化 ('x-my-header' -> 'X-My-Header') して、ブロックに渡します。

each_name {|name| ... } -> ()
each_key {|name| ... } -> ()

保持しているヘッダ名をブロックに渡して呼びだします。

each_value {|value| .... } -> ()

保持しているヘッダの値をブロックに渡し、呼びだします。

fetch(key) -> String
fetch(key, default) -> String
fetch(key) {|hash| .... } -> String

key ヘッダフィールドを返します。

form_data=(params) -> ()
set_form_data(params, sep = '&') -> ()

HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。

get_fields(key) -> [String]

key ヘッダフィールドの値 (文字列) を配列で返します。

key?(key) -> bool

key というヘッダフィールドがあれば真を返します。 key は大文字小文字を区別しません。

size -> Integer
length -> Integer

このメソッドは obsolete です。

main_type -> String|nil

"text/html" における "text" のようなタイプを表す 文字列を返します。

method -> String

リクエストの HTTP メソッドを文字列で返します。

proxy_basic_auth(account, password) -> ()

Proxy 認証のために Proxy-Authorization: ヘッダをセットします。

range -> Range|nil

Range: ヘッダの示す範囲を Range オブジェクトで返します。

range=(r)
range=(n)
set_range(i, len) -> ()
set_range(r) -> ()
set_range(n) -> ()

範囲を指定してエンティティを取得するためのヘッダ Range: をセットします。

range_length -> Integer|nil

Content-Range: ヘッダフィールドの表している長さを整数で返します。

sub_type -> String|nil

"text/html" における "html" のようなサブタイプを表す 文字列を返します。

type_params -> Hash

Content-Type のパラメータを {"charset" => "iso-2022-jp"} という形の Hash で返します。


class Net::HTTPInformation

ancestors: Net::HTTPInformation

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 1xx (Informational) を表現するクラスです。

リクエストが正常に受信し、処理を続けていることを表わして います。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPInternalServerError

ancestors: Net::HTTPInternalServerError

      < Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 500 (Internal Server Error) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPLengthRequired

ancestors: Net::HTTPLengthRequired

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 411 (Length Required) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPMethodNotAllowed

ancestors: Net::HTTPMethodNotAllowed

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 405 (Method Not Allowed) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPMovedPermanently

ancestors: Net::HTTPMovedPermanently

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 301 (Moved Permanently) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPMultipleChoice

ancestors: Net::HTTPMultipleChoice

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 300 (Multiple Choices) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPNoContent

ancestors: Net::HTTPNoContent

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 204 (No Content) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPNonAuthoritativeInformation

ancestors: Net::HTTPNonAuthoritativeInformation

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 203 (Non-Authoritative Information) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPNotAcceptable

ancestors: Net::HTTPNotAcceptable

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 406 (Not Acceptable) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPNotFound

ancestors: Net::HTTPNotFound

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 404 (Not Found) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPNotImplemented

ancestors: Net::HTTPNotImplemented

      < Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 501 (Not Implemented) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPNotModified

ancestors: Net::HTTPNotModified

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 304 (Not Modified) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPOK

ancestors: Net::HTTPOK

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 200 (OK) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPPartialContent

ancestors: Net::HTTPPartialContent

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 206 (Partial Content) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPPaymentRequired

ancestors: Net::HTTPPaymentRequired

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 402 (Payment Required) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPPreconditionFailed

ancestors: Net::HTTPPreconditionFailed

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 412 (Precondition Failed) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPProxyAuthenticationRequired

ancestors: Net::HTTPProxyAuthenticationRequired

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 407 (Proxy Authentication Required) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPRedirection

ancestors: Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 3xx (Redirection) を表現するクラスです。

リクエストが正常に受信しましたが、処理を完了するためには さらなる動作が必要なことを表します。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPRequest

ancestors: Net::HTTPRequest

      < Net::HTTPGenericRequest

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP リクエストを抽象化するクラスです。

Net::HTTPRequest は抽象クラスなので実際にはサブクラスの

  • Net::HTTP::Get
  • Net::HTTP::Head
  • Net::HTTP::Post
  • Net::HTTP::Put
  • Net::HTTP::Copy
  • Net::HTTP::Delete
  • Net::HTTP::Lock
  • Net::HTTP::Mkcol
  • Net::HTTP::Move
  • Net::HTTP::Options
  • Net::HTTP::Propfind
  • Net::HTTP::Proppatch
  • Net::HTTP::Trace
  • Net::HTTP::Unlock

を使用してください。

例

require 'net/http'
http = Net::HTTP.new('www.example.com', 80)
req = Net::HTTP::Get.new('/somefile')
res = http.request(req)
print res.body

Singleton Methods

Signature | Description
new(path, initheader = nil) -> Net::HTTPRequest | HTTP リクエストオブジェクトを生成します。

Inherited Methods

body body= body_exist? path request_body_permitted? response_body_permitted? [] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::HTTPRequestEntityTooLarge

ancestors: Net::HTTPRequestEntityTooLarge

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 413 (Request Entity Too Large) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPRequestTimeOut

ancestors: Net::HTTPRequestTimeOut

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 408 (Request Time-out) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPRequestURITooLong

ancestors: Net::HTTPRequestURITooLong

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 414 (Request-URI Too Large) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPRequestedRangeNotSatisfiable

ancestors: Net::HTTPRequestedRangeNotSatisfiable

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 416 (Requested range not satisfiable) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPResetContent

ancestors: Net::HTTPResetContent

      < Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 205 (Reset Content) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPResponse

ancestors: Net::HTTPResponse < Net::HTTPHeader < Object < Kernel

Abstract

HTTP レスポンスを表現するクラスです。 Net::HTTP クラスは実際には HTTPResponse のサブクラスを返します。

Singleton Methods

Signature | Description
body_permitted? -> bool | エンティティボディを含むことが許されているレスポンスクラス ならば真を、そうでなければ偽を返します。

Instance Methods

Signature Description
body -> String | () | nil
entity -> String | () | nil

エンティティボディを返します。

code -> String

HTTP のリザルトコードです。例えば '302' などです。

response -> self
header -> self
reader_header -> self

互換性を保つためだけに導入されたメソッドです。 使わないでください。

http_version -> String

サーバがサポートしている HTTP のバージョンを文字列で返します。

message -> String
msg -> String

HTTP サーバがリザルトコードに付加して返すメッセージです。 例えば 'Not Found' などです。

read_body(dest=nil) -> String|nil
read_body {|str| .... } -> ()

ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。

to_ary -> [Net::HTTPResponse, String]

このメソッドは net/http.rb 1.1 との互換性のために存在します。

value -> nil

レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPSeeOther

ancestors: Net::HTTPSeeOther

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 303 (See Other) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPServerError

ancestors: Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 2xx (Server Error) を表現するクラスです。

サーバがエラーを起こしているなど、サーバ側で処理 を完了することができないことを表しています。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPServiceUnavailable

ancestors: Net::HTTPServiceUnavailable

      < Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 503 (Service Unavailable) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPSuccess

ancestors: Net::HTTPSuccess

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 2xx (Success) を表現するクラスです。

リクエストが正常に受信、処理されたことを表しています。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPSwitchProtocol

ancestors: Net::HTTPSwitchProtocol

      < Net::HTTPInformation

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 101 (Switching Protocols) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPTemporaryRedirect

ancestors: Net::HTTPTemporaryRedirect

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 307 (Temporary Redirect) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPUnauthorized

ancestors: Net::HTTPUnauthorized

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 401 (Unauthorized) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPUnknownResponse

ancestors: Net::HTTPUnknownResponse

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

このライブラリが知らないレスポンスを表現するクラスです。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPUnsupportedMediaType

ancestors: Net::HTTPUnsupportedMediaType

      < Net::HTTPClientError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 415 (Unsupported Media Type) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPUseProxy

ancestors: Net::HTTPUseProxy

      < Net::HTTPRedirection

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 305 (Use Proxy) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::HTTPVersionNotSupported

ancestors: Net::HTTPVersionNotSupported

      < Net::HTTPServerError

      < Net::HTTPResponse

      < Net::HTTPHeader

      < Object

      < Kernel

Abstract

HTTP レスポンス 505 (HTTP Version not supported) を表現するクラスです。

詳しくは [RFC2616] を見てください。

Inherited Methods

[] []= add_field basic_auth canonical_each chunked? content_length content_length= content_range content_type content_type= delete each each_capitalized_name each_key each_value fetch form_data= get_fields key? length main_type method proxy_basic_auth range range= range_length sub_type type_params body code header http_version message read_body to_ary value .body_permitted? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library net/https

Abstract

net/http に SSL/TLS 拡張を実装するライブラリです。

[注意] net/https は RFC2818 の 3.1 に定められた 「サーバーの証明書に記載された身元のチェック」を自動では実行しません。 接続しているはずのサーバのホスト名と証明書に記載されているホスト名が 一致するかをライブラリの使用者が各自実装する必要があります。

http://www.ipa.go.jp/security/rfc/RFC2818JA.html#31

[ruby-dev:25254]

Example

簡単な例を挙げます。 verify_mode に指定する定数に関しては OpenSSL::SSL を参照してください。 必ず use_ssl = true を呼ばなければいけないところに注意してください。

require 'net/https'
https = Net::HTTP.new('www.example.com',443)
https.use_ssl = true
https.ca_file = '/usr/share/ssl/cert.pem'
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
https.verify_depth = 5
https.start {
  response = https.get('/')
  puts response.body
}

以下は HTTPS プロクシ経由でアクセスする例です。 プロクシ経由でも通信路は暗号化されます。 詳しくは以下を参照してください。

  • WWWプロキシにおけるSSLトンネリング: http://www21.ocn.ne.jp/~k-west/SSLandTLS/draft-luotonen-ssl-tunneling-03-Ja.txt
require 'net/https'
proxy_addr = 'proxy.example.com'
proxy_port = 3128
https = Net::HTTP::Proxy(proxy_addr, proxy_port).new('www.example.com',443)
https.use_ssl = true
https.ca_file = '/usr/share/ssl/cert.pem'
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
https.verify_depth = 5
https.start {
  response = https.get('/')
  puts response.body
}

Added/Redefined Methods

Net::HTTP#ca_file

Net::HTTP#ca_path

Net::HTTP#cert

Net::HTTP#cert_store

Net::HTTP#key

Net::HTTP#peer_cert

Net::HTTP#ssl_timeout

Net::HTTP#ssl_timeout=

Net::HTTP#use_ssl=

Net::HTTP#use_ssl?

Net::HTTP#verify_callback

Net::HTTP#verify_depth

Net::HTTP#verify_mode


library net/imap

Abstract

IMAP プロトコルを扱うライブラリです。

Net::IMAP implements Internet Message Access Protocol (IMAP) clients. The IMAP protocol is described in [RFC2060].

Net::IMAP supports multiple commands. For example,

imap = Net::IMAP.new("imap.foo.net", "imap2")
imap.authenticate("cram-md5", "bar", "password")
imap.select("inbox")
fetch_thread = Thread.start { imap.fetch(1..-1, "UID") }
search_result = imap.search(["BODY", "hello"])
fetch_result = fetch_thread.value
imap.disconnect

This script invokes the FETCH command and the SEARCH command concurrently.

References

  • [IMAP] M. Crispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 2060, December 1996.
  • [LANGUAGE-TAGS] Alvestrand, H., "Tags for the Identification of Languages", RFC 1766, March 1995.
  • [MD5] Myers, J., and M. Rose, "The Content-MD5 Header Field", RFC 1864, October 1995.
  • [MIME-IMB] Freed, N., and N. Borenstein, "MIME (Multipurpose Internet Mail Extensions) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.
  • [RFC-822] Crocker, D., "Standard for the Format of ARPA Internet Text Messages", STD 11, RFC 822, University of Delaware, August 1982.
  • [RFC-2087] Myers, J., "IMAP4 QUOTA extension", RFC 2087, January 1997.
  • [RFC-2086] Myers, J., "IMAP4 ACL extension", RFC 2086, January 1997.
  • [OSSL] http://www.openssl.org
  • [RSSL] http://savannah.gnu.org/projects/rubypki

Classes/Modules

class Net::IMAP

IMAP access class.

class Net::IMAP::Address

Net::IMAP::Address represents electronic mail addresses.

class Net::IMAP::BodyTypeBasic

Net::IMAP::BodyTypeBasic represents basic body structures of messages.

class Net::IMAP::BodyTypeMessage

Net::IMAP::BodyTypeMessage represents MESSAGE/RFC822 body

structures of messages.
class Net::IMAP::BodyTypeMultipart
class Net::IMAP::BodyTypeText

Net::IMAP::BodyTypeText represents TEXT body structures of messages.

class Net::IMAP::ContentDisposition

Net::IMAP::ContentDisposition represents Content-Disposition fields.

class Net::IMAP::ContinuationRequest

Net::IMAP::ContinuationRequest represents command continuation requests.

class Net::IMAP::CramMD5Authenticator

Authenticator for the "CRAM-MD5" authentication type. See Net::IMAP#authenticate.

class Net::IMAP::Envelope

Net::IMAP::Envelope represents envelope structures of messages.

class Net::IMAP::FetchData

Net::IMAP::FetchData represents contents of the FETCH response.

class Net::IMAP::LoginAuthenticator

Authenticator for the "LOGIN" authentication type. See Net::IMAP#authenticate.

class Net::IMAP::MailboxACLItem

Net::IMAP::MailboxACLItem represents response from GETACL.

class Net::IMAP::MailboxList

Net::IMAP::MailboxList represents contents of the LIST response.

class Net::IMAP::MailboxQuota

Net::IMAP::MailboxQuota represents contents of GETQUOTA response. This object can also be a response to GETQUOTAROOT. In the syntax specification below, the delimiter used with the "#" construct is a single space (SPACE).

class Net::IMAP::MailboxQuotaRoot

Net::IMAP::MailboxQuotaRoot represents part of the GETQUOTAROOT response. (GETQUOTAROOT can also return Net::IMAP::MailboxQuota.)

class Net::IMAP::ResponseCode

Net::IMAP::ResponseCode represents response codes.

class Net::IMAP::ResponseText

Net::IMAP::ResponseText represents texts of responses. The text may be prefixed by the response code.

class Net::IMAP::StatusData

Net::IMAP::StatusData represents contents of the STATUS response.

class Net::IMAP::TaggedResponse

Net::IMAP::TaggedResponse represents tagged responses.

class Net::IMAP::ThreadMember

Net::IMAP::ThreadMember represents a thread-node returned by Net::IMAP#thread

class Net::IMAP::UntaggedResponse

Net::IMAP::UntaggedResponse represents untagged responses.

Exception Classes

class Net::IMAP::BadResponseError | Error raised upon a "BAD" response from the server, indicating that the client command violated the IMAP protocol, or an internal server failure has occurred.
class Net::IMAP::ByeResponseError | Error raised upon a "BYE" response from the server, indicating that the client is not being allowed to login, or has been timed out due to inactivity.
class Net::IMAP::DataFormatError | Error raised when data is in the incorrect format.
class Net::IMAP::Error | Superclass of all IMAP errors.
class Net::IMAP::NoResponseError | Error raised upon a "NO" response from the server, indicating that the client command could not be completed successfully.
class Net::IMAP::ResponseError | Superclass of all errors used to encapsulate "fail" responses from the server.
class Net::IMAP::ResponseParseError | Error raised when a response from the server is non-parseable.


class Net::IMAP

ancestors: Net::IMAP < Object < Kernel

Abstract

IMAP access class.

Singleton Methods

Signature | Description
add_authenticator(auth_type, authenticator) | Adds an authenticator for Net::IMAP#authenticate.
debug | Returns the debug mode.
debug=(val) | Sets the debug mode.
decode_utf7 |
encode_utf7 |
new(host, port = 143, usessl = false, certs = nil, verify = false) | Creates a new Net::IMAP object and connects it to the specified port on the named host. If usessl is true, then an attempt will be made to use SSL (now TLS) to connect to the server. For this to work OpenSSL[OSSL] and the Ruby OpenSSL (openssl) extension need to be installed. The certs parameter indicates the path or file containing the CA cert of the server, and the verify parameter is for the OpenSSL verification callback.

Instance Methods

Signature Description
add_response_handler(handler = Proc.new)

Adds a response handler.

append(mailbox, message, flags = nil, date_time = nil)

Sends a APPEND command to append the message to the end of the mailbox.

authenticate(auth_type, arg...)

Sends an AUTEHNTICATE command to authenticate the client. The auth_type parameter is a string that represents the authentication mechanism to be used. Currently Net::IMAP supports "LOGIN" and "CRAM-MD5" for the auth_type.

capability

Sends a CAPABILITY command, and returns a listing of capabilities that the server supports.

check

Sends a CHECK command to request a checkpoint of the currently selected mailbox.

client_thread
client_thread=(th)

The thread to receive exceptions.

close

Sends a CLOSE command to close the currently selected mailbox. The CLOSE command permanently removes from the mailbox all messages that have the \Deleted flag set.

copy(set, mailbox)
uid_copy(set, mailbox)

Sends a COPY command to copy the specified message(s) to the end of the specified destination mailbox. the set parameter is a number or an array of numbers or a Range object. the number is a message sequence number (copy) or a unique identifier (uid_copy).

create(mailbox)

Sends a CREATE command to create a new mailbox.

delete(mailbox)

Sends a DELETE command to remove the mailbox.

disconnect

Disconnects from the server.

disconnected?

Returns true if disconnected from the server.

examine(mailbox)

Sends a EXAMINE command to select a mailbox so that messages in the mailbox can be accessed. However, the selected mailbox is identified as read-only.

expunge

Sends a EXPUNGE command to permanently remove from the currently selected mailbox all messages that have the \Deleted flag set.

fetch(set, attr)
uid_fetch(set, attr)

Sends a FETCH command to retrieve data associated with a message in the mailbox. the set parameter is a number or an array of numbers or a Range object. the number is a message sequence number (fetch) or a unique identifier (uid_fetch). The return value is an array of Net::IMAP::FetchData.

getacl(mailbox)

Send the GETACL command along with specified mailbox. If this mailbox exists, an array containing objects of Net::IMAP::MailboxACLItem will be returned.

getquota(mailbox)

Sends the GETQUOTA command along with specified mailbox. If this mailbox exists, then an array containing a Net::IMAP::MailboxQuota object is returned. This command generally is only available to server admin.

getquotaroot(mailbox)

Sends the GETQUOTAROOT command along with specified mailbox. This command is generally available to both admin and user. If mailbox exists, returns an array containing objects of Net::IMAP::MailboxQuotaRoot and Net::IMAP::MailboxQuota.

greeting

Returns an initial greeting response from the server.

list(refname, mailbox)

Sends a LIST command, and returns a subset of names from the complete set of all names available to the client. The return value is an array of Net::IMAP::MailboxList.

login(user, password)

Sends a LOGIN command to identify the client and carries the plaintext password authenticating this user.

logout

Sends a LOGOUT command to inform the server that the client is done with the connection.

lsub(refname, mailbox)

Sends a LSUB command, and returns a subset of names from the set of names that the user has declared as being "active" or "subscribed". The return value is an array of Net::IMAP::MailboxList.

noop

Sends a NOOP command to the server. It does nothing.

remove_response_handler(handler)

Removes the response handler.

rename(mailbox, newname)

Sends a RENAME command to change the name of the mailbox to the newname.

response_handlers

Returns all response handlers.

responses

Returns recorded untagged responses.

search(keys, charset = nil)
uid_search(keys, charset = nil)

Sends a SEARCH command to search the mailbox for messages that match the given searching criteria, and returns message sequence numbers (search) or unique identifiers (uid_search).

select(mailbox)

Sends a SELECT command to select a mailbox so that messages in the mailbox can be accessed.

setacl(mailbox, user, rights)

Sends the SETACL command along with mailbox, user and the rights that user is to have on that mailbox. If rights is nil, then that user will be stripped of any rights to that mailbox. The IMAP ACL commands are described in [RFC2086].

setquota(mailbox, quota)

Sends a SETQUOTA command along with the specified mailbox and quota. If quota is nil, then quota will be unset for that mailbox. Typically one needs to be logged in as server admin for this to work. The IMAP quota commands are described in [RFC2087].

sort(sort_keys, search_keys, charset)
uid_sort(sort_keys, search_keys, charset)

Sends a SORT command to sort messages in the mailbox.

status(mailbox, attr)

Sends a STATUS command, and returns the status of the indicated mailbox. return value is a hash of attributes.

store(set, attr, flags)
uid_store(set, attr, flags)

Sends a STORE command to alter data associated with a message in the mailbox. the set parameter is a number or an array of numbers or a Range object. the number is a message sequence number (store) or a unique identifier (uid_store). The return value is an array of Net::IMAP::FetchData.

subscribe(mailbox)

Sends a SUBSCRIBE command to add the specified mailbox name to the server's set of "active" or "subscribed" mailboxes.

thread(algorithm, search_keys, charset)

As for #search(), but returns message sequence numbers in threaded format, as a Net::IMAP::ThreadMember tree. The supported algorithms are:

uid_thread(algorithm, search_keys, charset)

As for #thread(), but returns unique identifiers instead of message sequence numbers.

unsubscribe(mailbox)

Sends a UNSUBSCRIBE command to remove the specified mailbox name from the server's set of "active" or "subscribed" mailboxes.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::Address

ancestors: Net::IMAP::Address < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::Address represents electronic mail addresses.

Instance Methods

Signature | Description
host | nil indicates [RFC822] group syntax. Otherwise, returns [RFC822] domain name.
mailbox | nil indicates end of [RFC822] group. If non-nil and host is nil, returns [RFC822] group name. Otherwise, returns [RFC822] local-part
name | Returns the phrase from [RFC822] mailbox.
route | Returns the route from [RFC822] route-addr.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::BadResponseError

ancestors: Net::IMAP::BadResponseError < Net::IMAP::ResponseError < Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Error raised upon a "BAD" response from the server, indicating that the client command violated the IMAP protocol, or an internal server failure has occurred.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::BodyTypeBasic

ancestors: Net::IMAP::BodyTypeBasic < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::BodyTypeBasic represents basic body structures of messages.

Instance Methods

Signature | Description
content_id | Returns a string giving the content id as defined in [MIME-IMB].
description | Returns a string giving the content description as defined in [MIME-IMB].
disposition | Returns a Net::IMAP::ContentDisposition object giving the content disposition.
encoding | Returns a string giving the content transfer encoding as defined in [MIME-IMB].
extension | Returns extension data.
language | Returns a string or an array of strings giving the body language value as defined in [LANGUAGE-TAGS].
md5 | Returns a string giving the body MD5 value as defined in [MD5].
media_subtype | media_subtype is obsolete. Use #subtype instead.
media_type | Returns the content media type name as defined in [MIME-IMB].
multipart? | Returns false.
param | Returns a hash that represents parameters as defined in [MIME-IMB].
size | Returns a number giving the size of the body in octets.
subtype | Returns the content subtype name as defined in [MIME-IMB].

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::BodyTypeMessage

ancestors: Net::IMAP::BodyTypeMessage < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::BodyTypeMessage represents MESSAGE/RFC822 body

structures of messages.

Instance Methods

Signature | Description
body | Returns an object giving the body structure.
content_id |
description |
disposition |
encoding |
envelope | Returns a Net::IMAP::Envelope giving the envelope structure.
extension |
language |
lines | Returns the size of the body in text lines.
md5 |
media_subtype | obsolete. use #subtype instead.
media_type |
multipart? | Returns false.
param |
size |
subtype |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::BodyTypeMultipart

ancestors: Net::IMAP::BodyTypeMultipart < Struct < Enumerable < Object < Kernel

Abstract

Instance Methods

Signature | Description
disposition | Returns a Net::IMAP::ContentDisposition object giving the content disposition.
extension | Returns extension data.
language | Returns a string or an array of strings giving the body language value as defined in [LANGUAGE-TAGS].
media_subtype | obsolete. use #subtype instead.
media_type | Returns the content media type name as defined in [MIME-IMB].
multipart? | Returns true.
param | Returns a hash that represents parameters as defined in [MIME-IMB].
parts | Returns multiple parts.
subtype | Returns the content subtype name as defined in [MIME-IMB].

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::BodyTypeText

ancestors: Net::IMAP::BodyTypeText < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::BodyTypeText represents TEXT body structures of messages.

Instance Methods

Signature | Description
content_id |
description |
disposition |
encoding |
extension |
language |
lines | Returns the size of the body in text lines.
md5 |
media_subtype | obsolete. use #subtype instead.
media_type |
multipart? | Returns false.
param |
size |
subtype |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::ByeResponseError

ancestors: Net::IMAP::ByeResponseError < Net::IMAP::ResponseError < Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Error raised upon a "BYE" response from the server, indicating that the client is not being allowed to login, or has been timed out due to inactivity.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::ContentDisposition

ancestors: Net::IMAP::ContentDisposition < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::ContentDisposition represents Content-Disposition fields.

Instance Methods

Signature | Description
dsp_type | Returns the disposition type.
param | Returns a hash that represents parameters of the Content-Disposition field.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::ContinuationRequest

ancestors: Net::IMAP::ContinuationRequest < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::ContinuationRequest represents command continuation requests.

The command continuation request response is indicated by a "+" token instead of a tag. This form of response indicates that the server is ready to accept the continuation of a command from the client. The remainder of this response is a line of text.

continue_req    ::= "+" SPACE (resp_text / base64)

Instance Methods

Signature | Description
data | Returns the data (Net::IMAP::ResponseText).
raw_data | Returns the raw data string.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::CramMD5Authenticator

ancestors: Net::IMAP::CramMD5Authenticator < Object < Kernel

Abstract

Authenticator for the "CRAM-MD5" authentication type. See Net::IMAP#authenticate.

Singleton Methods

Signature | Description
new(user, password) |

Instance Methods

Signature | Description
process(challenge) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::DataFormatError

ancestors: Net::IMAP::DataFormatError < Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Error raised when data is in the incorrect format.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::Envelope

ancestors: Net::IMAP::Envelope < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::Envelope represents envelope structures of messages.

Instance Methods

Signature | Description
bcc | Retunns an array of Net::IMAP::Address that represents the bcc.
cc | Retunns an array of Net::IMAP::Address that represents the cc.
date | Retunns a string that represents the date.
from | Retunns an array of Net::IMAP::Address that represents the from.
in_reply_to | Retunns a string that represents the in-reply-to.
message_id | Retunns a string that represents the message-id.
reply_to | Retunns an array of Net::IMAP::Address that represents the reply-to.
sender | Retunns an array of Net::IMAP::Address that represents the sender.
subject | Retunns a string that represents the subject.
to | Retunns an array of Net::IMAP::Address that represents the to.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::Error

ancestors: Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Superclass of all IMAP errors.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::FetchData

ancestors: Net::IMAP::FetchData < Object < Kernel

Abstract

Net::IMAP::FetchData represents contents of the FETCH response.

Instance Methods

Signature | Description
attr | Returns a hash. Each key is a data item name, and each value is its value.
seqno | Returns the message sequence number. (Note: not the unique identifier, even for the UID command response.)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::IMAP::LoginAuthenticator

ancestors: Net::IMAP::LoginAuthenticator < Object < Kernel

Abstract

Authenticator for the "LOGIN" authentication type. See Net::IMAP#authenticate.

Singleton Methods

Signature | Description
new(user, password) |

Instance Methods

Signature | Description
process(data) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::MailboxACLItem

ancestors: Net::IMAP::MailboxACLItem < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::MailboxACLItem represents response from GETACL.

acl_data        ::= "ACL" SPACE mailbox *(SPACE identifier SPACE
                     rights)

identifier      ::= astring

rights          ::= astring

Instance Methods

Signature | Description
rights | The access rights the indicated user has to the mailbox.
user | Login name that has certain rights to the mailbox that was specified with the getacl command.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::MailboxList

ancestors: Net::IMAP::MailboxList < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::MailboxList represents contents of the LIST response.

mailbox_list    ::= "(" #("\Marked" / "\Noinferiors" /
                    "\Noselect" / "\Unmarked" / flag_extension) ")"
                    SPACE (<"> QUOTED_CHAR <"> / nil) SPACE mailbox

Instance Methods

Signature | Description
attr | Returns the name attributes. Each name attribute is a symbol capitalized by String#capitalize, such as :Noselect (not :NoSelect).
delim | Returns the hierarchy delimiter
name | Returns the mailbox name.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::MailboxQuota

ancestors: Net::IMAP::MailboxQuota < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::MailboxQuota represents contents of GETQUOTA response. This object can also be a response to GETQUOTAROOT. In the syntax specification below, the delimiter used with the "#" construct is a single space (SPACE).

quota_list      ::= "(" #quota_resource ")"

quota_resource  ::= atom SPACE number SPACE number

quota_response  ::= "QUOTA" SPACE astring SPACE quota_list

Instance Methods

Signature | Description
mailbox | The mailbox with the associated quota.
quota | Quota limit imposed on mailbox.
usage | Current storage usage of mailbox.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::MailboxQuotaRoot

ancestors: Net::IMAP::MailboxQuotaRoot < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::MailboxQuotaRoot represents part of the GETQUOTAROOT response. (GETQUOTAROOT can also return Net::IMAP::MailboxQuota.)

quotaroot_response
                ::= "QUOTAROOT" SPACE astring *(SPACE astring)

Instance Methods

Signature | Description
mailbox | The mailbox with the associated quota.
quotaroots | Zero or more quotaroots that effect the quota on the specified mailbox.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::NoResponseError

ancestors: Net::IMAP::NoResponseError < Net::IMAP::ResponseError < Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Error raised upon a "NO" response from the server, indicating that the client command could not be completed successfully.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::ResponseCode

ancestors: Net::IMAP::ResponseCode < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::ResponseCode represents response codes.

resp_text_code  ::= "ALERT" / "PARSE" /
                    "PERMANENTFLAGS" SPACE "(" #(flag / "\*") ")" /
                    "READ-ONLY" / "READ-WRITE" / "TRYCREATE" /
                    "UIDVALIDITY" SPACE nz_number /
                    "UNSEEN" SPACE nz_number /
                    atom [SPACE 1*<any TEXT_CHAR except "]">]

Instance Methods

Signature | Description
data | Returns the data if it exists.
name | Returns the name such as "ALERT", "PERMANENTFLAGS", "UIDVALIDITY"....

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::ResponseError

ancestors: Net::IMAP::ResponseError < Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Superclass of all errors used to encapsulate "fail" responses from the server.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::ResponseParseError

ancestors: Net::IMAP::ResponseParseError < Net::IMAP::Error < StandardError < Exception < Object < Kernel

Abstract

Error raised when a response from the server is non-parseable.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::IMAP::ResponseText

ancestors: Net::IMAP::ResponseText < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::ResponseText represents texts of responses. The text may be prefixed by the response code.

resp_text       ::= ["[" resp_text_code "]" SPACE] (text_mime2 / text)
                    ;; text SHOULD NOT begin with "[" or "="

Instance Methods

Signature | Description
code | Returns the response code. See Net::IMAP::ResponseCode.
text | Returns the text.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::StatusData

ancestors: Net::IMAP::StatusData < Object < Kernel

Abstract

Net::IMAP::StatusData represents contents of the STATUS response.

Instance Methods

Signature | Description
attr | Returns a hash. Each key is one of "MESSAGES", "RECENT", "UIDNEXT", "UIDVALIDITY", "UNSEEN". Each value is a number.
mailbox | Returns the mailbox name.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Net::IMAP::TaggedResponse

ancestors: Net::IMAP::TaggedResponse < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::TaggedResponse represents tagged responses.

The server completion result response indicates the success or failure of the operation. It is tagged with the same tag as the client command which began the operation.

response_tagged ::= tag SPACE resp_cond_state CRLF

tag             ::= 1*<any ATOM_CHAR except "+">

resp_cond_state ::= ("OK" / "NO" / "BAD") SPACE resp_text

Instance Methods

Signature | Description
data | Returns the data. See Net::IMAP::ResponseText.
name | Returns the name. the name is one of "OK", "NO", "BAD".
raw_data | Returns the raw data string.
tag | Returns the tag.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::ThreadMember

ancestors: Net::IMAP::ThreadMember < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::ThreadMember represents a thread-node returned by Net::IMAP#thread

Instance Methods

Signature | Description
children | an array of Net::IMAP::ThreadMember objects for mail items that are children of this in the thread.
seqno | The sequence number of this message.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


class Net::IMAP::UntaggedResponse

ancestors: Net::IMAP::UntaggedResponse < Struct < Enumerable < Object < Kernel

Abstract

Net::IMAP::UntaggedResponse represents untagged responses.

Data transmitted by the server to the client and status responses that do not indicate command completion are prefixed with the token "*", and are called untagged responses.

response_data   ::= "*" SPACE (resp_cond_state / resp_cond_bye /
                    mailbox_data / message_data / capability_data)

Instance Methods

Signature | Description
data | Returns the data such as an array of flag symbols, a Net::IMAP::MailboxList object....
name | Returns the name such as "FLAGS", "LIST", "FETCH"....
raw_data | Returns the raw data string.

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class clone dclone display enum_for extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint == [] []= each each_pair eql? equal? hash length members to_a values_at .[] .members .yaml_tag_class_name .yaml_tag_read_class


library net/pop

Abstract

メールを受信するためのプロトコル POP3 (Post Office Protocol version 3) を扱うライブラリです。

POP3 の実装は [RFC1939] に基いています。

使用例

メールの受信

以下のコードは、メールを受信してファイル 'inbox/1' 'inbox/2'... に 書きこみ、サーバ上からメールを消します。pop3.server.address は適宜 読みかえてください。

require 'net/pop'

pop = Net::POP3.new('pop3.server.address', 110)
pop.start('YourAccount', 'YourPassword')          ###
if pop.mails.empty?
  $stderr.puts 'no mail.'
else
  pop.mails.each_with_index do |m, idx|
    File.open("inbox/#{idx + 1}", 'w') {|f|
      f.write m.pop
    }
    m.delete
  end
  $stderr.puts "#{pop.mails.size} mails popped."
end
pop.finish                                        ###

POP サーバはネットワークのむこうに存在するので、 なにか仕事をさせるにはその前に開始手続きを、 終わったら終了手続きを、行わなければいけません。 それを行うのが Net::POP3#start と Net::POP3#finish で、 POP3 オブジェクトはその二つのメソッドの間でだけ有効になります。

サーバ上のメールは POPMail オブジェクトとして表現されており、この オブジェクトのメソッドを呼ぶことでメールを取ってきたり消したりする ことができます。Net::POP3#mails はこの POPMail オブジェクトの配列であり、 Net::POP3#each_mail はさらに pop.mails.each のショートカットです。

短くする

上の例はあえて省略や短縮用メソッドを避けたためにかなり冗長です。 まず、ブロック付きの Net::POP3.start を使うことで POP3.new, #start, #finish を併合できます。

require 'net/pop'

Net::POP3.start('pop3.server.address', 110,
                'YourAccount', 'YourPassword') {|pop|
  if pop.mails.empty?
    $stderr.puts 'no mail.'
  else
    pop.mails.each_with_index do |m, idx|
      File.open("inbox/#{idx + 1}", 'w') {|f|
        f.write m.pop
      }
      m.delete
    end
    $stderr.puts "#{pop.mails.size} mails popped."
  end
}

Net::POP3#delete_all を使うと
さらに Net::POP3#each_mail と
Net::POP3#delete を併合できます。

require 'net/pop'

Net::POP3.start('pop3.server.address', 110,
                'YourAccount', 'YourPassword') {|pop|
  if pop.mails.empty?
    $stderr.puts 'no mail.'
  else
    i = 0
    pop.delete_all do |m|
      File.open("inbox/#{i}", 'w') {|f|
        f.write m.pop
      }
      i += 1
    end
  end
}

クラスメソッドの Net::POP3.delete_all を使うとさらに短くなります。

require 'net/pop'

i = 0
Net::POP3.delete_all('pop3.server.address', 110,
                     'YourAccount', 'YourPassword') do |m|
  File.open("inbox/#{i}", 'w') {|f|
    f.write m.pop
  }
  i += 1
end

ファイルに直接書く

これまでの例では Net::POPMail#pop を使い、 メールをひとつの文字列としてうけとっていました。 しかし、もしメールが 100MB を越えるような巨大なメールだった場合、 この方法ではまずいかもしれません。 そのような場合は以下のように Net::POPMail#pop に File オブジェクトを与える手が使えます。

require 'net/pop'

Net::POP3.delete_all('pop3.server.address', 110,
                     'YourAccount', 'YourPassword') do |m|
  File.open('inbox', 'w') {|f|
      m.pop f   ####
  }
end

APOP を使う

Net::POP3 クラスのかわりに Net::APOP クラスを使うと、 認証時に APOP を使うようになります。 また動的にノーマル POP と APOP を選択するには、 以下のように Net::POP3.APOP メソッドを使うのが便利です。

require 'net/pop'

# use APOP authentication if $isapop == true
pop = Net::POP3.APOP($isapop).new('apop.server.address', 110)
pop.start(YourAccount', 'YourPassword') {|pop|
  # 残りのコードは同じ
}

この方法はクラス自体を変えるので、クラスメソッドの start や foreach、 delete_all、auth_only なども APOP とともに使えます。

Classes/Modules

class Net::APOP | このクラスでは新しいメソッドは導入していません。 認証方式が APOP に変わるだけです。
class Net::POP3 |
class Net::POPMail | POP サーバー上のメール一通を表現するクラス。 メールの取得や消去といった操作をカプセル化します。

Exception Classes

class Net::POPAuthenticationError | POP3 で認証に失敗したときに発生します。
class Net::POPBadResponse | サーバから予期しないレスポンスが帰ってきたときに発生します。
class Net::POPError | POP3 の、認証以外のエラーが起きたときに発生します。
class Net::ProtoAuthError | 認証に問題があった場合に発生する例外です。
class Net::ProtocolError | ネットワークプロトコル上のエラーが起きた場合に 発生する例外です。


class Net::APOP

ancestors: Net::APOP < Net::POP3 < Object < Kernel

Abstract

このクラスでは新しいメソッドは導入していません。 認証方式が APOP に変わるだけです。

Inherited Methods

active? address apop? auth_only delete_all each finish inspect mails n_bytes n_mails open_timeout port read_timeout reset set_debug_output start .APOP .auth_only .default_port .delete_all .foreach .new .socket_type .start ::Revision == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::POP3

ancestors: Net::POP3 < Object < Kernel

Abstract

Singleton Methods

Signature Description
APOP(is_apop)

bool が真なら Net::APOP クラス、偽なら Net::POP3 クラスを返します。

使用例:

auth_only(address, port = 110, account, password)

POP セッションを開き認証だけを行って接続を切ります。 主に POP before SMTP のために用意されています。

default_port
delete_all(address, port = 110, account, password)
delete_all(address, port = 110, account, password) {|mail| .... }

POP セッションを開き、サーバ上のメールをすべて削除します。 ブロックが与えられた時は削除する前にブロックにそのメールを渡します。

foreach(address, port = 110, account, password) {|mail| .... }

POP セッションを開き、サーバ上のすべてのメールに対して繰り返します。 以下と同じです。

new(address, port = 110, apop = false)

Net::POP3 オブジェクトを生成します。まだ接続はしません。 apop が真のときは APOP 認証を行うオブジェクトを生成します。

socket_type

このメソッドは obsolete です。 使わないでください。

start(address, port = 110, account, password)
start(address, port = 110, account, password) {|pop| .... }

address の port 番ポートに接続し、アカウント account パスワード password で POP ログインします。第二引数 port に nil を渡すと POP3 のデフォルトポート(110)を使います。

使用例:

Instance Methods

Signature Description
started?
active?

POP3 セッションが開始されていたら真を返します。

address

接続するアドレスです。

apop?

このインスタンスが APOP を使ってサーバに接続するなら true を返します。

auth_only(account, password)

POP セッションを開き認証だけを行って接続を切ります。 主に POP before SMTP のために用意されています。

delete_all
delete_all {|popmail| .... }

サーバ上のメールを全て消去します。 ブロックを与えられたときは消去する前にその POPMail オブジェクトを ブロックに渡します。

each_mail {|popmail| .... }
each {|popmail| .... }

pop3.mails.each と同じです。

finish

POP3 セッションを終了します。セッション開始前にこのメソッドが 呼ばれた場合は例外 IOError を発生します。

inspect
mails

Net::POPMail オブジェクトの配列をかえします。 この配列はセッションを開始したときに自動的に更新されます。

n_bytes

サーバにあるメールの総バイト数を返します。

n_mails

サーバにあるメールの数を返します。

open_timeout
open_timeout=(n)

接続時に待つ最大秒数です。 この秒数たってもコネクションが開かないときは 例外 TimeoutError を発生します。

port

接続するポート番号です。

read_timeout
read_timeout=(n)

読みこみ (read(2) 一回) でブロックしてよい最大秒数です。 この秒数たっても読みこめなければ例外 TimeoutError を発生します。

reset

セッションをリセットします。 具体的には Net::POPMail#delete で消去したメールが全て復活します。

set_debug_output(f)

デバッグ用の出力 f をセットします。 f は << メソッドを持っているオブジェクトでなければなりません。

start(account, password)
start(account, password) {|pop| .... }

リモートホストとの TCP 接続を開始し、アカウントに account、 パスワードに password を使って POP ログインします。

Constants

Signature | Description
Revision | net/pop3 file revision.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Net::POPAuthenticationError

ancestors: Net::POPAuthenticationError < Net::ProtoAuthError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

POP3 で認証に失敗したときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::POPBadResponse

ancestors: Net::POPBadResponse < Net::POPError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

サーバから予期しないレスポンスが帰ってきたときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::POPError

ancestors: Net::POPError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

POP3 の、認証以外のエラーが起きたときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::POPMail

ancestors: Net::POPMail < Object < Kernel

Abstract

POP サーバー上のメール一通を表現するクラス。 メールの取得や消去といった操作をカプセル化します。

Instance Methods

Signature Description
pop
all
mail

メールを受信して文字列で返します。

pop {|str| .... }
all {|str| .... }
mail {|str| .... }

メールの文字列を少しずつ読みこみ、順次ブロックに与えます。

delete
delete!

サーバ上からメールを削除します。

deleted?

メールがサーバ上で消去されていたら true を返します。

header

ヘッダだけを受信して文字列で返します。

number

メールに対して振られた、そのメールボックスで一意な番号です。 サーバに接続しなおすとこの番号は変化する場合があります。 メールごとに一意な識別子が必要なときは Net::POPMail#uidl を使ってください。

size

メールのサイズ (単位はバイト) をかえします。

top(lines)

メールヘッダと lines 行ぶんの本文を取得し文字列で返します。

uidl
unique_id

メールに対して振られた、サーバ上で一意な識別子 (UIDL) をかえします。 Net::POPMail#number と違い、 この UIDL は接続しなおしても変化しません。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library net/protocol

Abstract

ネットワークライブラリ共通の例外クラスを 定義しています。このライブラリで定義された例外は 直接は利用されません。実際に発生する例外は それらを継承したものです。

net/http や pop などでこのライブラリで 定義された例外クラスを継承した例外クラスを 利用しています。

Exception Classes

class Net::ProtoAuthError | 認証に問題があった場合に発生する例外です。
class Net::ProtoCommandError | Rubyの現在の標準添付ライブラリ内では使われていません。
class Net::ProtoFatalError | サーバへのリクエストが間違っているなど、致命的エラーの 場合に発生するエラーです。
class Net::ProtoRetriableError | なんらかの再試行をすることで、処理の継続が可能であるような エラーが発生した場合に発生する例外です。
class Net::ProtoServerError | サーバー側の問題により要求が達成できない場合に 発生する例外です。
class Net::ProtoSyntaxError | プロトコル上の文法が正しくない場合に発生する 例外です。
class Net::ProtoUnknownError | サーバからのレスポンスが解釈できないなど、不明のエラーが 出た場合に発生する例外です。
class Net::ProtocolError | ネットワークプロトコル上のエラーが起きた場合に 発生する例外です。


class Net::ProtoAuthError

ancestors: Net::ProtoAuthError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

認証に問題があった場合に発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtoCommandError

ancestors: Net::ProtoCommandError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

Rubyの現在の標準添付ライブラリ内では使われていません。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtoFatalError

ancestors: Net::ProtoFatalError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

サーバへのリクエストが間違っているなど、致命的エラーの 場合に発生するエラーです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtoRetriableError

ancestors: Net::ProtoRetriableError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

なんらかの再試行をすることで、処理の継続が可能であるような エラーが発生した場合に発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtoServerError

ancestors: Net::ProtoServerError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

サーバー側の問題により要求が達成できない場合に 発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtoSyntaxError

ancestors: Net::ProtoSyntaxError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

プロトコル上の文法が正しくない場合に発生する 例外です。

Rubyの現在の標準添付ライブラリ内では使われていません。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtoUnknownError

ancestors: Net::ProtoUnknownError < Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

サーバからのレスポンスが解釈できないなど、不明のエラーが 出た場合に発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Net::ProtocolError

ancestors: Net::ProtocolError < StandardError < Exception < Object < Kernel

Abstract

ネットワークプロトコル上のエラーが起きた場合に 発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library net/smtp

Abstract

メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol) を扱うライブラリです。

ヘッダなどメールのデータを扱うことはできません。 SMTP の実装は [RFC2821] に基いています。

使用例

とにかくメールを送る

SMTP を使ってメールを送るにはまず SMTP.start でセッションを開きます。 第一引数がサーバのアドレスで第二引数がポート番号です。 ブロックを使うと File.open と同じように終端処理を自動的にやってくれる のでおすすめです。

require 'net/smtp'
Net::SMTP.start( 'your.smtp.server', 25 ) {|smtp|
  # use smtp object only in this block
}

your.smtp.server は適切な SMTP サーバのアドレスに読みかえてください。 通常は LAN の管理者やプロバイダが SMTP サーバを用意してくれているはずです。

セッションが開いたらあとは Net::SMTP#send_message でメールを流しこむだけです。

require 'net/smtp'

Net::SMTP.start('your.smtp.server', 25) {|smtp|
  smtp.send_message(<<-EndOfMail, 'your@mail.address', 'to@some.domain')
From: Your Name <your@mail.address>
To: Dest Address <to@some.domain>
Subject: test mail
Date: Sat, 23 Jun 2001 16:26:43 +0900
Message-Id: <unique.message.id.string@some.domain>

This is a test mail.
  EndOfMail
}

セッションを終了する

メールを送ったら Net::SMTP#finish を呼んで セッションを終了しなければいけません。 File のように GC 時に勝手に close されることもありません。 いろいろなところで finish がないソースコードの例を見掛けますが、 すべて誤りです。finish は必ず呼んでください。

またブロック付きの Net::SMTP.start, Net::SMTP#start を使うと finish を呼んでくれるので便利です。 可能な限りブロック付きの start を使うのがよいでしょう。

require 'net/smtp'

# using SMTP#finish
smtp = Net::SMTP.start('your.smtp.server', 25)
smtp.send_message mail_string, 'from@address', 'to@address'
smtp.finish

# using block form of SMTP.start
Net::SMTP.start('your.smtp.server', 25) {|smtp|
  smtp.send_message mail_string, 'from@address', 'to@address'
}

文字列以外からの送信

ひとつ上の例では文字列リテラル (ヒアドキュメント) を使って送信しましたが、 each メソッドを持ったオブジェクトからならなんでも送ることができます。 以下は File オブジェクトから直接送信する例です。

require 'net/smtp'

Net::SMTP.start('your.smtp.server', 25) {|smtp|
  File.open('Mail/draft/1') {|f|
    smtp.send_message f, 'your@mail.address', 'to@some.domain'
  }
}

HELO ドメイン

SMTP ではメールを送る側のホストの名前 (HELO ドメインと呼ぶ) を要求 されるのですが、Net::SMTP ではとりあえず localhost.localdomain と いう名前を送信しています。たいていの SMTP サーバはこの HELO ドメイン による認証はあまり真面目に行わないので (簡単に偽造できるからです) 問題にならないことが多いのですが、まれにメールセッションを切られる こともあります。そういうときはとりあえず HELO ドメインを与えてみて ください。もちろんそれ以外の時も HELO ドメインはちゃんと渡すのが ベストです。

HELO ドメインは Net::SMTP.start, Net::SMTP#start の第三引数 helo_domain に指定します。

Net::SMTP.start('your.smtp.server', 25, 'mail.from.domain') {|smtp|

よくあるダイヤルアップホストの場合、HELO ドメインには ISP のメール サーバのドメインを使っておけばたいてい通ります。

発生する例外

セッション中に (SMTP レベルの) エラーがおこった場合、 以下の例外が発生します。

Net::ProtoSyntaxError

SMTP コマンドの構文ミス (500番台)

Net::ProtoFatalError

恒久的なエラー (550番台)

Net::ProtoUnknownError

予期しないエラー。おそらくバグ

Net::ProtoServerBusy

一時的なエラー (420/450番台)

Classes/Modules

class Net::SMTP


class Net::SMTP

ancestors: Net::SMTP < Object < Kernel

Abstract

Singleton Methods

Signature Description
default_port

The default SMTP port number, 25.

new(address, port = 25)

新しい SMTP オブジェクトを生成します。 address はSMTPサーバーのFQDNで、 port は接続するポート番号です。 ただし、このメソッドではまだ接続はしません。

start(address, port = 25, helo_domain = 'localhost.localdomain', account = nil, password = nil, authtype = nil)
start(address, port = 25, helo_domain = 'localhost.localdomain', account = nil, password = nil, authtype = nil) {|smtp| .... }

以下と同じです。

Instance Methods

Signature Description
address

接続するアドレス

esmtp
esmtp=(bool)
esmtp?
finish

SMTP セッションを終了します。

inspect
open_message_stream(from_addr, *to_addrs) {|f| .... }
ready(from_addr, *to_addrs) {|f| .... }

メール書きこみの準備をしたうえで、 write, print, printf, puts メソッドを持つオブジェクト f をブロックにあたえます。 from_addr は送信元メールアドレスで to_addrs は宛先のメールボックスです。

open_timeout
open_timeout=(n)

接続時に待つ最大秒数。この秒数たってもコネクションが 開かなければ例外 TimeoutError を発生します。

port

接続するポート番号

read_timeout
read_timeout=(n)

読みこみ (read(2) 一回) でブロックしてよい最大秒数。 この秒数たっても読みこめなければ例外 TimeoutError を発生します。

send_message(mailsrc, from_addr, *to_addrs)
send_mail(mailsrc, from_addr, *to_addrs)
sendmail(mailsrc, from_addr, *to_addrs)

mailsrc をメールとして送信します。 mailsrc は each イテレータを持つ オブジェクトならなんでも構いません (たとえば String や File)。

set_debug_output(f)
start(helo_domain = <local host name>, account = nil, password = nil, authtype = nil)
start(helo_domain = <local host name>, account = nil, password = nil, authtype = nil) {|smtp| .... }

TCP コネクションを張り、同時に SMTP セッションを開始します。 そのとき、こちらのホストの FQDN を helo_domain に指定します。 もしすでにセッションが開始していたら IOError を発生します。

started?

SMTP セッションが開始されていたら真。

Constants

Signature | Description
Revision | File revision. You cannot assume any specific format.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library net/telnet

Abstract

Telnetプロトコルを扱うライブラリです。

Classes/Modules

class Net::Telnet

使用例


class Net::Telnet

ancestors: Net::Telnet < SimpleDelegator < Delegator < Object < Kernel

Abstract

使用例

require 'net/telnet'

# リモートホスト foobar に接続
telnet = Net::Telnet.new("Host" => "foobar") {|c| print c}

# ログイン
telnet.login("your name", "your password") {|c| print c}
# ログイン後、プロンプトが出るまで待ち合わせる

telnet.cmd("ls") {|c| print c}
# コマンド実行後、プロンプトが出るまで待ち合わせる

# 少し複雑な例
telnet.cmd("sleep 5 && echo foobar &") {|c| print c}

STDOUT.flush # <- これがないとここまで処理が来てることがわかりにくい

# 前のコマンドの出力を待ち合わせる
telnet.waitfor(/foobar\Z/) {|c| print c}

# ログインセッションの終了
telnet.cmd("exit") {|c| print c}
telnet.close

Net::Telnet のインスタンスは、ソケットのメソッドをdelegateします(例え ば、セッションが終わった後は close を実行した方が良いでしょう)。

Singleton Methods

Signature | Description
new(opts) | Telnet オブジェクトを生成します。このときリモートホストへの接続も行いま す。opts には Telnet オブジェクトに設定する以下のオプションをハッ シュで指定します。オプションは省略時にはそれぞれ右に示すデフォルト値が 適用されます。

Instance Methods

Signature Description
binmode
binmode(bool)
binmode=(bool)
...
cmd(string)
cmd("String" => string, "Match" => match, "Timeout" => timeout)

string を改行付きでリモートホストに送り、次のプロンプト match が出力されるまで待ちます。

login(user[, password])
login("Name" => user, "Password" => password)

ユーザ名 user, パスワード password でログインします。 リモートホストが以下のプロンプトでユーザ名、パスワードの入力を要求する ことを期待しています。

preprocess(string)
print(string)
puts(string)

string を改行を付けてリモートホストに送ります。

sock

リモートホストに接続している IO オブジェクトを返します。

telnetmode
telnetmode(bool)
telnetmode=(bool)
...
waitfor(match)
waitfor("Match" => match, "Timeout" => timeout, "Waittime" => waittime)

正規表現 match で指定した文字列が出力されるまで待ち合わせます。 match の代わりに "String" をキーに文字列を指定した場合、 リモートホストからの出力にその文字列が現れるまで待ち合わせます。

write(string)

Constants

Signature Description
IAC
DONT
DO
WONT
WILL
SB
GA
EL
EC
AYT
AO
IP
BREAK
DM
NOP
SE
EOR
ABORT
SUSP
EOF
SYNCH
OPT_BINARY
OPT_ECHO
OPT_RCP
OPT_SGA
OPT_NAMS
OPT_STATUS
OPT_TM
OPT_RCTE
OPT_NAOL
OPT_NAOP
OPT_NAOCRD
OPT_NAOHTS
OPT_NAOHTD
OPT_NAOFFD
OPT_NAOVTS
OPT_NAOVTD
OPT_NAOLFD
OPT_XASCII
OPT_LOGOUT
OPT_BM
OPT_DET
OPT_SUPDUP
OPT_SUPDUPOUTPUT
OPT_SNDLOC
OPT_TTYPE
OPT_EOR
OPT_TUID
OPT_OUTMRK
OPT_TTYLOC
OPT_3270REGIME
OPT_X3PAD
OPT_NAWS
OPT_TSPEED
OPT_LFLOW
OPT_LINEMODE
OPT_XDISPLOC
OPT_OLD_ENVIRON
OPT_AUTHENTICATION
OPT_ENCRYPT
OPT_NEW_ENVIRON
OPT_EXOPL
NULL
CR
LF
EOL
REVISION

Inherited Methods

marshal_dump marshal_load method_missing respond_to? == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint __getobj__ __setobj__ clone

Added Methods

Signature | Description | Library
preprocess(string) |  | net/telnets
ssl |  | net/telnets
ssl? |  | net/telnets
waitfor(options) |  | net/telnets


library net/telnets

Abstract

net/telnet に SSL 拡張を実装するライブラリです。

Added/Redefined Methods

Net::Telnet#preprocess

Net::Telnet#ssl

Net::Telnet#ssl?

Net::Telnet#waitfor


library nkf

Abstract

nkf を Ruby から使うためのライブラリです。

Classes/Modules

module NKF

nkf(Network Kanji code conversion Filter, http://sourceforge.jp/projects/nkf/) を Ruby から使うためのモジュールです。


module NKF

ancestors: NKF

Abstract

nkf(Network Kanji code conversion Filter, http://sourceforge.jp/projects/nkf/) を Ruby から使うためのモジュールです。

Ruby 1.8.2 以降では nkf の 2.0 以降が取り込まれています。

使い方

以下は、漢字コード変換コマンドの例です。

#!/usr/local/bin/ruby

require 'nkf'

opt = ''
opt = ARGV.shift if ARGV[0][0] == ?-

while line = ARGF.gets
  print NKF.nkf(opt, line)
end

以下は、漢字コード判別コマンドの例です。

#!/usr/local/bin/ruby

require 'nkf'

CODES = {
  NKF::JIS      => "JIS",
  NKF::EUC      => "EUC",
  NKF::SJIS     => "SJIS",
  NKF::UTF8     => "UTF8",
  NKF::BINARY   => "BINARY",
  NKF::ASCII    => "ASCII",
  NKF::UNKNOWN  => "UNKNOWN",
}

while file = ARGV.shift
  str = open(file) {|io| io.gets(nil) }

  printf "%-10s ", file
  if str.nil?
    puts "EMPTY"
  else
    puts CODES.fetch(NKF.guess(str))
  end
end

オプション文字列

Ruby 1.8.2 以降

NKF 2.0.5 相当です。

b,u      Output is buffered (DEFAULT),Output is unbuffered
j,s,e,w  Output code is JIS 7 bit (DEFAULT), Shift JIS, AT&T JIS (EUC), UTF-8
         After 'w' you can add more options. (80?|16((B|L)0?)?)
J,S,E,W  Input assumption is JIS 7 bit , Shift JIS, AT&T JIS (EUC), UTF-8
         After 'W' you can add more options. (8|16(B|L)?)
t        no conversion
i_/o_    Output sequence to designate JIS-kanji/ASCII (DEFAULT B)
r        {de/en}crypt ROT13/47
h        1 katakana->hiragana, 2 hiragana->katakana, 3 both
m[BQN0]  MIME decode [B:base64,Q:quoted,N:non-strict,0:no decode]
M[BQ]    MIME encode [B:base64 Q:quoted]
l        ISO8859-1 (Latin-1) support
f/F      Folding: -f60 or -f or -f60-10 (fold margin 10) F preserve nl
Z[0-3]   Convert X0208 alphabet to ASCII  1: Kankaku to space,2: 2 spaces,
                                          3: Convert HTML Entity
X,x      Assume X0201 kana in MS-Kanji, -x preserves X0201
B[0-2]   Broken input  0: missing ESC,1: any X on ESC-[($]-X,2: ASCII on NL
T        Text mode output
d,c      Delete \r in line feed and \032, Add \r in line feed
I        Convert non ISO-2022-JP character to GETA
-L[uwm]  line mode u:LF w:CRLF m:CR (DEFAULT noconversion)
long name options
 --fj,--unix,--mac,--windows                        convert for the system
 --jis,--euc,--sjis,--utf8,--utf16,--mime,--base64  convert for the code
 --hiragana, --katakana    Hiragana/Katakana Conversion
 --cap-input, --url-input  Convert hex after ':' or ''
 --numchar-input   Convert Unicode Character Reference
 --no-cp932        Don't convert Shift_JIS FAxx-FCxx to equivalent CP932
 --cp932inv        convert Shift_JIS EDxx-EFxx to equivalent CP932 FAxx-FCxx
 --ms-ucs-map      Microsoft UCS Mapping Compatible

BUGS

Ruby 1.8.2 に添付されている NKF は Unicode 入力時の自動判定の精度が落ちています。 Ruby 1.8.3 以降にバージョンアップするか、 できるだけ明示的に文字コードを指定するようにしましょう。

参考

  • "標準添付ライブラリ紹介【第 3 回】 Kconv/NKF/Iconv" http://jp.rubyist.net/magazine/?0009-BundledLibraries#l15

Module Functions

Signature | Description
guess(str) -> Integer | 文字列 str の漢字コードを判別して返します。
guess1(str) -> Integer | ruby 1.8.1 以前の NKF.guess と同じものです。
guess2(str) -> Integer | nkf2の漢字コード自動判定ルーチンを利用したものです。
nkf(opt, str) -> String | 文字列 str の文字コードを変換し、変換結果の文字列を返します。

Constants

Signature | Description
ASCII -> Integer | ASCII コードを表します。
AUTO -> Integer | コードを自動判別することを表します。
BINARY -> Integer | バイナリ列を表します。
EUC -> Integer | EUC コードを表します。
JIS -> Integer | JIS コードを表します。
NKF_RELEASE_DATE -> String | nkf のリリース日を表す文字列です。
NKF_VERSION -> String | nkf 自体のバージョンを表す文字列です。
NOCONV -> Integer | コードを変換しないことを表します。
SJIS -> Integer | SJIS コードを表します。
UNKNOWN -> Integer | コード判定に失敗したことを表します。
UTF16 -> Integer | UTF-16 コードを表します。
UTF8 -> Integer | UTF-8 コードを表します。
VERSION -> String | "#{NKF::NKF_VERSION} (#{NKF_RELEASE_DATE})" と あらわされる文字列です。


library observer

Abstract

Observer パターンを扱うためのライブラリです。

Classes/Modules

module Observable

Observer パターンを提供するモジュールです。


module Observable

ancestors: Observable

Abstract

Observer パターンを提供するモジュールです。

Mix-in により Observer パターンを提供します。

Observable モジュールを include したクラスは Observable#changed メソッドにより更新フラグを立て、 Observable#notify_observers が呼び出されると 更新フラグが立っている場合はオブザーバに通知します (オブザーバの update メソッドを呼び出す)。 Observable#notify_observers の引数は そのままオブザーバの update メソッドに渡されます。

サンプルコード

require 'observer'
class AObservable
  include Observable
  ...
end
class AObserver
  def update(arg)
    ...
  end
  ...
end
obj = AObservable.new
observer = AObserver.new
obj.add_observer(observer)
obj.changed
obj.notify_observers(args)

Instance Methods

Signature | Description
add_observer(observer) -> Array | オブザーバを登録します。
changed(state = true) -> bool | 更新フラグを立てます。
changed? -> bool | 更新フラグの状態を返します。
count_observers -> Fixnum | 登録されているオブザーバの数を返します。
delete_observer(observer) -> object | nil | オブザーバを削除します。
delete_observers -> Array | オブザーバをすべて削除します。
notify_observers(*arg) -> nil | オブザーバへ更新を通知します。


library open3

Abstract

プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。

Classes/Modules

module Open3

プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。


module Open3

ancestors: Open3

Abstract

プログラムを実行し、そのプロセスの標準入力・標準出力・ 標準エラー出力にパイプをつなぎます。

使用例

nroff を実行してその標準入力に man ページを送り込み処理させる。 nroff プロセスの標準出力から処理結果を受け取る。

require "open3"

stdin, stdout, stderr = *Open3.popen3('nroff -man')
# こちらから書く
Thread.fork {
  File.foreach('/usr/man/man1/ruby.1') do |line|
    stdin.print line
  end
  stdin.close    # または close_write
}
# こちらから読む
stdout.each do |line|
  print line
end

Module Functions

Signature Description
popen3(*cmd) -> [IO, IO, IO]
popen3(*cmd) {|stdin, stdout, stderr| ... } -> ()

外部プログラム cmd を実行し、そのプロセスの標準入力、 標準出力、標準エラー出力に接続されたパイプを 3 要素の配列で返します。 cmd は組み込み関数 Kernel.#exec と同じ規則で解釈されます。


library open-uri

Abstract

http/ftp に簡単にアクセスするためのクラスです。 Kernel のモジュール関数(組み込み関数) open を再定義します。

使用例

http/ftp の URL を、普通のファイルのように開けます。

require 'open-uri'
open("http://www.ruby-lang.org/") {|f|
  f.each_line {|line| p line}
}

開いたファイルオブジェクトは StringIO もしくは Tempfile ですが OpenURI::Meta モジュールで拡張されていて、 メタ情報を獲得するメソッドが使えます。

open("http://www.ruby-lang.org/en") {|f|
  f.each_line {|line| p line}
  p f.base_uri         # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/>
  p f.content_type     # "text/html"
  p f.charset          # "iso-8859-1"
  p f.content_encoding # []
  p f.last_modified    # Thu Dec 05 02:45:02 UTC 2002
}

ハッシュ引数で、追加のヘッダフィールドを指定できます。

open("http://www.ruby-lang.org/en/",
  "User-Agent" => "Ruby/#{RUBY_VERSION}",
  "From" => "foo@bar.invalid",
  "Referer" => "http://www.ruby-lang.org/") {|f|
  ...
}

http_proxy や ftp_proxy などの環境変数は、デフォルトで有効になっています。 プロキシを無効にするには :proxy => nil とします。

open("http://www.ruby-lang.org/en/raa.html",
  :proxy => nil) {|f|
  ...
}

また、open-uri を読み込むと URI::HTTP と URI::FTP が OpenURI::OpenRead モジュールをインクルードします。ですので、 URI オブジェクトも似たような方法で開けます。

uri = URI.parse("http://www.ruby-lang.org/en/")
uri.open {|f|
  ...
}

URI オブジェクトは直接読み込むことができます。 戻り値の文字列は、OpenURI::Meta で拡張されています。

str = uri.read
p str.base_uri

Classes/Modules

module OpenURI | http/ftp に簡単にアクセスするためのモジュールです。
module OpenURI::Meta | サーバから取得したデータの属性を扱うために使われるモジュールです。 データを表す文字列や StringIO が extend します。
module OpenURI::OpenRead | URI::HTTP と URI::FTP を拡張するために用意されたモジュールです。

Exception Classes

class OpenURI::HTTPError

リソースの取得に失敗した時に投げられます。

Added/Redefined Methods

Kernel.#open


module OpenURI

ancestors: OpenURI

Abstract

http/ftp に簡単にアクセスするためのモジュールです。

Singleton Methods

Signature Description
open_uri(name, mode = 'r', perm = nil, options = {}) -> StringIO
open_uri(name, mode = 'r', perm = nil, options = {}) {|sio| ... } -> nil

URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。


class OpenURI::HTTPError

ancestors: OpenURI::HTTPError < StandardError < Exception < Object < Kernel

Abstract

リソースの取得に失敗した時に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OpenURI::Meta

ancestors: OpenURI::Meta

Abstract

サーバから取得したデータの属性を扱うために使われるモジュールです。 データを表す文字列や StringIO が extend します。

Instance Methods

Signature Description
base_uri -> URI

リソースの実際の URI を URI オブジェクトとして返します。 リダイレクトされた場合は、リダイレクトされた後のデータが存在する URI を返します。

charset -> String | nil
charset {...} -> String

対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。 文字列は小文字へと変換されています。

content_encoding -> [String]

対象となるリソースの Content-Encoding を文字列の配列として返します。 Content-Encoding ヘッダがない場合は、空の配列を返します。

content_type -> String

対象となるリソースの Content-Type を文字列の配列で返します。Content-Type ヘッダの情報が使われます。 Content-Type ヘッダがない場合は、"application/octet-stream" を返します。

last_modified -> Time | nil

対象となる URI の最終更新時刻を Time オブジェクトで返します。 Last-Modified ヘッダがない場合は nil を返します。

meta -> Hash

ヘッダを収録したハッシュを返します。

status -> [String]

対象となるリソースのステータスコードと reason phrase を文字列の配列として返します。


module OpenURI::OpenRead

ancestors: OpenURI::OpenRead

Abstract

URI::HTTP と URI::FTP を拡張するために用意されたモジュールです。

Instance Methods

Signature Description
open(mode = 'r', perm = nil, options = {})) -> StringIO
open(mode = 'r', perm = nil, options = {})) {|sio| ... } -> nil

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

read(options={}) -> String

自身が表す内容を読み込んで文字列として返します。 self.open(options={}).read と同じです。 このメソッドによって返される文字列は OpenURI::Meta によって extend されています。


library openssl

Abstract

OpenSSL を Ruby から扱うためのライブラリです。

http://www.openssl.org support library for Ruby. 動作や使える暗号方式は

[[unknown:執筆者募集]]

Components

  • OpenSSL
  • OpenSSL::Cipher
  • OpenSSL::Cipher::Cipher
  • 以下のクラスは Cipher を継承している。使い方は Cipher を参照。
  • OpenSSL::Cipher::AES
  • OpenSSL::Cipher::BF
  • OpenSSL::Cipher::CAST5
  • OpenSSL::Cipher::DES
  • OpenSSL::Cipher::IDEA
  • OpenSSL::Cipher::RC2
  • OpenSSL::Cipher::RC4
  • OpenSSL::Cipher::RC5
  • OpenSSL::Digest
  • OpenSSL::Digest::Digest
  • 以下のクラスは Digest を継承している。使い方は Digest を参照。
  • OpenSSL::Digest::DSS1
  • OpenSSL::Digest::MD2
  • OpenSSL::Digest::MD4
  • OpenSSL::Digest::MD5
  • OpenSSL::Digest::MDC2
  • OpenSSL::Digest::RIPEMD160
  • OpenSSL::Digest::SHA
  • OpenSSL::Digest::SHA1
  • OpenSSL::Digest::SHA224
  • OpenSSL::Digest::SHA256
  • OpenSSL::Digest::SHA384
  • OpenSSL::Digest::SHA512
  • OpenSSL::X509
  • OpenSSL::X509::Certificate
  • OpenSSL::X509::CRL
  • OpenSSL::X509::Extension
  • OpenSSL::X509::Name
  • OpenSSL::X509::Store
  • OpenSSL::X509::StoreContext
  • OpenSSL::SSL
  • OpenSSL::SSL::SSLContext
  • OpenSSL::SSL::SSLServer
  • OpenSSL::SSL::SSLSocket
  • OpenSSL::PKCS7
  • OpenSSL::PKCS7::PKCS7
  • OpenSSL::PKey
  • OpenSSL::PKey::PKey
  • OpenSSL::PKey::RSA
  • OpenSSL::PKey::DSA
  • OpenSSL::PKey::DH
  • OpenSSL::Config
  • OpenSSL::Engine
  • OpenSSL::ASN1
  • OpenSSL::ASN1::ASN1Data
  • OpenSSL::ASN1::Primitive
  • OpenSSL::ASN1::Boolean
  • OpenSSL::ASN1::Integer
  • OpenSSL::ASN1::Enumerated
  • OpenSSL::ASN1::BitString
  • OpenSSL::ASN1::OctetString
  • OpenSSL::ASN1::UTF8String
  • OpenSSL::ASN1::NumericString
  • OpenSSL::ASN1::PrintableString
  • OpenSSL::ASN1::T61String
  • OpenSSL::ASN1::VideotexString
  • OpenSSL::ASN1::IA5String
  • OpenSSL::ASN1::GraphicString
  • OpenSSL::ASN1::ISO64String
  • OpenSSL::ASN1::GeneralString
  • OpenSSL::ASN1::UniversalString
  • OpenSSL::ASN1::BMPString
  • OpenSSL::ASN1::Null
  • OpenSSL::ASN1::ObjectId
  • OpenSSL::ASN1::UTCTime
  • OpenSSL::ASN1::GeneralizedTime
  • OpenSSL::ASN1::Constructive
  • OpenSSL::ASN1::Sequence
  • OpenSSL::ASN1::Set

例

自己署名証明書の作成の例です。自分の秘密鍵で自分の公開鍵に署名しているから自己署名です。

require 'openssl'

key = OpenSSL::PKey::RSA.new(1024)
digest = OpenSSL::Digest::SHA1.new()

issu = sub = OpenSSL::X509::Name.new()
sub.add_entry('C', 'JP')
sub.add_entry('ST', 'Shimane')
sub.add_entry('CN', 'Ruby Taro')

cer = OpenSSL::X509::Certificate.new()
cer.not_before = Time.at(0)
cer.not_after = Time.at(0)
cer.public_key = key  # <= 署名する対象となる公開鍵
cer.serial = 1
cer.issuer = issu
cer.subject = sub

cer.sign(key, digest) # <= 署名するのに使う秘密鍵とハッシュ関数
print cer.to_text

Classes/Modules

module OpenSSL

このページは定数と例外のみを説明しています。

module OpenSSL::ASN1

参照
class OpenSSL::ASN1::ASN1Data

ASN.1データ型のスーパークラス

class OpenSSL::ASN1::BMPString
class OpenSSL::ASN1::BitString
class OpenSSL::ASN1::Boolean
class OpenSSL::ASN1::Constructive
class OpenSSL::ASN1::Enumerated
class OpenSSL::ASN1::GeneralString
class OpenSSL::ASN1::GeneralizedTime
class OpenSSL::ASN1::GraphicString
class OpenSSL::ASN1::IA5String
class OpenSSL::ASN1::ISO64String
class OpenSSL::ASN1::Integer
class OpenSSL::ASN1::Null
class OpenSSL::ASN1::NumericString
class OpenSSL::ASN1::ObjectId

ASN.1 のオブジェクト ID を操作するクラス

class OpenSSL::ASN1::OctetString
class OpenSSL::ASN1::Primitive
class OpenSSL::ASN1::PrintableString
class OpenSSL::ASN1::Sequence
class OpenSSL::ASN1::Set
class OpenSSL::ASN1::T61String
class OpenSSL::ASN1::UTCTime
class OpenSSL::ASN1::UTF8String
class OpenSSL::ASN1::UniversalString
class OpenSSL::ASN1::VideotexString
class OpenSSL::BN
class OpenSSL::Cipher::AES
class OpenSSL::Cipher::AES128
class OpenSSL::Cipher::AES192
class OpenSSL::Cipher::AES256
class OpenSSL::Cipher::BF
class OpenSSL::Cipher::CAST5
class OpenSSL::Cipher::Cipher

対称鍵暗号のために抽象化されたインターフェースを提供するクラスです。

class OpenSSL::Cipher::DES
class OpenSSL::Cipher::IDEA
class OpenSSL::Cipher::RC2
class OpenSSL::Cipher::RC4
class OpenSSL::Cipher::RC5
class OpenSSL::Digest::DSS
class OpenSSL::Digest::DSS1
class OpenSSL::Digest::Digest

ハッシュ関数のための抽象的なインターフェースを提供するクラスです。 digest も参照してください。

class OpenSSL::Digest::MD2
class OpenSSL::Digest::MD4
class OpenSSL::Digest::MD5
class OpenSSL::Digest::MDC2
class OpenSSL::Digest::RIPEMD160
class OpenSSL::Digest::SHA
class OpenSSL::Digest::SHA1
class OpenSSL::Digest::SHA224
class OpenSSL::Digest::SHA256
class OpenSSL::Digest::SHA384
class OpenSSL::Digest::SHA512
class OpenSSL::Engine
class OpenSSL::HMAC
class OpenSSL::Netscape::SPKI
module OpenSSL::OCSP
class OpenSSL::OCSP::BasicResponse
class OpenSSL::OCSP::CertificateId
class OpenSSL::OCSP::OCSPError
class OpenSSL::OCSP::Request
class OpenSSL::OCSP::Response
module OpenSSL::PKCS12
class OpenSSL::PKCS12::PKCS12
module OpenSSL::PKCS7

PKCS #7 モジュール

class OpenSSL::PKCS7::PKCS7

注意
class OpenSSL::PKCS7::RecipientInfo
class OpenSSL::PKCS7::Signer
class OpenSSL::PKCS7::SignerInfo
class OpenSSL::PKey::DH

Diffie-Hellman 暗号クラス

class OpenSSL::PKey::DSA

以下は、data に署名し、署名をもとに data を検証する簡単な例です。

class OpenSSL::PKey::PKey

公開鍵暗号のための抽象クラス

class OpenSSL::PKey::RSA

RSA 暗号鍵クラス

module OpenSSL::Random
module OpenSSL::SSL
  • OpenSSL::SSL::SSLContext
  • OpenSSL::SSL::SSLServer
  • OpenSSL::SSL::SSLSocket
class OpenSSL::SSL::SSLContext

SSL コンテクストクラス

class OpenSSL::SSL::SSLServer

SSL サーバーのためのクラス。TCPServer に対応します。

class OpenSSL::SSL::SSLSocket

SSLSocket クラス

module OpenSSL::SSL::SocketForwarder
module OpenSSL::X509
  • OpenSSL::X509::Certificate
  • OpenSSL::X509::Store
class OpenSSL::X509::Attribute
class OpenSSL::X509::CRL

CRL(証明書失効リスト) クラス。

class OpenSSL::X509::Certificate

X509 証明書クラス

class OpenSSL::X509::Extension

X.509 v3 証明書の拡張領域のためのクラスです。OpenSSL::X509::Certificate オブジェクトは その拡張領域を Extension オブジェクトの配列として保持しています。

class OpenSSL::X509::ExtensionFactory

[[unknown:執筆者募集]]

class OpenSSL::X509::Name
class OpenSSL::X509::Request
class OpenSSL::X509::Revoked

失効した証明書のクラス。OpenSSL::X509::CRL クラスから使われます。

class OpenSSL::X509::StoreContext

Exception Classes

class OpenSSL::ASN1::ASN1Error | OpenSSL::OpenSSLError を継承した例外です。
class OpenSSL::BNError |
class OpenSSL::CipherError |
class OpenSSL::Digest::DigestError |
class OpenSSL::Engine::EngineError |
class OpenSSL::HMACError |
class OpenSSL::Netscape::SPKIError |
class OpenSSL::OpenSSLError |
class OpenSSL::PKCS12::PKCS12Error |
class OpenSSL::PKey::DHError |
class OpenSSL::PKey::PKeyError |
class OpenSSL::PKey::RSAError |
class OpenSSL::Random::RandomError |
class OpenSSL::SSL::SSLError |
class OpenSSL::X509::AttributeError |
class OpenSSL::X509::CRLError |
class OpenSSL::X509::CertificateError |
class OpenSSL::X509::ExtensionError |
class OpenSSL::X509::NameError |
class OpenSSL::X509::RequestError |
class OpenSSL::X509::RevokedError |
class OpenSSL::X509::Store |


module OpenSSL

ancestors: OpenSSL

Abstract

このページは定数と例外のみを説明しています。

Constants

Signature | Description
OPENSSL_VERSION | システムにインストールされている OpenSSL 本体のバージョンを表した文字列です。
OPENSSL_VERSION_NUMBER | システムにインストールされている OpenSSL 本体のバージョンを表した数です。 http://www.openssl.org/docs/crypto/OPENSSL_VERSION_NUMBER.html も参照してください。
VERSION | Ruby/OpenSSL のバージョンです。


module OpenSSL::ASN1

ancestors: OpenSSL::ASN1

Abstract

参照

  • [RFC 3279] [[unknown:Algorithms and Identifiers for the Internet X.509 Public Key InfrastructureCertificate and Certificate Revocation List (CRL) Profile|URL:http://www.ipa.go.jp/security/rfc/RFC3279EN.html]]
  • [RFC 3280] [[unknown:Internet X.509 Public Key Infrastructure Certificate and CRL Profile|URL:http://www.ipa.go.jp/security/rfc/RFC3280-00EN.html]]
  • [ASN.1:2002] [[unknown:"Abstract Syntax Notation One (ASN.1) Specification of Basic Notation ITU-T Rec. X.680 (2002) | ISO/IEC 8824-1:2002"|URL:http://asn1.elibel.tm.fr/en/standards/index.htm#asn1]]

Module Functions

Signature | Description
BMPString(value ...) |
BitString(value ...) |
Boolean(value [, tag [, tagging [, tag_class]]]) |
Enumerated(value ...) |
GeneralString(value ...) |
GeneralizedTime(value ...) |
GraphicString(value ...) |
IA5String(value ...) |
ISO64String(value ...) |
Integer(value ...) |
Null(value ...) |
NumericString(value ...) |
ObjectId(value ...) |
OctetString(value ...) |
PrintableString(value ...) |
Sequence(value ...) |
Set(value ...) |
T61String(value ...) |
UTCTime(value ...) |
UTF8String(value ...) |
UniversalString(value ...) |
VideotexString(value ...) |
decode(der) | DER 表現の文字列を解析し、OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスを返します。ASN.1 オブジェクトが Constructive である場合は、それを構成する要素も再帰的に解析します。der に複数の ASN.1 オブジェクトが含まれる場合は最初の ASN.1 オブジェクトだけを返します。
decode_all(der) | ASN1.decode と違って、der に含まれる全てのオブジェクトを再帰的に解析し 配列として返します。
traverse(der) {|depth, off, hlen, len, constructed, tag_class, tag| ...} | der に含まれる全てのオブジェクトを再帰的に解析して、 そのプロパティを引数として与えられたブロックを評価します。

Constants

Signature | Description
BIT_STRING | BIT_STRING のタグ番号 3 を表す定数です。
BMPSTRING | BMPSTRING のタグ番号 30 を表す定数です。
BOOLEAN | BOOLEAN のタグ番号 1 を表す定数です。
CHARACTER_STRING | CHARACTER_STRING のタグ番号 29 を表す定数です。
EMBEDDED_PDV | EMBEDDED_PDV のタグ番号 11 を表す定数です。
ENUMERATED | ENUMERATED のタグ番号 10 を表す定数です。
EOC | EOC のタグ番号 0 を表す定数です。
EXTERNAL | EXTERNAL のタグ番号 8 を表す定数です。
GENERALIZEDTIME | GENERALIZEDTIME のタグ番号 24 を表す定数です。
GENERALSTRING | GENERALSTRING のタグ番号 27 を表す定数です。
GRAPHICSTRING | GRAPHICSTRING のタグ番号 25 を表す定数です。
IA5STRING | IA5STRING のタグ番号 22 を表す定数です。
INTEGER | INTEGER のタグ番号 2 を表す定数です。
ISO64STRING | ISO64STRING のタグ番号 26 を表す定数です。
NULL | NULL のタグ番号 5 を表す定数です。
NUMERICSTRING | NUMERICSTRING のタグ番号 18 を表す定数です。
OBJECT | OBJECT のタグ番号 6 を表す定数です。
OBJECT_DESCRIPTOR | OBJECT_DESCRIPTOR のタグ番号 7 を表す定数です。
OCTET_STRING | OCTET_STRING のタグ番号 4 を表す定数です。
PRINTABLESTRING | PRINTABLESTRING のタグ番号 19 を表す定数です。
REAL | REAL のタグ番号 9 を表す定数です。
RELATIVE_OID | RELATIVE_OID のタグ番号 13 を表す定数です。
SEQUENCE | SEQUENCE のタグ番号 16 を表す定数です。
SET | SET のタグ番号 17 を表す定数です。
T61STRING | T61STRING のタグ番号 20 を表す定数です。
UNIVERSALSTRING | UNIVERSALSTRING のタグ番号 28 を表す定数です。
UNIVERSAL_TAG_NAME | タグ番号が表す ASN.1 オブジェクト名を収録した配列です。
UTCTIME | UTCTIME のタグ番号 23 を表す定数です。
UTF8STRING | UTF8STRING のタグ番号 12 を表す定数です。
VIDEOTEXSTRING | VIDEOTEXSTRING のタグ番号 21 を表す定数です。


class OpenSSL::ASN1::ASN1Data

ancestors: OpenSSL::ASN1::ASN1Data < Object < Kernel

Abstract

ASN.1データ型のスーパークラス

継承の関係

OpenSSL::ASN1::ASN1Data
  +-> OpenSSL::ASN1::Primitive
  |     +-> OpenSSL::ASN1::Boolean
  |     +-> OpenSSL::ASN1::Integer
  |     +-> OpenSSL::ASN1::Enumerated
  |     +-> OpenSSL::ASN1::BitString
  |     +-> OpenSSL::ASN1::OctetString
  |     +-> OpenSSL::ASN1::UTF8String
  |     +-> OpenSSL::ASN1::NumericString
  |     +-> OpenSSL::ASN1::PrintableString
  |     +-> OpenSSL::ASN1::T61String
  |     +-> OpenSSL::ASN1::VideotexString
  |     +-> OpenSSL::ASN1::IA5String
  |     +-> OpenSSL::ASN1::GraphicString
  |     +-> OpenSSL::ASN1::ISO64String
  |     +-> OpenSSL::ASN1::GeneralString
  |     +-> OpenSSL::ASN1::UniversalString
  |     +-> OpenSSL::ASN1::BMPString
  |     +-> OpenSSL::ASN1::Null
  |     +-> OpenSSL::ASN1::ObjectId
  |     +-> OpenSSL::ASN1::UTCTime
  |     `-> OpenSSL::ASN1::GeneralizedTime
  `-> OpenSSL::ASN1::Constructive
        +-> OpenSSL::ASN1::Set
        `-> OpenSSL::ASN1::Sequence

Singleton Methods

Signature | Description
new(value, tag, tag_class) | ASN1Data オブジェクトを生成します。

Instance Methods

Signature Description
tag
tag=(tag)

タグ番号です。Universal 型の場合は BOOLEAN = 1 から BMPSTRING = 30 のいずれかの値をとります。 あらかじめ定義されているタグ番号の定数に関しては OpenSSL::ASN1 の 定数の項を参照してください。

tag_class
tag_class=(tag_class)

Symbol オブジェクト :UNIVERSAL、:ONTEXT_SPECIFIC、:APPLICATION のいずれかをとります。

to_der

ASN.1 データの DER 表現を返します。

value
value=(value)

ASN.1 データの表現する値です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::ASN1::ASN1Error

ancestors: OpenSSL::ASN1::ASN1Error < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

OpenSSL::OpenSSLError を継承した例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::ASN1::BMPString

ancestors: OpenSSL::ASN1::BMPString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::BitString

ancestors: OpenSSL::ASN1::BitString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Boolean

ancestors: OpenSSL::ASN1::Boolean

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Constructive

ancestors: OpenSSL::ASN1::Constructive < Enumerable < OpenSSL::ASN1::ASN1Data < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value, tag, tagging, tag_class) | Constructive オブジェクトを生成します。

Instance Methods

Signature Description
tagging
tagging=(tag)

Symbol オブジェクト :IMPLICIT または :EXPLICIT のいずれかをとります。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value


class OpenSSL::ASN1::Enumerated

ancestors: OpenSSL::ASN1::Enumerated

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::GeneralString

ancestors: OpenSSL::ASN1::GeneralString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::GeneralizedTime

ancestors: OpenSSL::ASN1::GeneralizedTime

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::GraphicString

ancestors: OpenSSL::ASN1::GraphicString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::IA5String

ancestors: OpenSSL::ASN1::IA5String

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::ISO64String

ancestors: OpenSSL::ASN1::ISO64String

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Integer

ancestors: OpenSSL::ASN1::Integer

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Null

ancestors: OpenSSL::ASN1::Null

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::NumericString

ancestors: OpenSSL::ASN1::NumericString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::ObjectId

ancestors: OpenSSL::ASN1::ObjectId

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

ASN.1 のオブジェクト ID を操作するクラス

Singleton Methods

Signature | Description
new(str) | ASN.1 のオブジェクト ID を生成します。
register(oid, short_name, long_name) | オブジェクト ID に対応する名前を登録します。登録した名前は OpenSSL::X509::Extension などで利用できるようになります。

Instance Methods

Signature Description
ln
long_name

オブジェクト ID に対応する長い形式の名前を返します。

oid

オブジェクト ID のドット区切り数値を文字列で返します。

sn
short_name

オブジェクト ID に対応する短い形式の名前を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging


class OpenSSL::ASN1::OctetString

ancestors: OpenSSL::ASN1::OctetString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Primitive

ancestors: OpenSSL::ASN1::Primitive < OpenSSL::ASN1::ASN1Data < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value, tag, tagging, tag_class) | Primitive オブジェクトを生成します。

Instance Methods

Signature Description
tagging
tagging=(tag)

Symbol オブジェクト :IMPLICIT または :EXPLICIT のいずれかをとります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value


class OpenSSL::ASN1::PrintableString

ancestors: OpenSSL::ASN1::PrintableString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Sequence

ancestors: OpenSSL::ASN1::Sequence < OpenSSL::ASN1::Constructive < Enumerable < OpenSSL::ASN1::ASN1Data < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::Set

ancestors: OpenSSL::ASN1::Set < OpenSSL::ASN1::Constructive < Enumerable < OpenSSL::ASN1::ASN1Data < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::T61String

ancestors: OpenSSL::ASN1::T61String

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::UTCTime

ancestors: OpenSSL::ASN1::UTCTime

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::UTF8String

ancestors: OpenSSL::ASN1::UTF8String

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::UniversalString

ancestors: OpenSSL::ASN1::UniversalString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::ASN1::VideotexString

ancestors: OpenSSL::ASN1::VideotexString

      < OpenSSL::ASN1::Primitive

      < OpenSSL::ASN1::ASN1Data

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint tag tag_class to_der value tagging .new


class OpenSSL::BN

ancestors: OpenSSL::BN < Comparable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
generate_prime |
pseudo_rand |
pseudo_rand_range |
rand |
rand_range |

Instance Methods

Signature | Description
self % |
self * |
self ** |
self + |
self - |
self / |
self << |
self <=> |
self == |
self === |
self >> |
bit_set? |
clear_bit! |
cmp |
coerce |
copy |
eql? |
gcd |
mask_bits! |
mod_add |
mod_exp |
mod_inverse |
mod_mul |
mod_sqr |
mod_sub |
num_bits |
num_bytes |
odd? |
one? |
prime? |
prime_fasttest? |
set_bit! |
sqr |
to_bn |
to_i |
to_int |
to_s |
ucmp |
zero? |

Inherited Methods

< <= > >= between? =~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::BNError

ancestors: OpenSSL::BNError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::Cipher::AES

ancestors: OpenSSL::Cipher::AES < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::AES128

ancestors: OpenSSL::Cipher::AES128 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::AES192

ancestors: OpenSSL::Cipher::AES192 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::AES256

ancestors: OpenSSL::Cipher::AES256 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::BF

ancestors: OpenSSL::Cipher::BF < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::CAST5

ancestors: OpenSSL::Cipher::CAST5 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::Cipher

ancestors: OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

対称鍵暗号のために抽象化されたインターフェースを提供するクラスです。

以下のクラスが実装されています。

  • OpenSSL::Cipher::BF
  • OpenSSL::Cipher::CAST5
  • OpenSSL::Cipher::DES
  • OpenSSL::Cipher::IDEA
  • OpenSSL::Cipher::RC2
  • OpenSSL::Cipher::RC4
  • OpenSSL::Cipher::RC5

AES も OpenSSL::Cipher::Cipher.new('aes256') などとすれば利用可能です。

ruby 1.8.3 から Cast5 と Idea が CAST5 と IDEA に改名されました。

使用例

require 'openssl'

p a123 = "0123456789"
pass = "hogehoge"
enc = OpenSSL::Cipher::DES.new
enc.encrypt
enc.pkcs5_keyivgen(pass)
p a = enc.update(a123)
p b = enc.final
s = a + b

dec = OpenSSL::Cipher::DES.new
dec.decrypt
dec.pkcs5_keyivgen(pass)
p a = dec.update(s)
p b = dec.final
p a + b #=> "0123456789"

Singleton Methods

Signature Description
new(name)
new

対称鍵暗号アルゴリズムの名前 name を与えると暗号オブジェクトを生成します。 利用できるアルゴリズムはシステムにインストールされている openssl に依存します。

Instance Methods

Signature Description
block_size

ブロックのサイズを返します。

decrypt(key, iv)

復号化の準備をします。iv は initialization vector のことで、必要なら使用されます。 この API に引数を渡すことは推奨されません。パスワードから鍵を生成する場合は、 pkcs5_keyivgen を使用してください。

encrypt(key, iv)

暗号化の準備をします。iv は initialization vector のことで、必要なら使用されます。 この API に引数を渡すことは推奨されません。パスワードから鍵を生成する場合は、 pkcs5_keyivgen を使用してください。

final

ブロックに残っているデータを暗号化あるいは復号化します。final を呼んだあとでは update を呼んではいけません。

iv=(iv)

初期ベクトル (initialization vector)。

iv_len

初期ベクトルの長さ。

key=(key)

暗号鍵を設定します。 なお、ここでいう「暗号鍵」は AES のアルゴリズムに渡される鍵であって、「パスワード」ではありません。

key_len
key_len=(length)

暗号鍵の長さ。

padding=(padding)

パディングを設定します。

pkcs5_keyivgen(pass, salt=nil, num=2048, digest=OpenSSL::Digest::MD5.new())

pass から key と iv を生成し key= と iv= に設定します。 salt は 8-octet string でないといけません。nil を返します。

random_iv
random_key
reset

暗号、暗号鍵、暗号化復号化フラグを共にリセットします。

update(data)

与えられた文字列を暗号化あるいは復号化して文字列として返します。直前に呼ばれた encrypt あるいは decrypt により暗号化か復号化かが決まります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::Cipher::DES

ancestors: OpenSSL::Cipher::DES < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::IDEA

ancestors: OpenSSL::Cipher::IDEA < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::RC2

ancestors: OpenSSL::Cipher::RC2 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::RC4

ancestors: OpenSSL::Cipher::RC4 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::Cipher::RC5

ancestors: OpenSSL::Cipher::RC5 < OpenSSL::Cipher::Cipher < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint block_size decrypt encrypt final iv= iv_len key= key_len padding= pkcs5_keyivgen random_iv reset update .new


class OpenSSL::CipherError

ancestors: OpenSSL::CipherError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::Digest::DSS

ancestors: OpenSSL::Digest::DSS < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::DSS1

ancestors: OpenSSL::Digest::DSS1 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::Digest

ancestors: OpenSSL::Digest::Digest < Object < Kernel

Abstract

ハッシュ関数のための抽象的なインターフェースを提供するクラスです。 digest も参照してください。

実装されているクラスは以下の通りです。

  • OpenSSL::Digest::DSS1
  • OpenSSL::Digest::MD2
  • OpenSSL::Digest::MD4
  • OpenSSL::Digest::MD5
  • OpenSSL::Digest::MDC2
  • OpenSSL::Digest::RIPEMD160
  • OpenSSL::Digest::SHA

((<ruby 1.8.3 feature>)): システムにインストールされている openssl が 0.9.8 以降ならば以下のアルゴリズムも利用できます。

  • OpenSSL::Digest::SHA224
  • OpenSSL::Digest::SHA256
  • OpenSSL::Digest::SHA384
  • OpenSSL::Digest::SHA512

Singleton Methods

Signature | Description
digest(name, str) | name で与えられたハッシュアルゴリズムで与えられた文字列 str に対するハッシュ値を文字列で返します。
hexdigest(name, str) | name で与えられたハッシュアルゴリズムで与えられた文字列 str に対するハッシュ値を、ASCIIコードを使って 16進数の列を示す文字列にエンコードして返します。
new(name) | オブジェクトを生成します。name でハッシュアルゴリズムを指定します。

Instance Methods

Signature Description
update(str)
self << str

文字列を追加します。複数回 update を呼ぶことは文字列を連結して update を呼ぶことと同じです。

self == digest

与えられた Digest オブジェクトと等しいかどうか。

digest

ハッシュ値を計算して文字列を返します。

hexdigest
inspect
to_s

文字列に対するハッシュ値を、ASCII コードを使って 16 進数の列を示す文字列にエンコードして返します。

name

ハッシュアルゴリズムを返す。

reset

いままで入力された文字列をリセットします。

size

digest で返す文字列のバイト長。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::Digest::DigestError

ancestors: OpenSSL::Digest::DigestError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::Digest::MD2

ancestors: OpenSSL::Digest::MD2 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::MD4

ancestors: OpenSSL::Digest::MD4 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::MD5

ancestors: OpenSSL::Digest::MD5 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::MDC2

ancestors: OpenSSL::Digest::MDC2 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::RIPEMD160

ancestors: OpenSSL::Digest::RIPEMD160 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::SHA

ancestors: OpenSSL::Digest::SHA < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::SHA1

ancestors: OpenSSL::Digest::SHA1 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::SHA224

ancestors: OpenSSL::Digest::SHA224 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::SHA256

ancestors: OpenSSL::Digest::SHA256 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::SHA384

ancestors: OpenSSL::Digest::SHA384 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Digest::SHA512

ancestors: OpenSSL::Digest::SHA512 < OpenSSL::Digest::Digest < Object < Kernel

Abstract

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == digest hexdigest name reset size .digest .hexdigest .new


class OpenSSL::Engine

ancestors: OpenSSL::Engine < Object < Kernel

Abstract

Singleton Methods

Signature | Description
by_id |
cleanup |
engines |
load |

Instance Methods

Signature | Description
cipher |
cmds |
ctrl_cmd |
digest |
finish |
id |
load_private_key |
load_public_key |
name |
set_default |

Constants

Signature | Description
METHOD_ALL |
METHOD_CIPHERS |
METHOD_DH |
METHOD_DIGESTS |
METHOD_DSA |
METHOD_NONE |
METHOD_RAND |
METHOD_RSA |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::Engine::EngineError

ancestors: OpenSSL::Engine::EngineError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::HMAC

ancestors: OpenSSL::HMAC < Object < Kernel

Abstract

Singleton Methods

Signature | Description
digest |
hexdigest |

Instance Methods

Signature | Description
self << |
digest |
hexdigest |
to_s |
update |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::HMACError

ancestors: OpenSSL::HMACError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::Netscape::SPKI

ancestors: OpenSSL::Netscape::SPKI < Object < Kernel

Abstract

Instance Methods

Signature Description
challenge
challenge=
public_key
public_key=
sign
to_der
to_pem
to_s
to_text
verify

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::Netscape::SPKIError

ancestors: OpenSSL::Netscape::SPKIError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OpenSSL::OCSP

ancestors: OpenSSL::OCSP

Abstract

Constants

Signature | Description
NOCASIGN |
NOCERTS |
NOCHAIN |
NOCHECKS |
NODELEGATED |
NOEXPLICIT |
NOINTERN |
NOSIGS |
NOTIME |
NOVERIFY |
RESPID_KEY |
RESPONSE_STATUS_INTERNALERROR |
RESPONSE_STATUS_MALFORMEDREQUEST |
RESPONSE_STATUS_SIGREQUIRED |
RESPONSE_STATUS_SUCCESSFUL |
RESPONSE_STATUS_TRYLATER |
RESPONSE_STATUS_UNAUTHORIZED |
REVOKED_STATUS_AFFILIATIONCHANGED |
REVOKED_STATUS_CACOMPROMISE |
REVOKED_STATUS_CERTIFICATEHOLD |
REVOKED_STATUS_CESSATIONOFOPERATION |
REVOKED_STATUS_KEYCOMPROMISE |
REVOKED_STATUS_NOSTATUS |
REVOKED_STATUS_REMOVEFROMCRL |
REVOKED_STATUS_SUPERSEDED |
REVOKED_STATUS_UNSPECIFIED |
TRUSTOTHER |
V_CERTSTATUS_GOOD |
V_CERTSTATUS_REVOKED |
V_CERTSTATUS_UNKNOWN |
V_RESPID_KEY |
V_RESPID_NAME |


class OpenSSL::OCSP::BasicResponse

ancestors: OpenSSL::OCSP::BasicResponse < Object < Kernel

Abstract

Instance Methods

Signature | Description
add_nonce |
add_status |
copy_nonce |
sign |
status |
verify |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::OCSP::CertificateId

ancestors: OpenSSL::OCSP::CertificateId < Object < Kernel

Abstract

Instance Methods

Signature | Description
cmp |
cmp_issuer |
serial |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::OCSP::OCSPError

ancestors: OpenSSL::OCSP::OCSPError < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::OCSP::Request

ancestors: OpenSSL::OCSP::Request < Object < Kernel

Abstract

Instance Methods

Signature | Description
add_certid |
add_nonce |
certid |
check_nonce |
sign |
to_der |
verify |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::OCSP::Response

ancestors: OpenSSL::OCSP::Response < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create |

Instance Methods

Signature | Description
basic |
status |
status_string |
to_der |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::OpenSSLError

ancestors: OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OpenSSL::PKCS12

ancestors: OpenSSL::PKCS12

Abstract

Module Functions

Signature | Description
create |


class OpenSSL::PKCS12::PKCS12

ancestors: OpenSSL::PKCS12::PKCS12 < Object < Kernel

Abstract

Instance Methods

Signature | Description
ca_certs |
certificate |
key |
to_der |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::PKCS12::PKCS12Error

ancestors: OpenSSL::PKCS12::PKCS12Error < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OpenSSL::PKCS7

ancestors: OpenSSL::PKCS7

Abstract

PKCS #7 モジュール

OpenSSL::PKCS7::PKCS7 も参照してください。

Module Functions

Signature Description
encrypt([rcpt], smime)

S/MIME 形式の文字列をメッセージの受け取り手の公開鍵 rcpt を使って暗号化します。

read_smime(str)
read_smime(io)

S/MIME 形式を読み込み、PKCS7 オブジェクトを返します。

sign(cert, key, data, []= nil, flags = 0)

data に証明書 cert を付けて key で署名します。

write_smime(p7sig)
write_smime(p7sig, data, flags = DETACHED)

PKCS7 オブジェクトから S/MIME 形式の文字列を返します。 multipart/signed による平文署名である場合、署名されたデータを data として与えなければなりません。

Constants

Signature | Description
BINARY | MIME canonical format への変換を行いません。
DETACHED | 平文に署名を付ける形式 (multipart/signed) で行います。 PKCS7.sign において DETACHED がセットされていた時にだけ意味をもちます。
NOATTR | 署名した時間などの情報を省略します。
NOCERTS | 署名者の証明書を署名に含めません。送り先がすでに証明書をもっている場合、データの量を減らすことができます。
NOCHAIN |
NOINTERN |
NOSIGS |
NOSMIMECAP | 署名者が使用可能な暗号アルゴリズムの情報などを省略します。
NOVERIFY |
TEXT | text/plain のためのコンテンツに MIME ヘッダーを加えます。DETACHED ビットが立っている時だけ意味をもちます。


class OpenSSL::PKCS7::PKCS7

ancestors: OpenSSL::PKCS7::PKCS7 < Object < Kernel

Abstract

注意

OpenSSL::PKCS7 も参照してください。read_smime, write_smime, sign そして encrypt は OpenSSL::PKCS7 モジュールのモジュールメソッドとして定義されています。

PKCS #7 は暗号技術とともに用いられるデータのフォーマットの仕様です。 データやそれに対する署名、証明した日時など任意の属性を含むことができ、S/MIME などに使用されています。 [RFC2315]

Singleton Methods

Signature Description
new
new(str)
new(io)

PKCS7 オブジェクトを生成します。

Instance Methods

Signature Description
add_certificate
add_crl(s)

CRL に加えます。

add_data(data)

署名の対象となるデータに data を加えます。

add_recipient
add_signer(singer)

署名者を加えます。

certificates
certificates=(certificates)

署名に付ける証明書を指定します。

cipher=(cipher)

使用する暗号アルゴリズムを指定します。

crls
crls=(s)

CRL を返します。

data
data=(data)

署名の対象となるデータを返します。

decrypt(pkey, cert, flags = 0)

復号化します。

detached
detached=(bool)

平文に署名を付ける形式(multipart/signed)かどうかを表します。 type では :signed にあたります。

detached?

実際に署名されていてかつ平文に署名を付ける形式(multipart/signed)かどうかを返します。

error_string
error_string=
recipients
signers

メッセージの署名者 OpenSSL::PKCS7::Signer オブジェクトの配列を返します。

to_der

DER 形式に変換します。

to_pem
to_s

PEM 形式に変換します。

type
type=(type)

タイプを Symbol オブジェクトで返します。次のうちのいずれかの値をとります。

verify(certs, store, indata = nil, flags = 0)

署名を検証します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::PKCS7::RecipientInfo

ancestors: OpenSSL::PKCS7::RecipientInfo < Object < Kernel

Abstract

Instance Methods

Signature | Description
enc_key |
issuer |
serial |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::PKCS7::Signer

ancestors: OpenSSL::PKCS7::Signer < Object < Kernel

Abstract

Instance Methods

Signature | Description
issuer |
name |
serial |
signed_time |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::PKCS7::SignerInfo

ancestors: OpenSSL::PKCS7::SignerInfo < Object < Kernel

Abstract

Instance Methods

Signature | Description
issuer |
name |
serial |
signed_time |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::PKey::DH

ancestors: OpenSSL::PKey::DH < OpenSSL::PKey::PKey < Object < Kernel

Abstract

Diffie-Hellman 暗号クラス

Singleton Methods

Signature Description
generate(size, generator = 2)

Diffie-Hellman 鍵交換の最初のステップである秘密鍵と公開鍵の生成を行ない DH オブジェクトを返します。size は安全な素数のサイズで、単位はビットです。generator は 1 より大きい小さな数で、大抵は 2 か 5 を指定します。

new(size, generator = 2)

DH.generate(size, generator) と同じです。

new(str)
new(io)
new()

DH オブジェクトを生成します。

Instance Methods

Signature Description
compute_key(num)
compute_key(str)
compute_key(bn)

Diffie-Hellman 鍵交換の第2ステップです。共有暗号鍵を自分の秘密鍵と相手の公開鍵 (num, str, bn) から計算して文字列として返します。これで鍵交換は完了します。

export
to_pem
to_s

鍵ペアを PEM 形式で出力します。

g
g=
generate_key!

新たに公開鍵と秘密鍵を生成し直します。

p
p=
params

パラメータの入った Hash オブジェクトを返します。

params_ok?

パラメータ p と g が安全かどうかを判定します。

priv_key
priv_key=(private_key)
private?

秘密鍵を持っているかどうか判定します。

pub_key
pub_key=(public_key)
public?

公開鍵を持っているかどうか判定します。

public_key

公開鍵を複製して DH オブジェクトとして返します。

sign(digest, data)
verify(digest, sign, data)

OpenSSL::PKey::PKey で定義された sign と verify を呼び出すことができますが、 Diffie-Hellman 暗号の性質から、呼び出しても全て PKeyError になります。

to_der

DER 形式に変換します。

to_text

人間が読める形式に変換します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::PKey::DHError

ancestors: OpenSSL::PKey::DHError < OpenSSL::PKey::PKeyError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::PKey::DSA

ancestors: OpenSSL::PKey::DSA < OpenSSL::PKey::PKey < Object < Kernel

Abstract

以下は、data に署名し、署名をもとに data を検証する簡単な例です。

require "openssl"
dsa512 = OpenSSL::PKey::DSA.new(512)
dss1 = OpenSSL::Digest::DSS1.new
data = 'hoge'
sign = dsa512.sign(dss1, data)
p dsa512.verify(dss1, sign, data)

Singleton Methods

Signature Description
generate(size)
new(size)

DSA オブジェクトを生成します。size は鍵長です。

new
new(str)
new(io)

DSA オブジェクトを生成します。

Instance Methods

Signature Description
export
to_pem
to_s

PEM 形式に変換して返します。

g
g=(g)
p
p=(p)
priv_key
priv_key=(private_key)
パラメータ。
private?

秘密鍵をもっている場合に true を返します。

pub_key
pub_key=(public_key)
public?

公開鍵をもっている場合に true を返します。

public_key

公開鍵を返します。

q
q=(q)
sign(digest, data)

data に関して digest を使って署名を作成して文字列として返します。 digest は OpenSSL::PKey::DSS1 のインスタンスです。

to_der

DER 形式にして返します。

to_text

人間が読める形式にして返します。

verify(digest, sign, data)

digest には DSA の性質から OpenSSL::PKey::DSS1 のインスタンスのみ受け付けます。他は 例外 OpenSSL::PKey::PKeyError を投げます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::PKey::PKey

ancestors: OpenSSL::PKey::PKey < Object < Kernel

Abstract

公開鍵暗号のための抽象クラス

例:

require "openssl"
dsa512 = OpenSSL::PKey::DSA.new(512)
dss1 = OpenSSL::Digest::DSS1.new
data = 'hoge'
sign = dsa512.sign(dss1, data)
p dsa512.verify(dss1, sign, data)

Instance Methods

Signature | Description
sign(digest, data) | digest を使って、data に署名し、文字列を返します。digest は OpenSSL::Digest::Digest のサブクラスのインスタンスです。data は文字列です。
verify(digest, sign, data) | digest と sign を使って、data を検証します。digest は OpenSSL::Digest::Digest のサブクラスのインスタンスです。sign と data は文字列です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class OpenSSL::PKey::PKeyError

ancestors: OpenSSL::PKey::PKeyError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::PKey::RSA

ancestors: OpenSSL::PKey::RSA < OpenSSL::PKey::PKey < Object < Kernel

Abstract

RSA 暗号鍵クラス

Singleton Methods

Signature Description
generate(size, exponent = 65537)

RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。size (単位はビット) で鍵の modulus つまりは 鍵のサイズを指定します。size < 1024 では小さ過ぎると考えられています。exponent で public exponent を指定します。exponent には奇数を指定し、大抵の場合、3、17 あるいは 65537 を指定します。

new(size, exponent = 65537)

RSA 暗号鍵オブジェクトを生成します。RSA.generate(size, exponent) と同じです。

new(str, pass = nil)
new(io, pass = nil)
new

RSA 暗号鍵オブジェクトを生成します。pass が指定された場合は、秘密鍵を pass を使って復号化します。

Instance Methods

Signature Description
e
e=
export(cipher = nil, pass = nil)
export
to_pem
to_s

鍵ペアを PEM 形式で出力します。cipher と pass が指定された場合、秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher とパスワード pass を使って暗号化します。

iqmp
iqmp=
n
n=
p
p=
params
private?

秘密鍵を持っているかどうか判定します。

private_decrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を秘密鍵で復号化します。

private_encrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を秘密鍵で暗号化します。

public?

公開鍵を持っているかどうか判定します。

public_decrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を公開鍵で復号化します。

public_encrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を公開鍵で暗号化します。

public_key

公開鍵を複製して RSA オブジェクトとして返します。

q
q=
to_der

DER 形式に変換します。

to_text

人間が読める形式に変換します。

Constants

Signature Description
PKCS1_PADDING
SSLV23_PADDING
NO_PADDING
PKCS1_OAEP_PADDING

OpenSSL::PKey::RSA#public_encrypt、 OpenSSL::PKey::RSA#public_decrypt、 OpenSSL::PKey::RSA#private_encrypt、 OpenSSL::PKey::RSA#private_decrypt の 第二引数に指定できるパディングモード。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint sign verify


class OpenSSL::PKey::RSAError

ancestors: OpenSSL::PKey::RSAError < OpenSSL::PKey::PKeyError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OpenSSL::Random

ancestors: OpenSSL::Random

Abstract

Module Functions

Signature | Description
egd |
egd_bytes |
load_random_file |
pseudo_bytes |
random_bytes |
seed |
write_random_file |


class OpenSSL::Random::RandomError

ancestors: OpenSSL::Random::RandomError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OpenSSL::SSL

ancestors: OpenSSL::SSL

Abstract

  • OpenSSL::SSL::SSLContext
  • OpenSSL::SSL::SSLServer
  • OpenSSL::SSL::SSLSocket

Constants

Signature Description
OP_ALL
OP_CIPHER_SERVER_PREFERENCE
OP_EPHEMERAL_RSA
OP_NETSCAPE_CA_DN_BUG
OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
OP_NO_SSLv2
OP_NO_SSLv3
OP_NO_TLSv1
OP_PKCS1_CHECK_1
OP_PKCS1_CHECK_2
OP_SINGLE_DH_USE
OP_TLS_ROLLBACK_BUG

OpenSSL::SSL::SSLContext#options= に指定できるもの。

VERIFY_CLIENT_ONCE

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

VERIFY_FAIL_IF_NO_PEER_CERT

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

VERIFY_NONE

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

VERIFY_PEER

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。


class OpenSSL::SSL::SSLContext

ancestors: OpenSSL::SSL::SSLContext < Object < Kernel

Abstract

SSL コンテクストクラス

Constants

verify_mode= と options= で指定できる定数に関しては OpenSSL::SSL を参照してください。

Singleton Methods

Signature Description
new(ssl_method)
new

SSLContext オブジェクトを生成します。ssl_method で TLS/SSL method を指定します。ssl_method は文字列かシンボルを与えます。指定できるのは以下のいずれかです。SSL_CTX_new を参照してください。

Instance Methods

Signature Description
ca_file
ca_file=(ca)

接続相手の検証のために使う、信頼している CA 証明書ファイルのパスです。以下のように複数の証明書を含んでいても構いません。

ca_path
ca_path=(ca)

接続相手の証明書の検証のために使う、信頼している CA 証明書ファイルを含むディレクトリです。

cert
cert=(certificate)

所有している証明書です。 OpenSSL::X509::Certificate オブジェクトです。

cert_store
cert_store=(store)

接続相手の証明書の検証のために使う、信頼している CA 証明書のストレージです。 OpenSSL::X509::Store オブジェクトです。通常は ca_path=(path) や ca_file=(path) を使います。

ciphers
ciphers=(ciphers)

使用可能な暗号の配列です。以下のような形式です。

client_ca
client_ca=(ca)

クライアント証明書を要求する時にクライアントに送る CA のリストです。CA の Certificate オブジェクトの配列です。このリストに含まれる CA ―あるはその下位の CA―に署名された証明書をクライアントは送り返すことになっています。

client_cert_cb
client_cert_cb=
extra_chain_cert
extra_chain_cert=(certificates)

証明書チェーンです。所有している証明書からルート CA までの証明書のリストです。これを指定しない場合、ca_file や ca_path で指定した信頼されている証明書のストレージから証明書チェーンを構成しようとします。 順序は以下の通りです。

key
key=(key)

所有している証明書に記載されている公開鍵に対応する秘密鍵です。

options
options=(options)

オプション。定数 OP_* のビットマスクで指定します。

session_id_context
session_id_context=
timeout
timeout=(seconds)

タイムアウトするまでの時間です。単位は秒です。

tmp_dh_callback
tmp_dh_callback=
verify_callback
verify_callback=(proc)

通常の証明書の検証に加えてさらに適用される Proc オブジェクトです。この Proc オブジェクトは preverify_ok と ctx 二つの引数をとります。preverify_ok は true か false の値をとり、verify_mode で設定した通常の証明書の検証が成功したかどうかで決まります。ctx は SSLContext オブジェクトです。この Proc オブジェクトは true か false を返す必要があります。

verify_depth
verify_depth=(depth)

証明書を検証する深さです。

verify_mode
verify_mode=(mode)

検証モードです。デフォルトは nil、つまり検証しません。定数の項を参照してください。定数 VERIFY_* のビットマスクで指定します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::SSL::SSLError

ancestors: OpenSSL::SSL::SSLError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::SSL::SSLServer

ancestors: OpenSSL::SSL::SSLServer < OpenSSL::SSL::SocketForwarder < Object < Kernel

Abstract

SSL サーバーのためのクラス。TCPServer に対応します。

以下はクライアントからの入力を出力するだけの echo サーバーの例です。

require 'socket'
require 'openssl'

include OpenSSL

ctx = SSL::SSLContext.new()
ctx.cert = X509::Certificate.new(File.read('cert.pem'))
ctx.key = PKey::RSA.new(File.read('privkey.pem'))
svr = TCPServer.new(2007)
serv = SSL::SSLServer.new(svr, ctx)

loop do
  while soc = serv.accept
    puts soc.read
  end
end

Singleton Methods

Signature | Description
new(svr, ctx) | svr には TCPServer オブジェクトを、ctx には OpenSSL::SSL::SSLContext オブジェクトを取ります。

Instance Methods

Signature Description
accept

TLS/SSL クライアントから接続を受け付け、OpenSSL::SSL::SSLSocket オブジェクトを返します。start_immediately が真なら SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから SSLSocket オブジェクトを返します。

addr

IPSocket#addr と同様です。

close

接続を閉じます。

closed?

close していたら true を返します。

do_not_reverse_lookup=(bool)

BasicSocket#do_not_reverse_lookup と同様です。

fcntl(cmd[, arg])

IO#fcntl と同様です。

getsockopt(level, optname)

BasicSocket#getsockopt と同様です。

listen

TCPServer#listen と同様です。

peeraddr

IPSocket#peeraddr と同様です。

setsockopt

BasicSocket#setsockopt と同様です。

start_immediately
start_immediately=(bool)

accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを設定します。デフォルトでは true です。

to_io

TCPServer オブジェクトを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::SSL::SSLSocket

ancestors: OpenSSL::SSL::SSLSocket < Enumerable < OpenSSL::SSL::SocketForwarder < Object < Kernel

Abstract

SSLSocket クラス

例

SSL/TLS サーバに接続して write します。

require 'socket'
require 'openssl'
include OpenSSL

soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.write('hoge')
print ssl.peer_cert.to_text
ssl.close
soc.close

Singleton Methods

Signature Description
new(socket)
new(socket, context)

SSLSocket オブジェクトを生成します。socket には TCPSocket オブジェクトを与えます。context には OpenSSL::SSL::SSLContext オブジェクトを与えます。

Instance Methods

Signature Description
self <<

IO#<< と同様です。

accept

TLS/SSL クライアントから接続を受け付け、 TLS/SSL ハンドシェイクを実行し、自分自身を返します。

cipher

現在実際に使われている暗号の情報を配列で返します。 TLS/SSL ハンドシェイクが行われる前の接続されていない状態では nil を返します。 返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる bit 数] となります。

close

接続を閉じます。flush を呼んでから閉じます。

connect

接続相手との TLS/SSL ハンドシェイクを実行します。

context

SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。 OpenSSL::SSL::SSLContext オブジェクトです。

do_not_reverse_lookup=(bool)

BasicSocket#do_not_reverse_lookup と同様です。

each

IO#each と同様です。

each_byte

IO#each_byte と同様です。

eof?

IO#eof? と同様です。

fcntl(cmd[, arg])

IO#fcntl と同様です。

flush

IO#flush と同様です。

getc

IO#getc と同様です。

gets([rs])

IO#gets と同様です。

getsockopt(level, optname)

BasicSocket#getsockopt と同様です。

io
to_io

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

peer_cert

接続相手の X509 証明書 OpenSSL::X509::Certificate オブジェクトを返します。 検証結果は別途知る必要があります。

peer_cert_chain

接続相手の証明書チェーンすなわち OpenSSL::X509::Certificate オブジェクトの配列を返します。接続相手の証明書からルート CA の証明書までのリストで、順序は以下の通りです。

pending

読み取り可能なバイト数を返します。

post_connection_check
print([arg[, ...]])

IO#print と同様です。

printf(format[, arg[, ...]])

IO#printf と同様です。

puts([obj[, ...]])

IO#puts と同様です。

read([length[, buf]])

IO#read と同様です。

readchar

IO#readchar と同様です。

readlines([rs])

IO#readlines と同様です。

setsockopt(level, optname, optval)

BasicSocket#setsockopt と同様です。

state

現在の状態を 6 文字の文字列で返します。

sync_close
sync_close=
sysclose

接続を閉じます。相手に'close notify'を送ります。

sysread(length[, buf])

IO#sysread と同様です。

syswrite(string)

IO#syswrite と同様です。

ungetc(char)

IO#ungetc と同様です。

write(str)

IO#write と同様です。

Constants

Signature | Description
BLOCK_SIZE |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::SSL::SocketForwarder

module OpenSSL::SSL::SocketForwarder

ancestors: OpenSSL::SSL::SocketForwarder

Abstract


module OpenSSL::X509

ancestors: OpenSSL::X509

Abstract

  • OpenSSL::X509::Certificate
  • OpenSSL::X509::Store

以下は OpenSSL::X509::Store#purpose にセットされる値です。

Constants

Signature | Description
PURPOSE_ANY | どんな目的に対しても使えるか。
PURPOSE_CRL_SIGN | CRL の署名をするのに使えるか。
PURPOSE_NS_SSL_SERVER | Netscape SSL server の証明書として使えるか。
PURPOSE_SMIME_ENCRYPT | S/MIME の暗号化をするのに使えるか。
PURPOSE_SMIME_SIGN | S/MIME の署名をするのに使えるか。
PURPOSE_SSL_CLIENT | SSL のクライアントサイドの証明書として使えるか。
PURPOSE_SSL_SERVER | SSL のサーバサイドの証明書として使えるか。
TRUST_COMPAT |
TRUST_EMAIL |
TRUST_OBJECT_SIGN |
TRUST_SSL_CLIENT |
TRUST_SSL_SERVER | 以下は OpenSSL::X509::Store#error にセットされる値です。
V_ERR_AKID_SKID_MISMATCH |
V_ERR_APPLICATION_VERIFICATION |
V_ERR_CERT_CHAIN_TOO_LONG |
V_ERR_CERT_HAS_EXPIRED |
V_ERR_CERT_NOT_YET_VALID |
V_ERR_CERT_REJECTED |
V_ERR_CERT_REVOKED |
V_ERR_CERT_SIGNATURE_FAILURE |
V_ERR_CERT_UNTRUSTED |
V_ERR_CRL_HAS_EXPIRED |
V_ERR_CRL_NOT_YET_VALID |
V_ERR_CRL_SIGNATURE_FAILURE |
V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT |
V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD |
V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD |
V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD |
V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD |
V_ERR_INVALID_CA |
V_ERR_INVALID_PURPOSE |
V_ERR_KEYUSAGE_NO_CERTSIGN |
V_ERR_OUT_OF_MEM |
V_ERR_PATH_LENGTH_EXCEEDED |
V_ERR_SELF_SIGNED_CERT_IN_CHAIN |
V_ERR_SUBJECT_ISSUER_MISMATCH |
V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY |
V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE |
V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE |
V_ERR_UNABLE_TO_GET_CRL |
V_ERR_UNABLE_TO_GET_ISSUER_CERT |
V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY |
V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE |
V_OK |


class OpenSSL::X509::Attribute

ancestors: OpenSSL::X509::Attribute < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
oid
oid=
to_der
value
value=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::AttributeError

ancestors: OpenSSL::X509::AttributeError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::CRL

ancestors: OpenSSL::X509::CRL < Object < Kernel

Abstract

CRL(証明書失効リスト) クラス。

Singleton Methods

Signature Description
new
new(str)
new(io)

Instance Methods

Signature Description
add_extension(ex)

拡張領域に値を加えます。

add_revoked(rev)

CRL に失効した証明書を加えます。rev は OpenSSL::X509::Revoked オブジェクトです。

extensions
extensions=(extensions)

CRL の拡張領域。OpenSSL::X509::Extension の配列。

issuer
issuer=(issuer)

CRL の発行者。

last_update
last_update=(time)

最後に更新された日時。

next_update
next_update=(time)

次に更新する日時。

revoked
revoked=(rev)

失効した証明書の配列です。OpenSSL::X509::Revoked オブジェクトの Array。

sign(pkey, chain = nil)

CRL に署名します。

signature_algorithm

署名に使ったアルゴリズム。

to_der

DER 形式に変換します。

to_pem
to_s

PEM 形式に変換します。

to_text

人間が読める形式に変換します。

verify(key)

発行者の公開鍵で CRL に記載されている署名を検証します。

version
version=(version)

CRL のバージョン。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::CRLError

ancestors: OpenSSL::X509::CRLError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::Certificate

ancestors: OpenSSL::X509::Certificate < Object < Kernel

Abstract

X509 証明書クラス

Singleton Methods

Signature Description
new
new(str)
new(io)

証明書オブジェクトを生成します。

Instance Methods

Signature Description
add_extension(ext)

拡張領域に値を加えます。ext は OpenSSL::X509::Extension オブジェクトです。

check_private_key(pkey)

与えられた秘密鍵が証明書に記載されている subject の公開鍵と対応するものかを確かめます。

extensions
extensions=(extensions)

証明書の拡張領域 OpenSSL::X509::Extension オブジェクトの Array です。

issuer
issuer=(name)

証明書の発行者 (CA) の名前 OpenSSL::X509::Name オブジェクトです。

not_after
not_after=(time)

証明書が無効になる時刻 Time オブジェクトです。

not_before
not_before=(time)

証明書が有効になる時刻 Time オブジェクトです。

public_key
public_key=(pkeu)

証明書に記載された公開鍵 OpenSSL::PKey::RSA オブジェクトです。

serial
serial=(serial)

発行者 (CA) が証明書に付ける識別番号です。

sign(pkey, digest)

証明書に署名します。pkey は発行者の秘密鍵です。digest は OpenSSL::Digest::Digest オブジェクトです。秘密鍵オブジェクトが OpenSSL::PKey::DSA のインスタンスである場合、 digest は OpenSSL::Digest::DSS1 オブジェクトでなければなりません。逆も同じです。OpenSSL::Digest::DSS1 は OpenSSL::PKey::DSA 以外のダイジェストとして使えません。

signature_algorithm

発行者 (CA) が証明書に署名するのに使ったアルゴリズムです。

subject
subject=(name)

証明書の所有者の名前 OpenSSL::X509::Name オブジェクトです。 http://www.ipa.go.jp/security/pki/033.html#_Toc3020767

to_der

DER 形式に変換します。

to_pem
to_s

PEM 形式に変換します。

to_text

人間が読める形式に変換します。

verify(key)

key は証明書の発行者の公開鍵です。 key で証明書の署名を検証します。

version
version=(version)

X509 証明書の version です。 v1の場合は 0 、v3 の場合は 2 となります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::CertificateError

ancestors: OpenSSL::X509::CertificateError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::Extension

ancestors: OpenSSL::X509::Extension < Object < Kernel

Abstract

X.509 v3 証明書の拡張領域のためのクラスです。OpenSSL::X509::Certificate オブジェクトは その拡張領域を Extension オブジェクトの配列として保持しています。

  • OpenSSL::X509::ExtensionFactory

例

require 'openssl'
require 'open-uri'

der = open('http://csrc.nist.gov/pki/pkixtools/cert1.der').read
cert = OpenSSL::X509::Certificate.new(der)
p cert.extensions.class # => Array
p cert.extensions
# => [subjectKeyIdentifier = 86:CA:A5:22:81:62:EF:AD:0A:89:BC:AD:72:41:2C:29:49:F4:86:56,
      basicConstraints = critical, CA:TRUE]
p cert.extensions[0].class # => OpenSSL::X509::Extension

参照

*[RFC 3280] [[unknown:Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile|URL:http://www.ipa.go.jp/security/rfc/RFC3280-04EN.html#42]]

Singleton Methods

Signature | Description
new(oid, value, critical) | Extension オブジェクトを生成します。oid には拡張領域の OID をあらわす OpenSSL::ASN1::ObjectId オブジェクト、あるいは OID の short name か long name である文字列を与えます。value にはその値を表す DER 形式の文字列か OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスを与えます。

Instance Methods

Signature Description
critical=(bool)
critical?

クリティカルかどうかを設定します。

oid
oid=(oid)

OID を文字列で設定します。

to_a
to_der

DER 形式に変換します。

to_h
to_s
value
value=(value)

値を設定します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::ExtensionError

ancestors: OpenSSL::X509::ExtensionError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::ExtensionFactory

ancestors: OpenSSL::X509::ExtensionFactory < Object < Kernel

Abstract

[[unknown:執筆者募集]]

openssl

Singleton Methods

Signature | Description
new([issuer_cert [, subject_cert [, subject_req [, crl]]]]) | ExtensionFactory オブジェクトを生成します。

Instance Methods

Signature Description
config
config=(config)
create_ext(oid, value, critical = false)

OpenSSL::X509::Extension を生成して返します。

create_ext_from_array
create_ext_from_hash
create_ext_from_string
crl
crl=(crl)
issuer_certificate
issuer_certificate=(name)

issuer の証明書を設定します。

subject_certificate
subject_certificate=(name)

subject の証明書を設定します。

subject_request
subject_request=(name)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::Name

ancestors: OpenSSL::X509::Name < Object < Kernel

Abstract

Singleton Methods

Signature Description
new([[oid1, val1], [oid2, val2] ...], template = OBJECT_TYPE_TEMPLATE)
new

Name オブジェクトを生成します。

parse(str)

名前をパースして Name オブジェクトを返します。

parse_openssl
parse_rfc2253

Instance Methods

Signature Description
cmp(name)
self <=>

他の Name オブジェクトと比較します。

add_entry(oid, value, type = nil)

エントリー oid に value を設定します。type を指定することも出来ます。type を指定しない場合は oid より自動的に判別します。

to_a

配列にして返します。

to_der

DER 形式を返します。

to_s

人間の読める形式にして返します。

Constants

Signature | Description
COMPAT |
DEFAULT_OBJECT_TYPE | エントリーのデフォルトのタイプです。UTF8文字列です。
MULTILINE |
OBJECT_TYPE_TEMPLATE | エントリーのタイプを収納したハッシュです。エントリーをキーとして、値にタイプが収納されています。キーは次の文字列、
ONELINE |
RFC2253 |
RFC2253DN |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::NameError

ancestors: OpenSSL::X509::NameError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::Request

ancestors: OpenSSL::X509::Request < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
add_attribute
attributes
attributes=
public_key
public_key=
sign
signature_algorithm
subject
subject=
to_der
to_pem
to_s
to_text
verify
version
version=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::RequestError

ancestors: OpenSSL::X509::RequestError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::Revoked

ancestors: OpenSSL::X509::Revoked < Object < Kernel

Abstract

失効した証明書のクラス。OpenSSL::X509::CRL クラスから使われます。

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
add_extension(ex)

拡張領域に値を加えます。

extensions
extensions=(extensions)

拡張領域です。OpenSSL::X509::Extension の配列です。

serial
serial=(serial)

失効した証明書のシリアルです。

time
time=(time)

失効した日時です。Time オブジェクトです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::RevokedError

ancestors: OpenSSL::X509::RevokedError < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::Store

ancestors: OpenSSL::X509::Store < OpenSSL::OpenSSLError < StandardError < Exception < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
add_cert(cert)

証明書を信頼する証明書としてストレージに加えます。

add_crl(crl)

信頼する CRL(証明書失効リスト) OpenSSL::X509::CRL オブジェクトをストレージに加えます。

add_file(file)

ファイルに含まれる証明書を信頼する証明書としてストレージに加えます。

add_path(path)

パスに含まれる証明書を信頼する証明書としてストレージに加えます。

chain

最後に verify(cert) した証明書を出発点とするルート CA 証明書までの証明書のチェーンです。OpenSSL::X509::Certificate オブジェクトの配列です。verify を一度も呼び出していない時は nil を返します。証明書の順序は以下の通りです。

error

OpenSSL::X509 を参照してください。

error_string

verify を呼び出した時のエラー内容を述べた文字列です。エラーでない場合は、"ok" がセットされます。verify を一度も呼び出していない時は nil です。

flags=(flags)
purpose=(purpose)

証明書の使用目的を設定します。verify では検証対象の証明書がこの目的に使えるかどうかも検証します。OpenSSL::X509 の定数を参照してください。

set_default_paths
time=
trust=(trust)

OpenSSL::X509 の定数を参照してください。

verify(cert, chain = nil)

証明書 cert をストレージに存在する CA 証明書で検証します。

verify_callback
verify_callback=(proc)

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OpenSSL::X509::StoreContext

ancestors: OpenSSL::X509::StoreContext < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
chain
cleanup
current_cert
current_crl
error
error=
error_depth
error_string
flags=
purpose=
time=
trust=
verify

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library optparse

Abstract

コマンドラインのオプションを取り扱うためのライブラリです。

optparse::チュートリアル

optparse を使う場合、基本的には

  1. OptionParser オブジェクト opt を生成する。
  2. オプションを取り扱うブロックを opt に登録する。
  3. opt.parse(ARGV) でコマンドラインを実際に parse する。

というような流れになります。

オプションの定義

以下はオプション -a, -b を受け付けるコマンドを作成する例です。

require 'optparse'
opt = OptionParser.new

opt.on('-a') {|v| p v }
opt.on('-b') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby sample.rb -a foo bar -b baz
# => true
     true
     ["foo", "bar", "baz"]

on() メソッドの引数でオプションを定義し、引数が指定された時の処理を ブロックで記述します。ブロックの引数にはオプションが指定されたことを 示す true が渡されます(((<optparse::チュートリアル/オプションの引数>))も参照)。

Enumerable#each などと違い、on() メソッドが呼ばれた時点ではブロックは実行されません。 あくまで登録されるだけです。 parse が呼ばれた時に、コマンドラインにオプションが指定されていれば実行されます。

オプションの指定はコマンドの直後である必要はありません(上の例で、-b はオプションと して認識されている)。ただし、環境変数 POSIXLY_CORRECT が定義してあると この挙動は変更されます。

env POSIXLY_CORRECT=1 ruby ./sample.rb -a foo bar -b baz
# => true                               # -a はオプションと解釈
     ["foo", "bar", "-b", "baz"]        # -b は非オプションと解釈

parse! により、コマンドライン(ARGV)の解析を行います。 parse! では、ARGV からオプションが取り除かれます。 これを避けるには parse を使います。

require 'optparse'
opt = OptionParser.new

opt.on('-a') {|v| p v }
opt.on('-b') {|v| p v }

# parse() の場合、ARGVは変更されない。
# オプションを取り除いた結果は argv に設定される。
argv = opt.parse(ARGV)

p argv

定義していないオプションを指定すると例外 OptionParser::InvalidOption が 発生します。

ruby ./sample.rb -c
/usr/local/lib/ruby/1.9/optparse.rb:1428:in `complete': invalid option: -c (OptionParser::InvalidOption)
        from /usr/local/lib/ruby/1.9/optparse.rb:1426:in `catch'
        from /usr/local/lib/ruby/1.9/optparse.rb:1426:in `complete'
        from /usr/local/lib/ruby/1.9/optparse.rb:1287:in `order!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1256:in `catch'
        from /usr/local/lib/ruby/1.9/optparse.rb:1256:in `order!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1336:in `permute!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1363:in `parse!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1356:in `parse'
        from ./sample.rb:9

OptionParser 自体は、どのオプションが指定されたかを記憶しません。 後の処理の方で、オプションによる条件判断を加えるには、 他のコンテナに格納します。

require 'optparse'
opt = OptionParser.new

OPTS = {}

opt.on('-a') {|v| OPTS[:a] = v }
opt.on('-b') {|v| OPTS[:b] = v }

opt.parse!(ARGV)
p ARGV
p OPTS

ruby sample.rb -a foo bar -b baz
# => ["foo", "bar", "baz"]
     {:a=>true, :b=>true}

オプションの引数

on() メソッドのオプション定義で末尾に何かを書くと、そのオプション は引数を受け付けることの指定となります。

require 'optparse'
opt = OptionParser.new

opt.on('-a VAL') {|v| p v }         # <- " VAL" を追加
opt.on('-b') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby sample.rb -a foo bar -b baz

# => "foo"
     true
     ["bar", "baz"]

オプションの末尾の書き方の基準は、「ヘルプの見栄えが良くなるように書く」です。 オプションの引数を省略すると例外 OptionParser::MissingArgument が発生します。

ruby ./sample.rb -a
/usr/local/lib/ruby/1.9/optparse.rb:455:in `parse': missing argument: -a (OptionParser::MissingArgument)
        from /usr/local/lib/ruby/1.9/optparse.rb:1295:in `order!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1256:in `catch'
        from /usr/local/lib/ruby/1.9/optparse.rb:1256:in `order!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1336:in `permute!'
        from /usr/local/lib/ruby/1.9/optparse.rb:1363:in `parse!'
        from ./sample.rb:7

オプションの引数が必須でないことを示すには、" [" を付けます。

require 'optparse'
opt = OptionParser.new

opt.on('-a [VAL]') {|v| p v }          # <- [VAL] を追加
opt.on('-b') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby sample.rb -a

# => nil
     []

同様に、ヘルプの見栄えが良いように "VAL]" を付加しています。

ショートオプションの引数指定は使いにくいので、このような場合はロング オプションの方が使う方もわかりやすいです。例えば、上記の場合、-ab を 指定すると -a b と解釈されます。-a が引数を持たない最初の例なら -a -b と 解釈されます。

ロングオプション

ロングオプションは on() の引数に '--'で始まるオプションを指定します。

require 'optparse'
opt = OptionParser.new

opt.on('-a', '--foo') {|v| p v }
opt.on('--bar') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby sample.rb -a foo bar --bar baz
# => true
     true
     ["foo", "bar", "baz"]

--[no-]...などとすることで、否定型のオプションを指定することができます。

require 'optparse'
opt = OptionParser.new

opt.on('-a', '--foo') {|v| p v }
opt.on('--[no-]bar') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby sample.rb -a foo bar --bar baz --no-bar
# => true
     true
     false                              # <- --no-bar の指定による。
     ["foo", "bar", "baz"]

オプションに対する引数も指定できます。ショートオプションと同じだが、 GNUの慣習にあわせて

opt.on('-a', '--foo=VAL') {|v| p v }
opt.on('--[no-]bar[=VAL]') {|v| p v }

と "=" を使うのが良いと思われます。

オプションを指定する時は、どのオプションか一意に決まる長さまで指定す れば良いです。

require 'optparse'
opt = OptionParser.new

opt.on('-a', '--foo') {|v| p v }
opt.on('--[no-]bar') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby sample.rb --fo

この例では、--fo は、--foo を指定したのと同じになります。この例なら --f まで省略できます。

ヘルプ

デフォルトで --help と --version オプションを認識します。

ruby ./sample.rb --help
# => Usage: sample [options]

ruby ./sample.rb --version
# => *出力なし*

--version は、トップレベルに Version 定数が定義されていると出力されます。 (優先度は低いが VERSION 定数も参照します。Ruby のバージョンを示す VERSION 定数が ruby 1.8 までは定義されているので注意)

require 'optparse'
opt = OptionParser.new
Version = "1.2.3"       # opt.version = "1.2.3"
opt.parse!(ARGV)

ruby ./sample.rb --version
# => sample 1.2.3

on の引数にそのオプションの説明を加えると --help の出力に反映されます。

require 'optparse'
opt = OptionParser.new

opt.on('-a', 'description of -a') {|v| p v }
opt.on('-b', 'description of -b') {|v| p v }

opt.parse!(ARGV)
p ARGV

ruby ./sample.rb --help
# => Usage: sample [options]
        -a                               description of -a
        -b                               description of -b

サブコマンド

以下は cvs や svn のようにサブコマンドを解釈する例です。

#! /usr/bin/ruby
# contributed by Minero Aoki.

require 'optparse'

parser = OptionParser.new
parser.on('-i') { puts "-i" }
parser.on('-o') { puts '-o' }

subparsers = Hash.new {|h,k|
  $stderr.puts "no such subcommand: #{k}"
  exit 1
}
subparsers['add'] = OptionParser.new.on('-i') { puts "add -i" }
subparsers['del'] = OptionParser.new.on('-i') { puts "del -i" }
subparsers['list'] = OptionParser.new.on('-i') { puts "list -i" }

parser.order!(ARGV)
subparsers[ARGV.shift].parse!(ARGV) unless ARGV.empty?

実行すると以下のようになります。

$ ruby subcom.rb -i add -i
-i
add -i

$ ruby subcom.rb list -i
list -i

OptionParser#order! がオプションではない コマンドの引数に出会うとそこでパースを中断することを利用しています。

ARGV の機能

optparse を require すると ARGV に OptionParser::Arguable の機能 が加わります。以下の書き方ができるようになります。 OptionParser::Arguable#getopts はオプションを保持した Hash を返します。

# sample.rb の内容
require 'optparse'
params = ARGV.getopts("a:b:", "foo", "bar:")
p params

この sample.rb を実行すると

$ ruby sample.rb -a 1 --foo --bar xxx
{"a"=>"1", "b"=>nil, "foo"=>true, "bar"=>"xxx"}

のようになります。

'-'で始まるファイル名

'-'で始まるファイル名をコマンドに渡したい場合は以下のように間に"--"を挟みます。

$ ruby sample.rb -- -file

"-file" がオプションではない引数として解釈されます。 これは POSIX.2 の getopt(3) に由来します。"--" 以降はすべてオプションではない引数として解釈されます。

Classes/Modules

class OptionParser | コマンドラインのオプションを取り扱うためのクラスです。
module OptionParser::Arguable | 主に Kernel::ARGV を拡張するために用意されたモジュールです。 optparse を require することにより、ARGV は OptionParser::Arguable を Object#extend します。

Exception Classes

class OptionParser::AmbiguousArgument | オプションの引数が曖昧にしか補完できない場合に投げられます。
class OptionParser::AmbiguousOption | 補完が曖昧にしかできないオプションがあった場合に投げられます。
class OptionParser::InvalidArgument | オプションの引数が指定されたパターンにマッチしない時に投げられます。
class OptionParser::InvalidOption | 定義されていないオプションが与えられた場合に投げられます。
class OptionParser::MissingArgument | 引数が必要なオプションに引数が与えられなかった場合に投げられます。
class OptionParser::NeedlessArgument | 引数を取らないはずのオプションに引数が与えられた場合に投げられます。
class OptionParser::ParseError | OptionParser の例外クラスの基底クラスです。

Sub-Libraries

optparse/date | OptionParser#on で使用可能なクラスに Date と DateTime が 追加されます。 オプションの引数はそれぞれのクラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。
optparse/shellwords | OptionParser#on で使用可能な引数に Shellwords 追加されます。 オプションの引数は Shellwords.#shellwords によって配列に変換されてから、 OptionParser#on のブロックに渡されます。
optparse/time | OptionParser#on で使用可能なクラスに Time が 追加されます。 オプションの引数は Time クラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。
optparse/uri | OptionParser#on で使用可能なクラスに URI が 追加されます。 オプションの引数は URI クラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

Added/Redefined Methods

Kernel::ARGV


class OptionParser

ancestors: OptionParser < Object < Kernel

Abstract

コマンドラインのオプションを取り扱うためのクラスです。

オプションが指定された時に呼ばれるブロックを OptionParser#on メソッドで登録していきます。 つまり、OptionParser を使う場合、基本的には

  • (1) OptionParser オブジェクト opt を生成する。
  • (2) オプションを取り扱うブロックを opt に登録する。
  • (3) opt.parse(ARGV) でコマンドラインを実際に parse する。

というような流れになります。

require "optparse"
ProgramConfig = Hash.new
opts = OptionParser.new
opts.on("-a"){|v| ProgramConfig[:a] = true } # オプション「-a」がコマンドラインで指定されていた場合の動作。
opts.parse!(ARGV)                            # 実際にコマンドラインの parse を行う。

デフォルトで利用可能なオプション

以下はデフォルトで利用可能なオプションです。オプションサマリには 出てきません。

--help

オプションサマリを表示してから exit します。

--version

OptionParser#ver を表示してから exit します。 OptionParser#ver が定義されていない場合は、そのようにエラーメッセージを出力して abort します。 オプション「--version」に「,」で区切られたクラス名かモジュール名を引数として与えた場合は、そのクラスおよびモジュールで定義されている定数「Version」および「Release」を表示して、終了します。

 $ ruby t.rb --version=OptionParser,URI,OpenSSL
 t: OptionParser version 12203 (2007-04-20)
 t: URI version 0.9.11
 t: OpenSSL version 1.0.0

Singleton Methods

Signature Description
accept(klass, pat = /.*/) {|str| ...} -> ()

オプションの引数を文字列から Ruby のオブジェクトに変換するための ブロックを登録します。すべての OptionParser インスタンスに共通です。

getopts(argv, *opts)
getopts(*opts)

self.new.getopts(*args) と同じです。 OptionParser#getopts を参照して下さい。

new(banner = nil, width = 32, indent = ' ' * 4) -> OptionParser
new(banner = nil, width = 32, indent = ' ' * 4) {|opt| ...} -> OptionParser

OptionParser オブジェクトを生成して返します。

reject(klass) -> ()

OptionParser.accept メソッドで登録したブロックを削除します。

Instance Methods

Signature Description
accept(klass, pat = /.*/) {|str| ...} -> ()

OptionParser.accept と同様ですが、 登録したブロックはレシーバーに限定されます。

banner -> String
banner=(heading)

サマリの最初に表示される文字列を表すアクセサです。

default_argv -> [String]
default_argv=(argv)

自身がデフォルトでパースする引数を表すアクセサです。 文字列の配列です。

environment(env) -> [String]

環境変数 env に対して Shellwords.#shellwords を呼 んで配列にしてから parse を行ないます。

getopts(argv, *opts) -> Hash
getopts(*opts) -> Hash

getopts 相当の機能を提供します。 getopts と違って、グローバル変数を定義しません。 引数をパースした結果を、Hash として返します。

help -> String
to_s -> String

サマリの文字列を返します。

load(filename = nil) -> bool

指定された filename を読み込んで各行をまとめたものに対して OptionParser#parse を行ないます。

on(short, desc = "") {|v| ... } -> self
on(long, desc = "") {|v| ... } -> self
on(short, long, desc = "") {|v| ... } -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

on(short, pat = /.*/, desc = "") {|v| ...} -> self
on(long, pat = /.*/, desc = "") {|v| ...} -> self
on(short, long, pat = /.*/, desc = "") {|v| ...} -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

on(short, klass = String, desc = "") {|v| ...} -> self
on(long, klass = String, desc = "") {|v| ...} -> self
on(short, long, klass = String, desc = "") {|v| ...} -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

on(short, *rest) {|v| ...} -> self
on(long, *rest) {|v| ...} -> self
on(short, long, *rest) {|v| ...} -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

on_head(*arg, &block)
on_tail(*arg, &block)

OptionParser#onと同様、オプションを取り扱うためのブロックを自身に登録します。 on メソッドと違う点は、OptionParser オブジェクトが保持している リストの最初かあるいは最後にブロックを登録する点です。

order(argv) -> [String]
order(argv) {|s| ...} -> [String]
order(*args) -> [String]
order(*args) {|s| ...} -> [String]

与えられた argv を順番にパースします。 オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。

order!(argv = self.default_argv) -> [String]
order!(argv = self.default_argv) {|s| ...} -> [String]

与えられた argv を順番に破壊的にパースします。 argv からオプションがすべて取り除かれます。 argv を返します。

parse(argv) -> [String]
parse(*args) -> [String]

与えられた argv をパースします。 argv からオプションを取り除いたものを返します。

parse!(argv = self.default_argv) -> [String]

与えられた argv をパースします。

permute(argv) -> [String]
permute(*args) -> [String]

与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。

permute!(argv = self.default_argv) -> [String]

与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。

program_name -> String
program_name=(name)

プログラムの名前を表すアクセサです。デフォルトは $0 が使われます。

reject(klass) -> ()

OptionParser#accept で登録したクラスとブロックを 自身から削除します。

release -> String
release=(rel)

Release code.

separator(sep) -> ()

サマリにオプションを区切るための文字列 sep を挿入します。 オプションにいくつかの種類がある場合に、サマリがわかりやすくなります。

summarize(to = [], width = self.summary_width, max = width - 1, indent= self.summary_indent) -> ()
summarize(to = [], width = self.summary_width, max = width - 1, indent= self.summary_indent) {|line| ... } -> ()

サマリを指定された to へと加えていきます。

summary_indent -> String
summary_indent=(indent)

サマリを表示する時のインデントを表すアクセサです。

summary_width -> Integer
summary_width=(width)

サマリを表示するときの幅を表すアクセサです。

to_a -> [String]

サマリの各行を要素とした配列を返します。

ver -> String

program_name、version と release から生成したバージョンを表す文字列を返します。

version -> String
version=(ver)

プログラムのバージョンを表すアクセサです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class OptionParser::AmbiguousArgument

ancestors: OptionParser::AmbiguousArgument < OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

オプションの引数が曖昧にしか補完できない場合に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OptionParser::AmbiguousOption

ancestors: OptionParser::AmbiguousOption < OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

補完が曖昧にしかできないオプションがあった場合に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module OptionParser::Arguable

ancestors: OptionParser::Arguable

Abstract

主に Kernel::ARGV を拡張するために用意されたモジュールです。 optparse を require することにより、ARGV は OptionParser::Arguable を Object#extend します。

コマンドライン引数を表す文字列の配列を、拡張するためにも使うことができます。

Instance Methods

Signature Description
getopts(short_opt, *long_opt) -> Hash

指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。

options -> OptionParser
options {|opt| ... } -> object | nil

自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。

options=(opt)

自身をパースするための OptionParser オブジェクトをセットします。

order! -> [String]
order! {|s| ... } -> [String]

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#order! を参照して下さい。

parse! -> [String]

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#parse! を参照して下さい。

permute! -> [String]

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#permute! を参照して下さい。


class OptionParser::InvalidArgument

ancestors: OptionParser::InvalidArgument < OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

オプションの引数が指定されたパターンにマッチしない時に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OptionParser::InvalidOption

ancestors: OptionParser::InvalidOption < OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

定義されていないオプションが与えられた場合に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OptionParser::MissingArgument

ancestors: OptionParser::MissingArgument < OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

引数が必要なオプションに引数が与えられなかった場合に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OptionParser::NeedlessArgument

ancestors: OptionParser::NeedlessArgument < OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

引数を取らないはずのオプションに引数が与えられた場合に投げられます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class OptionParser::ParseError

ancestors: OptionParser::ParseError < StandardError < Exception < Object < Kernel

Abstract

OptionParser の例外クラスの基底クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library optparse/date

Abstract

OptionParser#on で使用可能なクラスに Date と DateTime が 追加されます。 オプションの引数はそれぞれのクラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

require 'optparse/date'
opts = OptionParser.new

opts.on("-d DATE", Date){|d|
  p d.to_s #=> 2000-01-01
}
opts.parse!

# ruby command -d 2000/1/1

Required Libraries

optparse

コマンドラインのオプションを取り扱うためのライブラリです。


library optparse/shellwords

Abstract

OptionParser#on で使用可能な引数に Shellwords 追加されます。 オプションの引数は Shellwords.#shellwords によって配列に変換されてから、 OptionParser#on のブロックに渡されます。

require 'optparse/shellwords'
opts = OptionParser.new

opts.on("-s VAL", Shellwords){|a|
  p a #=> ["hoge", "foo", "bar"]
}
opts.parse!

# ruby command -s hoge\ foo\ bar

Required Libraries

optparse

コマンドラインのオプションを取り扱うためのライブラリです。


library optparse/time

Abstract

OptionParser#on で使用可能なクラスに Time が 追加されます。 オプションの引数は Time クラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

require 'optparse/uri'
opts = OptionParser.new

opts.on("-t TIME", Time){|t|
  p t #=> Sat, Jan 01 2000 00:00:00 +0900
}

# ruby command -t '2000/01/01 00:00'

Required Libraries

optparse

コマンドラインのオプションを取り扱うためのライブラリです。


library optparse/uri

Abstract

OptionParser#on で使用可能なクラスに URI が 追加されます。 オプションの引数は URI クラスのインスタンスに変換されてから、 OptionParser#on のブロックに渡されます。

require 'optparse/uri'
opts = OptionParser.new

opts.on("-u URI", URI){|u|
  p u #=> #<URI::HTTP:0x201267d4 URL:http://www.example.com>
}
opts.parse!

# ruby command -u http://www.example.com

Required Libraries

optparse

コマンドラインのオプションを取り扱うためのライブラリです。


library ostruct

Abstract

要素を動的に追加・削除できる手軽な構造体を提供するライブラリです。

Classes/Modules

class OpenStruct

要素を動的に追加・削除できる手軽な構造体を提供するクラスです。


class OpenStruct

ancestors: OpenStruct < Object < Kernel

Abstract

要素を動的に追加・削除できる手軽な構造体を提供するクラスです。

OpenStruct のインスタンスに対して未定義なメソッド x= を呼ぶと、 OpenStruct クラスの Object#method_missing で捕捉され、そのインスタンスに インスタンスメソッド x, x= が定義されます。 この挙動によって要素を動的に変更できる構造体として働きます。

require 'ostruct'
ab = OpenStruct.new
ab.foo = 25
p ab.foo          # => 25
ab.bar = 2
p ab.bar          # => 2
p ab              # => <OpenStruct foo=25, bar=2>
ab.delete_field("foo")
p ab.foo          # => nil
p ab              # => <OpenStruct bar=2>

初期化にハッシュを使用することもできます。

son = OpenStruct.new({ :name => "Thomas", :age => 3 })
p son.name        # => "Thomas"
p son.age         # => 3
son.age += 1
p son.age         # => 4
son.items = ["candy","toy"]
p son.items       # => ["candy","toy"]
p son             # => #<OpenStruct name="Thomas", age=4, items=["candy", "toy"]>

フリーズされている OpenStruct について

Ruby のバージョンごとに挙動が異なるので注意してください。 以下のコードを実行した場合は、表のようになります。

require 'ostruct'
a = OpenStruct.new
a.x = :a
a.freeze
a.x = :b # この部分の挙動が異なる

1.8.0 再代入可能
1.8.1 TypeError
1.8.2 再代入可能
1.8.3 再代入可能
1.8.4 再代入可能
1.8.5 再代入可能
1.8.6 再代入可能
1.8.7 再代入可能
1.8.8 TypeError
1.9.1 再代入可能
1.9.2 TypeError

同様に以下のコードを実行した場合は全てのバージョンで例外が発生します。

require 'ostruct'
a = OpenStruct.new
a.x = :a
a.freeze
a.y = :b # TypeError

Singleton Methods

Signature | Description
new(hash = nil) -> OpenStruct | OpenStruct オブジェクトを生成します。

Instance Methods

Signature Description
self == other -> bool

自身と比較対象のオブジェクトが等しい場合に真を返します。 そうでない場合は、偽を返します。

delete_field(name) -> object

nameで指定された要素を削除します。

inspect -> String
to_s -> String

オブジェクトを人間が読める形式に変換した文字列を返します。

new_ostruct_member(name) -> Symbol

与えられた名前のアクセサメソッドを自身に定義します。

Constants

Signature | Description
InspectKey | 内部的に使用する定数です。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library parsearg

Abstract

このライブラリは obsolete です。 代わりに optparse か getoptlong を使ってください。

getopts ライブラリを拡張して コマンドラインオプションの条件を指定できるようにするライブラリです。 また、指定したオプションが条件にあっていない場合はヘルプメッセージを出力します。

オプション解析

parsearg ライブラリのオプション解析規則は getopts とまったく同じです．

ヘルプメッセージの設定

オプションの解析に失敗したときのヘルプメッセージを設定するには、 まずヘルプメッセージを出力するメソッドを定義し、 そのメソッド名をグローバル変数 $USAGE に代入します。

例：

def usage
  puts "Usage: #{File.basename($0)} <file>..."
  puts "Options:"
        :
        :
end

$USAGE = 'usage'

Required Libraries

getopts

このライブラリは obsolete です。 optparse を使ってください。

Added/Redefined Methods

Kernel#parseArgs


library parsedate

Abstract

日付を解析します。

Classes/Modules

module ParseDate


module ParseDate

ancestors: ParseDate

Abstract

Module Functions

Signature | Description
parsedate(str, complete = false) -> Array | nil | str で与えられた日付表現を解析し、見いだした要素を 配列 (年、月、日、時、分、秒、タイムゾーン、曜日) で返します。


library pathname

Abstract

パス名をオブジェクト指向らしく扱うためのライブラリです。

Classes/Modules

class Pathname

パス名クラス

Added/Redefined Methods

Kernel#Pathname


class Pathname

ancestors: Pathname < Object < Kernel

Abstract

パス名クラス

Singleton Methods

Signature Description
getwd -> Pathname
pwd -> Pathname

カレントディレクトリを元に Pathname オブジェクトを生成します。 Pathname.new(Dir.getwd) と同じです。

glob(pattern, flags=0) -> [Pathname]
glob(pattern, flags=0) {|pathname| ...} -> nil

ワイルドカードの展開を行なった結果を、 Pathname オブジェクトの配列として返します。

new(path) -> Pathname

文字列 path を元に Pathname オブジェクトを生成します。

Instance Methods

Signature Description
self + other -> Pathname

パス名を連結します。つまり、other を self からの相対パスとした新しい Pathname オブジェクトを生成して返します。

self <=> other -> bool

パス名を比較します。other と同じなら 0 を、ASCII順で self が大きい場合 は正、other が大きい場合は負を返します。大文字小文字は区別されます。 other は Pathname オブジェクトでなければなりません。

self == other -> bool
self === other -> bool
eql?(other) -> bool

パス名を比較し、 other と同じなら真を返します。大文字小文字は区別されます。 other は Pathname オブジェクトでなければなりません。

absolute? -> bool

self が絶対パス指定であれば真を返します。

ascend { |pathname| ... }

self のパス名から親方向に辿っていったときの各パス名を新しい Pathname オ ブジェクトとして生成し、ブロックへの引数として渡して実行します。

atime

File.atime(self.to_s) を渡したものと同じです。

basename(*args)

Pathname.new(File.basename(self.to_s, *args)) と同じです。

blockdev?

FileTest.blockdev?(self.to_s) と同じです。

chardev?

FileTest.chardev?(self.to_s) と同じです。

chdir(&block)

Dir.chdir(self.to_s, &block) と同じです。

children -> [Pathname]

self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。

chmod(mode)

File.chmod(mode, self.to_s) と同じです。

chown(owner, group)

File.chown(owner, group, self.to_s) と同じです。

chroot

Dir.chroot(self.to_s) と同じです。

cleanpath(consider_symlink = false) -> Pathname

余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。

ctime

File.ctime(self.to_s) を渡したものと同じです。

unlink
delete

self が指すディレクトリあるいはファイルを削除します。

descend { |pathname| ... }

self のパス名の親から子供へと辿っていったときの各パス名を新しい Pathname オブジェクトとして生成し、ブロックへの引数として渡して実行しま す。

dir_foreach {|pathname| ... }

Dir.foreach(self.to_s) {|f| yield Pathname.new(f) } と同じです。

directory?

FileTest.directory?(self.to_s) と同じです。

dirname

Pathname.new(File.dirname(self.to_s)) と同じです。

each_entry {|pathname| ... }

Dir.foreach(self.to_s) {|f| yield Pathname.new(f) } と同じです。

each_filename {|v| ... } -> nil

self のパス名要素毎にブロックを実行します。

each_line(*args, &block)

IO.foreach(self.to_s, *args, &block) と同じです。

entries

Dir.entries(self.to_s) と同じです。

executable?

FileTest.executable?(self.to_s) と同じです。

executable_real?

FileTest.executable_real?(self.to_s) と同じです。

exist?

FileTest.exist?(self.to_s) と同じです。

expand_path(*args)

Pathname.new(File.expand_path(self.to_s, *args)) と同じです。

extname

File.extname(self.to_s) と同じです。

file?

FileTest.file?(self.to_s) と同じです。

find {|pathname| ...}

self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。

fnmatch(pattern, *args)

File.fnmatch(pattern, self.to_s, *args) と同じです。

fnmatch?(pattern, *args)

File.fnmatch?(pattern, self.to_s, *args) と同じです。

foreach(*args, &block)

self の指し示すパスがディレクトリなら Dir.foreach(self.to_s, *args, &block) と、さもなければ IO.foreach(self.to_s, *args, &block) と同じです。

foreachline(*args, &block)

IO.foreach(self.to_s, *args, &block) と同じです。

ftype

File.ftype(self.to_s) と同じです。

grpowned?

FileTest.grpowned?(self.to_s) と同じです。

hash -> Fixnum

ハッシュ値を返します。

join(*args)

Pathname.new(File.join(self.to_s, *args)) と同じです。

lchmod(mode)

File.lchmod(mode, self.to_s) と同じです。

lchown(owner, group)

File.lchown(owner, group, self.to_s) と同じです。

link(old)

File.link(old, self.to_s) と同じです。

lstat

File.lstat(self.to_s) と同じです。

make_link(old)

File.link(old, self.to_s) と同じです。

make_symlink(old)

File.symlink(old, self.to_s) と同じです。

mkdir(*args)

Dir.mkdir(self.to_s, *args) と同じです。

mkpath

FileUtils.mkpath(self.to_s) と同じです。

mountpoint? -> bool

self がマウントポイントであれば真を返します。

mtime

File.mtime(self.to_s) を渡したものと同じです。

open(*args, &block)

File.open(self.to_s, *args, &block) と同じです。

opendir(&block)

Dir.open(self.to_s, &block) と同じです。

owned?

FileTest.owned?(self.to_s) と同じです。

parent -> Pathname

self の親ディレクトリを指す新しい Pathname オブジェクトを返します。

pipe?

FileTest.pipe?(self.to_s) と同じです。

read(*args)

IO.read(self.to_s, *args)と同じです。

readable?

FileTest.readable?(self.to_s) と同じです。

readable_real?

FileTest.readable_real?(self.to_s) と同じです。

readlines(*args)

IO.readlines(self.to_s, *args)と同じです。

readlink

Pathname.new(File.readlink(self.to_s)) と同じです。

realpath -> Pathname
realpath(force_absolute = true) -> Pathname

余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。

relative? -> bool

self が相対パス指定であれば真を返す。

relative_path_from(base_directory) -> Pathname

base_directory から self への相対パスを求め、その内容の新しい Pathname オブジェクトを生成して返します。

rename(to)

File.rename(self.to_s, to) と同じです。

rmdir

Dir.rmdir(self.to_s) と同じです。

rmtree

FileUtils.rm_r(self.to_s) と同じです。

root? -> bool

self がルートディレクトリであれば真を返します。判断は文字列操作によっ て行われ、ファイルシステムはアクセスされません。

setgid?

FileTest.setgid?(self.to_s) と同じです。

setuid?

FileTest.setuid?(self.to_s) と同じです。

size

FileTest.size(self.to_s) と同じです。

size?

FileTest.size?(self.to_s) と同じです。

socket?

FileTest.socket?(self.to_s) と同じです。

split

File.split(self.to_s) と同じです。

stat

File.stat(self.to_s) と同じです。

sticky?

FileTest.sticky?(self.to_s) と同じです。

sub(pattern, replace) -> Pathname
sub(pattern) {|matched| ... } -> Pathname

self を表現するパス文字列に対して sub メソッドを呼び出し、その結果を内 容とする新しい Pathname オブジェクトを生成し、返します。 cf. String#sub

symlink(old)

File.symlink(old, self.to_s) と同じです。

symlink?

FileTest.symlink?(self.to_s) と同じです。

sysopen(*args)

IO.sysopen(self.to_s, *args)と同じです。

to_s -> String
to_str -> String

パス名を文字列で返します。

truncate(length)

File.truncate(self.to_s, length) と同じです。

utime(atime, mtime)

File.utime(atime, mtime, self.to_s) と同じです。

world_readable?

FileTest.world_readable?(self.to_s) と同じです。

world_writable?

FileTest.world_writable?(self.to_s) と同じです。

writable?

FileTest.writable?(self.to_s) と同じです。

writable_real?

FileTest.writable_real?(self.to_s) と同じです。

zero?

FileTest.zero?(self.to_s) と同じです。

Constants

Signature | Description
SEPARATOR_PAT | パス名のなかのディレクトリを区切る部分にマッチする正規表現です。
TO_PATH | 内部的に使っている定数です。利用者が使うことはありません。

Inherited Methods

=~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library ping

Abstract

サーバが稼働しているかどうか調べるための単純なメソッドを提供します。

Classes/Modules

module Ping

サーバが稼働しているかどうか調べるための単純なメソッドを提供します。


module Ping

ancestors: Ping

Abstract

サーバが稼働しているかどうか調べるための単純なメソッドを提供します。

Module Functions

Signature | Description
pingecho(host, timeout = 5, service = 'echo') -> bool | host の TCP サービス service に対して接続することで、 サーバが稼動しているかどうか確かめます。


library pp

Abstract

オブジェクトなどを見やすく出力するためのライブラリです。

このライブラリを require すると Kernel.#pp が定義されます。 Kernel.#p のかわりに Kernel.#pp を使うことにより、 適切にインデントと改行された分かりやすい出力を得ることが出来ます。pp ライブラリは、 ユーザがあたらしく定義したクラスに対しても見やすい表示を するように作られていますので、Kernel.#pp を使う上で余計な作業をする 必要はありません。

どちらが読みやすいでしょうか?

p による pretty-print されてない出力:

#<PP:0x81a0d10 @stack=[], @genspace=#<Proc:0x81a0cc0>, @nest=[0], @newline="\n",
 @buf=#<PrettyPrint::Group:0x81a0c98 @group=0, @tail=0, @buf=[#<PrettyPrint::Gro
up:0x81a0ba8 @group=1, @tail=0, @buf=[#<PrettyPrint::Text:0x81a0b30 @tail=2, @wi
dth=1, @text="[">, #<PrettyPrint::Group:0x81a0a68 @group=2, @tail=1, @buf=[#<Pre
ttyPrint::Text:0x81a09f0 @tail=1, @width=1, @text="1">], @singleline_width=1>, #
<PrettyPrint::Text:0x81a0a7c @tail=0, @width=1, @text=",">, #<PrettyPrint::Break
able:0x81a0a2c @group=2, @gensace=#<Proc:0x81a0cc0>, @newline="\n", @indent=1, @
tail=2, @sep=" ", @width=1>, #<PrettyPrint::Group:0x81a09c8 @group=2, @tail=1, @
buf=[#<PrettyPrint::Text:0x81a0950 @tail=1, @width=1, @text="2">], @singleline_w
idth=1>, #<PrettyPrint::Text:0x81a0af4 @tail=0, @width=1, @text="]">], @singleli
ne_width=6>], @singleline_width=6>, @sharing_detection=false>

pp による pretty-print された出力:

#<PP:0x40d0688
 @buf=
  #<PrettyPrint::Group:0x40d064c
   @buf=
    [#<PrettyPrint::Group:0x40d05d4
      @buf=
       [#<PrettyPrint::Text:0x40d0598 @tail=2, @text="[", @width=1>,
        #<PrettyPrint::Group:0x40d0534
         @buf=[#<PrettyPrint::Text:0x40d04f8 @tail=1, @text="1", @width=1>],
         @group=2,
         @singleline_width=1,
         @tail=1>,
        #<PrettyPrint::Text:0x40d053e @tail=0, @text=",", @width=1>,
        #<PrettyPrint::Breakable:0x40d0516
         @genspace=#<Proc:0x40d0656>,
         @group=2,
         @indent=1,
         @newline="\n",
         @sep=" ",
         @tail=2,
         @width=1>,
        #<PrettyPrint::Group:0x40d04e4
         @buf=[#<PrettyPrint::Text:0x40d04a8 @tail=1, @text="2", @width=1>],
         @group=2,
         @singleline_width=1,
         @tail=1>,
        #<PrettyPrint::Text:0x40d057a @tail=0, @text="]", @width=1>],
      @group=1,
      @singleline_width=6,
      @tail=0>],
   @group=0,
   @singleline_width=6,
   @tail=0>,
 @genspace=#<Proc:0x40d0656>,
 @nest=[0],
 @newline="\n",
 @sharing_detection=false,
 @stack=[]>

出力のカスタマイズ

あるクラスの pp の出力をカスタマイズしたい場合は、 そのクラスで pretty_print メソッドと pretty_print_cycle メソッドを再定義します。 このメソッドは PP オブジェクトを引数として pp 実行時に呼ばれます。 ユーザは表示したい内容を表すツリーを、 引数として与えられた PP オブジェクトを使って以下のように作成します。

  • PrettyPrint#group を使って子ノードをつくります。同時に子ノードのインデントの深さも決めます。
  • PrettyPrint#breakable を使って改行しても良い場所を指定します。
  • PP#pp を使って出力したいインスタンス変数などを出力します。
  • PrettyPrint#text を使って、出力が見やすくなるように「,」などの修飾文字を適宜挿入します。

PP は PrettyPrint のサブクラスですので、上で PrettyPrint のメソッドとされているものは PP のメソッドでもあります。

以下は Hash の pretty printing のカスタマイズの例です。

require 'pp'
class Hash
  def pretty_print(q)
    q.group(2, "<hash>") do
      q.breakable
      first = true
      self.each{|k, v|
        unless first
          q.text(',')
          q.breakable
        end
        q.pp k
        q.text ' => '
        q.group(1) do
          q.breakable ''
          if v.is_a?(String) and v.size > 10
            q.pp(v[0..9] + '...')
          else
            q.pp v
          end
        end
        first = false
      }
    end
    q.breakable
    q.text "</hash>"
  end

  def pretty_print_cycle(q)
    q.text(empty? ? '{}' : '{...}')
  end
end

h = {:a => 'a'*5, :b => 'b'*10, :c => 'c'*20, :d => 'd'*30}
pp h

#=>
<hash>
  :d => "dddddddddd...",
  :a => "aaaaa",
  :b => "bbbbbbbbbb",
  :c => "cccccccccc..."
</hash>

Classes/Modules

class PP

オブジェクトなどを見やすく出力するためのクラスです。

Added/Redefined Methods

Kernel.#pp Object#pretty_inspect Object#pretty_print Object#pretty_print_cycle Object#pretty_print_inspect Object#pretty_print_instance_variables


class PP

ancestors: PP < PrettyPrint < Object < Kernel

Abstract

オブジェクトなどを見やすく出力するためのクラスです。

Singleton Methods

Signature Description
pp(obj, out = $>, width = 79) -> object

指定されたオブジェクト obj を出力先 out に幅 width で出力します。 出力先 out を返します。

sharing_detection -> bool
sharing_detection=(boolean)

共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。

singleline_pp(obj, out=$>) -> object

指定されたオブジェクト obj を出力先 out に出力します。 ただし、インデントも改行もしません。 出力先 out を返します。

Instance Methods

Signature Description
comma_breakable -> ()

以下と等価な働きをするもので簡便のために用意されています。

text ','
breakable
object_group(obj) { ... } -> ()

以下と等価な働きをするもので簡便のために用意されています。

group(1, '#<' + obj.class.name, '>') { ... }
pp(obj) -> ()

指定されたオブジェクト obj を Object#pretty_print を使って自身のバッファに追加します。

seplist(list, sep = lambda { comma_breakable }, iter_method = :each) {|e| ...} -> ()

リストの各要素を何かで区切りつつ、自身に追加していくために使われます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint breakable first? flush genspace group indent maxwidth nest newline output text .format .new .singleline_format


library prettyprint

Abstract

pretty printing アルゴリズムのためのライブラリです。

使い方

pretty printing アルゴリズムは読みやすいインデントと改行を決定するためのアルゴリズムです。 インデントと改行はユーザによって与えられたツリー構造から決定されます。 つまりユーザは以下のように表示したい内容を保持したツリーを作成する必要があります。

  • PrettyPrint.new でバッファを生成します。このとき、バッファの幅と改行文字を指定します。
  • PrettyPrint#text を使って、文字列を適宜 挿入します。
  • PrettyPrint#group を使って子ノードをつくります。同時に子ノードのインデントの深さも決めます。
  • PrettyPrint#breakable を使って改行しても良い場所を指定します。

同じノード内で呼ばれた breakable は、改行するならば全て同時に改行します。

p2 = PrettyPrint.new('', 10)
s = 'hello'
p2.text(s)
p2.group(p2.indent + s.size + 1) do
  p2.breakable
  p2.text('a')
  p2.breakable
  p2.text('b')
  p2.breakable
  p2.text('c')
end
p2.flush
puts p2.output
#=>
hello
      a
      b
      c

References

Christian Lindig, Strictly Pretty, March 2000, http://www.st.cs.uni-sb.de/~lindig/papers/pretty/strictly-pretty.html

Philip Wadler, A prettier printer, March 1998, http://homepages.inf.ed.ac.uk/wadler/topics/language-design.html#prettier

Classes/Modules

class PrettyPrint

pretty printing アルゴリズムのためのクラスです。 改行の位置を探し、きれいなインデントを施します。


class PrettyPrint

ancestors: PrettyPrint < Object < Kernel

Abstract

pretty printing アルゴリズムのためのクラスです。 改行の位置を探し、きれいなインデントを施します。

デフォルトでは、このクラスは文字列を扱います。 また、文字1バイトが出力幅の中で1カラムを占めると仮定しています。 しかし、以下のメソッドに対して適切な引数を与えることで、 そうでない場合にも利用できます。

  • PrettyPrint.new: 出力バッファ、空白の生成をするブロックや改行オブジェクトを設定できます。
  • PrettyPrint#text: 幅を設定できます。
  • PrettyPrint#breakable

ですので、このクラスは以下のようなことにも応用が可能です。

  • proportional font を使ったテキストの整形
  • 出力幅とバイト数が異なるような多バイト文字
  • 文字以外の整形

Singleton Methods

Signature Description
format(output = '', maxwidth = 79, newline = "\n", genspace = lambda{|n| ' ' * n}) {|pp| ...} -> object

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 与えられた output を返します。

new(output = '', maxwidth = 79, newline = "\n") -> PrettyPrint
new(output = '', maxwidth = 79, newline = "\n") {|width| ...} -> PrettyPrint

pretty printing のためのバッファを生成します。 output は出力先です。output は << メソッドを持っていなければなりません。 << メソッドには

  • PrettyPrint#text の第1引数 obj
  • PrettyPrint#breakable の第1引数 sep
  • PrettyPrint.new の第3引数 newline
  • PrettyPrint.new に与えたブロックを評価した結果

のどれかひとつが引数として与えられます。

singleline_format(output = '', maxwidth = 79, newline = "\n", genspace = lambda{|n| ' ' * n}) {|pp| ...} -> object

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 PrettyPrint.format に似ていますが、改行しません。

Instance Methods

Signature Description
breakable(sep = ' ') -> ()
breakable(sep, width = sep.length) -> ()

「必要ならここで改行出来る」ということを自身に通知します。 もしその位置で改行されなければ、width カラムのテキスト sep が出力の際にそこに挿入されます。

first? -> bool

このメソッドは obsolete です。

flush -> ()

バッファされたデータを出力します。

genspace -> Proc

空白を生成する Proc を返します。

group(indent = 0, open_obj = '', close_obj = '', open_width = open_obj.length, close_width = close_obj.length) {...} -> ()

与えられたブロックを実行します。 ブロック内で自身に追加される文字列やオブジェクトは、1行にまとめて表示しても よい同じグループに属すると仮定されます。

indent -> Integer

現在のインデントの深さを返します。

maxwidth -> Integer

自身の幅を返します。

nest(indent) {...} -> ()

自身の現在のインデントを indent だけ増加させてから、ブロックを実行し、元に戻します。

newline -> String

自身の改行文字を返します。

output -> object

自身の output を返します。

text(obj) -> ()
text(obj, width = obj.length) -> ()

obj を width カラムのテキストとして自身に追加します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library profile

Abstract

Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。

使い方

以下のように、ruby に -r profile オプションを付けて実行します。

$ ruby -r profile foo.rb

foo.rb の実行が終わると標準エラー出力にプロファイルが出力されます。

プロファイルは各メソッドの実行時間に関する統計からなりますが、 この時間には大きく分けて 2 種類あります。 ひとつは、メソッドが呼び出されてから返るまでの時間です。 もうひとつは、全体の時間からそのメソッド内で行なわれた 他の呼び出しに費やしたすべての時間を引いた時間です。 以下の説明では前者を全体時間、後者を正味時間と呼ぶことにします。

出力の意味

プロファイルの結果は例えば次のようになります。

$ ruby -r profile sample/sieve.rb 1000
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 … 略 …
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 33.87     1.49      1.49       11   135.65   214.49  Fixnum#step
 31.38     2.88      1.38     2410     0.57     0.57  Array#[]=
 27.84     4.10      1.23        2   613.28  2070.31  Range#each
  4.26     4.29      0.19        1   187.50   234.38  Array#join
  1.06     4.34      0.05      168     0.28     0.28  Fixnum#to_s
  0.35     4.35      0.02       31     0.50     0.50  Fixnum#+
… 以下略 …

おのおのの行に現れる各フィールドの意味は左から順に次の通りです。

  1. 全体時間のパーセンテージ
  2. 全体時間の総和(単位は秒)
  3. 正味時間の総和(秒)
  4. 呼び出された回数
  5. 1回の呼び出し当たりの平均正味時間(ミリ秒)
  6. 1回の呼び出し当たりの平均全体時間(ミリ秒)
  7. メソッド名


library profiler

Abstract

プロファイラの実装です。 現在、profile ライブラリは profiler ライブラリを 利用して実装されています。

Classes/Modules

module Profiler__

プロファイラの実装です。 Profiler__.start_profile 実行から、Profiler__.stop_profile までの 区間の実行コードのプロファイルを取得します。


module Profiler__

ancestors: Profiler__

Abstract

プロファイラの実装です。 Profiler__.start_profile 実行から、Profiler__.stop_profile までの 区間の実行コードのプロファイルを取得します。

以下の使用例を参照してください。

require 'profiler'

Profiler__.start_profile
require 'tk'    # このコードのプロファイルが測定される
Profiler__.print_profile(STDOUT)

# =>
 %   cumulative   self              self     total
time   seconds   seconds    calls  ms/call  ms/call  name
51.64     1.10      1.10        3   366.67   776.67  Kernel.require
17.37     1.47      0.37        1   370.00   370.00  TclTkIp#initialize
 8.92     1.66      0.19      514     0.37     0.37  Module#method_added
 6.57     1.80      0.14        1   140.00   140.00  Profiler__.start_profile
 4.23     1.89      0.09       15     6.00    10.67  Kernel.extend
 3.29     1.96      0.07       15     4.67     4.67  Module#extend_object
 3.29     2.03      0.07      133     0.53     0.53  Kernel.singleton_method_added
 2.82     2.09      0.06       28     2.14     2.86  Module#attr
 1.88     2.13      0.04       19     2.11     2.11  Module#private
 1.41     2.16      0.03       29     1.03     1.38  Module#include
 0.94     2.18      0.02       10     2.00     4.00  Module#module_function
 0.94     2.20      0.02        2    10.00    10.00  Array#collect
   :
   :
<snip>

Module Functions

Signature | Description
print_profile(file) | stop_profile を実行し、プロファイルの結果を file に出力します。 file には printf メソッドが定義されていなければいけません。
start_profile | プロファイルの取得を開始します。
stop_profile | プロファイルの取得を停止します。


library pstore

Abstract

Rubyのオブジェクトを外部ファイルに格納するためのライブラリです。

Classes/Modules

class PStore

Rubyのオブジェクトを外部ファイルに格納するためのクラスです。 内部で Marshal を使っています。

Exception Classes

class PStore::Error

PStore の中で発生する例外です。


class PStore

ancestors: PStore < Object < Kernel

Abstract

Rubyのオブジェクトを外部ファイルに格納するためのクラスです。 内部で Marshal を使っています。

使い方

データベースにアクセスするためには、 transaction のブロック内である必要があります。 インターフェースは Hash に似ています。

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
  p db.roots       # => []
  ary = db["root"] = [1,2,3,4]
  ary[0] = [1,1.5]
end

db.transaction do
  p db["root"]     # => [[1, 1.5], 2, 3, 4]
end

Singleton Methods

Signature | Description
new(file) -> PStore | ファイル名 file に対してデータベースを読み書きする。

Instance Methods

Signature | Description
self[name] -> object | ルートnameに対応する値を得る。
self[name] = value | ルート name に対応する値 value をセットする。
abort -> () | データベースの読み書きを終了する。
commit -> () | データベースの読み書きを終了します。
delete(name) -> object | ルートnameに対応する値を削除します。
fetch(name, default = PStore::Error) -> object | ルートnameに対応する値を得る。
path -> String | データベースのファイル名を得ます。
root?(name) -> bool | ルート name がデータベースに格納されている場合に真を返します。
roots -> Array | ルートの集合を配列で返します。
transaction(read_only = false) {|pstore| ... } -> () | トランザクションに入ります。 このブロックの中でのみデータベースの読み書きができます。

Private Instance Methods

Signature | Description
in_transaction -> () | トランザクションの中でなければ例外を発生させます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class PStore::Error

ancestors: PStore::Error < StandardError < Exception < Object < Kernel

Abstract

PStore の中で発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library pty

Abstract

疑似端末(Pseudo tTY)を扱うライブラリです。

Classes/Modules

module PTY

疑似端末(Pseudo tTY)を扱うモジュールです。

Exception Classes

class PTY::ChildExited

子プロセスが終了したり停止した場合に発生する例外です。


module PTY

ancestors: PTY

Abstract

疑似端末(Pseudo tTY)を扱うモジュールです。

Module Functions

Signature Description
getpty(command) -> [IO, IO, Integer]
getpty(command) {|read, write, pid| ... } -> nil
spawn(command) -> [IO, IO, Integer]
spawn(command) {|read, write, pid| ... } -> nil

擬似 tty を確保し、指定されたコマンドをその擬似 tty の向こうで実行し、配列を返します。

protect_signal { ... } -> self

このメソッドは何もしません。 このメソッドは obsolete です。

reset_signal -> self

このメソッドは何もしません。 このメソッドは obsolete です。


class PTY::ChildExited

ancestors: PTY::ChildExited < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

子プロセスが終了したり停止した場合に発生する例外です。

Instance Methods

Signature | Description
status -> Process::Status | 子プロセスの終了ステータスをProcess::Statusオブジェクトで返します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library racc/parser

Abstract

パーサジェネレータ Racc のランタイムライブラリです。

Classes/Modules

class Racc::Parser

Exception Classes

class Racc::ParseError


class Racc::ParseError

ancestors: Racc::ParseError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Racc::Parser

ancestors: Racc::Parser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
racc_runtime_type |

Private Instance Methods

Signature | Description
do_parse |
next_token |
on_error(t, val, vstack) |
token_to_str(t) |
yyaccept |
yyerrok |
yyerror |
yyparse(recv, mid) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library rational

Abstract

有理数を扱うためのライブラリです。

有理数のためのクラス。 rational を require すると Integer のメソッドが以下のように再定義される。

Classes/Modules

class Rational

Integer < Rational < Float の順に強いです。つまり other が Float なら、 self を Float に変換してから演算子を適用します。other が Integer なら other を Rational に変換してから演算子を適用します。冪乗は例外です。

Added/Redefined Methods

Bignum#** Bignum#power! Bignum#quo Fixnum#** Fixnum#power! Fixnum#quo Integer#** Integer#/ Integer#denominator Integer#gcd Integer#gcdlcm Integer#lcm Integer#numerator Integer#power! Integer#to_r Kernel#Rational


class Rational

ancestors: Rational < Numeric < Comparable < Object < Kernel

Abstract

Integer < Rational < Float の順に強いです。つまり other が Float なら、 self を Float に変換してから演算子を適用します。other が Integer なら other を Rational に変換してから演算子を適用します。冪乗は例外です。

Singleton Methods

Signature | Description
new!(num, den = 1) | Implements the constructor. This method does not reduce to lowest terms or check for division by zero. Therefore #Rational() should be preferred in normal use.
reduce(num, den = 1) | Reduces the given numerator and denominator to their lowest terms. Use Rational() instead.

Instance Methods

Signature Description
self % other

剰余を計算します。絶対値が self の絶対値を越えない、符号が self と同じ Numeric を返します。

self * other

積を計算します。

self ** other

冪を計算します。

self ** rhs -> Numeric

self のべき乗を返します。 Rational になるようであれば Rational で返します。

mathn
self + other

和を計算します。

self - other

差を計算します。

self / other

商を計算します。 other が 0 の時は、例外 ZeroDivisionError を投げます。

self <=> other

other と比べて self が大きいなら 1、同じなら 0、小さいなら -1 を返します。

abs

self が正なら self、負なら -1 * self を返します。

denominator

分母を Fixnum として返します。

divmod(other)

self を other で割った、商と余りの配列を返します。 商は Fixnum、余りは絶対値が other の絶対値を越えず、符号が other と同じ Numeric です。Numeric#divmod も参照して下さい。

inspect

有理数値を人間が読みやすい形の文字列表現にして返します。

mathn
numerator

分子を Fixnum として返します。

power2
作りかけ(^^;;
mathn
to_f

Float に変換します。

to_i

Fixnum に変換します。

to_s

文字列に変換します。

Inherited Methods

+@ -@ arg ceil clone coerce conj div eql? fdiv floor im imag integer? modulo nonzero? real remainder round step to_int truncate zero? == === =~ __id__ __send__ _dump class dclone display enum_for equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature | Description | Library
Unify | 内部実装で利用しています。深くは考えないでください。ユーザープログラムでは利用しないでください。 | mathn
to_d(nFig = 0) | BigDecimalに変換する | bigdecimal/util


library rbconfig

Abstract

Ruby インタプリタ作成時に設定された情報を格納したライブラリです。

Classes/Modules

module Config | [[unknown:執筆者募集]]
module RbConfig | Config の別名です。


module Config

ancestors: Config

Abstract

[[unknown:執筆者募集]]

Ruby インタプリタ作成時に設定された情報を格納したライブラリです。 Config モジュールを定義します。

RbConfig モジュールを Config と同じものとして定義します。

Singleton Methods

Signature | Description
expand(val) | Config::MAKEFILE_CONFIG 参照

Constants

Signature Description
CONFIG
DESTDIR
MAKEFILE_CONFIG

Config::CONFIG と同じですが、その値は以下のような形 で他の変数への参照を含みます。

MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"

これは、Makefile の変数参照の形式で MAKEFILE_CONFIG は、 Makefile 作成の際に利用されることを想定しています。

TOPDIR


Ruby 1.8.7 Reference Manual > All Libraries > library rbconfig > module RbConfig

module RbConfig

ancestors: RbConfig

Abstract

Config の別名です。


library readbytes

Abstract

IO#readbytesを提供するライブラリです。

Exception Classes

class TruncatedDataError

IO#readbytes が発生させる例外

Added/Redefined Methods

IO#readbytes


class TruncatedDataError

ancestors: TruncatedDataError < IOError < StandardError < Exception < Object < Kernel

Abstract

IO#readbytes が発生させる例外

Instance Methods

Signature | Description
data | 例外が発生するまでに読み込んだデータを文字列で返します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library readline

Abstract

GNU Readline によるコマンドライン入力インタフェースを提供するライブラリです。

Classes/Modules

module Readline | GNU Readline によるコマンドライン入力インタフェースを提供するモジュールです。
object Readline::HISTORY | Readline::HISTORY を使用してヒストリにアクセスできます。 Enumerable モジュールを extend しており、 Array クラスのように振る舞うことができます。 例えば、HISTORY[4] により 5 番目に入力した内容を取り出すことができます。


module Readline

ancestors: Readline

Abstract

GNU Readline によるコマンドライン入力インタフェースを提供するモジュールです。

GNU Readline 互換ライブラリのひとつである Edit Line(libedit) もサポートしています。

  • http://www.gnu.org/directory/readline.html
  • http://www.thrysoee.dk/editline/

Readline.readline を使用してユーザからの入力を取得できます。 このとき、 GNU Readline のように入力の補完や Emacs のようなキー操作などができます。

例: プロンプト"> "を表示して、ユーザからの入力を取得する。

while buf = Readline.readline("> ", true)
  print("-> ", buf, "\n")
end

ユーザが入力した内容を履歴(以下、ヒストリ)として記録することができます。 定数 Readline::HISTORY を使用して入力履歴にアクセスできます。 例えば、Readline::HISTORY.to_a により、 全ての入力した内容を文字列の配列として取得できます。

例: ヒストリを配列として取得する。

while buf = Readline.readline("> ", true)
  p Readline::HISTORY.to_a
  print("-> ", buf, "\n")
end

Singleton Methods

Signature Description
basic_quote_characters

スペースなどの単語の区切りをクオートするための 複数の文字で構成される文字列を取得します。

basic_quote_characters=(string)

スペースなどの単語の区切りをクオートするための 複数の文字で構成される文字列 string を指定します。

basic_word_break_characters

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成される文字列を取得します。

basic_word_break_characters=(string)

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成される文字列 string を指定します。

completer_quote_characters

ユーザの入力の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列を取得します。

completer_quote_characters=(string)

ユーザの入力の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列 string を指定します。 指定した文字の間では、Readline.completer_word_break_characters= で指定した文字列に含まれる文字も、普通の文字列として扱われます。

completer_word_break_characters

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成された文字列を取得します。 Readline.basic_word_break_characters との違いは、 GNU Readline の rl_complete_internal 関数で使用されることです。

completer_word_break_characters=(string)

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成される文字列 string を指定します。 Readline.basic_word_break_characters= との違いは、 GNU Readline の rl_complete_internal 関数で使用されることです。

completion_append_character -> String

ユーザの入力の補完が完了した場合に、最後に付加する文字を取得します。

completion_append_character=(string)

ユーザの入力の補完が完了した場合に、最後に付加する文字 string を指定します。

completion_case_fold -> bool

ユーザの入力を補完する際、大文字と小文字を同一視する／しないを取得します。 bool が真ならば同一視します。bool が偽ならば同一視しません。

completion_case_fold=(bool)

ユーザの入力を補完する際、大文字と小文字を同一視する／しないを指定します。 bool が真ならば同一視します。bool が偽ならば同一視しません。 セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

completion_proc -> Proc

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を取得します。

completion_proc=(proc)

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を指定します。 proc は、次のものを想定しています。

  1. callメソッドを持つ。callメソッドを持たない場合、例外 ArgumentError を発生します。
  2. 引数にユーザからの入力文字列を取る。
  3. 候補の文字列の配列を返す。
emacs_editing_mode

編集モードを Emacs モードにします。デフォルトは Emacs モードです。

filename_quote_characters

ユーザの入力時にファイル名の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列を取得します。

filename_quote_characters=(string)

ユーザの入力時にファイル名の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列 string を指定します。

vi_editing_mode

編集モードを vi モードにします。 vi モードの詳細は、GNU Readline のマニュアルを参照してください。

Module Functions

Signature | Description
readline([prompt, [add_hist]]) -> String | nil | prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。

Constants

Signature | Description
FILENAME_COMPLETION_PROC | GNU Readline で定義されている関数を使用してファイル名の補完を行うための Proc オブジェクトです。 Readline.completion_proc= で使用します。
USERNAME_COMPLETION_PROC | GNU Readline で定義されている関数を使用してユーザ名の補完を行うための Proc オブジェクトです。 Readline.completion_proc= で使用します。
VERSION | Readlineモジュールが使用している GNU Readline や libedit のバージョンを 示す文字列です。


object Readline::HISTORY

ancestors: Readline::HISTORY
extend: Enumerable

Abstract

Readline::HISTORY を使用してヒストリにアクセスできます。 Enumerable モジュールを extend しており、 Array クラスのように振る舞うことができます。 例えば、HISTORY[4] により 5 番目に入力した内容を取り出すことができます。

Singleton Methods

Signature Description
self << string -> self

ヒストリの最後に string で指定した文字列を追加します。 self を返します。

self[index] -> String

ヒストリから index で指定したインデックスの内容を取得します。 例えば index に 0 を指定すると最初の入力内容が取得できます。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。

self[index] = string

ヒストリの index で指定したインデックスの内容を string で指定した文字列で書き換えます。 例えば index に 0 を指定すると最初の入力内容が書き換えます。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。 指定した string を返します。

delete_at(index) -> String | nil

index で指定したインデックスの内容をヒストリから削除し、その内容を返します。 該当する index の内容がヒストリになければ、 nil を返します。 index に 0 を指定すると Readline::HISTORY.shift と同様に最初の入力内容を削除します。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。 index が -1 の場合は Readline::HISTORY.pop と同様に動作します。

each -> Enumerable::Enumerator
each {|string| ... }

ヒストリの内容に対してブロックを評価します。 ブロック引数にはヒストリの最初から最後までの内容を順番に渡します。 ブロックが与えられなかった場合は、自身と each から生成した Enumerable::Enumerator オブジェクトを返します。

empty? -> bool

ヒストリに格納された内容の数が 0 の場合は true を、 そうでない場合は false を返します。

length -> Integer

ヒストリに格納された内容の数を取得します。

pop -> String

ヒストリの最後の内容を取り出します。 最後の内容は、ヒストリから取り除かれます。

push(*string) -> self

ヒストリの最後に string で指定した文字列を追加します。複数の string を指定できます。 self を返します。

shift -> String

ヒストリの最初の内容を取り出します。 最初の内容は、ヒストリから取り除かれます。

to_s -> "HISTORY"

文字列"HISTORY"を返します。


library remote-tk

Abstract

Classes/Modules

class MutiTkIp
class RemoteTkIp

Required Libraries

multi-tk
tcltklib
tkutil


class MutiTkIp

ancestors: MutiTkIp < Object < Kernel

Abstract

Singleton Methods

Signature | Description
_DEFAULT_MASTER |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RemoteTkIp

ancestors: RemoteTkIp < MultiTkIp < Object < Kernel

Abstract

Singleton Methods

Signature | Description
do_one_evant(flag = nil) |
get_eventloop_tick |
get_eventloop_weight |
get_no_event_wait |
mainloop(*args) |
mainloop_abort_on_exception |
mainloop_abort_on_exception=(mode) |
mainloop_watchdog(*args) |
manipulable? |
new(*args, &block) |
set_eventloop_tick(*args) |
set_eventloop_weight(*args) |
set_no_event_wait(*args) |

Instance Methods

Signature | Description
__eval(str) |
__invoke(*args) |
_conv_listelement(str) |
_create_console |
_eval(str) |
_eval_with_enc(str) |
_eval_without_enc(str) |
_fromUTF8(str, encoding = nil) |
_get_global_var(var_name) |
_get_global_var2(var_name, index_name) |
_get_variable(var_name, flag) |
_get_variable2(var_name, index_name, flag) |
_invoke(*args) |
_invoke_with_enc(*args) |
_invoke_without_enc(*args) |
_ip_id_ |
_is_master_of?(tcltkip_obj) |
_merge_tklist(*args) |
_return_value |
_set_global_var(var_name, value) |
_set_global_var2(var_name, index_name, value) |
_set_variable(var_name, value, flag) |
_set_variable2(var_name, index_name, value, flag) |
_split_tklist(str) |
_thread_tkwait(mode, target) |
_thread_vwait(var_name) |
_toUTF8(str, encoding = nil) |
_unset_global_var(var_name) |
_unset_global_var2(var_name, index_name) |
_unset_variable(var_name, flag) |
_unset_variable2(var_name, index_name, flag) |
allow_ruby_exit=(mode) |
allow_ruby_exit? |
appsend(async, *args) |
create_slave(name, safe = false) |
delete |
deleted? |
do_one_evant(flag = nil) |
get_eventloop_tick |
get_eventloop_weight |
get_no_event_wait |
has_mainwindow? |
invalid_namespace? |
is_rubytk? |
mainloop |
mainloop_abort_on_exception |
mainloop_abort_on_exception=(mode) |
mainloop_watchdog |
make_safe |
manipulable? |
rb_appsend(async, *args) |
ready?(timeout = 5) |
restart |
safe? |
safe_base? |
set_eventloop_tick(*args) |
set_eventloop_weight(*args) |
set_no_event_wait(*args) |

Inherited Methods

__create_safe_slave_obj __create_trusted_slave_obj __pseudo_toplevel __pseudo_toplevel= __pseudo_toplevel_evaluable= __pseudo_toplevel_evaluable? _add_new_tables _add_tk_procs _create_slave_object _default_delete_hook _destroy_slaves_of_slaveIP _init_ip_env _init_ip_internal _make_menu_embeddable _receiver_mainloop _remove_tk_procs _tk_cmd_tbl _tk_table_list _tk_windows abort alias_delete alias_info alias_target aliases alive? background_call background_eval background_eval_str call cb_error cb_eval def_alias delete_cmd delete_slaves encoding encoding= encoding_convert_from encoding_convert_to eval eval_callback eval_proc eval_str exist? exit exit! expose_cmd get_bgerror_handler get_limit hidden_cmds hide_cmd inspect invoke_hidden invoke_hidden_on_global invoke_hidden_on_namespace ip_name mark_trusted master? path recursion_limit running_mainloop? safe_level safe_level= safeip_add_to_access_path safeip_configinfo safeip_configure safeip_delete safeip_find_in_access_path safeip_set_log_cmd set_bgerror_handler set_cb_error set_limit set_safe_level share_stderr share_stdin share_stdio share_stdout slave? slaves to_eval transfer_stderr transfer_stdin transfer_stdio transfer_stdout wait_on_mainloop= wait_on_mainloop? .__getip ._conv_listelement ._create_console ._eval ._eval_with_enc ._eval_without_enc ._fromUTF8 ._get_global_var ._get_global_var2 ._get_variable ._get_variable2 ._invoke ._invoke_with_enc ._invoke_without_enc ._ip_id_ ._make_menu_embeddable ._merge_tklist ._return_value ._set_global_var ._set_global_var2 ._set_variable ._set_variable2 ._split_tklist ._thread_tkwait ._thread_vwait ._toUTF8 ._unset_global_var ._unset_global_var2 ._unset_variable ._unset_variable2 .abort .add_tk_procs .alias_delete .alias_info .alias_target .aliases .alive? .allow_ruby_exit= .allow_ruby_exit? .background_call .background_eval .background_eval_str .bgerror .call .cb_entry_class .create_table .def_alias .delete .delete_cmd .delete_slaves .deleted? .eval .eval_str .exist? .exit .exit! .expose_cmd .get_cb_entry .get_limit .has_mainwindow? .hidden_cmds .hide_cmd .inherited .init_ip_env .init_ip_internal .invalid_namespace? .invoke_hidden .invoke_hidden_on_global .invoke_hidden_on_namespace .ip_name .make_safe .mark_trusted .master? .method_missing .new .new_safeTk .new_slave .path .recursion_limit .remove_tk_procs .restart .safe? .safe_base? .safe_level .safe_level= .set_limit .set_safe_level .share_stderr .share_stdin .share_stdio .share_stdout .slave? .slaves .tk_cmd_tbl .tk_object_table .tk_windows .to_eval .transfer_stderr .transfer_stdin .transfer_stdio .transfer_stdout ::BASE_DIR ::SAFE_OPT_LIST ::SLAVE_IP_ID == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library resolv

Abstract

DNSによる名前解決を行うライブラリです。 Ruby で書かれているため thread-aware であり、並列に多くのホスト名を解決することができます。

DNS モジュールを使うことで、さまざまなリソースを直接ルックアップできます。

なお、単にホスト名から IP アドレスを得たいだけであれば、 socket ライブラリの IPSocket.getaddress などが使用できます。

例:

Resolv.getaddress("www.ruby-lang.org")
Resolv.getname("210.251.121.214").to_s
Resolv::DNS.new.getresources("www.ruby-lang.org", Resolv::DNS::Resource::IN::A).collect {|r| r.address}
Resolv::DNS.new.getresources("ruby-lang.org", Resolv::DNS::Resource::IN::MX).collect {|r| [r.exchange.to_s, r.preference]}

Bugs

NIS はサポートされていません。

Classes/Modules

class Resolv | リゾルバを表すクラスです。 このクラス自体は実際には名前解決をせず、 Resolv.new で与えられたリゾルバに順に 問合せることしかしません。
class Resolv::DNS | このクラスは DNS を利用した名前解決をするリゾルバを 表します。
class Resolv::DNS::Name | ドメイン名を表すクラスです。
class Resolv::DNS::Query | DNSクエリを表す抽象クラスです。
class Resolv::DNS::Resource | DNSリソースを表す抽象クラスです。
class Resolv::DNS::Resource::ANY | DNS のすべてのクラスに対するクエリーを表わす 抽象クラスです。
class Resolv::DNS::Resource::CNAME | DNS リソースの CNAME レコード を表す抽象クラスです。
class Resolv::DNS::Resource::DomainName | DNSリソースのドメイン名を表す抽象クラスです。
class Resolv::DNS::Resource::Generic | 汎用DNSリソース抽象クラスです。
class Resolv::DNS::Resource::HINFO | DNS リソースの HINFO レコード を表す抽象クラスです。
module Resolv::DNS::Resource::IN | DNS のインターネットクラスリソースを表すモジュールです。
class Resolv::DNS::Resource::IN::A | DNS リソースのクラス IN、タイプ A に対応する クラスです。
class Resolv::DNS::Resource::IN::AAAA | DNS リソースのクラス IN、タイプ AAAA に対応する クラスです。
class Resolv::DNS::Resource::IN::ANY | DNS クエリーのクラス IN、タイプ ANY に対応する クラスです。
class Resolv::DNS::Resource::IN::CNAME | DNS リソースのクラス IN、タイプ CNAME に対応する クラスです。
class Resolv::DNS::Resource::IN::HINFO | DNS リソースのクラス IN、タイプ HINFO に対応する クラスです。
class Resolv::DNS::Resource::IN::MINFO | DNS リソースのクラス IN、タイプ MINFO に対応する クラスです。
class Resolv::DNS::Resource::IN::MX | DNS リソースのクラス IN、タイプ MX に対応する クラスです。
class Resolv::DNS::Resource::IN::NS | DNS リソースのクラス IN、タイプ NS に対応する クラスです。
class Resolv::DNS::Resource::IN::PTR | DNS リソースのクラス IN、タイプ PTR に対応する クラスです。
class Resolv::DNS::Resource::IN::SOA | DNS リソースのクラス IN、タイプ SOA に対応する クラスです。
class Resolv::DNS::Resource::IN::SRV | DNS リソースのクラス IN、タイプ SRV に対応する クラスです。
class Resolv::DNS::Resource::IN::TXT | DNS リソースのクラス IN、タイプ TXT に対応する クラスです。
class Resolv::DNS::Resource::IN::WKS | DNS リソースのクラス IN、タイプ WKS に対応する クラスです。
class Resolv::DNS::Resource::MINFO | DNS リソースの MINFO レコード を表す抽象クラスです。
class Resolv::DNS::Resource::MX | DNS リソースの MX レコード を表す抽象クラスです。
class Resolv::DNS::Resource::NS | DNS リソースの NS (正式な(authoritative)ネームサーバ) レコード を表す抽象クラスです。
class Resolv::DNS::Resource::PTR | DNS リソースの PTR レコード を表す抽象クラスです。
class Resolv::DNS::Resource::SOA | DNS リソースの SOA (Start Of Authority) レコード を表す抽象クラスです。
class Resolv::DNS::Resource::TXT | DNS リソースの TXT レコード を表す抽象クラスです。
class Resolv::Hosts | /etc/hosts (Windows であれば %SystemRoot%\System32\drivers\etc\hosts など) を使用するホスト名リゾルバです。
class Resolv::IPv4 | IPv4のアドレスを表すクラスです。
class Resolv::IPv6 | IPv6 のアドレスを表すクラスです。

Exception Classes

class Resolv::DNS::Config::OtherResolvError | DNS サーバからの応答がエラーであった場合に発生する例外です。
class Resolv::DNS::DecodeError | DNSメッセージのデコードに失敗したときに発生する 例外のクラスです。
class Resolv::DNS::EncodeError | DNSメッセージのエンコードに失敗したときに発生する 例外のクラスです。
class Resolv::DNS::Requester::RequestError | DNS サーバへのリクエストに失敗した場合に発生する例外のクラスです。
class Resolv::ResolvError | 名前解決に失敗したときに発生する例外のクラスです。


class Resolv

ancestors: Resolv < Object < Kernel

Abstract

リゾルバを表すクラスです。 このクラス自体は実際には名前解決をせず、 Resolv.new で与えられたリゾルバに順に 問合せることしかしません。

このクラスのクラスメソッドで名前解決をした場合には、 内部で /etc/hosts, DNS の順に問合せます。

順に問合せる過程で、あるリゾルバが1個以上の 結果を返した場合、それ以降のリゾルバには 問い合わせをしません。

Singleton Methods

Signature | Description
each_address(name) {|address| ...} -> () | ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。
each_name(address) {|name| ...} -> () | IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
getaddress(name) -> String | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。
getaddresses(name) -> [String] | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。
getname(address) -> String | IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。
getnames(address) -> [String] | IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。
new(resolvers = [Hosts.new, DNS.new]) -> Resolv | resolvers に与えたリゾルバの配列を先頭から順に 名前解決を試すような、新しいリソルバオブジェクトを返します。

Instance Methods

Signature | Description
each_address(name) {|name| ...} -> () | ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。
each_name(address) {|name| ...} -> () | IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
getaddress(name) -> String | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。
getaddresses(name) -> [String] | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。
getname(address) -> String | IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。
getnames(address) -> [String] | IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。

Constants

Signature | Description
AddressRegex -> Regexp | IPアドレスにマッチする正規表現です。
DefaultResolver -> Resolv | Resolv の各クラスメソッドを呼びだしたときに 利用されるリゾルバです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS

ancestors: Resolv::DNS < Object < Kernel

Abstract

このクラスは DNS を利用した名前解決をするリゾルバを 表します。

このクラスは実際には下位のクラスに処理を依頼します。

DNSについては以下を参照してください。

  • STD0013
  • [RFC1035]
  • ftp://ftp.isi.edu/in-notes/iana/assignments/dns-parameters
  • etc.

Singleton Methods

Signature Description
new(resolv_conf = nil) -> Resolv::DNS

新しい DNS リゾルバを生成します。

open(*args) -> Resolv::DNS
open(*args) {|dns| ...} -> object

新しい DNS リゾルバを生成します。 ブロックを与えた場合は生成したリゾルバでブロックを呼びだし、 ブロック終了時にリゾルバを閉じます。

Instance Methods

Signature | Description
close -> () | DNSリゾルバを閉じます。
each_address(name) {|name| ...} -> () | ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。
each_name(address) {|name| ...} -> () | IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
each_resource(name, typeclass) {|resource| ...} -> () | nameに対応するDNSリソースレコードを取得します。 見つかったリソースをひとつづつブロックに渡します。
getaddress(name) -> Resolv::IPv4 | Resolv::IPv6 | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。
getaddresses(name) -> [Resolv::IPv4 | Resolv::IPv6] | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。
getname(address) -> Resolv::DNS::Name | IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を返します。
getnames(address) -> [Resolv::DNS::Name] | IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。
getresource(name, typeclass) -> Resolv::DNS::Resource | nameに対応するDNSリソースレコードを取得します。 最初に見つかったリソースを返します。
getresources(name, typeclass) -> [Resolv::DNS::Resource] | nameに対応するDNSリソースレコードを取得します。 見つかったリソース全てを配列にして返します。

Constants

Signature | Description
Port -> Integer | デフォルトの DNS ポート番号です。
UDPSize -> Integer | デフォルトの UDP パケットサイズです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Config::OtherResolvError

ancestors: Resolv::DNS::Config::OtherResolvError < Resolv::ResolvError < StandardError < Exception < Object < Kernel

Abstract

DNS サーバからの応答がエラーであった場合に発生する例外です。

Resolv::DNSの各メソッドがこの例外を発生させる可能性があります。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::DecodeError

ancestors: Resolv::DNS::DecodeError < StandardError < Exception < Object < Kernel

Abstract

DNSメッセージのデコードに失敗したときに発生する 例外のクラスです。

DNSサーバからの応答が規格的に正しくない場合などに 発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::EncodeError

ancestors: Resolv::DNS::EncodeError < StandardError < Exception < Object < Kernel

Abstract

DNSメッセージのエンコードに失敗したときに発生する 例外のクラスです。

通常このエラーは発生しません。 もし発生したならばライブラリのバグである可能性があります。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Name

ancestors: Resolv::DNS::Name < Object < Kernel

Abstract

ドメイン名を表すクラスです。

Singleton Methods

Signature | Description
create(name) -> Resolv::DNS::Name | 文字列 name から Resolv::DNS::Name のインスタンスを生成します。
new(labels, absolute = true) -> Resolv::DNS::Name | Resolv::DNS::Nameのインスタンスを生成します。 labels は Resolv::DNS::Label::Str の配列を与えます。

Instance Methods

Signature | Description
absolute? -> bool | 絶対パス形式であるかどうかを返します。
subdomain_of?(other) -> bool | other が self のサブドメインであるかどうかを返します。
to_s -> String | ドメイン名を文字列として返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Query

ancestors: Resolv::DNS::Query < Object < Kernel

Abstract

DNSクエリを表す抽象クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Resolv::DNS::Requester::RequestError

ancestors: Resolv::DNS::Requester::RequestError < StandardError < Exception < Object < Kernel

Abstract

DNS サーバへのリクエストに失敗した場合に発生する例外のクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource

ancestors: Resolv::DNS::Resource < Resolv::DNS::Query < Object < Kernel

Abstract

DNSリソースを表す抽象クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Resolv::DNS::Resource::ANY

ancestors: Resolv::DNS::Resource::ANY < Resolv::DNS::Query < Object < Kernel

Abstract

DNS のすべてのクラスに対するクエリーを表わす 抽象クラスです。

Resolv::DNS#getresource では Resolv::DNS::Resource::IN::ANY を使うべきです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Resolv::DNS::Resource::CNAME

ancestors: Resolv::DNS::Resource::CNAME

      < Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの CNAME レコード を表す抽象クラスです。

Resolv::DNS#getresource で CNAME レコードを得たい場合は Resolv::DNS::Resource::IN::CNAME を使うべきです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new name


class Resolv::DNS::Resource::DomainName

ancestors: Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNSリソースのドメイン名を表す抽象クラスです。

Instance Methods

Signature | Description
name -> Resolv::DNS::Name | ドメイン名を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Resolv::DNS::Resource::Generic

ancestors: Resolv::DNS::Resource::Generic

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

汎用DNSリソース抽象クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Resolv::DNS::Resource::HINFO

ancestors: Resolv::DNS::Resource::HINFO

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの HINFO レコード を表す抽象クラスです。

このレコードはホストのハードウェアとソフトウェアの情報を 保持しています。

Resolv::DNS#getresource で HINFO レコードを得たい場合は Resolv::DNS::Resource::IN::HINFO を使うべきです。

Singleton Methods

Signature | Description
new(cpu, os) -> Resolv::DNS::Resource::HINFO | Resolv::DNS::Resource::HINFO のインスタンスを生成します。

Instance Methods

Signature | Description
cpu -> String | ホストで使われる CPU 名(ハードウェア名)を返します。
os -> String | ホストで使われる OS 名を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module Resolv::DNS::Resource::IN

ancestors: Resolv::DNS::Resource::IN

Abstract

DNS のインターネットクラスリソースを表すモジュールです。

インターネットクラスリソースを利用する class に mixinして利用します。


class Resolv::DNS::Resource::IN::A

ancestors: Resolv::DNS::Resource::IN::A

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ A に対応する クラスです。

IPv4アドレスリソースを表します。

Singleton Methods

Signature | Description
new(address) -> Resolv::DNS::Resource::IN::A | Resolv::DNS::Resource::IN::A のインスタンスを 生成します。

Instance Methods

Signature | Description
address -> Resolv::IPv4 | IPv4アドレスを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::IN::AAAA

ancestors: Resolv::DNS::Resource::IN::AAAA

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ AAAA に対応する クラスです。

IPv6アドレスリソースを表します。

Singleton Methods

Signature | Description
new(address) -> Resolv::DNS::Resource::IN::AAAA | Resolv::DNS::Resource::IN::AAAA のインスタンスを 生成します。

Instance Methods

Signature | Description
address -> Resolv::IPv6 | IPv6アドレスを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::IN::ANY

ancestors: Resolv::DNS::Resource::IN::ANY

      < Resolv::DNS::Resource::ANY

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS クエリーのクラス IN、タイプ ANY に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Resolv::DNS::Resource::IN::CNAME

ancestors: Resolv::DNS::Resource::IN::CNAME

      < Resolv::DNS::Resource::CNAME

      < Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ CNAME に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new name


class Resolv::DNS::Resource::IN::HINFO

ancestors: Resolv::DNS::Resource::IN::HINFO

      < Resolv::DNS::Resource::HINFO

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ HINFO に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint cpu os .new


class Resolv::DNS::Resource::IN::MINFO

ancestors: Resolv::DNS::Resource::IN::MINFO

      < Resolv::DNS::Resource::MINFO

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ MINFO に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint emailbx rmailbx .new


class Resolv::DNS::Resource::IN::MX

ancestors: Resolv::DNS::Resource::IN::MX

      < Resolv::DNS::Resource::MX

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ MX に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint exchange preference .new


class Resolv::DNS::Resource::IN::NS

ancestors: Resolv::DNS::Resource::IN::NS

      < Resolv::DNS::Resource::NS

      < Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ NS に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new name


class Resolv::DNS::Resource::IN::PTR

ancestors: Resolv::DNS::Resource::IN::PTR

      < Resolv::DNS::Resource::PTR

      < Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ PTR に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new name


class Resolv::DNS::Resource::IN::SOA

ancestors: Resolv::DNS::Resource::IN::SOA

      < Resolv::DNS::Resource::SOA

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ SOA に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint expire minimum mname refresh retry rname serial .new


class Resolv::DNS::Resource::IN::SRV

ancestors: Resolv::DNS::Resource::IN::SRV

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ SRV に対応する クラスです。

[RFC2782] で定義されています。 利用可能なサービスのホスト名とポート番号を指定するレコードです。

Singleton Methods

Signature | Description
new(priority, weight, port, target) -> Resolv::DNS::Resource::IN::SRV | Resolv::DNS::Resource::IN::SRV のインスタンスを生成します。

Instance Methods

Signature | Description
port -> Integer | 対象のサービスの対象のホストにおけるポート番号を返します。
priority -> Integer | ホストの優先順位を返します。
target -> Resolv::DNS::Name | 対象のホストのホスト名を返します。
weight -> Integer | サーバを選択するための「重み」です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::IN::TXT

ancestors: Resolv::DNS::Resource::IN::TXT

      < Resolv::DNS::Resource::TXT

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ TXT に対応する クラスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint data strings .new


class Resolv::DNS::Resource::IN::WKS

ancestors: Resolv::DNS::Resource::IN::WKS

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースのクラス IN、タイプ WKS に対応する クラスです。

Singleton Methods

Signature | Description
new(address, protocol, bitmap) -> Resolv::DNS::Resource::IN::WKS | Resolv::DNS::Resource::IN::WKS のインスタンスを生成します。

Instance Methods

Signature | Description
address -> Resolv::IPv4 | IPv4アドレスを返します。
bitmap -> String | そのホストで利用可能なサービスのビットマップを返します。
protocol -> Integer | IPプロトコル番号を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::MINFO

ancestors: Resolv::DNS::Resource::MINFO

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの MINFO レコード を表す抽象クラスです。

Resolv::DNS#getresource で MINFO レコードを得たい場合は Resolv::DNS::Resource::IN::MINFO を使うべきです。

Singleton Methods

Signature | Description
new(rmailbx, emailbx) -> Resolv::DNS::Resource::MINFO | Resolv::DNS::Resource::MINFO のインスタンスを生成します。

Instance Methods

Signature | Description
emailbx -> String | メーリングリストもしくはメールボックスの エラーを受け取るメールボックスのドメイン名を 返します。
rmailbx -> String | メーリングリストもしくはメールボックスの 責任者のドメイン名を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::MX

ancestors: Resolv::DNS::Resource::MX

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの MX レコード を表す抽象クラスです。

Resolv::DNS#getresource で MX レコードを得たい場合は Resolv::DNS::Resource::IN::MX を使うべきです。

Singleton Methods

Signature | Description
new(preference, exchange) -> Resolv::DNS::Resource::MX | Resolv::DNS::Resource::MX のインスタンスを返します。

Instance Methods

Signature | Description
exchange -> Resolv::DNS::Name | MXのホスト名を返します。
preference -> Integer | このMXレコードの優先度を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::NS

ancestors: Resolv::DNS::Resource::NS

      < Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの NS (正式な(authoritative)ネームサーバ) レコード を表す抽象クラスです。

Resolv::DNS#getresource で NS レコードを得たい場合は Resolv::DNS::Resource::IN::NS を使うべきです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new name


class Resolv::DNS::Resource::PTR

ancestors: Resolv::DNS::Resource::PTR

      < Resolv::DNS::Resource::DomainName

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの PTR レコード を表す抽象クラスです。

Resolv::DNS#getresource で PTR レコードを得たい場合は Resolv::DNS::Resource::IN::PTR を使うべきです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new name


class Resolv::DNS::Resource::SOA

ancestors: Resolv::DNS::Resource::SOA

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの SOA (Start Of Authority) レコード を表す抽象クラスです。

Resolv::DNS#getresource で SOA レコードを得たい場合は Resolv::DNS::Resource::IN::SOA を使うべきです。

Singleton Methods

Signature | Description
new(mname, rname, serial, refresh, retry_, expire, minimum) | Resolv::DNS::Resource::SOA のインスタンスを生成して返します。

Instance Methods

Signature | Description
expire -> Integer | プライマリサーバから得たゾーン情報をセカンダリサーバが 何秒間有効なものとして保持するかを返します。
minimum -> Integer | リソースレコードで TTL の値として使われる最小の秒数を 返します。
mname -> Resolv::DNS::Name | 対象のゾーンのマスターゾーンファイルが存在するホスト名を返します。
refresh -> Integer | プライマリサーバからの更新をセカンダリサーバがチェックする 頻度を秒単位で返します。
retry -> Integer | セカンダリサーバがプライマリサーバからの情報更新に失敗した場合に 何秒後にリトライするかを返します。
rname -> Resolv::DNS::Name | 対象のドメイン名の管理者名を返します。
serial -> Integer | ゾーンファイルのバージョンを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::DNS::Resource::TXT

ancestors: Resolv::DNS::Resource::TXT

      < Resolv::DNS::Resource

      < Resolv::DNS::Query

      < Object

      < Kernel

Abstract

DNS リソースの TXT レコード を表す抽象クラスです。

Resolv::DNS#getresource で TXT レコードを得たい場合は Resolv::DNS::Resource::IN::TXT を使うべきです。

Singleton Methods

Signature | Description
new(first_string, *rest_strings) -> Resolv::DNS::Resource::TXT | Resolv::DNS::Resource::TXTのインスタンスを生成します。

Instance Methods

Signature | Description
data -> String | TXT レコードの最初の文字列を返します。
strings -> [String] | TXT レコードの文字列を配列で返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::Hosts

ancestors: Resolv::Hosts < Object < Kernel

Abstract

/etc/hosts (Windows であれば %SystemRoot%\System32\drivers\etc\hosts など) を使用するホスト名リゾルバです。

Singleton Methods

Signature | Description
new(hosts = DefaultFileName) -> Resolv::Hosts | hosts というファイル名のファイルを情報源とする リゾルバを生成し、返します。

Instance Methods

Signature | Description
each_address(name) {|name| ...} -> () | ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。
each_name(address) {|name| ...} -> () | IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。
getaddress(name) -> String | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。
getaddresses(name) -> [String] | ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。
getname(address) -> String | IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。
getnames(address) -> [String] | IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。

Constants

Signature | Description
DefaultFileName -> String | システム標準の、 ホスト情報が書かれたファイルの名前です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::IPv4

ancestors: Resolv::IPv4 < Object < Kernel

Abstract

IPv4のアドレスを表すクラスです。

Singleton Methods

Signature | Description
create(address) -> Resolv::IPv4 | "192.168.0.1" のように "." で区切られた IPv4 表記の文字列 address から Resolv::IPv4 のインスタンスを生成します。
new(address) -> Resolv::IPv4 | 4 byte の文字列 address から Resolv::IPv4 のインスタンスを生成します。

Instance Methods

Signature | Description
address -> String | 4byte バイト列の IPv4 アドレスを返します。
to_name -> Resolv::DNS::Name | "x.y.z.w.in-addr.arpa." という形のドメイン名を返します。
to_s -> String | ドットで区切られた IPv4 アドレス文字列を返します。

Constants

Signature | Description
Regex -> Regexp | IPv4 のアドレスの正規表現です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::IPv6

ancestors: Resolv::IPv6 < Object < Kernel

Abstract

IPv6 のアドレスを表すクラスです。

Singleton Methods

Signature | Description
create(address) | 以下のいずれかの形式の文字列 address から Resolv::IPv6 のインスタンスを生成します。
new(address) | 16 byte の文字列 address から Resolv::IPv6 のインスタンスを生成します。

Instance Methods

Signature | Description
address -> String | IPv6アドレスを表す 16 byte の文字列(バイト列)を返します。
to_name -> Resolv::DNS::Name | "h.g.f.e.d.c.b.a.ip6.arpa." という DNS 名を返します。
to_s -> String | IPv6 アドレスの文字列表現を返します。

Constants

Signature Description
Regex -> Regexp

IPv6のアドレスの正規表現です。
Resolv::IPv6::Regex_6Hex4Dec,
Resolv::IPv6::Regex_8Hex,
Resolv::IPv6::Regex_CompressedHex,
Resolv::IPv6::Regex_CompressedHex4Dec,
のいずれかとマッチする文字列とマッチします。
Regex_6Hex4Dec -> Regexp
Regex_8Hex -> Regexp
Regex_CompressedHex -> Regexp
Regex_CompressedHex4Dec -> Regexp

IPv6の各文字列表記とマッチする正規表現です。順に

  • a:b:c:d:e:f:w.x.y.z
  • a:b:c:d:e:f:g:h
  • a::b
  • a::b:w.x.y.z

という文字列とマッチします。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Resolv::ResolvError

ancestors: Resolv::ResolvError < StandardError < Exception < Object < Kernel

Abstract

名前解決に失敗したときに発生する例外のクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library resolv-replace

Abstract

名前解決に resolv を使用するためのライブラリです。

Added/Redefined Methods

IPSocket.getaddress SOCKSSocket.new TCPSocket.new UDPSocket#bind UDPSocket#connect UDPSocket#send


library rexml

Abstract

Pure Ruby の XML パーサです。 DOM スタイルと SAX スタイルの両方をカバーしています。

  • DOMっぽいAPI
  • rexml/document
  • rexml/element
  • rexml/attribute
  • rexml/namespace
  • rexml/text (おまけで rexml/cdata も？)
  • rexml/instruction
  • SAXっぽいAPI
  • rexml/parsers/streamparser
  • rexml/streamlistener
  • rexml/parsers/sax2parser
  • rexml/sax2listener

リンク

  • REXML Home http://www.germane-software.com/software/rexml
  • API リファレンス http://www.germane-software.com/software/rexml_doc 日本語訳 http://pub.cozmixng.org/~kou/rexml-doc-ja/
  • チュートリアル http://www.germane-software.com/software/rexml/docs/tutorial.html 日本語訳 http://www.baykit.org/~makotos/cgi-bin/wiliki.cgi?REXML%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB&l=jp
  • 日本語 http:#/www.cozmixng.org/~kou/ruby/rexml/ http:#/www.cozmixng.org/~kou/ruby/rexml/reference

Classes/Modules

module REXML
class REXML::AttlistDecl
class REXML::Attribute
class REXML::Attributes
class REXML::CData
class REXML::Child
class REXML::Comment
class REXML::DTD::AttlistDecl
class REXML::DTD::ElementDecl
class REXML::DTD::EntityDecl
class REXML::DTD::NotationDecl
class REXML::DTD::Parser
class REXML::Declaration
class REXML::DocType
class REXML::Element
class REXML::ElementDecl
class REXML::Elements
module REXML::Encoding
class REXML::Entity
module REXML::EntityConst
class REXML::ExternalEntity
module REXML::Functions
class REXML::IOSource
class REXML::Instruction
class REXML::Light::Node
module REXML::Namespace
module REXML::Node
class REXML::NotationDecl
class REXML::Output
class REXML::Parent
class REXML::Parsers::BaseParser
class REXML::Parsers::LightParser
class REXML::Parsers::PullEvent
class REXML::Parsers::PullParser
class REXML::Parsers::SAX2Parser
class REXML::Parsers::StreamParser
class REXML::Parsers::TreeParser
class REXML::Parsers::UltraLightParser
class REXML::Parsers::XPathParser
class REXML::QuickPath
module REXML::SAX2Listener
class REXML::Source
class REXML::SourceFactory
module REXML::StreamListener
class REXML::SyncEnumerator
class REXML::Text
class REXML::Validation::Choice
class REXML::Validation::Event
class REXML::Validation::Interleave
class REXML::Validation::OneOrMore
class REXML::Validation::Optional
class REXML::Validation::Ref
class REXML::Validation::RelaxNG
class REXML::Validation::Sequence
class REXML::Validation::State
module REXML::Validation::Validator
class REXML::Validation::ZeroOrMore
class REXML::XMLDecl
module REXML::XMLTokens
class REXML::XPath
class REXML::XPathParser

Exception Classes

class REXML::ParseException
class REXML::Validation::ValidationException

Added/Redefined Methods

Array#dclone

Object#dclone

REXML::Encoding#decode

REXML::Encoding#decode_ascii

REXML::Encoding#decode_eucjp

REXML::Encoding#decode_iconv

REXML::Encoding#decode_sjis

REXML::Encoding#decode_unile

REXML::Encoding#decode_utf16

REXML::Encoding#decode_utf8

REXML::Encoding#encode

REXML::Encoding#encode_ascii

REXML::Encoding#encode_eucjp

REXML::Encoding#encode_iconv

REXML::Encoding#encode_sjis

REXML::Encoding#encode_unile

REXML::Encoding#encode_utf16

REXML::Encoding#encode_utf8

REXML::Encoding::EUCTOU8

REXML::Encoding::SJISTOU8

REXML::Encoding::U8TOEUC

REXML::Encoding::U8TOSJIS

Symbol#dclone


module REXML

ancestors: REXML

Abstract

Constants

Signature Description
COPYRIGHT
Copyright
DATE
VERSION
Version


class REXML::AttlistDecl

ancestors: REXML::AttlistDecl < Enumerable < REXML::Child < REXML::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(source) |

Instance Methods

Signature | Description
self[key] |
each {|name, value| ... } |
element_name |
include?(key) |
node_type |
write(out, indent = -1) |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::Attribute

ancestors: REXML::Attribute

      < REXML::Node

      < REXML::Namespace

      < REXML::XMLTokens

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(first, second = nil, parrent = nil) |

Instance Methods

Signature | Description
self == other |
clone |
element |
element=(element) |
hash |
inspect |
namespace(arg = nil) |
node_type |
normalized=(value) |
prefix |
remove |
to_s |
to_string |
value |
write(output, indent = -1) |
xpath |

Constants

Signature | Description
PATTERN |

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint expanded_name fully_expanded_name has_name? local_name name= prefix ::NAMESPLIT each_recursive find_first_recursive indent index_in_parent next_sibling_node parent? previous_sibling_node


class REXML::Attributes

ancestors: REXML::Attributes < Hash < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(element) |

Instance Methods

Signature Description
add(attribute)
self << attribute
self[name]
self[name] = value
delete(attribute)
delete_all(name)
each {|name, value| ... }
each_attribute {|attribute| ... }
get_attribute(name)
get_attribute_ns(namespace, name)
length
size
namespaces
prefixes
to_a

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == []= clear clone default default= default_proc delete_if each each_key each_value empty? equal? fetch has_key? has_value? hash index indexes inspect invert keys merge rehash replace shift to_hash update values values_at .[] =~ __id__ __send__ _dump class dclone display enum_for extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::CData

ancestors: REXML::CData < REXML::Text < Comparable < REXML::Child < REXML::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(first, whitespace = true, parent = nil) |

Instance Methods

Signature | Description
clone |
to_s |
value |
write(output = $stdout, indent = -1, transitive = false, ie_hack = false) |

Constants

Signature | Description
ILLEGAL |
START |
STOP |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with << <=> empty? indent_text inspect node_type raw value= wrap write_with_substitution xpath .normalize .read_with_substitution .unnormalize ::EREFERENCE ::NUMERICENTITY ::REFERENCE ::SETUTITSBUS ::SLAICEPS ::SPECIALS ::SUBSTITUTES


class REXML::Child

ancestors: REXML::Child < REXML::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent = nil) |

Instance Methods

Signature | Description
bytes |
document |
next_sibling |
next_sibling=(other) |
parent |
parent=(other) |
previous_sibling |
previous_sibling=(other) |
remove |
replace_with(child) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Comment

ancestors: REXML::Comment < Comparable < REXML::Child < REXML::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(first, second = nil) |

Instance Methods

Signature Description
self <=> other
self == other
clone
node_type
string
string=(value)
to_s
write(output, indent = -1, transitive = false, ie_hack = false)

Constants

Signature | Description
START |
STOP |

Inherited Methods

< <= > >= between? === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::DTD::AttlistDecl

ancestors: REXML::DTD::AttlistDecl

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Constants

Signature | Description
PATTERN_RE |
START |
START_RE |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with .new


class REXML::DTD::ElementDecl

ancestors: REXML::DTD::ElementDecl

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(match) |

Constants

Signature | Description
PATTERN_RE |
START |
START_RE |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::DTD::EntityDecl

ancestors: REXML::DTD::EntityDecl

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(src) |
parse_source(source, listener) |

Instance Methods

Signature | Description
to_s |
write(output, indent) |

Constants

Signature | Description
PERCENT |
PLAIN |
PUBLIC |
START |
START_RE |
SYSTEM |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::DTD::NotationDecl

ancestors: REXML::DTD::NotationDecl

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(src) |
parse_source(source, listener) |

Instance Methods

Signature | Description
to_s |
write(output, indent) |

Constants

Signature | Description
PUBLIC |
START |
START_RE |
SYSTEM |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::DTD::Parser

ancestors: REXML::DTD::Parser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
parse(input) |
parse_helper(input) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class REXML::Declaration

ancestors: REXML::Declaration

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(src) |

Instance Methods

Signature | Description
to_s |
write(output, indent) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::DocType

ancestors: REXML::DocType

      < REXML::XMLTokens

      < REXML::Parent

      < Enumerable

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(first, parent = nil) |

Instance Methods

Signature | Description
add(child) |
attribute_of(element, attribute) |
attributes_of(element) |
clone |
context |
entities |
entity(name) |
external_id |
name |
namespaces |
node_type |
notation(name) |
notations |
public |
system |
write(output, indent = 0, transitive = false, ie_hack = false) |

Constants

Signature | Description
DEFAULT_ENTITIES |
PUBLIC |
START |
STOP |
SYSTEM |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with << [] []= children deep_clone delete delete_at delete_if each each_index index insert_after insert_before length parent? replace_child unshift ::NAME ::NAMECHAR ::NAME_STR ::NCNAME_STR ::NMTOKEN ::NMTOKENS ::REFERENCE


class REXML::Element

ancestors: REXML::Element

      < REXML::Namespace

      < REXML::XMLTokens

      < REXML::Parent

      < Enumerable

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(arg = UNDEFINED, parent = nil, context = nil) |

Instance Methods

Signature Description
add_attribute(key, value = nil)
add_attributes(hash)
add_element(element, attrs = nil)
add_namespace(prefix, uri = nil)
add_text(text)
attribute(name, namespace = nil)
attributes
cdatas
clone
comments
context
context=(value)
delete_attribute(key)
delete_element(element)
delete_namespace(namespace = "xmlns")
document
each_element(xpath = nil) {|element| ... }
each_element_with_attribute(key, value = nil, max = 0, name = nil) {|element| ... }
each_element_with_text(text = nil, max = 0, name = nil) {|element| ... }
elements
get_elements(xpath)
get_text(path = nil)
has_attributes?
has_elements?
has_text?
ignore_whitespace_nodes
inspect
instructions
namespace
namespaces
next_element
node_type
prefixes
previous_element
raw
root
root_node
text(path = nil)
text=(text)
texts
whitespace
write(writer = $stdout, indent = -1, transitive = false, ie_hack = false)
xpath

Constants

Signature | Description
UNDEFINED |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with expanded_name fully_expanded_name has_name? local_name name= prefix ::NAMESPLIT << [] []= children deep_clone delete delete_at delete_if each each_index index insert_after insert_before length parent? replace_child unshift


class REXML::ElementDecl

ancestors: REXML::ElementDecl

      < REXML::Declaration

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(src) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with to_s write


class REXML::Elements

ancestors: REXML::Elements < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent) |

Instance Methods

Signature Description
add(element = nil)
self << element = nil
self[index, name = nil]
self[index] = element
collect(xpath = nil) {|element| .. }
delete(element)
delete_all(xpath)
each(xpath = nil) {|element| ... }
empty?
index(element)
inject(xpath = nil, initial = nil) {|element| ... }
size
to_a(xpath = nil)

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module REXML::Encoding

ancestors: REXML::Encoding

Abstract

Singleton Methods

Signature | Description
apply(obj, enc) |
encoding_method(enc) |
register(enc) {|obj| ... } |

Instance Methods

Signature | Description
check_encoding(str) |
decode(str) |  | rexml
encode(content) |  | rexml
encoding |
encoding=(euc) |

Constants

Signature | Description
UNILE |
UTF_16 |
UTF_8 |

Added Methods

Signature | Description | Library
EUCTOU8 |  | rexml
SJISTOU8 |  | rexml
U8TOEUC |  | rexml
U8TOSJIS |  | rexml
decode_ascii(str) |  | rexml
decode_eucjp(str) |  | rexml
decode_iconv(str) |  | rexml
decode_sjis(content) |  | rexml
decode_unile(str) |  | rexml
decode_utf16(str) |  | rexml
decode_utf8(str) |  | rexml
encode_ascii(content) |  | rexml
encode_eucjp(content) |  | rexml
encode_iconv(content) |  | rexml
encode_sjis(str) |  | rexml
encode_unile(content) |  | rexml
encode_utf16(content) |  | rexml
encode_utf8(content) |  | rexml


class REXML::Entity

ancestors: REXML::Entity

      < REXML::XMLTokens

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
matches?(string) |
new(stream, value = nil, parent = nil, reference = false) |

Instance Methods

Signature | Description
external |
name |
ndata |
normalized |
pubid |
ref |
to_s |
unnormalized |
value |
write(out, indent = -1) |

Constants

Signature | Description
ENTITYDECL |
ENTITYDEF |
ENTITYVALUE |
EXTERNALID |
GEDECL |
NDATADECL |
PEDECL |
PEDEF |
PEREFERENCE |
PEREFERENCE_RE |
PUBIDCHAR |
PUBIDLITERAL |
SYSTEMLITERAL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with ::NAME ::NAMECHAR ::NAME_STR ::NCNAME_STR ::NMTOKEN ::NMTOKENS ::REFERENCE


module REXML::EntityConst

ancestors: REXML::EntityConst

Abstract

Constants

Signature | Description
AMP |
APOS |
GT |
LT |
QUOT |


class REXML::ExternalEntity

ancestors: REXML::ExternalEntity

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(src) |

Instance Methods

Signature | Description
to_s |
write(output, indent) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


module REXML::Functions

ancestors: REXML::Functions

Abstract

Singleton Methods

Signature | Description
boolean(object = nil) |
ceiling(number) |
compare_language(lang1, lang2) |
concat(*objects) |
contains(string, test) |
context=(value) |
count(node_set) |
false |
floor(number) |
get_namespace(node_set = nil) |
id(object) |
lang(language) |
last |
local_name(node_set = nil) |
method_missing(id) |
name(node_set = nil) |
namespace_context |
namespace_context=(x) |
namespace_uri(node_set = nil) |
normalize_space(string = nil) |
not(object) |
number(object = nil) |
position |
processing_instruction(node) |
round(number) |
starts_with(string, test) |
string(object = nil) |
string_length(string) |
string_value(o) |
substring(string, start, length = nil) |
substring_after(string, test) |
substring_before(string, test) |
sum(nodes) |
text |
translate(string, tr1, tr2) |
true |
variables |
variables=(x) |


class REXML::IOSource

ancestors: REXML::IOSource

      < REXML::Source

      < REXML::Encoding

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(arg, block_size = 500) |

Instance Methods

Signature | Description
consume(pattern) |
current_line |
empty? |
match(pattern, cons = false) |
position |
read |
scan(pattern, cons = false) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint check_encoding decode decode_ascii decode_eucjp decode_iconv decode_sjis decode_unile decode_utf16 decode_utf8 encode encode_ascii encode_eucjp encode_iconv encode_sjis encode_unile encode_utf16 encode_utf8 encoding encoding= ::EUCTOU8 ::SJISTOU8 ::U8TOEUC ::U8TOSJIS ::UNILE ::UTF_16 ::UTF_8 buffer line match_to match_to_consume


class REXML::Instruction

ancestors: REXML::Instruction

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(target, content = nil) |

Instance Methods

Signature Description
self == other
clone
content
content=(value)
inspect
node_type
target
target=(value)
write(writer, indent = -1, transitive = false, ie_hack = false)

Constants

Signature | Description
START |
STOP |

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::Light::Node

ancestors: REXML::Light::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(node = nil) |

Instance Methods

Signature | Description
self << element |
self =~ path |
self[reference, ns = nil] |
self[reference, ns] = value = nil |
children |
each {|x| ... } |
has_name? |
local_name |
local_name=(name_str) |
name |
name=(name_str, ns = nil) |
namespace(prefix = prefix()) |
namespace=(namespace) |
node_type |
parent |
parent=(node) |
prefix(namespace = nil) |
root |
size |
text=(foo) |
to_s |

Constants

Signature | Description
NAMESPLIT |
PARENTS |

Inherited Methods

== === __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


module REXML::Namespace

ancestors: REXML::Namespace < REXML::XMLTokens

Abstract

Instance Methods

Signature Description
expanded_name
fully_expanded_name
has_name?(other, ns = nil)
name
local_name
name=(name)
prefix
prefix=(value)

Constants

Signature | Description
NAMESPLIT |


module REXML::Node

ancestors: REXML::Node

Abstract

Instance Methods

Signature | Description
each_recursive {|node| ... } |
find_first_recursive {|node| ... } |
indent(to, ind) |
index_in_parent |
next_sibling_node |
parent? |
previous_sibling_node |
to_s(indent = -1) |


class REXML::NotationDecl

ancestors: REXML::NotationDecl

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(name, middle, pub, sys) |

Instance Methods

Signature Description
name
public
public=(value)
system
system=(value)
to_s
write(output, indent = -1)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::Output

ancestors: REXML::Output < REXML::Encoding < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(real_IO, encd = "iso-8859-1") |

Instance Methods

Signature | Description
self << content |
encoding |
to_s |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint check_encoding decode decode_ascii decode_eucjp decode_iconv decode_sjis decode_unile decode_utf16 decode_utf8 encode encode_ascii encode_eucjp encode_iconv encode_sjis encode_unile encode_utf16 encode_utf8 encoding= ::EUCTOU8 ::SJISTOU8 ::U8TOEUC ::U8TOSJIS ::UNILE ::UTF_16 ::UTF_8


class REXML::Parent

ancestors: REXML::Parent < Enumerable < REXML::Child < REXML::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent = nil) |

Instance Methods

Signature Description
add(object)
push(object)
self << object
self[index]
self[] = *args
to_a
children
deep_clone
delete(object)
delete_at(index)
delete_if {|object| ... }
each {|object| ... }
each_child {|object| ... }
each_index {|index| ... }
index(child)
insert_after(child1, child2)
insert_before(child1, child2)
size
length
parent?
replace_child(to_replace, replacement)
unshift(object)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::ParseException

ancestors: REXML::ParseException < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(message source = nil, parser = nil, exception = nil) |

Instance Methods

Signature Description
context
continued_exception
continued_exception=(value)
line
parser
parser=(value)
position
source
source=(value)
to_s

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::BaseParser

ancestors: REXML::Parsers::BaseParser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(source) |

Instance Methods

Signature | Description
add_listener(listener) |
empty? |
entity(reference, entities) |
has_next? |
normalize(input, entities = nil, entity_filter = nil) |
peek(depth = 0) |
position |
pull |
source |
stream=(source) |
unnormalize(string, entities = nil, filter = nil) |
unshift(token) |

Constants

Signature | Description
ATTDEF |
ATTDEF_RE |
ATTLISTDECL_PATTERN |
ATTLISTDECL_START |
ATTRIBUTE_PATTERN |
ATTTYPE |
ATTVALUE |
CDATA_END |
CDATA_PATTERN |
CDATA_START |
CLOSE_MATCH |
COMMENT_PATTERN |
COMMENT_START |
DEFAULTDECL |
DEFAULT_ENTITIES |
DOCTYPE_PATTERN |
DOCTYPE_START |
ELEMENTDECL_PATTERN |
ELEMENTDECL_START |
ENCODING |
ENTITYDECL |
ENTITYDEF |
ENTITYVALUE |
ENTITY_START |
ENUMERATEDTYPE |
ENUMERATION |
EREFERENCE |
EXTERNALID |
GEDECL |
IDENTITY |
INSTRUCTION_PATTERN |
INSTRUCTION_START |
MISSING_ATTRIBUTE_QUOTES |
NAME |
NAMECHAR |
NAME_STR |
NCNAME_STR |
NDATADECL |
NMTOKEN |
NMTOKENS |
NOTATIONDECL_START |
NOTATIONTYPE |
PEDECL |
PEDEF |
PEREFERENCE |
PUBIDCHAR |
PUBIDLITERAL |
PUBLIC |
REFERENCE |
REFERENCE_RE |
STANDALONE |
SYSTEM |
SYSTEMENTITY |
SYSTEMLITERAL |
TAG_MATCH |
TEXT_PATTERN |
VERSION |
XMLDECL_PATTERN |
XMLDECL_START |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::LightParser

ancestors: REXML::Parsers::LightParser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(stream) |

Instance Methods

Signature | Description
add_listener(listener) |
parse | require forwardable
rewind |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::PullEvent

ancestors: REXML::Parsers::PullEvent < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(arg) |

Instance Methods

Signature | Description
self[start, endd = nil] |
attlistdecl? |
cdata? |
comment? |
doctype? |
elementdecl? |
end_element? |
entity? |
entitydecl? |
error? |
event_type |
inspect |
instruction? |
notationdecl? |
start_element? |
text? |
xmldecl? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::PullParser

ancestors: REXML::Parsers::PullParser < REXML::XMLTokens < Object < Kernel
extend: Forwardable

Abstract

Singleton Methods

Signature | Description
new(stream) |

Instance Methods

Signature | Description
add_listener(listener) |
each {|event| ... } |
empty? |
entity |
has_next? |
peek(depth = 0) |
pull |
source |
unshift |

Inherited Methods

def_delegator def_delegators == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::NAME ::NAMECHAR ::NAME_STR ::NCNAME_STR ::NMTOKEN ::NMTOKENS ::REFERENCE


class REXML::Parsers::SAX2Parser

ancestors: REXML::Parsers::SAX2Parser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(source) |

Instance Methods

Signature Description
add_listener(listener)
deafen(listener)
deafen { ... }
listen(sym, ary) { ... }
listen(sym) { ... }
listen(ary, listener)
listen(ary) { ... }
listen(listener)
parse
source

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::StreamParser

ancestors: REXML::Parsers::StreamParser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(source, listener) |

Instance Methods

Signature | Description
add_listener(listener) |
parse |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::TreeParser

ancestors: REXML::Parsers::TreeParser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(source, build_context = REXML::Document.new) |

Instance Methods

Signature | Description
add_listener(listener) |
parse |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::UltraLightParser

ancestors: REXML::Parsers::UltraLightParser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(stream) |

Instance Methods

Signature | Description
add_listener(listener) |
parse |
rewind |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Parsers::XPathParser

ancestors: REXML::Parsers::XPathParser < REXML::XMLTokens < Object < Kernel

Abstract

Instance Methods

Signature | Description
abbreviate(path) |
expand(path) |
namespaces=(namespaces) |
parse(path) |
predicate(path) |
predicate_to_string(path) {|path| ... } |

Constants

Signature | Description
AXIS |
LITERAL |
NCNAMETEST |
NODE_TYPE |
NT |
NUMBER |
PI |
QNAME |
VARIABLE_REFERENCE |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new ::NAME ::NAMECHAR ::NAME_STR ::NCNAME_STR ::NMTOKEN ::NMTOKENS ::REFERENCE


class REXML::QuickPath

ancestors: REXML::QuickPath

      < REXML::Functions

      < REXML::XMLTokens

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
attribute(name) |
axe(elements, axe_name, rest) |
each(element, path, namespaces = EMPTY_HASH) {|element| ... } |
filter(elements, path) |
first(element, path, namespaces = EMPTY_HASH) |
function(elements, fname, rest) |
match(element, path, namespaces = EMPTY_HASH) |
method_missing(id, *args) |
name |
parse_args(element, string) |
predicate(elements, path) |

Constants

Signature | Description
EMPTY_HASH |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new ::NAME ::NAMECHAR ::NAME_STR ::NCNAME_STR ::NMTOKEN ::NMTOKENS ::REFERENCE


module REXML::SAX2Listener

ancestors: REXML::SAX2Listener

Abstract

Instance Methods

Signature | Description
attlistdecl(element, pairs, contents) |
cdata(content) |
characters(text) |
comment(comment) |
doctype(name, pub_sys, long_name, uri) |
elementdecl(content) |
end_document |
end_element(uri, localname, qname) |
end_prefix_mapping(prefix) |
entitydecl(content) |
notationdecl(content) |
processing_instruction(target, data) |
progress(position) |
start_document |
start_element(uri, localname, qname, attributes) |
start_prefix_mapping(prefix, uri) |
xmldecl(version, encoding, standalone) |


class REXML::Source

ancestors: REXML::Source < REXML::Encoding < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(arg) |

Instance Methods

Signature | Description
buffer |
consume(pattern) |
current_line |
empty? |
encoding |
encoding=(enc) |
line |
match(pattern, cons = false) |
match_to(char, pattern) |
match_to_consume(char, pattern) |
position |
read |
scan(pattern, cons = false) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint check_encoding decode decode_ascii decode_eucjp decode_iconv decode_sjis decode_unile decode_utf16 decode_utf8 encode encode_ascii encode_eucjp encode_iconv encode_sjis encode_unile encode_utf16 encode_utf8 ::EUCTOU8 ::SJISTOU8 ::U8TOEUC ::U8TOSJIS ::UNILE ::UTF_16 ::UTF_8


class REXML::SourceFactory

ancestors: REXML::SourceFactory < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create_from(arg) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module REXML::StreamListener

ancestors: REXML::StreamListener

Abstract

Instance Methods

Signature | Description
attlistdecl(element_name, attributes, raw_content) |
cdata(content) |
comment(comment) |
doctype(name, pub_sys, long_name, uri) |
doctype_end |
elementdecl(content) |
entity(content) |
entitydecl(content) |
instruction(name, instruction) |
notationdecl(content) |
tag_end(name) |
tag_start(name, attrs) |
text(text) |
xmldecl(version, encoding, standalone) |


class REXML::SyncEnumerator

ancestors: REXML::SyncEnumerator < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*enums) |

Instance Methods

Signature Description
each {|*objects| ... }
size
length

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Text

ancestors: REXML::Text < Comparable < REXML::Child < REXML::Node < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(arg, respect_whitespace = false, parent = nil, raw = nil, entity_filter = nil, illegal = REXML::Text::ILLEGAL) |
normalize(input, doctype = nil, entity_filter = nil) |
read_with_substitution(input, illegal = nil) |
unnormalize(string, doctype = nil, filter = nil, illegal = nil) |

Instance Methods

Signature Description
self << to_append
self <=> other
clone
empty?
indent_text(string, level = 1, style = "\t", indentfirstline = true)
inspect
node_type
raw
raw=(value)
to_s
value
value=(val)
wrap(string, width, addnewline = false)
write(writer, indent = -1, transitive = false, ie_hack = false)
write_with_substitution(out, input)
xpath

Constants

Signature | Description
EREFERENCE |
ILLEGAL |
NUMERICENTITY |
REFERENCE |
SETUTITSBUS |
SLAICEPS |
SPECIALS |
SUBSTITUTES |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with


class REXML::Validation::Choice

ancestors: REXML::Validation::Choice < REXML::Validation::State < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(context) |

Instance Methods

Signature | Description
self << event |
add_event_to_arry(arry, evt) |
expected |
inspect |
matches?(event) |
next(event) |
reset |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint expand_ref_in generate_event previous= to_s


class REXML::Validation::Event

ancestors: REXML::Validation::Event < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(event_type, event_arg = nil) |

Instance Methods

Signature Description
self == other
done?
event_arg
event_arg=(value)
event_type
inspect
matches?(event)
single?
to_s

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Validation::Interleave

ancestors: REXML::Validation::Interleave

      < REXML::Validation::Choice

      < REXML::Validation::State

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(context) |

Instance Methods

Signature | Description
expected |
inspect |
matches?(event) |
next(event) |
next_current(event) |
reset |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << add_event_to_arry expand_ref_in generate_event previous= to_s


class REXML::Validation::OneOrMore

ancestors: REXML::Validation::OneOrMore < REXML::Validation::State < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(context) |

Instance Methods

Signature | Description
expected |
matches?(event) |
next(event) |
reset |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << add_event_to_arry expand_ref_in generate_event inspect previous= to_s


class REXML::Validation::Optional

ancestors: REXML::Validation::Optional < REXML::Validation::State < Object < Kernel

Abstract

Instance Methods

Signature | Description
expected |
matches?(event) |
next(event) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << add_event_to_arry expand_ref_in generate_event inspect previous= reset to_s .new


class REXML::Validation::Ref

ancestors: REXML::Validation::Ref < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value) |

Instance Methods

Signature | Description
inspect |
to_s |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Validation::RelaxNG

ancestors: REXML::Validation::RelaxNG < REXML::Validation::Validator < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(source) |

Instance Methods

Signature Description
count
count=(value)
current
current=(value)
receive(event)
references

Constants

Signature | Description
EMPTY |
INFINITY |
TEXT |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint dump reset validate ::NILEVENT


class REXML::Validation::Sequence

ancestors: REXML::Validation::Sequence < REXML::Validation::State < Object < Kernel

Abstract

Instance Methods

Signature | Description
matches?(event) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << add_event_to_arry expand_ref_in expected generate_event inspect next previous= reset to_s .new


class REXML::Validation::State

ancestors: REXML::Validation::State < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(context) |

Instance Methods

Signature | Description
self << event |
add_event_to_arry(arry, evt) |
expand_ref_in(arry, ind) |
expected |
generate_event(event) |
inspect |
next(event) |
previous=(previous) |
reset |
to_s |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class REXML::Validation::ValidationException

ancestors: REXML::Validation::ValidationException < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(msg) |

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module REXML::Validation::Validator

ancestors: REXML::Validation::Validator

Abstract

Instance Methods

Signature | Description
dump |
reset |
validate(event) |

Constants

Signature | Description
NILEVENT |


class REXML::Validation::ZeroOrMore

ancestors: REXML::Validation::ZeroOrMore

      < REXML::Validation::Optional

      < REXML::Validation::State

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
expected |
next(event) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint matches? << add_event_to_arry expand_ref_in generate_event inspect previous= reset to_s .new


class REXML::XMLDecl

ancestors: REXML::XMLDecl

      < REXML::Encoding

      < REXML::Child

      < REXML::Node

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
default |
new(version = REXML::XMLDecl::DEFAULT_VERSION, encoding = nil, standalone = nil) |

Instance Methods

Signature Description
self == other
clone
dowrite
encoding=(enc)
inspect
node_type
nowrite
old_enc=(enc)
standalone
standalone=(value)
stand_alone?
version
version=(value)
write(writer, indent = -1, transitive = false, ie_hack = false)
writeencoding
xmldecl(version, encoding, standalone)

Constants

Signature | Description
DEFAULT_ENCODING |
DEFAULT_STANDALONE |
DEFAULT_VERSION |
START |
STOP |

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bytes document next_sibling next_sibling= parent parent= previous_sibling previous_sibling= remove replace_with check_encoding decode decode_ascii decode_eucjp decode_iconv decode_sjis decode_unile decode_utf16 decode_utf8 encode encode_ascii encode_eucjp encode_iconv encode_sjis encode_unile encode_utf16 encode_utf8 encoding ::EUCTOU8 ::SJISTOU8 ::U8TOEUC ::U8TOSJIS ::UNILE ::UTF_16 ::UTF_8


module REXML::XMLTokens

ancestors: REXML::XMLTokens

Abstract

Constants

Signature | Description
NAME |
NAMECHAR |
NAME_STR |
NCNAME_STR |
NMTOKEN |
NMTOKENS |
REFERENCE |


class REXML::XPath

ancestors: REXML::XPath < REXML::Functions < Object < Kernel

Abstract

Singleton Methods

Signature | Description
each(element, path = nil, namespaces = {}, variables = {}) {|e| ... } |
first(element, path = nil, namespaces = {}, variables = {}) |
match(element, path = nil, namespaces = {}, variables = {}) |

Constants

Signature | Description
EMPTY_HASH |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class REXML::XPathParser

ancestors: REXML::XPathParser < REXML::XMLTokens < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
self[variable_name] = value |
first(path_stack, node) |
get_first(path, nodeset) |
match(path_stack, nodeset) |
namespaces=(namespaces = {}) |
parse(path, nodeset) |
predicate(path, nodeset) |
variables=(vars = {}) |

Constants

Signature | Description
ALL |
ELEMENTS |
LITERAL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::NAME ::NAMECHAR ::NAME_STR ::NCNAME_STR ::NMTOKEN ::NMTOKENS ::REFERENCE


library rinda/rinda

Abstract

Rubyで実装されたタプル空間(Tuple Space)を扱うためのライブラリです。

  • http://www.druby.org/ilikeruby/rinda.html
  • http://www2a.biglobe.ne.jp/~seki/ruby/d208.html

Classes/Modules

module Rinda
class Rinda::DRbObjectTemplate
class Rinda::SimpleRenewer

An SimpleRenewer allows a TupleSpace to check if a TupleEntry is still alive.

class Rinda::Template

タプルのマッチングのためのクラスです。 ユーザがこのクラスを直接使うことはありません。

class Rinda::Tuple

Tuple のためのクラスです。

class Rinda::TupleSpaceProxy
TupleSpaceProxy allows a remote Tuplespace to appear as local.

Exception Classes

class Rinda::InvalidHashTupleKey | Raised when a hash-based tuple has an invalid key.
class Rinda::RequestCanceledError | Raised when trying to use a canceled tuple.
class Rinda::RequestExpiredError | Raised when trying to use an expired tuple.
class Rinda::RindaError | Rinda error base class


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > module Rinda

module Rinda

ancestors: Rinda

Abstract


class Rinda::DRbObjectTemplate

ancestors: Rinda::DRbObjectTemplate < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(uri = nil, ref = nil) | Creates a new DRbObjectTemplate that will match against +uri+ and +ref+.

Instance Methods

Signature | Description
self === ro | This DRbObjectTemplate matches +ro+ if the remote object's drburi and drbref are the same. +nil+ is used as a wildcard.

Inherited Methods

== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::InvalidHashTupleKey

ancestors: Rinda::InvalidHashTupleKey < Rinda::RindaError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Raised when a hash-based tuple has an invalid key.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::RequestCanceledError

ancestors: Rinda::RequestCanceledError < ThreadError < StandardError < Exception < Object < Kernel

Abstract

Raised when trying to use a canceled tuple.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::RequestExpiredError

ancestors: Rinda::RequestExpiredError < ThreadError < StandardError < Exception < Object < Kernel

Abstract

Raised when trying to use an expired tuple.

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::RindaError

ancestors: Rinda::RindaError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Rinda error base class

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::SimpleRenewer

ancestors: Rinda::SimpleRenewer < DRb::DRbUndumped < Object < Kernel

Abstract

An SimpleRenewer allows a TupleSpace to check if a TupleEntry is still alive.

Singleton Methods

Signature | Description
new(sec = 180) | Creates a new SimpleRenewer that keeps an object alive for another +sec+ seconds.

Instance Methods

Signature | Description
renew | Called by the TupleSpace to check if the object is still alive.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::Template

ancestors: Rinda::Template < Rinda::Tuple < Object < Kernel

Abstract

タプルのマッチングのためのクラスです。 ユーザがこのクラスを直接使うことはありません。

例

require 'rinda/rinda'

template = Rinda::Template.new(['abc', nil, nil])
template.match(['abc', 2, 5])   # => true
template.match(['hoge', 2, 5])  # => false

template = Rinda::Template.new([String, Integer, nil])
template.match(['abc', 2, 5])   # => true
template.match(['abcd', 2, 5])  # => true

template = Rinda::Template.new([/^abc/, Integer, nil])
template.match([/^abc/, Integer, nil])  # => true
template.match(['abc', 2, 5])           # => true
template.match(['def', 2, 5])           # => false

template = Rinda::Template.new({'name' => String, 'age' => Integer})
template.match({'name' => 'seki', 'age' => 0x20})   # => true
template.match({'name' => :seki,  'age' => 0x20})   # => false

Instance Methods

Signature Description
self === tuple
match(tuple)

self と tuple のサイズが同じで、 self の各要素が tuple にマッチする場合は真を返します。 マッチングの検査には Rinda::Tuple#== と Rinda::Tuple#=== を用います。 nil はワイルドカードです。

Inherited Methods

== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint [] each fetch size value .new


class Rinda::Tuple

ancestors: Rinda::Tuple < Object < Kernel

Abstract

Tuple のためのクラスです。

Singleton Methods

Signature | Description
new(ah) | Tuple オブジェクトを生成します。 ah には Array オブジェクトか Hash オブジェクトを与えます。 Hash オブジェクトを与える場合、 キーはすべて文字列でなければいけません。

Instance Methods

Signature | Description
self[key] | ハッシュキー key に対応する要素を返します。 self が Array オブジェクトから生成された場合は、 整数 key を与えるとそのインデックスに対応する要素を返します。
each {|key, value| ... } | 各ハッシュキー key と値 value のペアを引数としてブロックを評価します。 self が Array オブジェクトから生成された場合は、 インデックスと値のペアを引数としてブロックを評価します。
fetch(key) | ハッシュキー key に対応する要素を返します。
size | サイズを整数で返します。
value | 自身が保持しているハッシュか配列を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::TupleSpaceProxy

ancestors: Rinda::TupleSpaceProxy < Object < Kernel

Abstract

TupleSpaceProxy allows a remote Tuplespace to appear as local.

Singleton Methods

Signature | Description
new(ts) | Creates a new TupleSpaceProxy to wrap +ts+.

Instance Methods

Signature | Description
notify(ev, tuple, sec = nil) | 詳細は Rinda::TupleSpace#notify 参照
read(tuple, sec = nil) {|template| ... } | 詳細は Rinda::TupleSpace#read 参照
read_all(tuple) | 詳細は Rinda::TupleSpace#read_all 参照
take(tuple, sec = nil) {|template| ... } | 詳細は Rinda::TupleSpace#take 参照
write(tuple, sec = nil) | 詳細は Rinda::TupleSpace#write 参照

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library rinda/tuplespace

Abstract

Rubyによるタプル空間(Tuple Space)の実装です。

Classes/Modules

class Rinda::TupleEntry | A TupleEntry is a Tuple (i.e. a possible entry in some Tuplespace) together with expiry and cancellation data.
class Rinda::TupleSpace | Tuple Space のためのクラスです。 普通は Rinda::TupleSpaceProxy を介して使います。

Required Libraries

rinda/rinda

Rubyで実装されたタプル空間(Tuple Space)を扱うためのライブラリです。


class Rinda::TupleEntry

ancestors: Rinda::TupleEntry < DRb::DRbUndumped < Object < Kernel

Abstract

A TupleEntry is a Tuple (i.e. a possible entry in some Tuplespace) together with expiry and cancellation data.

Singleton Methods

Signature | Description
new(ary, sec = nil) | Creates a TupleEntry based on +ary+ with an optional renewer or expiry time +sec+.

Instance Methods

Signature | Description
self[key] | Retrieves key from the tuple.
alive? | A TupleEntry is dead when it is canceled or expired.
cancel | Marks this TupleEntry as canceled.
canceled? | Returns the canceled status.
expired? | Has this tuple expired? (true/false).
expires |
expires=(expires) |
fetch(key) | Fetches key from the tuple.
make_expires(sec = nil) | Returns an expiry Time based on +sec+ which can be one of:
make_tuple(ary) | Creates a Rinda::Tuple for +ary+.
renew(sec_or_renewer) | Reset the expiry time according to +sec_or_renewer+.
size | The size of the tuple.
value | Return the object which makes up the tuple itself: the Array or Hash.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Rinda::TupleSpace

ancestors: Rinda::TupleSpace < MonitorMixin < DRb::DRbUndumped < Object < Kernel

Abstract

Tuple Space のためのクラスです。 普通は Rinda::TupleSpaceProxy を介して使います。

Singleton Methods

Signature | Description
new(period = 60) | Rinda::TupleSpace オブジェクトを生成します。

Instance Methods

Signature Description
move(port, tuple, sec = nil)

Moves +tuple+ to +port+.

notify(event, tuple, sec = nil)

Registers for notifications of +event+. Returns a NotifyTemplateEntry. See NotifyTemplateEntry for examples of how to listen for notifications.

read(tuple, sec=nil)

Reads +tuple+, but does not remove it.

read_all(tuple)

Returns all tuples matching +tuple+. Does not remove the found tuples.

take(tuple, sec = nil)
take(tuple, sec = nil) {|template| ... }

tuple にマッチするタプルをタプルスペースから取り出して返します。 マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに 投入されるまで待ちます。

write(tuple, sec = nil)

Rinda::Tuple オブジェクト tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。

Inherited Methods

mon_enter mon_exit mon_synchronize mon_try_enter new_cond == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library rss

Abstract

RSS を扱うためのライブラリです。

参考

  • http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser
  • RSS 0.91 http://backend.userland.com/rss091
  • RSS 1.0 http://purl.org/rss/1.0/spec
  • RSS 2.0 http://www.rssboard.org/rss-specification

注意

RSS ParserはRSS 0.9x/1.0/2.0をサポートしていますが，RSS 0.90 はサポートしてません．ごめんなさい．

RSS のモジュールはそれぞれ、

  • Dublin Core モジュール http://web.resource.org/rss/1.0/modules/dc/
  • Syndication モジュール http://web.resource.org/rss/1.0/modules/syndication/
  • Content モジュール http://web.resource.org/rss/1.0/modules/content/
  • Trackback モジュール http://madskills.com/public/xml/rss/module/trackback/
  • Image モジュール http://web.resource.org/rss/1.0/modules/image/

をサポートしています。 ただし，Content モジュールは content:encoded しかサポートしていません．

パース

RSS をパースしたい場合は RSS::Parser クラスを使います。 RSS::Parser.parse は String の RSSを パースします(使用するXMLパー サによっては File や IO オブジェクトなどでもパース可能です)。

  • RSS 1.0をパースした場合は RSS::RDF オブジェクト
  • RSS 0.9x/2.0をパースした場合は RSS::Rss オブジェクト

をそれぞれ返します。パースした String が well formed な XML で無い場合は， 例外 RSS::NotWellFormedError が発生します。well formed な XML だが，RSS 0.9x/1.0/2.0 のいずれでもない場合は，nil が返りま す．

例えば、RSS 1.0 をバリデーション付きでパースするには以下のよ うにします。ここで、変数 rss_source には RSS 1.0 形式の文 字列が格納されているものとします。

require 'rss'
rss = RSS::Parser.parse(rss_source, true)

RSS::Parser.parse の第二引数は省略すると true が指定されたもの とみなされるので、これは以下のようにも書けます。

require 'rss'
rss = RSS::Parser.parse(rss_source)

最初はバリデーション付きでパースして，valid ではない RSS だった 場合はバリデーション無しでパースするには以下のように書きます。

require 'rss'
rss = nil
begin
  rss = RSS::Parser.parse(rss_source)
rescue RSS::InvalidRSSError
  rss = RSS::Parser.parse(rss_source, false)
end

これは rss_source が RSS 0.9x/1.0/2.0 のどれか分からない時 にも有効です。RSS 1.0としてバリデー ション付きでパースし、バリデーションに失敗すると RSS 0.9x/(壊 れた)1.0/2.0 のいずれかとしてパースします。

知らない要素の扱い

パーサはデフォルトでは知らない要素(仕様書に規定されていない 要素)を無視します。もし、知らない要素に遭遇した時に例外を発 生させたければ，RSS::Parser.parse の第三引数に false を指定して ください。こうすると、パース中に知らない要素に遭遇した時に RSS::UnknownTagError 例外が発生します。

以下のようにすると，より厳密にRSS 1.0をパースできます。

RSS::Parser.parse(rss_source, true, false)

パースされたRSS

RSS はパースされると String オブジェクトから RSS::RDF, RSS::RDF::Channel, RSS::Rss 等のオブジェクトになります。各オ ブジェクトで子要素オブジェクトにアクセスするために，要素名と 同じ名前のアクセサがあります。

リーダ(reader)

rdf:RDF 要素の子要素である channel 要素を参照するには，以下のよう にします。

rss = RSS::Parser.parse(rss_source)
rss.channel # => /rdf:RDF/channel要素; RSS::RDF::Channel

もし、要素が子要素も属性も持たない場合は String が返ってきます。 その要素が省略可能ならばnilが返って来るかもしれません。これ は要素が子要素または属性を持つ場合も同様です。

rss = RSS::Parser.parse(rss_source)
rss.channel.description # => /rdf:RDF/channel/text(); String

属性にアクセスする時も同様です。channel要素のrdf:about属性に アクセスするには以下のようにします。属性の値はStringかnilで す。

rss = RSS::Parser.parse(rss_source)
rss.channel.about # => /rdf:RDF/channel/@about属性; String または nil

同名の複数の子要素があるかもしれないときも同様です。ただし、 リーダに引数を指定しないと最初の子要素が返ってきます。例えば、 rdf:RDF要素の最初のitem要素にアクセスするには以下のようにし ます。

rss = RSS::Parser.parse(rss_source)
rss.item # => /rdf:RDF/item[1]要素; RSS::RDF::Item

3番目のitem要素にアクセスするには以下のようにします。省略さ れなかったリーダの引数はArray#[]の引数と同じように扱われます。

rss = RSS::Parser.parse(rss_source)
rss.item(2) # => /rdf:RDF/item[3]要素; RSS::RDF::Item

子要素すべてを取得したいときは要素名の複数形がリーダとなりま す。すべてのitem要素を取得するには以下のようにします。

rss = RSS::Parser.parse(rss_source)
rss.items # => /rdf:RDF/item要素の配列; [RSS::RDF::Item, ...]

ライタ(writer)

rdf:RDF要素の子要素であるchannel要素を設定するには以下のよう にします。RSS::RDF::Channel.newの第一引数にはrdf:about属性の 値を指定することもできます。

rss = RSS::Parser.parse(rss_source)
rss.channel = RSS::RDF::Channel.new(rdf_about_value)

属性値を設定する場合も同様です。

rss = RSS::Parser.parse(rss_source)
rss.channel.about = "http://cozmixng.www.cozmixng.org/"

同名の複数の子要素が存在する場合は少し異なります．要素名の複 数形でのメソッドで要素の配列を取得して，その配列に対して Array#<<やArray#[]=などを用いて要素を設定します．

rss = RSS::Parser.parse(rss_source)
item = RSS::RDF::Item.new(rdf_about_value)
rss.items << item
rss.items.last == item # => true

注意: item=/set_itemなどはRubyっぽくないので使わないでくださ い．

出力

RSS Parserといっているので誤解されがちですが，RSSを出力する こともできます．

基本

to_sするとRSS形式の文字列を返します．

RSSを出力する流れは以下のようになります．

  • RSSオブジェクト（RSS::RDFとかRSS::Rssクラス のオブジェクト）を作成する
  • 出力エンコーディングを指定する(省略可)
  • RSSオブジェクトのto_sメソッドを呼ぶ

xml-stylesheet

xml-stylesheetも出力することができます．

RSSのルート要素（RSS::RDFまたはRSS::Rss）オブジェ クトはxml_stylesheetsという名前の配列を持っています．この配 列にRSS::XMLStyleSheetオブジェクトを挿入することでRSS にxml-stylesheetを関連づけることができます．

rss.xml_stylesheets << RSS::XMLStyleSheet.new(...)

RSS::XMLStyleSheet.newには以下のようなHashまたは 連想配列を渡します．作成されるRSS::XMLStyleSheetオブジェ クトは与えられた引数によって初期化されます．

Hash:

{
  :href => "...",
  :type => "...",
  :title => "...",
  :media => "...",
  :charset => "...",
  :alternate => "...",
}

連想配列:

[
  [:href, "..."],
  [:type, "..."],
  [:title, "..."],
  [:media, "..."],
  [:charset, "..."],
  [:alternate, "..."],
]

全てのキーは省略可能です．

例えば，xml-stylesheetとしてsample.xslを指定する場合は以下の ようにします．

rss.xml_stylesheets << RSS::XMLStyleSheet.new({:href => "sample.xsl"})

本当は{:type => "text/xsl"}も指定しないといけないとこ ろですが，拡張子が.xslまたは，.cssの場合は適当に推測してくれ るので省略可能です．

RSSオブジェクトを作る

既存のRSSをパースせずに，一から新しくRSSを作成するにはRSS Makerが便利です．

以下のように使います．

require "rss"

rss = RSS::Maker.make("バージョン") do |maker|
  maker.XXX = YYY
  ...
end

例えば，

  • http://example.com/にある
  • Example Siteという説明文を持つ
  • Exampleというサイトを
  • http://example.com/index.rdfという名前のRSS 1.0

を生成するには以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"
end

もし，

  • http://example.com/article.htmlにある
  • Sample Articleというタイトルの

エントリを含めたければ以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
end

もし，先のエントリが

  • 2004/11/1 10:10

のものならこうします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")
end

サンプル中の

item.date = ...

は

item.dc_date = ...

でも構いません．#dc_date=は#date=の単なる別名で す．

さらに，

  • http://example.com/article2.htmlにある
  • Sample Article2という
  • 2004/11/2 10:10に作成された

エントリを持つなら以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")

  item = maker.items.new_item
  item.link = "http://example.com/article2.html"
  item.title = "Sample Article2"
  item.date = Time.parse("2004/11/2 10:10")
end

もし，更新日が新しい順に並び替えたければ

maker.items.do_sort = true

を追加し，以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  maker.items.do_sort = true

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")

  item = maker.items.new_item
  item.link = "http://example.com/article2.html"
  item.title = "Sample Article2"
  item.date = Time.parse("2004/11/2 10:10")
end

もし，サイトに

  • Example Siteという名前の
  • http://example.com/logo.pngというロゴ

がある場合は以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  maker.items.do_sort = true

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")

  item = maker.items.new_item
  item.link = "http://example.com/article2.html"
  item.title = "Sample Article2"
  item.date = Time.parse("2004/11/2 10:10")

  maker.image.title = "Example Site"
  maker.image.url = "http://example.com/logo.png"
end

もし，

  • http://example.com/search.cgiに
  • keywordというパラメタ名で検索できる
  • Search Example Siteという名前で
  • Search Example Site's all textという説明付きの

検索用CGIがあったら以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  maker.items.do_sort = true

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")

  item = maker.items.new_item
  item.link = "http://example.com/article2.html"
  item.title = "Sample Article2"
  item.date = Time.parse("2004/11/2 10:10")

  maker.image.title = "Example Site"
  maker.image.url = "http://example.com/logo.png"

  maker.textinput.title = "Search Example Site"
  maker.textinput.description = "Search Example Site's all text"
  maker.textinput.name = "keyword"
  maker.textinput.link = "http://example.com/search.cgi"
end

もし，

  • http://example.com/index.xslにある

xml-stylesheetを追加したい場合は以下のようにします．

require "rss"

rss = RSS::Maker.make("1.0") do |maker|
  xss = maker.xml_stylesheets.new_xml_stylesheet
  xss.href = "http://example.com/index.xsl"

  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  maker.items.do_sort = true

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")

  item = maker.items.new_item
  item.link = "http://example.com/article2.html"
  item.title = "Sample Article2"
  item.date = Time.parse("2004/11/2 10:10")

  maker.image.title = "Example Site"
  maker.image.url = "http://example.com/logo.png"

  maker.textinput.title = "Search Example Site"
  maker.textinput.description = "Search Example Site's all text"
  maker.textinput.name = "keyword"
  maker.textinput.link = "http://example.com/search.cgi"
end

もし，RSS 2.0を生成したい場合は以下のように， RSS::Maker.makeの第一引数を変更します．

require "rss"

rss = RSS::Maker.make("2.0") do |maker|
  xss = maker.xml_stylesheets.new_xml_stylesheet
  xss.href = "http://example.com/index.xsl"

  maker.channel.about = "http://example.com/index.rdf"
  maker.channel.title = "Example"
  maker.channel.description = "Example Site"
  maker.channel.link = "http://example.com/"

  maker.items.do_sort = true

  item = maker.items.new_item
  item.link = "http://example.com/article.html"
  item.title = "Sample Article"
  item.date = Time.parse("2004/11/1 10:10")

  item = maker.items.new_item
  item.link = "http://example.com/article2.html"
  item.title = "Sample Article2"
  item.date = Time.parse("2004/11/2 10:10")

  maker.image.title = "Example Site"
  maker.image.url = "http://example.com/logo.png"

  maker.textinput.title = "Search Example Site"
  maker.textinput.description = "Search Example Site's all text"
  maker.textinput.name = "keyword"
  maker.textinput.link = "http://example.com/search.cgi"
end

もし，RSS 0.91を生成したい場合は，RSS 2.0の場合と同様に RSS::Maker.make の第一引数を"0.91"に変更します．

サンプル

RSS Parser のサンプルスクリプトをいくつか紹介します．これらの スクリプトは sample/ 以下に入っています．

サンプル1 - 項目一覧

それでは、複数のRSSをパースしてitem要素を表示するスクリプト を書いてみましょう。

まず、RSS 0.9x/1.0/2.0をパースできるように以下のようにrequireします。

require 'rss'

パースするRSSはファイルに保存されていて引数で与えられるものとします。

ARGV.each do |fname|
  rss_source = nil
  File.open(fname) do |f|
    rss_source = f.read
  end

  rss = nil
  begin
    rss = RSS::Parser.parse(rss_source, false)
  rescue RSS::Error
  end

  if rss.nil?
    puts "#{fname}はRSS 0.9x/1.0/2.0のいずれでもありません。"
  else
    print_items(rss)
  end
end

あとはprint_itemsというメソッドを定義するだけです。

RSS::RDFとRSS::Rssには便利のためにitemsというメソッドとimage というメソッドが定義されています。

itemsはRSS::RDFの場合は全ての/rdf:RDF/item要素を配列で返しま す。RSS::Rssの場合は全ての/rss/channel/item要素を配列で返し ます。

imageはRSS::RDFの場合は/rdf:RDF/image要素を返します。 RSS::Rssの場合は/rss/channel/image要素を返します。

def print_items(rss)
  rss.items.each do |item|
    puts "#{item.title} : #{item.description}"
  end
end

出力する文字コードを変更するにはRSS::RDF#output_encoding=ま たはRSS::Rss#output_encoding=が使えます。もし、変換できない エンコーディングを指定された場合は RSS::UnknownConversionMethodError例外が発生します。

先程のprint_itemsをEUC-JPで出力するように書き換えてみましょう。

def print_items(rss)
  begin
    rss.output_encoding = "EUC-JP"
  rescue RSS::UnknownConversionMethodError
  end
  rss.items.each do |item|
    puts "#{item.title} : #{item.description}"
  end
end

サンプル2 - 更新順表示

次はDublin Coreモジュールのdate属性を使って更新順にitemを表 示してみましょう。

最初に現れたDublin Coreモジュールの要素にアクセスするには 「dc_要素名」というアクセサが用意されています。全ての要素の 配列にアクセスするには「dc_要素の複数形」((-dc:rightsは dc_rightsesという風になっていて気に入っていません．だれか良 い案を下さい．-))とします．

複数形でアクセスした場合は「要素の内容を表す文字列」ではなく， 「要素を表すオブジェクト」の配列が返ります．「要素を表すオブ ジェクト」から「要素の内容を表す文字列」を取得するには contentメソッドやその別名であるvalueメソッドを利 用します．「要素の内容を表す文字列」を設定するには content=メソッドやその別名であるvalue=メソッドを 利用します．

rss.channel.dc_title  # => 「要素の内容を表す文字列」
                      # （"My site"など）

rss.channel.dc_titles # => 「要素を表すオブジェクト」の配列
                      # （[DublinCoreTitleオブジェクト, ...]）

rss.channel.dc_titles.collect {|title| title.value}
                      # => 「要素の内容を表す文字列」の配列
                      # （["My site", ...]など）

rss.channel.dc_titles.first.value == rss.channel.dc_title
                      # => true
# 厳密にはこう
first_title = rss.channel.dc_titles.first
first_title = first_title.value if first_title
first_title == rss.channel.dc_title
                      # => true

ちなみにSyndicationモジュールの要素にアクセスするには「sy_要 素名」というアクセサが，Contentモジュールの要素にアクセスす るには「content_要素名」というアクセサが用意されています。

サンプル1と同じようにパースするRSSはファイルに保存されていて 引数で与えられるものとします。

items = []
ARGV.each do |fname|
  rss_source = nil
  File.open(fname) do |f|
    rss_source = f.read
  end

  rss = nil
  begin
    rss = RSS::Parser.parse(rss_source, true)
  rescue RSS::Error
  end

  if rss.nil?
    puts "#{fname}はRSS 1.0ではありません。"
  else
    begin
      rss.output_encoding = "euc-jp"
    rescue RSS::UnknownConversionMethodError
    end
    rss.items.each do |item|
      items << item if item.dc_date
    end
  end
end
print_items(items)

あとはprint_itemsというメソッドを定義するだけです。

Item#dc_dateはTimeオブジェクトかnilを返します。引数の itemsにはdc_dateがnilではないものしか含まれていないは ずなので以下のようにソートできます。

def print_items(items)
  items.sort do |x, y|
    y.dc_date <=> x.dc_date
  end.each do |item|
    puts "#{item.dc_date.localtime.iso8601} : #{item.title} : #{item.description}"
  end
end

サンプル3 - 複数のRSSをブレンド

TODO: sample/blend.rbを元にしたサンプルを書く．

Classes/Modules

module DublinCoreModel |
module RSS::BaseTrackBackModel |
module RSS::ContentModel |
module RSS::DublinCoreModel |
class RSS::Element |
module RSS::ImageFaviconModel |
class RSS::ImageFaviconModel::ImageFavicon |
module RSS::ImageItemModel |
class RSS::ImageItemModel::ImageItem |
module RSS::ImageModelUtils |
module RSS::Maker |
class RSS::Maker::Base |
class RSS::Maker::ChannelBase | channel要素の値を設定します．
class RSS::Maker::ChannelBase::CategoriesBase |
class RSS::Maker::ChannelBase::CategoriesBase::CategoryBase | categoryは maker.channel.categories.new_categoryで作成されたオ ブジェクトとします．
class RSS::Maker::ChannelBase::SkipDaysBase | RSS 0.91/2.0を生成するときだけ利用されます．
class RSS::Maker::ChannelBase::SkipDaysBase::DayBase | dayは maker.channel.skipDays.new_dayで作成されたオ ブジェクトとします．
class RSS::Maker::ChannelBase::SkipHoursBase |
class RSS::Maker::ChannelBase::SkipHoursBase::HourBase | hourは maker.channel.skipHours.new_hourで作成されたオ ブジェクトとします．
class RSS::Maker::ImageBase | RSS 1.0の場合はurl，title， maker.channel.link，maker.channelが適切に設定さ れている必要があります．
class RSS::Maker::ItemsBase |
class RSS::Maker::ItemsBase::ItemBase | itemはmaker.items.new_itemで作成されたオブジェク トとします．
class RSS::Maker::ItemsBase::ItemBase::CategoriesBase |
class RSS::Maker::ItemsBase::ItemBase::EnclosureBase |
class RSS::Maker::ItemsBase::ItemBase::GuidBase |
class RSS::Maker::ItemsBase::ItemBase::SourceBase |
class RSS::Maker::RSS09::Channel |
class RSS::Maker::RSS09::Channel::Categories |
class RSS::Maker::RSS09::Channel::Categories::Category |
class RSS::Maker::RSS09::Channel::SkipDays |
class RSS::Maker::RSS09::Channel::SkipDays::Day |
class RSS::Maker::RSS09::Channel::SkipHours |
class RSS::Maker::RSS09::Channel::SkipHours::Hour |
class RSS::Maker::RSS09::Image |
class RSS::Maker::RSS09::Items |
class RSS::Maker::RSS09::Items::Item |
class RSS::Maker::RSS09::Items::Item::Categories |
class RSS::Maker::RSS09::Items::Item::Enclosure |
class RSS::Maker::RSS09::Items::Item::Guid |
class RSS::Maker::RSS09::Items::Item::Source |
class RSS::Maker::RSS09::Textinput |
class RSS::Maker::RSS10 |
class RSS::Maker::RSS10::Channel |
class RSS::Maker::RSS10::Channel::Categories |
class RSS::Maker::RSS10::Channel::Categories::Category |
class RSS::Maker::RSS10::Image |
class RSS::Maker::RSS10::Items |
class RSS::Maker::RSS10::Items::Item |
class RSS::Maker::RSS10::Textinput |
class RSS::Maker::RSS20 |
class RSS::Maker::RSS20::Channel |
class RSS::Maker::RSS20::Channel::Categories |
class RSS::Maker::RSS20::Channel::Categories::Category |
class RSS::Maker::RSS20::Channel::SkipDays |
class RSS::Maker::RSS20::Channel::SkipDays::Day |
class RSS::Maker::RSS20::Channel::SkipHours |
class RSS::Maker::RSS20::Channel::SkipHours::Hour |
class RSS::Maker::RSS20::Image |
class RSS::Maker::RSS20::Items |
class RSS::Maker::RSS20::Items::Item |
class RSS::Maker::RSS20::Items::Item::Categories | RSS 2.0を生成するときだけ利用されます．
class RSS::Maker::RSS20::Items::Item::Enclosure | RSS 2.0を生成するときだけ利用されます．
class RSS::Maker::RSS20::Items::Item::Guid | RSS 2.0を生成するときだけ利用されます．
class RSS::Maker::RSS20::Items::Item::Source | RSS 2.0を生成するときだけ利用されます．
class RSS::Maker::RSS20::Textinput |
class RSS::Maker::RSSBase | RSSのルート要素を生成するオブジェクトです．
class RSS::Maker::TextinputBase | RSS 1.0の場合はtitle，description，name， link，maker.channelを適切に設定する必要がありま す．
class RSS::Maker::XMLStyleSheets::XMLStyleSheet | xml_stylesheetは maker.xml_stylesheet.new_xml_stylesheetで作成されたオ ブジェクトとします．
class RSS::Parser |
class RSS::RDF |
class RSS::RDF::Channel |
class RSS::RDF::Channel::Image |
class RSS::RDF::Channel::ImageFavicon |
class RSS::RDF::Channel::Items |
class RSS::RDF::Channel::Textinput |
class RSS::RDF::Image |
class RSS::RDF::Item |
class RSS::RDF::Textinput |
module RSS::RootElementMixin |
class RSS::Rss |
class RSS::Rss::Channel |
class RSS::Rss::Channel::Cloud |
class RSS::Rss::Channel::Image |
class RSS::Rss::Channel::Item |
class RSS::Rss::Channel::Item::Category |
class RSS::Rss::Channel::Item::Enclosure |
class RSS::Rss::Channel::Item::Guid |
class RSS::Rss::Channel::Item::Source |
class RSS::Rss::Channel::TextInput |
class RSS::Rss::SkipDays |
class RSS::Rss::SkipHours |
module RSS::SyndicationModel |
module RSS::TaxonomyTopicModel |
class RSS::TaxonomyTopicModel::TaxonomyTopic |
module RSS::TaxonomyTopicsModel |
class RSS::TaxonomyTopicsModel::TaxonomyTopics |
module RSS::TrackBackModel10 |
class RSS::TrackBackModel10::TrackBackAbout |
class RSS::TrackBackModel10::TrackBackPing |
module RSS::TrackBackModel20 |
class RSS::TrackBackModel20::TrackBackAbout |
class RSS::TrackBackModel20::TrackBackPing |
class RSS::XMLStyleSheet |
module RSS::XMLStyleSheetMixin |

Exception Classes

class RSS::ConversionError
class RSS::Error
class RSS::InvalidRSSError
class RSS::MissingAttributeError
class RSS::MissingTagError
class RSS::NSError
class RSS::NotAvailableValueError
class RSS::NotExpectedTagError
class RSS::NotSetError
class RSS::NotValidXMLParser
class RSS::NotWellFormedError
class RSS::OverlappedPrefixError
class RSS::TooMuchTagError
class RSS::UnknownConversionMethodError
class RSS::UnknownTagError
class RSS::XMLParserNotFound

Added/Redefined Methods

RSS::Rss::Channel#generator

RSS::Rss::Channel#ttl

RSS::Rss::Channel::Item#author

RSS::Rss::Channel::Item#comments

RSS::Rss::Channel::Item#guid

RSS::Rss::Channel::Item#pubDate


module DublinCoreModel

ancestors: DublinCoreModel

Abstract

Instance Methods

Signature Description
dc_contributor
dc_contributor=
dc_contributors
dc_coverage
dc_coverage=
dc_coverages
dc_creator
dc_creator=
dc_creators
dc_date
dc_date=
dc_dates
dc_description
dc_description=
dc_descriptions
dc_format
dc_format=
dc_formats
dc_identifier
dc_identifier=
dc_identifiers
dc_language
dc_language=
dc_languages
dc_publisher
dc_publisher=
dc_publishers
dc_relation
dc_relation=
dc_relations
dc_rights
dc_rights=
dc_rightses
dc_source
dc_source=
dc_sources
dc_subject
dc_subject=
dc_subjects
dc_title
dc_title=
dc_titles
dc_type
dc_type=
dc_types
  • http://purl.org/rss/1.0/modules/syndication/


module RSS::BaseTrackBackModel

ancestors: RSS::BaseTrackBackModel

Abstract

Instance Methods

Signature Description
trackback_about
trackback_about=
trackback_abouts
trackback_ping
trackback_ping=


module RSS::ContentModel

ancestors: RSS::ContentModel

Abstract

Instance Methods

Signature Description
content_encoded
content_encoded=


class RSS::ConversionError

ancestors: RSS::ConversionError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::DublinCoreModel

module RSS::DublinCoreModel

ancestors: RSS::DublinCoreModel

Abstract


class RSS::Element

ancestors: RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature | Description
full_name |
tag_name |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Error

ancestors: RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module RSS::ImageFaviconModel

ancestors: RSS::ImageFaviconModel

Abstract

Instance Methods

Signature Description
image_favicon
image_favicon=


class RSS::ImageFaviconModel::ImageFavicon

ancestors: RSS::ImageFaviconModel::ImageFavicon < DublinCoreModel < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
image_size
size
image_size=
size=

Inherited Methods

dc_contributor dc_contributors dc_coverage dc_coverages dc_creator dc_creators dc_date dc_dates dc_description dc_descriptions dc_format dc_formats dc_identifier dc_identifiers dc_language dc_languages dc_publisher dc_publishers dc_relation dc_relations dc_rights dc_rightses dc_source dc_sources dc_subject dc_subjects dc_title dc_titles dc_type dc_types == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


module RSS::ImageItemModel

ancestors: RSS::ImageItemModel

Abstract

Instance Methods

Signature Description
image_item
image_item=


class RSS::ImageItemModel::ImageItem

ancestors: RSS::ImageItemModel::ImageItem < DublinCoreModel < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
image_height
image_height=
height
height=
image_width
image_width=
width
width=
resource
resource=

Inherited Methods

dc_contributor dc_contributors dc_coverage dc_coverages dc_creator dc_creators dc_date dc_dates dc_description dc_descriptions dc_format dc_formats dc_identifier dc_identifiers dc_language dc_languages dc_publisher dc_publishers dc_relation dc_relations dc_rights dc_rightses dc_source dc_sources dc_subject dc_subjects dc_title dc_titles dc_type dc_types == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::ImageModelUtils

module RSS::ImageModelUtils

ancestors: RSS::ImageModelUtils

Abstract


class RSS::InvalidRSSError

ancestors: RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module RSS::Maker

ancestors: RSS::Maker

Abstract

Singleton Methods

Signature | Description
make(version, &block) | versionには"1.0"または"0.9"または "0.91"または"2.0"を指定します．"0.9" と"0.91"は同じであることに注意してください．


class RSS::Maker::Base

ancestors: RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase

ancestors: RSS::Maker::ChannelBase < Object < Kernel

Abstract

channel要素の値を設定します．

RSS 1.0を生成する場合はabout，title，link， descriptionを設定しなければいけません．

RSS 0.91を生成する場合はtitle，link， description，languageを設定しなければいけません．

RSS 2.0を生成する場合はtitle，link， descriptionを設定しなければいけません．

maker.channelになんらかの値を設定しておきながら，上記 のmaker.channelが要求する値を設定していない場合は RSS::NotSetError例外が発生します．どの値も設定していな い場合は例外は発生しません．

Instance Methods

Signature Description
about
about=()
categories

categoriesを返します．

cloud

cloudを返します．

copyright
copyright=()
date
date=()
description
description=()
docs
docs=()
generator
generator=()
language
language=()
lastBuildDate
lastBuildDate=()
link
link=()
managingEditor
managingEditor=()
pubDate

maker.channel.dateの別名です．

pubDate=()

maker.channel.date=の別名です．

rating
rating=()
skipDays

skipDaysを返します．

skipHours

skipHoursを返します．

title
title=()
ttl
ttl=()
webMaster
webMaster=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase::CategoriesBase

ancestors: RSS::Maker::ChannelBase::CategoriesBase < Enumerable < Object < Kernel

Abstract

Instance Methods

Signature | Description
new_category | 新しくcategoryを作成し，返します．作成された categoryはcategoryリストの最後 に追加されています．

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase::CategoriesBase::CategoryBase

ancestors: RSS::Maker::ChannelBase::CategoriesBase::CategoryBase < Object < Kernel

Abstract

categoryは maker.channel.categories.new_categoryで作成されたオ ブジェクトとします．

contentを指定する必要があります．

Instance Methods

Signature Description
content
content=()
domain
domain=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase::SkipDaysBase

ancestors: RSS::Maker::ChannelBase::SkipDaysBase < Object < Kernel

Abstract

RSS 0.91/2.0を生成するときだけ利用されます．

Instance Methods

Signature | Description
new_day | 新しくdayを作成し，返します．作成された dayはdayリストの最後 に追加されています．

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase::SkipDaysBase::DayBase

ancestors: RSS::Maker::ChannelBase::SkipDaysBase::DayBase < Object < Kernel

Abstract

dayは maker.channel.skipDays.new_dayで作成されたオ ブジェクトとします．

contentを指定する必要があります．

Instance Methods

Signature Description
content
content=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase::SkipHoursBase

ancestors: RSS::Maker::ChannelBase::SkipHoursBase < Enumerable < Object < Kernel

Abstract

Instance Methods

Signature | Description
new_hour | 新しくhourを作成し，返します．作成された hourはhourリストの最後 に追加されています．

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ChannelBase::SkipHoursBase::HourBase

ancestors: RSS::Maker::ChannelBase::SkipHoursBase::HourBase < Object < Kernel

Abstract

hourは maker.channel.skipHours.new_hourで作成されたオ ブジェクトとします．

contentを指定する必要があります．

Instance Methods

Signature Description
content
content=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ImageBase

ancestors: RSS::Maker::ImageBase < Object < Kernel

Abstract

RSS 1.0の場合はurl，title， maker.channel.link，maker.channelが適切に設定さ れている必要があります．

RSS 0.91/2.0の場合はurl，title， maker.channel.linkが適切に設定されている必要があります．

Instance Methods

Signature Description
description
description=()
height
height=()
title
title=()
url
url=()
width
width=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ItemsBase

ancestors: RSS::Maker::ItemsBase < Enumerable < RSS::Maker::Base < Object < Kernel

Abstract

Instance Methods

Signature | Description
do_sort | 現在のdo_sortの値を取得します．デフォルトでは falseになっています．
do_sort=() | trueに設定するとitem.dateが新しい順に並び替 えます．Procオブジェクトを指定することにより並び 替え方法をカスタマイズすることができます．
max_size | 現在のmax_sizeの値を取得します．デフォルトでは -1になっています．
max_size=() | 出力するitemの数の最大値を設定します．
new_item | 新しくitemを作成し，返します．作成された itemはitemリストの最後に追加されています．

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ItemsBase::ItemBase

ancestors: RSS::Maker::ItemsBase::ItemBase < Object < Kernel

Abstract

itemはmaker.items.new_itemで作成されたオブジェク トとします．

RSS 1.0/0.91の場合はtitle，linkを設定する必要があ ります．

RSS 2.0の場合はtitleまたはdescriptionを設定する 必要があります．

Instance Methods

Signature Description
author
author=()
guid
enclosure
source
categories
comments
comments=()
date
date=()
description
description=()
link
link=()
pubDate

item.dateの別名です．

pubDate=()

item.date=の別名です．

title
title=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ItemsBase::ItemBase::CategoriesBase

ancestors: RSS::Maker::ItemsBase::ItemBase::CategoriesBase < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ItemsBase::ItemBase::EnclosureBase

ancestors: RSS::Maker::ItemsBase::ItemBase::EnclosureBase < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ItemsBase::ItemBase::GuidBase

ancestors: RSS::Maker::ItemsBase::ItemBase::GuidBase < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::ItemsBase::ItemBase::SourceBase

ancestors: RSS::Maker::ItemsBase::ItemBase::SourceBase < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS09::Channel

ancestors: RSS::Maker::RSS09::Channel < RSS::Maker::ChannelBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new about categories cloud copyright date description docs generator language lastBuildDate link managingEditor pubDate pubDate= rating skipDays skipHours title ttl webMaster


class RSS::Maker::RSS09::Channel::Categories

ancestors: RSS::Maker::RSS09::Channel::Categories < RSS::Maker::ChannelBase::CategoriesBase < Enumerable < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_category


class RSS::Maker::RSS09::Channel::Categories::Category

ancestors: RSS::Maker::RSS09::Channel::Categories::Category < RSS::Maker::ChannelBase::CategoriesBase::CategoryBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content domain


class RSS::Maker::RSS09::Channel::SkipDays

ancestors: RSS::Maker::RSS09::Channel::SkipDays < RSS::Maker::ChannelBase::SkipDaysBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_day


class RSS::Maker::RSS09::Channel::SkipDays::Day

ancestors: RSS::Maker::RSS09::Channel::SkipDays::Day < RSS::Maker::ChannelBase::SkipDaysBase::DayBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content


class RSS::Maker::RSS09::Channel::SkipHours

ancestors: RSS::Maker::RSS09::Channel::SkipHours < RSS::Maker::ChannelBase::SkipHoursBase < Enumerable < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_hour


class RSS::Maker::RSS09::Channel::SkipHours::Hour

ancestors: RSS::Maker::RSS09::Channel::SkipHours::Hour < RSS::Maker::ChannelBase::SkipHoursBase::HourBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content


class RSS::Maker::RSS09::Image

ancestors: RSS::Maker::RSS09::Image < RSS::Maker::ImageBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new description height title url width


class RSS::Maker::RSS09::Items

ancestors: RSS::Maker::RSS09::Items < RSS::Maker::ItemsBase < Enumerable < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new do_sort do_sort= max_size max_size= new_item


class RSS::Maker::RSS09::Items::Item

ancestors: RSS::Maker::RSS09::Items::Item < RSS::Maker::ItemsBase::ItemBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new author categories comments date description link pubDate pubDate= title


class RSS::Maker::RSS09::Items::Item::Categories

ancestors: RSS::Maker::RSS09::Items::Item::Categories

      < RSS::Maker::ItemsBase::ItemBase::CategoriesBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS09::Items::Item::Enclosure

ancestors: RSS::Maker::RSS09::Items::Item::Enclosure

      < RSS::Maker::ItemsBase::ItemBase::EnclosureBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS09::Items::Item::Guid

ancestors: RSS::Maker::RSS09::Items::Item::Guid

      < RSS::Maker::ItemsBase::ItemBase::GuidBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS09::Items::Item::Source

ancestors: RSS::Maker::RSS09::Items::Item::Source

      < RSS::Maker::ItemsBase::ItemBase::SourceBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS09::Textinput

ancestors: RSS::Maker::RSS09::Textinput < RSS::Maker::TextinputBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new description link name title


class RSS::Maker::RSS10

ancestors: RSS::Maker::RSS10 < RSS::Maker::RSSBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new channel encoding encoding= image items rss_version standalone standalone= textinput version version= xml_stylesheets


class RSS::Maker::RSS10::Channel

ancestors: RSS::Maker::RSS10::Channel < RSS::Maker::ChannelBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new about categories cloud copyright date description docs generator language lastBuildDate link managingEditor pubDate pubDate= rating skipDays skipHours title ttl webMaster


class RSS::Maker::RSS10::Channel::Categories

ancestors: RSS::Maker::RSS10::Channel::Categories < RSS::Maker::ChannelBase::CategoriesBase < Enumerable < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_category


class RSS::Maker::RSS10::Channel::Categories::Category

ancestors: RSS::Maker::RSS10::Channel::Categories::Category < RSS::Maker::ChannelBase::CategoriesBase::CategoryBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content domain


class RSS::Maker::RSS10::Image

ancestors: RSS::Maker::RSS10::Image < RSS::Maker::ImageBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new description height title url width


class RSS::Maker::RSS10::Items

ancestors: RSS::Maker::RSS10::Items < RSS::Maker::ItemsBase < Enumerable < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new do_sort do_sort= max_size max_size= new_item


class RSS::Maker::RSS10::Items::Item

ancestors: RSS::Maker::RSS10::Items::Item < RSS::Maker::ItemsBase::ItemBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new author categories comments date description link pubDate pubDate= title


class RSS::Maker::RSS10::Textinput

ancestors: RSS::Maker::RSS10::Textinput < RSS::Maker::TextinputBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new description link name title


class RSS::Maker::RSS20

ancestors: RSS::Maker::RSS20 < RSS::Maker::RSSBase < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new channel encoding encoding= image items rss_version standalone standalone= textinput version version= xml_stylesheets


class RSS::Maker::RSS20::Channel

ancestors: RSS::Maker::RSS20::Channel

      < RSS::Maker::RSS09::Channel

      < RSS::Maker::ChannelBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new about categories cloud copyright date description docs generator language lastBuildDate link managingEditor pubDate pubDate= rating skipDays skipHours title ttl webMaster


class RSS::Maker::RSS20::Channel::Categories

ancestors: RSS::Maker::RSS20::Channel::Categories < RSS::Maker::RSS09::Channel::Categories < RSS::Maker::ChannelBase::CategoriesBase < Enumerable < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_category


class RSS::Maker::RSS20::Channel::Categories::Category

ancestors: RSS::Maker::RSS20::Channel::Categories::Category

      < RSS::Maker::RSS09::Channel::Categories::Category

      < RSS::Maker::ChannelBase::CategoriesBase::CategoryBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content domain


class RSS::Maker::RSS20::Channel::SkipDays

ancestors: RSS::Maker::RSS20::Channel::SkipDays

      < RSS::Maker::RSS09::Channel::SkipDays

      < RSS::Maker::ChannelBase::SkipDaysBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_day


class RSS::Maker::RSS20::Channel::SkipDays::Day

ancestors: RSS::Maker::RSS20::Channel::SkipDays::Day

      < RSS::Maker::RSS09::Channel::SkipDays::Day

      < RSS::Maker::ChannelBase::SkipDaysBase::DayBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content


class RSS::Maker::RSS20::Channel::SkipHours

ancestors: RSS::Maker::RSS20::Channel::SkipHours < RSS::Maker::RSS09::Channel::SkipHours < RSS::Maker::ChannelBase::SkipHoursBase < Enumerable < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new new_hour


class RSS::Maker::RSS20::Channel::SkipHours::Hour

ancestors: RSS::Maker::RSS20::Channel::SkipHours::Hour

      < RSS::Maker::RSS09::Channel::SkipHours::Hour

      < RSS::Maker::ChannelBase::SkipHoursBase::HourBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content


class RSS::Maker::RSS20::Image

ancestors: RSS::Maker::RSS20::Image

      < RSS::Maker::RSS09::Image

      < RSS::Maker::ImageBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new description height title url width


class RSS::Maker::RSS20::Items

ancestors: RSS::Maker::RSS20::Items < RSS::Maker::RSS09::Items < RSS::Maker::ItemsBase < Enumerable < RSS::Maker::Base < Object < Kernel

Abstract

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new do_sort do_sort= max_size max_size= new_item


class RSS::Maker::RSS20::Items::Item

ancestors: RSS::Maker::RSS20::Items::Item

      < RSS::Maker::RSS09::Items::Item

      < RSS::Maker::ItemsBase::ItemBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new author categories comments date description link pubDate pubDate= title


class RSS::Maker::RSS20::Items::Item::Categories

ancestors: RSS::Maker::RSS20::Items::Item::Categories < Enumerable < RSS::Maker::RSS09::Items::Item::Categories < RSS::Maker::ItemsBase::ItemBase::CategoriesBase < RSS::Maker::Base < Object < Kernel

Abstract

RSS 2.0を生成するときだけ利用されます．

Instance Methods

Signature | Description
new_category | 新しくcategoryを作成し，返します．作成された categoryはcategoryリストの最後 に追加されています．

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS20::Items::Item::Enclosure

ancestors: RSS::Maker::RSS20::Items::Item::Enclosure

      < RSS::Maker::RSS09::Items::Item::Enclosure

      < RSS::Maker::ItemsBase::ItemBase::EnclosureBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

RSS 2.0を生成するときだけ利用されます．

url，length，typeを設定する必要があります．

Instance Methods

Signature Description
length
length=()
type
type=()
url
url=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS20::Items::Item::Guid

ancestors: RSS::Maker::RSS20::Items::Item::Guid

      < RSS::Maker::RSS09::Items::Item::Guid

      < RSS::Maker::ItemsBase::ItemBase::GuidBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

RSS 2.0を生成するときだけ利用されます．

contentを設定する必要があります．

Instance Methods

Signature Description
content
content=()
isPermaLink
isPermaLink=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS20::Items::Item::Source

ancestors: RSS::Maker::RSS20::Items::Item::Source

      < RSS::Maker::RSS09::Items::Item::Source

      < RSS::Maker::ItemsBase::ItemBase::SourceBase

      < RSS::Maker::Base

      < Object

      < Kernel

Abstract

RSS 2.0を生成するときだけ利用されます．

url，contentを設定する必要があります．

Instance Methods

Signature Description
content
content=()
url
url=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::RSS20::Textinput

ancestors: RSS::Maker::RSS20::Textinput

      < RSS::Maker::RSS09::Textinput

      < RSS::Maker::TextinputBase

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new description link name title


class RSS::Maker::RSSBase

ancestors: RSS::Maker::RSSBase < Object < Kernel

Abstract

RSSのルート要素を生成するオブジェクトです．

maker.channelを適切に設定しなければRSSは生成されません．

Instance Methods

Signature | Description
channel | channel要素を生成するオブジェクトを返します．
encoding | 作成するXMLのエンコーディングを返します．デフォルトは UTF-8です．
encoding=() | 作成するXMLのエンコーディングを設定します．maker に設定する際のエンコーディングはここで指定したものにす る必要があります．
image | image要素を生成するオブジェクトを返します．
items | item要素を生成するオブジェクトを管理するオブジェクトを 返します．
rss_version | 作成するRSSのバージョンを返します．
standalone | 作成するXMLのstandaloneを返します．
standalone=() | 作成するXMLのstandaloneを設定します．
textinput | textinput要素を生成するオブジェクトを返します．
version | 作成するXMLのバージョンを返します．
version=() | 作成するXMLのバージョンを設定します．
xml_stylesheets | xml_stylesheetを管理するオブジェクトを返します．

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::TextinputBase

ancestors: RSS::Maker::TextinputBase < Object < Kernel

Abstract

RSS 1.0の場合はtitle，description，name， link，maker.channelを適切に設定する必要がありま す．

RSS 0.91/2.0の場合はtitle，description， name，linkを設定する必要があります．

Instance Methods

Signature Description
description
description=()
link
link=()
name
name=()
title
title=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::Maker::XMLStyleSheets::XMLStyleSheet

ancestors: RSS::Maker::XMLStyleSheets::XMLStyleSheet < Object < Kernel

Abstract

xml_stylesheetは maker.xml_stylesheet.new_xml_stylesheetで作成されたオ ブジェクトとします．

hrefとtypeは必ず指定する必要があります．ただし， hrefに設定した値の拡張子が.xslまたは.cssの場合は typeを指定する必要はありません．自動で推測します．

Instance Methods

Signature Description
alternate
alternate=()
charset
charset=()
href
href=()
media
media=()
title
title=()
type
type=()

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class RSS::MissingAttributeError

ancestors: RSS::MissingAttributeError < RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::MissingTagError

ancestors: RSS::MissingTagError < RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::NSError

ancestors: RSS::NSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Instance Methods

Signature | Description
prefix |
tag |
uri |

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::NotAvailableValueError

ancestors: RSS::NotAvailableValueError < RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::NotExpectedTagError

ancestors: RSS::NotExpectedTagError < RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::NotSetError

ancestors: RSS::NotSetError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::NotValidXMLParser

ancestors: RSS::NotValidXMLParser < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::NotWellFormedError

ancestors: RSS::NotWellFormedError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Instance Methods

Signature | Description
element |
line |

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::OverlappedPrefixError

ancestors: RSS::OverlappedPrefixError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::Parser

ancestors: RSS::Parser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |
parse |

Instance Methods

Signature Description
do_validate
do_validate=
ignore_unknown_element
ignore_unknown_element=
parse
rss

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class RSS::RDF

ancestors: RSS::RDF

      < RSS::TaxonomyTopicModel

      < RSS::RootElementMixin

      < RSS::XMLStyleSheetMixin

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
channel
channel=
encoding
encoding=
image
image=
item
item=
items
rss_version
rss_version=
standalone
standalone=
textinput
textinput=
version
version=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name output_encoding to_xml taxo_topic xml_stylesheets


class RSS::RDF::Channel

ancestors: RSS::RDF::Channel

      < RSS::TaxonomyTopicsModel

      < RSS::SyndicationModel

      < RSS::ImageFaviconModel

      < RSS::ImageModelUtils

      < RSS::DublinCoreModel

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
description
description=
image
image=
items
items=
link
link=
textinput
textinput=
title
title=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name image_favicon sy_updateBase sy_updateFrequency sy_updatePeriod taxo_topics


class RSS::RDF::Channel::Image

ancestors: RSS::RDF::Channel::Image < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
resource
resource=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::RDF::Channel::ImageFavicon

ancestors: RSS::RDF::Channel::ImageFavicon

      < RSS::DublinCoreModel

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
image_size
size
image_size=
size=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::RDF::Channel::Items

ancestors: RSS::RDF::Channel::Items < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature | Description
resources |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::RDF::Channel::Textinput

ancestors: RSS::RDF::Channel::Textinput < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
resource
resource=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::RDF::Image

ancestors: RSS::RDF::Image

      < RSS::DublinCoreModel

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
link
link=
title
title=
url
url=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::RDF::Item

ancestors: RSS::RDF::Item

      < RSS::TaxonomyTopicsModel

      < RSS::TrackBackModel10

      < RSS::ImageItemModel

      < RSS::ImageModelUtils

      < RSS::DublinCoreModel

      < RSS::ContentModel

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
description
description=
link
link=
title
title=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new content_encoded full_name tag_name image_item taxo_topics


class RSS::RDF::Textinput

ancestors: RSS::RDF::Textinput

      < RSS::DublinCoreModel

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
description
description=
link
link=
name
name=
title
title=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


module RSS::RootElementMixin

ancestors: RSS::RootElementMixin

Abstract

Instance Methods

Signature Description
output_encoding
output_encoding=
to_xml


class RSS::Rss

ancestors: RSS::Rss

      < RSS::RootElementMixin

      < RSS::XMLStyleSheetMixin

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
channel
channel=
encoding
encoding=
image
items
rss_version
rss_version=
standalone
standalone=
textinput
version
version=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name output_encoding to_xml xml_stylesheets


class RSS::Rss::Channel

ancestors: RSS::Rss::Channel < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
categories
category
category=
copyright
copyright=
date
pubDate
date=
pubDate=
description
description=
docs
docs=
image
image=
item
item=
items
language
language=
lastBuildDate
lastBuildDate=
link
link=
managingEditor
managingEditor=
rating
rating=
skipDays
skipDays=
skipHours
skipHours=
textInput
textInput=
title
title=
webMaster
webMaster=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name

Added Methods

Signature Description Library


class RSS::Rss::Channel::Cloud

ancestors: RSS::Rss::Channel::Cloud < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
domain
domain=
path
path=
port
port=
protocol
protocol=
registerProcedure
registerProcedure=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::Channel::Image

ancestors: RSS::Rss::Channel::Image < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
description
description=
height
height=
link
link=
title
title=
url
url=
width
width=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::Channel::Item

ancestors: RSS::Rss::Channel::Item

      < RSS::TrackBackModel20

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
categories
category
category=
date
date=
description
description=
enclosure
enclosure=
link
link=
source
source=
title
title=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name

Added Methods

Signature Description Library
author
author= 		rss
comments
comments= 		rss
guid
guid= 		rss
pubDate
pubDate= 		rss


class RSS::Rss::Channel::Item::Category

ancestors: RSS::Rss::Channel::Item::Category < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
content
content=
domain
domain=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::Channel::Item::Enclosure

ancestors: RSS::Rss::Channel::Item::Enclosure < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
length
length=
type
type=
url
url=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::Channel::Item::Guid

ancestors: RSS::Rss::Channel::Item::Guid < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
isPermaLink
  • http://purl.org/dc/elements/1.1/

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::Channel::Item::Source

ancestors: RSS::Rss::Channel::Item::Source < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
content
content=
url
url=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::Channel::TextInput

ancestors: RSS::Rss::Channel::TextInput < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
description
description=
link
link=
name
name=
title
title=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::SkipDays

ancestors: RSS::Rss::SkipDays < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
day
day=
days

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::Rss::SkipHours

ancestors: RSS::Rss::SkipHours < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
hour
hour=
hours

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


module RSS::SyndicationModel

ancestors: RSS::SyndicationModel

Abstract

Instance Methods

Signature Description
sy_updateBase
sy_updateBase=
sy_updateFrequency
sy_updateFrequency=
sy_updatePeriod
sy_updatePeriod=


module RSS::TaxonomyTopicModel

ancestors: RSS::TaxonomyTopicModel

Abstract

Instance Methods

Signature Description
taxo_topic
taxo_topic=


class RSS::TaxonomyTopicModel::TaxonomyTopic

ancestors: RSS::TaxonomyTopicModel::TaxonomyTopic

      < RSS::TaxonomyTopicsModel

      < RSS::DublinCoreModel

      < RSS::Element

      < Object

      < Kernel

Abstract

Instance Methods

Signature Description
about
about=
date
date=
taxo_link
taxo_link=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name taxo_topics


module RSS::TaxonomyTopicsModel

ancestors: RSS::TaxonomyTopicsModel

Abstract

Instance Methods

Signature | Description
taxo_topics |


class RSS::TaxonomyTopicsModel::TaxonomyTopics

ancestors: RSS::TaxonomyTopicsModel::TaxonomyTopics < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature | Description
resources |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::TooMuchTagError

ancestors: RSS::TooMuchTagError < RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module RSS::TrackBackModel10

ancestors: RSS::TrackBackModel10
extend: RSS::BaseTrackBackModel

Abstract


class RSS::TrackBackModel10::TrackBackAbout

ancestors: RSS::TrackBackModel10::TrackBackAbout < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
resource
resource=
value
value=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::TrackBackModel10::TrackBackPing

ancestors: RSS::TrackBackModel10::TrackBackPing < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
resource
resource=
value
value=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


module RSS::TrackBackModel20

ancestors: RSS::TrackBackModel20
extend: RSS::BaseTrackBackModel

Abstract


class RSS::TrackBackModel20::TrackBackAbout

ancestors: RSS::TrackBackModel20::TrackBackAbout < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
content
content=
value
value=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::TrackBackModel20::TrackBackPing

ancestors: RSS::TrackBackModel20::TrackBackPing < RSS::Element < Object < Kernel

Abstract

Instance Methods

Signature Description
content
content=
value
value=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new full_name tag_name


class RSS::UnknownConversionMethodError

ancestors: RSS::UnknownConversionMethodError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::UnknownTagError

ancestors: RSS::UnknownTagError < RSS::InvalidRSSError < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::XMLParserNotFound

ancestors: RSS::XMLParserNotFound < RSS::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class RSS::XMLStyleSheet

ancestors: RSS::XMLStyleSheet < Object < Kernel

Abstract

Instance Methods

Signature Description
alternate
alternate=
charset
charset=
href
href=
media
media=
title
title=
type
type=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module RSS::XMLStyleSheetMixin

ancestors: RSS::XMLStyleSheetMixin

Abstract

Instance Methods

Signature Description
xml_stylesheets
xml_stylesheets=


library rubyunit

Abstract

このライブラリはobsoleteです。test/unit ライブラリを使ってください。

rubyunit ライブラリは、 過去に使われていたユニットテストフレームワークである RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

module RUNIT::Assert | RubyUnit のアサーションを集めたモジュールです。
module RUNIT::AssertMixin |
class RUNIT::AssertionFailedError | Test::Unit::AssertionFailedError の別名です。
class RUNIT::TestCase |
class RUNIT::TestResult |
class RUNIT::TestSuite |

Required Libraries

runit/assert | このライブラリは、 RubyUnit との互換性を提供するためだけに提供されています。 これから新しくユニットテストを書くときは test/unit ライブラリを使ってください。
runit/error | このライブラリは、 過去に使われていたユニットテストフレームワークである RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。
runit/testcase | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。
runit/testresult | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。
runit/testsuite | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Sub-Libraries

runit/cui/testrunner | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。
runit/topublic | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。


library runit/assert

Abstract

このライブラリは、 RubyUnit との互換性を提供するためだけに提供されています。 これから新しくユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

module RUNIT::Assert

RubyUnit のアサーションを集めたモジュールです。

Required Libraries

runit/error

このライブラリは、 過去に使われていたユニットテストフレームワークである RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。


module RUNIT::Assert

ancestors: RUNIT::Assert

Abstract

RubyUnit のアサーションを集めたモジュールです。

このモジュールは RubyUnit との互換性のためにのみ提供されています。 これからユニットテストを書くときは test/unit を使ってください。

Module Functions

Signature Description
assert(condition[, message])

condition が Ruby の真 (false または nil 以外) であることを表明します。 condition が偽であったらこのアサーションは失敗します。

assert_equal(expected, actual[, message])
assert_equals(expected, actual[, message])

actual == expected であることを表明します。 actual != expected のときにこのアサーションは失敗します。

assert_equal_float(expected, actual, e[, message])

浮動小数点数 actual と expected が等しいことを表明します。 このとき、expected-e <= actual <= expected+e であれば「等しい」と判定されます。

assert_exception(exception[, message]) { ... }

ブロックを実行中に例外 exception が発生することを表明します。 ブロックを実行しても例外 exception が発生しなかったら このアサーションは失敗します。 message はアサート失敗時のエラーメッセージです。

assert_fail(message)

このアサーションは常に失敗します。 message はアサート失敗時のエラーメッセージです。

assert_instance_of(c, obj[, message])

c.instance_of?(c) が真であると表明します。

assert_kind_of(c, obj[, message])

obj.kind_of?(c) が真であると表明します。

assert_match(str, re[, message])
assert_matches(str, re[, message])

re =~ str が真であると表明します。

assert_nil(obj[, message])

obj が nil であると表明します。

assert_no_exception(exceptions, ...[, message]) { ... }

ブロックを実行中に例外 exceptions が発生しないことを表明します。 ブロックを実行したときに例外 exception が発生すると このアサーションは失敗します。 message はアサート失敗時のエラーメッセージです。

assert_not_match(str, re[, message])

re =~ str が偽であると表明します。

assert_not_nil(obj[, message])

obj が nil ではないと表明します。

assert_operator(obj1, op, obj2[, message])

actual.__send__(op, expected) が真であることを表明します。

assert_respond_to(method, obj[, message])

オブジェクト obj にメソッド method が定義されていると表明します。

assert_same(expected, actual[, message])

expected.equal?(actual) が真であると表明します。

assert_send(obj, method, *args)

obj.__send__(method, *args) が真であることを表明します。


library runit/cui/testrunner

Abstract

このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

class RUNIT::CUI::TestRunner


class RUNIT::CUI::TestRunner

ancestors: RUNIT::CUI::TestRunner < Test::Unit::UI::Console::TestRunner < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |
quiet_mode=(bool) |
run(suite) |

Instance Methods

Signature | Description
create_mediator(suite) |
create_result |
run(suite, quiet_mode = @@quiet_mode) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint start start_command_line_test


library runit/error

Abstract

このライブラリは、 過去に使われていたユニットテストフレームワークである RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

class RUNIT::AssertionFailedError

Test::Unit::AssertionFailedError の別名です。


class RUNIT::AssertionFailedError

ancestors: RUNIT::AssertionFailedError < Object < Kernel

Abstract

Test::Unit::AssertionFailedError の別名です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library runit/testcase

Abstract

このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

module RUNIT::AssertMixin
class RUNIT::TestCase

Required Libraries

runit/assert | このライブラリは、 RubyUnit との互換性を提供するためだけに提供されています。 これから新しくユニットテストを書くときは test/unit ライブラリを使ってください。
runit/error | このライブラリは、 過去に使われていたユニットテストフレームワークである RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。
runit/testresult | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。
runit/testsuite | このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testcase > module RUNIT::AssertMixin

module RUNIT::AssertMixin

ancestors: RUNIT::AssertMixin

Abstract


class RUNIT::TestCase

ancestors: RUNIT::TestCase

      < RUNIT::AssertMixin

      < Test::Unit::TestCase

      < Test::Unit::Assertions

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(test_name, suite_name = Test::Unit::TestCase.name) |
suite |

Instance Methods

Signature | Description
assert_equals(expected, really, message = nil) | alias of assert_equal.
name |
run(result) { .... } |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint default_test method_name passed? setup size teardown ::PASSTHROUGH_EXCEPTIONS


library runit/testresult

Abstract

このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

class RUNIT::TestResult


class RUNIT::TestResult

ancestors: RUNIT::TestResult

      < Test::Unit::TestResult

      < Test::Unit::Util::Observable

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
add_error(error) |
add_failure(failure) |
error_size |
errors |
failure_size |
failures |
run_asserts |
run_tests |
succeed? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint assertion_count error_count failure_count passed? run_count to_s .new


library runit/testsuite

Abstract

このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

class RUNIT::TestSuite


class RUNIT::TestSuite

ancestors: RUNIT::TestSuite < Test::Unit::TestSuite < Object < Kernel

Abstract

Instance Methods

Signature | Description
add(*args) |
add_tests(*args) |
counte_test_cases |
run(result) { .... } |

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint << == delete empty? name size tests to_s .new


library runit/topublic

Abstract

このライブラリは RubyUnit との互換性を提供するためだけに提供されています。 これからユニットテストを書くときは test/unit ライブラリを使ってください。

Classes/Modules

module RUNIT::ToPublic


Ruby 1.8.7 Reference Manual > All Libraries > library runit/topublic > module RUNIT::ToPublic

module RUNIT::ToPublic

ancestors: RUNIT::ToPublic

Abstract


library scanf

Abstract

String#scan のフォーマット指定版といえるメソッド String#scanf を定義します。

組み込みクラス String と IO を拡張します。

例

require 'scanf'

p "a 10  1.2".            scanf("%s %d %f")   # => ["a", 10, 1.2]
p "a 10  1.2 b 20 1.5e10".scanf("%s %d %f")   # => ["a", 10, 1.2]
p "a 10  1.2 b 20 1.5e10".scanf("%s %d %f") {|*v| v}
                # => [["a", 10, 1.2], ["b", 20, 15000000000.0]]

p "a 10  1.2 b 20 1.5e10 c".scanf("%s %d %f") {|*v| v}
               # => [["a", 10, 1.2], ["b", 20, 15000000000.0], [["c"]]]

                                                     #    [["c"]] (?)

require 'scanf'
p "a, 10, 1.2".scanf("%s,%d,%f")
# => ["a,"]      %s が "," を飲み込むからダメらしい

p "a, 10, 1.2".scanf("%1s,%d,%f")
# => ["a", 10, 1.2]

p "a, 10, 1.2".scanf("%[^,],%d,%f")
# => ["a", 10, 1.2]

Added/Redefined Methods

IO#scanf Kernel#scanf String#scanf


library sdbm

Abstract

SDBM を Ruby スクリプトから扱うためのライブラリです。

SDBM は DBM と同じように働くハッシュデータベースのライブラリです。

dbm とほぼ同じですが、外部のライブラリに依存しないのでどの環境 でも実行できるという利点があります。

キーや値に使用できるサイズには制限があります。 一つの要素のサイズがキー + 値 + 内部情報(16バイト)の 合計が 1024 バイトまでです。

@see dbm, gdbm

Classes/Modules

class SDBM

SDBM ファイルをアクセスするクラス。

Exception Classes

class SDBMError

SDBM 内部で使用する例外クラスです。


class SDBM

ancestors: SDBM < Enumerable < Object < Kernel

Abstract

SDBM ファイルをアクセスするクラス。

キー、データともに文字列でなければならないという制限と、 データがファイルに保存されるという点を除いては Hash クラスと 全く同様に扱うことができます。

@see Hash

Singleton Methods

Signature Description
new(dbname, mode = 0666) -> SDBM
open(dbname, mode = 0666) -> SDBM
open(dbname, mode = 0666) {|db| ... } -> ()

dbname で指定したデータベースをモードを mode に設定してオープンします。 mode の省略値は 0666 です。mode として nil を指定するとデータベースが 存在しない時には新たなデータベースを作らず nil を返します。

Instance Methods

Signature Description
self[key] -> String

key をキーとする値を返します。

self[key] = value

key をキーとして、value を格納します。

clear -> self

DBM ファイルを空にします。

close -> nil

DBM ファイルをクローズします。

closed? -> bool

DBM ファイルが既に閉じられているかどうかを返します。

delete(key) -> String

key をキーとする項目を削除します。

reject! { |key, value| ... } -> self
delete_if { |key, value| ... } -> self

ブロックを評価した値が真であれば該当する項目を削除します。

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

各要素に対するイテレータ。

each_key {|key| ... } -> self

全ての key に対して繰り返すイテレータ。

each_value {|value| ... } -> self

全ての value に対して繰り返すイテレータ。

empty? -> bool

データベースが空の時、真を返します。

fetch -> String

データベースから対応するキーを探してその要素の値を返します。

has_key?(key) -> bool
key?(key) -> bool
include?(key) -> bool
member?(key) -> bool

key がデータベース中に存在する時、真を返します。

has_value?(value) -> bool
value?(value) -> bool

value を値とする組がデータベース中に存在する時、真を返します。

index(val) -> String

値 val に対応するキーを返します。

indexes(*keys) -> [[String]]
indices(*keys) -> [[String]]

各引数の値をキーとする要素を含む配列を返します。

invert -> Hash

値からキーへのハッシュを返します。

keys -> [String]

データベース中に存在するキー全てを含む配列を返します。

length -> Integer
size -> Integer

データベース中の要素の数を返します。

reject {|key, value| ... } -> Hash

ブロックを評価した値が真であれば該当する要素を削除します。

replace(other) -> self

self の内容を other の内容で置き換えます。

select {|key, value| ... } -> [[String]]

ブロックを評価して真になった要素のみを配列に格納して返します。

shift -> [String]

データベース中の要素を一つ取り出し、データベースから削除します。

store(key, val) -> [String]

key に対して val を格納します。

to_a -> [[String]]

self の各要素を格納した配列を返します。

to_hash -> Hash

self の各要素を格納したハッシュを返します。

update(other) -> self

self と other の内容をマージします。

values -> [String]

データベース中に存在する値全てを含む配列を返します。

values_at(*keys) -> [String]

keys に対応する値を配列に格納して返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by inject max max_by min min_by minmax minmax_by none? one? partition sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SDBMError

ancestors: SDBMError < StandardError < Exception < Object < Kernel

Abstract

SDBM 内部で使用する例外クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library securerandom

Abstract

安全な乱数発生器のためのインターフェースを提供するライブラリです。 HTTP のセッションキーなどに適しています。

Classes/Modules

module SecureRandom

安全な乱数発生器のためのインターフェースを提供するモジュールです。 HTTP のセッションキーなどに適しています。


module SecureRandom

ancestors: SecureRandom

Abstract

安全な乱数発生器のためのインターフェースを提供するモジュールです。 HTTP のセッションキーなどに適しています。

以下の乱数発生器をサポートしています。

  • openssl
  • /dev/urandom

上の安全な乱数発生器が使用できない場合、各メソッドは NotImplementedError を発生します。

# random hexadecimal string.
p SecureRandom.hex(10) #=> "52750b30ffbc7de3b362"
p SecureRandom.hex(10) #=> "92b15d6c8dc4beb5f559"
p SecureRandom.hex(11) #=> "6aca1b5c58e4863e6b81b8"
p SecureRandom.hex(12) #=> "94b2fff3e7fd9b9c391a2306"
p SecureRandom.hex(13) #=> "39b290146bea6ce975c37cfc23"

# random base64 string.
p SecureRandom.base64(10) #=> "EcmTPZwWRAozdA=="
p SecureRandom.base64(10) #=> "9b0nsevdwNuM/w=="
p SecureRandom.base64(10) #=> "KO1nIU+p9DKxGg=="
p SecureRandom.base64(11) #=> "l7XEiFja+8EKEtY="
p SecureRandom.base64(12) #=> "7kJSM/MzBJI+75j8"
p SecureRandom.base64(13) #=> "vKLJ0tXBHqQOuIcSIg=="

# random binary string.
p SecureRandom.random_bytes(10) #=> "\016\t{\370g\310pbr\301"
p SecureRandom.random_bytes(10) #=> "\323U\030TO\234\357\020\a\337"

Singleton Methods

Signature | Description
base64(n = nil) -> String | ランダムな base64 文字列を生成して返します。
hex(n = nil) -> String | ランダムな hex 文字列を生成して返します。
random_bytes(n = nil) -> String | ランダムなバイト列を生成して返します。
random_number(n = 0) -> Integer | Float | ランダムな数値を生成して返します。 n が 1 以上の整数の場合、0 以上 n 未満の整数を返します。 n が 0 の場合、0.0 以上 1.0 未満の実数を返します。


library set

Abstract

集合を表す Set クラスと、取り出し順序を保証した SortedSet クラスを提供 します。

集合とは重複のないオブジェクトの集まりです。 Array の持つ演算機能と Hash の高速な検索機能を合わせ持ちます。

Set および SortedSet は内部記憶として Hash を使うため、集合要素の 等価性は Object#eql? と Object#hash を用いて判断されます。 したがって、集合の各要素には、これらのメソッドが適切に定義されている 必要があります。

Set クラスでは、集合要素を取り出す際の順序は保証されません。 一方、SortedSort では、集合要素はソートされた順序で取り出されます。

また、set ライブラリを require すると Enumerable モジュールが 拡張され、Enumerable#to_set の形で集合オブジェクトを生成できる ようになります。

注意事項

Ruby 1.8 では、集合オブジェクトに対する taint, untaint, freeze の各 メソッドは、内部記憶として保持するハッシュには影響しません。 このため、集合オブジェクトの凍結および汚染マークのセットは実質的な 効果を持ちません。 例えば、set.freeze に続いて set.add を呼び出しても、エラーは発生 しません。

例

require 'set'

set1 = Set.new ["foo", "bar", "baz", "foo"]

p set1                  #=> #<Set: {"baz", "foo", "bar"}>
p set1.include?("bar")  #=> true

set1.add("heh")
set1.delete("foo")
p set1                  #=> #<Set: {"heh", "baz", "bar"}>

Classes/Modules

class Set | 集合を表すクラスです。要素の間に順序関係はありません。
class SortedSet | 各要素をソートされた形で扱う集合クラスです。

Added/Redefined Methods

Enumerable#to_set


class Set

ancestors: Set < Enumerable < Object < Kernel

Abstract

集合を表すクラスです。要素の間に順序関係はありません。

Singleton Methods

Signature Description
self[*ary] -> Set

与えられたオブジェクトを要素とする新しい集合を作ります。

new(enum = nil) -> Set
new(enum = nil) {|o| ... } -> Set

引数 enum で与えられた要素を元に、新しい集合を作ります。

Instance Methods

Signature Description
intersection(enum) -> Set
self & enum -> Set

共通部分、すなわち、2つの集合のいずれにも属するすべての要素からなる 新しい集合を作ります。

union(enum) -> Set
self + enum -> Set
self | enum -> Set

和集合、すなわち、2 つの集合の少なくともどちらか一方に属するすべての 要素からなる新しい集合を作ります。

difference(enum) -> Set
self - enum -> Set

差集合、すなわち、元の集合の要素のうち引数 enum に含まれる要素を取り除いた 新しい集合を作ります。

add(o) -> self
self << o -> self
add?(o) -> self | nil

集合にオブジェクト o を加えます。

self == set -> bool

2 つの集合が等しいときに true を返します。

self ^ enum -> Set

対称差、すなわち、2 つの集合のいずれか一方にだけ属するすべての要素からなる 新しい集合を作ります。

classify {|o| ... } -> Hash

集合をブロックの値によって分類し、結果をハッシュとして返します。

clear -> self

集合の要素をすべて削除し、空にした後の self を返します。

clone -> Set
dup -> Set

集合を複製して返します。

collect! {|o| ...} -> self
map! {|o| ...} -> self

集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。

delete(o) -> self
delete?(o) -> self | nil

集合からオブジェクト o を削除します。

delete_if {|o| ... } -> self
reject! {|o| ... } -> self | nil

集合の各要素に対してブロックを実行し、その結果が真であるようなすべての 要素を削除します。

divide {|o| ... } -> Set
divide {|o1, o2| ... } -> Set

元の集合をブロックで定義される関係で分割し、その結果を集合として返します。

each {|o| ... } -> self

集合の各要素についてブロックを実行します。

empty? -> bool

集合が要素を 1 つも持たないときに true を返します。

flatten -> Set
flatten! -> self | nil

集合を再帰的に平滑化します。

include?(o) -> bool
member?(o) -> bool

オブジェクト o がその集合に属する場合に true を返します。

inspect -> String

人間の読みやすい形に表現した文字列を返します。

size -> Integer
length -> Integer

集合の要素数を返します。

merge(enum) -> self

元の集合に enum で与えられた要素を追加します。

subset?(set) -> bool
proper_subset?(set) -> bool

自身が集合 set の部分集合である場合に true を返します。

superset?(set) -> bool
proper_superset?(set) -> bool

自身が集合 set の上位集合 (スーパーセット) である場合に true を 返します。

replace(enum) -> self

集合の要素をすべて削除し、enum で与えられた要素に置き換えます。

subtract(enum) -> self

元の集合から、enum で与えられた要素を削除します。

to_a -> Array

自身を配列に変換します。要素の順序は不定です。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SortedSet

ancestors: SortedSet < Set < Enumerable < Object < Kernel

Abstract

各要素をソートされた形で扱う集合クラスです。

各メソッドの使用方法については、Set を参照してください。

RBTree ライブラリ (http://raa.ruby-lang.org/project/ruby-rbtree) が利用可能である場合、内部記憶としてハッシュの代わりに RBTreeを使用します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint & + - << == ^ classify clear clone collect! delete delete_if divide each empty? flatten inspect length merge proper_subset? proper_superset? replace subtract .[] .new


library sha1

Abstract

このライブラリは obsolete です。digest ライブラリを使ってください

digest/sha1 をロードして SHA1 を Digest::SHA1 に置き換えます

Classes/Modules

class SHA1

Digest::SHA1 のエイリアスです。


class SHA1

ancestors: SHA1 < Object < Kernel

Abstract

Digest::SHA1 のエイリアスです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library shell

Abstract

Ruby 上で sh/csh のようにコマンドの実行及びフィルタリングを手軽に行うためのライブラリです。

sh/csh の制御文は Ruby の機能を用いて実現します。

サンプル

Example 1:

sh = Shell.cd("/tmp")
sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1")
sh.cd("shell-test-1")
for dir in ["dir1", "dir3", "dir5"]
  unless sh.exists?(dir)
    sh.mkdir dir
    sh.cd(dir) do
      f = sh.open("tmpFile", "w")
      f.puts "TEST"
      f.close
    end
    print sh.pwd
  end
end

Example 2:

sh = Shell.cd("/tmp")
sh.transact do
  mkdir "shell-test-1" unless exists?("shell-test-1")
  cd("shell-test-1")
  for dir in ["dir1", "dir3", "dir5"]
    if !exists?(dir)
      mkdir dir
      cd(dir) do
        f = open("tmpFile", "w")
        f.print "TEST\n"
        f.close
      end
      print pwd
    end
  end
end

Example 3: Using Pipe

sh.cat("/etc/printcap") | sh.tee("tee1") > "tee2"
(sh.cat < "/etc/printcap") | sh.tee("tee11") > "tee12"
sh.cat("/etc/printcap") | sh.tee("tee1") >> "tee2"
(sh.cat < "/etc/printcap") | sh.tee("tee11") >> "tee12"

Example 4:

print sh.cat("/etc/passwd").head.collect {|line| /keiju/ =~ line }

Classes/Modules

class Shell | Shellオブジェクトはカレントディレクトリを持ち, コマンド実行はそこからの相対パスになります.
class Shell::Filter | コマンドの実行結果はすべてShell::Filterとしてかえります.


class Shell

ancestors: Shell < Object < Kernel

Abstract

Shellオブジェクトはカレントディレクトリを持ち, コマンド実行はそこからの相対パスになります.

Singleton Methods

Signature Description
alias_command(alias, command, *opts) {...} -> self

コマンドの別名(エイリアス)を作成します。 コマンドが無い場合は、Shell.def_system_command などであらかじめ作成します.

cd(path = nil) -> self

pathをカレントディレクトリとするShellオブジェクトを生成します.

debug -> bool | Integer
debug? -> bool | Integer
debug=(val)

デバッグ用のフラグの設定および、参照を行います。

def_system_command(command, path = command) -> nil

Shellのメソッドとしてcommandを登録します.

default_record_separator -> String
default_record_separator=(rs)

執筆者募集

default_system_path -> Array
default_system_path=(path)

Shellでもちいられるコマンドを検索する対象のパスを設定および、参照します。

install_system_commands(pre = "sys_") -> ()

system_path上にある全ての実行可能ファイルをShellに定義する. メソッ ド名は元のファイル名の頭にpreをつけたものとなる.

new -> Shell

プロセスのカレントディレクトリをカレントディレクトリとするShellオ ブジェクトを生成します.

unalias_command(alias) -> ()

commandのaliasを削除します.

undef_system_command(command) -> Shell::CommandProcessor

commandを削除します.

verbose -> bool
verbose? -> bool
verbose=(flag)

true ならば冗長な出力の設定を行います。

Instance Methods

Signature Description
test(command, file1, file2 = nil) -> bool
self[command, file1, file2 = nil] -> bool

執筆者募集。 ファイルテスト関数testと同じです。

atime(filename) -> Time

Fileクラスにある同名のクラスメソッドと同じです.

basename(filename, suffix = "") -> String

Fileクラスにある同名のクラスメソッドと同じです.

blockdev?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

cat(*files) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

cd(path, &block) -> self
chdir(path, &block) -> self

カレントディレクトリをpathにする. イテレータとして呼ばれたときには ブロック実行中のみカレントディレクトリを変更する.

chardev?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

chmod(mode, *filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

chown(owner, group, *filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

cmp

Shell#compare と同じです。

compare(file1, file2) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

copy(from, to) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

cp

Shell#copy と同じです。

ctime(filename) -> Time

Fileクラスにある同名のクラスメソッドと同じです.

cwd -> String
dir -> String
getwd -> String
pwd -> String

カレントディレクトリのパスを文字列で返します。

delete(*filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

directory?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

dirname(filename) -> String

Fileクラスにある同名のクラスメソッドと同じです.

echo(*strings) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

executable?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

executable_real?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

exist?(file) -> bool
exists?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

expand_path(path)

Fileクラスにある同名のクラスメソッドと同じです.

file?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

foreach(path = nil, &block) -> ()

pathがファイルなら, File#foreach pathがディレクトリなら, Dir#foreach の動作をします。

ftype(filename) -> String

Fileクラスにある同名のクラスメソッドと同じです.

glob(patten) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

grpowned?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

install(from, to, mode = nil, verbose = false) -> ()

FileToolsクラスにある同名のクラスメソッドと同じです.

jobs -> Array

執筆者募集. スケジューリングされているjobの一覧を返す.

join(*item) -> String

Fileクラスにある同名のクラスメソッドと同じです.

kill(sig, job)

執筆者募集. jobにシグナルsigを送る.

link(old, new) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

lstat(filename) -> File::Stat

Fileクラスにある同名のクラスメソッドと同じです.

makedirs(*dirs) -> Array

FileToolsクラスにある同名のクラスメソッドと同じです.

mkdir(*path) -> Array

Dir.mkdirと同じです。 (複数可)

mkpath

Shell#makedirs と同じです。

move(from, to) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

mtime(filename) -> Time

Fileクラスにある同名のクラスメソッドと同じです.

mv

Shell#move と同じです。

open(path, mode) -> object

pathがファイルなら, File#open pathがディレクトリなら, Dir#open の動作をします。

out(dev = STDOUT, &block) -> ()

Shell#transact を呼び出しその結果を dev に出力します。

owned?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

pipe?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

popd -> ()
popdir -> ()

ディレクトリスタックからポップし, それをカレントディレクトリにする.

pushd(path = nil, &block) -> object
pushdir(path = nil, &block) -> object

カレントディレクトリをディレクトリスタックにつみ, カレントディレク トリをpathにする. pathが省略されたときには, カレントディレクトリと ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと きには, ブロック実行中のみpushdする.

readable?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

readable_real?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

readlink(path) -> String

Fileクラスにある同名のクラスメソッドと同じです.

rehash -> Hash

執筆者募集。 リハッシュする。通常使う事はありません。

rename(from, to) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

rm_f

Shell#safe_unlink と同じです。

rmdir(*path) -> ()

Dir.rmdirと同じです。 (複数可)

safe_unlink(*filenames) -> Array

FileToolsクラスにある同名のクラスメソッドと同じです.

setgid?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

setuid?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

size(file) -> Integer
size?(file) -> Integer | nil

FileTestクラスにある同名のクラスメソッドと同じです.

socket?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

split(pathname) -> [String]

Fileクラスにある同名のクラスメソッドと同じです.

stat(filename) -> File::Stat

Fileクラスにある同名のクラスメソッドと同じです.

sticky?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

symlink(old, new) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

symlink?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

syscopy(from, to) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

system(command, *opts) -> Shell::Filter

commandを実行する.

system_path -> Array
system_path=(path)

コマンドサーチパスの配列を返す。

tee(file) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

transact { ... } -> object

ブロック中で shell を self として実行します。

truncate(path, length) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

umask -> object

umaskを返します。

unlink(path) -> self

pathがファイルなら, File#unlink pathがディレクトリなら, Dir#unlink の動作をします。

utime(atime, mtime, *filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

writable?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

writable_real?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

zero?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Shell::Filter

ancestors: Shell::Filter < Enumerable < Object < Kernel

Abstract

コマンドの実行結果はすべてShell::Filterとしてかえります.

Singleton Methods

Signature | Description
new -> Shell::Filter | 執筆者募集。 Shell::Filter クラス のインスタンスを返します。 通常このnewを直接使う機会はすくないでしょう。

Instance Methods

Signature Description
self + filter

執筆者募集

self < src -> self

srcをフィルタの入力とする. srcが, 文字列ならばファイルを, IOオブジェクトであれ ばそれをそのまま入力とする.

self > to -> self

toをフィルタの出力とする. toが, 文字列ならばファイルに, IOオブジェクトであれ ばそれをそのまま出力とする.

self >> to -> self

toをフィルタに追加する. toが, 文字列ならばファイルに, IOオブジェクトであれば それをそのまま出力とする.

each(rs = nil) -> ()

フィルタの一行ずつをblockに渡します。

input
input=

執筆者募集

to_a -> Array
to_s -> String

実行結果を文字列、それぞれ文字列の配列で返します。

self | filter -> object

パイプ結合を filter に対して行います。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library shellwords

Abstract

UNIX Bourne シェルの単語分割規則に従った文字列割機能と文字列エスケープ 機能を提供します。

Shellwords モジュールは、空白区切りの単語分割を行う shellsplit、 文字列をエスケープする shellescape、文字列エスケープを文字列リストに 対して適用する shelljoin の3つのモジュール関数を提供します。

また、shellwords ライブラリを require すると、組み込みクラス String と Array が拡張され、これらのモジュール関数と同じ機能が String#shellsplit, String#shellescape, Array#shelljoin として使える ようになります。

Classes/Modules

module Shellwords

UNIX Bourne シェルの単語分割規則に従った文字列分割と文字列エスケープ を行うモジュールです。

Added/Redefined Methods

Array#shelljoin String#shellescape String#shellsplit


module Shellwords

ancestors: Shellwords

Abstract

UNIX Bourne シェルの単語分割規則に従った文字列分割と文字列エスケープ を行うモジュールです。

Shellwords モジュールは、空白区切りの単語分割を行う shellsplit、文字列を エスケープする shellescape、文字列エスケープを文字列リストに対して適用 する shelljoin の3つのモジュール関数を提供します。

これらのメソッドの別名として、Shellwords.split, Shellwords.escape, Shellwords.join も使用可能です。 ただし、これらの短縮形式のメソッドはクラスメソッドとしてのみ定義される ため、関数形式の呼び出しはできません。

Singleton Methods

Signature | Description
escape(str) -> String | 文字列を Bourne シェルのコマンドライン中で安全に使えるようにエスケープします。
join(array) -> String | 配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
split(line) -> [String] | Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。

Module Functions

Signature Description
shellescape(str) -> String

文字列を Bourne シェルのコマンドライン中で安全に使えるようにエスケープします。

shelljoin(array) -> String

配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。

shellsplit(line) -> [String]
shellwords(line) -> [String]

Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。


library singleton

Abstract

Singleton パターンを扱うためのライブラリです。

Classes/Modules

module Singleton

Singleton パターンを提供するモジュールです。


module Singleton

ancestors: Singleton

Abstract

Singleton パターンを提供するモジュールです。

Mix-in により singleton パターンを提供します。

Singleton モジュールを include することにより、クラスは 高々ひとつのインスタンスしか持たないことが保証されます。

Singleton を Mix-in したクラスの クラスメソッド instance はその唯一のインスタンスを返します。

new は private メソッドに移され、外部から呼び出そうとするとエラーになります。

サンプルコード

require 'singleton'
class SomeSingletonClass
  include Singleton
 #....
end
a = SomeSingletonClass.instance
b = SomeSingletonClass.instance  # a and b are same object
p [a,b]
a = SomeSingletonClass.new               # error (`new' is private)

Singleton Methods

Signature | Description
instance -> object | そのクラスの唯一のインスタンスを返します。 最初に呼ばれたときはそのインスタンスを生成します。


library soap

Abstract

SOAP を扱うためのライブラリです。

このページは soap ライブラリのまとめのページであり、require 'soap' を実行しても エラーになることに注意して下さい。

Sub-Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handler
soap/header/handlerset
soap/header/simplehandler
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlencodedregistry
soap/mapping/wsdlliteralregistry
soap/marshal
soap/mimemessage
soap/netHttpClient
soap/parser
soap/processor
soap/property
soap/rpc/cgistub
soap/rpc/driver
soap/rpc/element
soap/rpc/httpserver
soap/rpc/proxy
soap/rpc/router
soap/rpc/rpc
soap/rpc/soaplet
soap/rpc/standaloneServer
soap/soap
soap/streamHandler
soap/wsdlDriver


library soap/attachment

Abstract

Classes/Modules

class SOAP::Attachment
class SOAP::Mapping::AttachmentFactory
class SOAP::SOAPAttachment

Required Libraries

soap/baseData
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/soap


class SOAP::Attachment

ancestors: SOAP::Attachment < Object < Kernel

Abstract

Singleton Methods

Signature | Description
contentid(obj) |
mime_contentid(obj) |
new(string_or_readable = nil) |

Instance Methods

Signature Description
content
contentid
contentid=(contentid)
contentype
contentype=(contenttype)
io
mime_contentid
save(filename)
to_s
write(out)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Mapping::AttachmentFactory

ancestors: SOAP::Mapping::AttachmentFactory

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap .new


class SOAP::SOAPAttachment

ancestors: SOAP::SOAPAttachment

      < SOAP::SOAPExternalReference

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < SOAP::SOAPModuleUtils

      < SOAP

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value) |

Instance Methods

Signature | Description
data |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint referred refidstr type .inherited .types


library soap/baseData

Abstract

Classes/Modules

class SOAP::SOAPAnySimpleType
class SOAP::SOAPAnyURI
class SOAP::SOAPArray
class SOAP::SOAPBase64
module SOAP::SOAPBasetype
class SOAP::SOAPBoolean
class SOAP::SOAPByte
module SOAP::SOAPCompoundtype
class SOAP::SOAPDate
class SOAP::SOAPDateTime
class SOAP::SOAPDecimal
class SOAP::SOAPDouble
class SOAP::SOAPDuration
class SOAP::SOAPElement
class SOAP::SOAPExternalReference
class SOAP::SOAPFloat
class SOAP::SOAPGDay
class SOAP::SOAPGMonth
class SOAP::SOAPGMonthDay
class SOAP::SOAPGYear
class SOAP::SOAPGYearMonth
class SOAP::SOAPHexBinary
class SOAP::SOAPInt
class SOAP::SOAPInteger
class SOAP::SOAPLong
module SOAP::SOAPModuleUtils
class SOAP::SOAPNegativeInteger
class SOAP::SOAPNil
class SOAP::SOAPNonNegativeInteger
class SOAP::SOAPNonPositiveInteger
class SOAP::SOAPPositiveInteger
class SOAP::SOAPQName
class SOAP::SOAPRawString
class SOAP::SOAPReference
class SOAP::SOAPShort
class SOAP::SOAPString
class SOAP::SOAPStruct
class SOAP::SOAPTime
module SOAP::SOAPType
class SOAP::SOAPUnsignedByte
class SOAP::SOAPUnsignedInt
class SOAP::SOAPUnsignedLong
class SOAP::SOAPUnsignedShort

Required Libraries

soap/mapping/typeMap
soap/soap


class SOAP::SOAPAnySimpleType

ancestors: SOAP::SOAPAnySimpleType

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPAnyURI

ancestors: SOAP::SOAPAnyURI

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDAnyURI

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPArray

ancestors: SOAP::SOAPArray < SOAP::SOAPCompoundtype < SOAP::SOAPType < SOAP < Enumerable < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create_arytype(typename, rank) |
decode(elename, type, arytype) |
new(type = nil, rank = 1, arytype = nil) |
parse_type(string) |

Instance Methods

Signature Description
self[*idxary]
self[] = *idxary
add(value)
arytype
deep_map(ary) {|ele| ... }
each {|data| ... }
include?(var)
offset
offset=(var)
position
rank
replace {|ele| ... }
size
size=(value)
size_fixed
size_fixed=(value)
soap2array(ary)
sparse
sparse=(value)
to_a
traverse {|v, *rank| ... }

Constants

Signature | Description
ITEM_NAME |
TypeParseRegexp |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::SOAPBase64

ancestors: SOAP::SOAPBase64

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDBase64Binary

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Instance Methods

Signature | Description
as_xsd |

Constants

Signature | Description
Type |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s set_encoded string


module SOAP::SOAPBasetype

ancestors: SOAP::SOAPBasetype < SOAP::SOAPType < SOAP

Abstract

Instance Methods

Signature | Description
initialize(*arg) |

Inherited Methods

::AttrActor

::AttrArrayType

::AttrArrayTypeName

::AttrEncodingStyle

::AttrEncodingStyleName

::AttrMustUnderstand

::AttrMustUnderstandName

::AttrOffset

::AttrOffsetName

::AttrPosition

::AttrPositionName

::AttrRoot

::AttrRootName

::Base64Literal

::EleBody

::EleBodyName

::EleEnvelope

::EleEnvelopeName

::EleFault

::EleFaultActor

::EleFaultActorName

::EleFaultCode

::EleFaultCodeName

::EleFaultDetail

::EleFaultDetailName

::EleFaultName

::EleFaultString

::EleFaultStringName

::EleHeader

::EleHeaderName

::EncodingNamespace

::EnvelopeNamespace

::LiteralNamespace

::MediaType

::NextActor

::PropertyName

::SOAPNamespaceTag

::TypeMap

::VERSION

::ValueArray

::ValueArrayName

::XSDNamespaceTag

::XSINamespaceTag

definedtype

elename

encodingstyle

extraattr

id

inspect

parent

position

precedents

root

rootnode


class SOAP::SOAPBoolean

ancestors: SOAP::SOAPBoolean

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDBoolean

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPByte

ancestors: SOAP::SOAPByte

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDByte

      < XSD::XSDShort

      < XSD::XSDInt

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new nonzero?


module SOAP::SOAPCompoundtype

ancestors: SOAP::SOAPCompoundtype < SOAP::SOAPType < SOAP

Abstract

Instance Methods

Signature | Description
initialize(*args) |

Inherited Methods

::AttrActor

::AttrArrayType

::AttrArrayTypeName

::AttrEncodingStyle

::AttrEncodingStyleName

::AttrMustUnderstand

::AttrMustUnderstandName

::AttrOffset

::AttrOffsetName

::AttrPosition

::AttrPositionName

::AttrRoot

::AttrRootName

::Base64Literal

::EleBody

::EleBodyName

::EleEnvelope

::EleEnvelopeName

::EleFault

::EleFaultActor

::EleFaultActorName

::EleFaultCode

::EleFaultCodeName

::EleFaultDetail

::EleFaultDetailName

::EleFaultName

::EleFaultString

::EleFaultStringName

::EleHeader

::EleHeaderName

::EncodingNamespace

::EnvelopeNamespace

::LiteralNamespace

::MediaType

::NextActor

::PropertyName

::SOAPNamespaceTag

::TypeMap

::VERSION

::ValueArray

::ValueArrayName

::XSDNamespaceTag

::XSINamespaceTag

definedtype

elename

encodingstyle

extraattr

id

inspect

parent

position

precedents

root

rootnode


class SOAP::SOAPDate

ancestors: SOAP::SOAPDate

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDDate

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class SOAP::SOAPDateTime

ancestors: SOAP::SOAPDateTime

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDDateTime

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class SOAP::SOAPDecimal

ancestors: SOAP::SOAPDecimal

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPDouble

ancestors: SOAP::SOAPDouble

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDDouble

      < XSD::FloatConstants

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode ::NEGATIVE_INF ::NaN ::POSITIVE_INF type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPDuration

ancestors: SOAP::SOAPDuration

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDDuration

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s day hour min month sec sign year .new


class SOAP::SOAPElement

ancestors: SOAP::SOAPElement < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
decode(elename) |
from_obj(obj, namespace = nil) |
new(elename, text = nil) |
to_elename(obj, namespace = nil) |

Instance Methods

Signature Description
self[idx]
self[idx] = data
add(value)
text
text=(value)
data
each {|key, value| ... }
elename
elename=(value)
encodingstyle
encodingstyle=(value)
extraattr
extraattr=(value)
id
id=(value)
inspect
key?(name)
members
parent
parent=(value)
position
position=(value)
precedents
qualified
qualified=(value)
root
root=(value)
to_obj

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::SOAPExternalReference

ancestors: SOAP::SOAPExternalReference < SOAP::SOAPBasetype < SOAP::SOAPType < SOAP < SOAP::SOAPModuleUtils < SOAP < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
referred |
refidstr |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types


class SOAP::SOAPFloat

ancestors: SOAP::SOAPFloat

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDFloat

      < XSD::FloatConstants

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode ::NEGATIVE_INF ::NaN ::POSITIVE_INF type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPGDay

ancestors: SOAP::SOAPGDay

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDGDay

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of .new


class SOAP::SOAPGMonth

ancestors: SOAP::SOAPGMonth

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDGMonth

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of .new


class SOAP::SOAPGMonthDay

ancestors: SOAP::SOAPGMonthDay

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDGMonthDay

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of .new


class SOAP::SOAPGYear

ancestors: SOAP::SOAPGYear

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDGYear

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of .new


class SOAP::SOAPGYearMonth

ancestors: SOAP::SOAPGYearMonth

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDGYearMonth

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of .new


class SOAP::SOAPHexBinary

ancestors: SOAP::SOAPHexBinary

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDHexBinary

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s set_encoded string .new


class SOAP::SOAPInt

ancestors: SOAP::SOAPInt

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDInt

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPInteger

ancestors: SOAP::SOAPInteger

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPLong

ancestors: SOAP::SOAPLong

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


module SOAP::SOAPModuleUtils

ancestors: SOAP::SOAPModuleUtils < SOAP

Abstract

Instance Methods

Signature | Description
decode(elename) |

Inherited Methods

::AttrActor

::AttrArrayType

::AttrArrayTypeName

::AttrEncodingStyle

::AttrEncodingStyleName

::AttrMustUnderstand

::AttrMustUnderstandName

::AttrOffset

::AttrOffsetName

::AttrPosition

::AttrPositionName

::AttrRoot

::AttrRootName

::Base64Literal

::EleBody

::EleBodyName

::EleEnvelope

::EleEnvelopeName

::EleFault

::EleFaultActor

::EleFaultActorName

::EleFaultCode

::EleFaultCodeName

::EleFaultDetail

::EleFaultDetailName

::EleFaultName

::EleFaultString

::EleFaultStringName

::EleHeader

::EleHeaderName

::EncodingNamespace

::EnvelopeNamespace

::LiteralNamespace

::MediaType

::NextActor

::PropertyName

::SOAPNamespaceTag

::TypeMap

::VERSION

::ValueArray

::ValueArrayName

::XSDNamespaceTag

::XSINamespaceTag


class SOAP::SOAPNegativeInteger

ancestors: SOAP::SOAPNegativeInteger

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDNegativeInteger

      < XSD::XSDNonPositiveInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPNil

ancestors: SOAP::SOAPNil

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDNil

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPNonNegativeInteger

ancestors: SOAP::SOAPNonNegativeInteger

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPNonPositiveInteger

ancestors: SOAP::SOAPNonPositiveInteger

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDPositiveInteger

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPPositiveInteger

ancestors: SOAP::SOAPPositiveInteger

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDPositiveInteger

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPQName

ancestors: SOAP::SOAPQName

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDQName

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPRawString

ancestors: SOAP::SOAPRawString

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDString

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPReference

ancestors: SOAP::SOAPReference < SOAP::SOAPBasetype < SOAP::SOAPType < SOAP < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create_refid(obj) |
decode(elename, refidstr) |
new(obj = nil) |

Instance Methods

Signature Description
__getobj__
__setobj__(obj)
method_missing(msg_id, *params)
refid
refid=(value)
refidstr

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::SOAPShort

ancestors: SOAP::SOAPShort

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDShort

      < XSD::XSDInt

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPString

ancestors: SOAP::SOAPString

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDString

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s .new


class SOAP::SOAPStruct

ancestors: SOAP::SOAPStruct < SOAP::SOAPCompoundtype < SOAP::SOAPType < SOAP < Enumerable < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
decode(elename, type) |
new(type = nil) |

Instance Methods

Signature | Description
self[idx] |
self[idx] = data |
add(name, value) |
each |
key?(name) |
members |
replace |
to_obj |
to_s |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::SOAPTime

ancestors: SOAP::SOAPTime

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDTime

      < XSD::XSDDateTimeImpl

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of .new


module SOAP::SOAPType

ancestors: SOAP::SOAPType

Abstract

Instance Methods

Signature Description
definedtype
definedtype=(value)
elename
elename=(value)
encodingstyle
encodingstyle=(value)
extraattr
id
id=(value)
initialize(*args)
inspect
parent
parent=(value)
position
position=(value)
precedents
root
root=(value)
rootnode


class SOAP::SOAPUnsignedByte

ancestors: SOAP::SOAPUnsignedByte

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDUnsignedByte

      < XSD::XSDUnsignedShort

      < XSD::XSDUnsignedInt

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPUnsignedInt

ancestors: SOAP::SOAPUnsignedInt

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDUnsignedInt

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPUnsignedLong

ancestors: SOAP::SOAPUnsignedLong

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


class SOAP::SOAPUnsignedShort

ancestors: SOAP::SOAPUnsignedShort

      < SOAP::SOAPBasetype

      < SOAP::SOAPType

      < SOAP

      < XSD::XSDUnsignedShort

      < XSD::XSDUnsignedInt

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel
extend: SOAP::SOAPModuleUtils

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types check_lexical_format data is_nil set to_s nonzero? .new


library soap/element

Abstract

Classes/Modules

class SOAP::SOAPBody
class SOAP::SOAPEnvelope
module SOAP::SOAPEnvelopeElement
class SOAP::SOAPFault
class SOAP::SOAPHeader
class SOAP::SOAPHeaderItem

Required Libraries

soap/baseData
soap/mapping/typeMap
soap/soap


class SOAP::SOAPBody

ancestors: SOAP::SOAPBody

      < SOAP::SOAPEnvelopeElement

      < SOAP::SOAPStruct

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < Enumerable

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(data = nil, is_fault = nil) |

Instance Methods

Signature | Description
encode(generator, ns, attrs = {}) |
root_node |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag [] []= add each key? members replace to_obj to_s .decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types

Added Methods

Signature Description Library
fault
fault=(fault) 		soap/rpc/element
outparams soap/rpc/element
request soap/rpc/element
response soap/rpc/element


class SOAP::SOAPEnvelope

ancestors: SOAP::SOAPEnvelope

      < SOAP::SOAPEnvelopeElement

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(header = nil, body = nil) |

Instance Methods

Signature Description
body
body=(body)
encode(generator, ns, attrs = {})
external_content
header
header=(header)
to_ary

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > module SOAP::SOAPEnvelopeElement

module SOAP::SOAPEnvelopeElement

ancestors: SOAP::SOAPEnvelopeElement

Abstract


class SOAP::SOAPFault

ancestors: SOAP::SOAPFault

      < SOAP::SOAPEnvelopeElement

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < SOAP::SOAPStruct

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < Enumerable

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(faultcode = nil, faultstring = nil, faultactor = nil, detail = nil) |

Instance Methods

Signature Description
detail
detail=(rhs)
encode(generator, ns, attrs = {})
faultactor
faultactor=(rhs)
faultcode
faultcode=(rhs)
faultstring
faultstring=(rhs)

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag [] []= add each key? members replace to_obj to_s .decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::SOAPHeader

ancestors: SOAP::SOAPHeader

      < SOAP::SOAPEnvelopeElement

      < SOAP::SOAPStruct

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < Enumerable

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
add(name, value)
encode(generator, ns, attrs = {})
length
size

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag [] []= each key? members replace to_obj to_s .decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::SOAPHeaderItem

ancestors: SOAP::SOAPHeaderItem

      < SOAP::SOAPEnvelopeElement

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(element, mustunderstand = true, encodingstyle = nil) |

Instance Methods

Signature Description
element
element=(value)
encode(generator, ns, attrs = {})
encodingstyle
encodingstyle=(value)
mustunderstand
mustunderstand=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag definedtype elename extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


library soap/encodingstyle/aspDotNetHandler

Abstract

Classes/Modules

class SOAP::EncodingStyle::ASPDotNetHandler
class SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject
class SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/handler
soap/mapping/typeMap
soap/soap


class SOAP::EncodingStyle::ASPDotNetHandler

ancestors: SOAP::EncodingStyle::ASPDotNetHandler < SOAP::EncodingStyle::Handler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(charset = nil) |

Instance Methods

Signature | Description
decode_epilogue |
decode_parent(parent, node) |
decode_prologue |
decode_tag(ns, elename, attrs, parent) |
decode_tag_end(ns, node) |
decode_text(ns, text) |
encode_data(generator, ns, data, parent) |
encode_data_end(generator, ns, data, parent) |

Constants

Signature | Description
Namespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint charset decode_typemap= encode_epilogue encode_prologue generate_explicit_type .each .handler .uri


class SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject

ancestors: SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
parent
parent=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown

ancestors: SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown < SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(handler, elename) |

Instance Methods

Signature | Description
as_nil |
as_string |
as_struct |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint parent


library soap/encodingstyle/handler

Abstract

Classes/Modules

class SOAP::EncodingStyle::Handler

Exception Classes

class SOAP::EncodingStyle::Handler::EncodingStyleError

Required Libraries

soap/baseData
soap/element
soap/mapping/typeMap
soap/soap


class SOAP::EncodingStyle::Handler

ancestors: SOAP::EncodingStyle::Handler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
each {|value| ... } |
handler(uri) |
new(charset) |
uri |

Instance Methods

Signature Description
charset
decode_epilogue
decode_prologue
decode_tag(ns, name, attrs, parent)
decode_tag_end(ns, name)
decode_text(ns, text)
decode_typemap=(definedtypes)
encode_data(generator, ns, data, parent)
encode_data_end(generator, ns, data, parent)
encode_epilogue
encode_prologue
generate_explicit_type
generate_explicit_type=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::EncodingStyle::Handler::EncodingStyleError

ancestors: SOAP::EncodingStyle::Handler::EncodingStyleError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library soap/encodingstyle/literalHandler

Abstract

Classes/Modules

class SOAP::EncodingStyle::LiteralHandler
class SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject
class SOAP::EncodingStyle::LiteralHandler::SOAPUnknown

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/handler
soap/mapping/typeMap
soap/soap


class SOAP::EncodingStyle::LiteralHandler

ancestors: SOAP::EncodingStyle::LiteralHandler < SOAP::EncodingStyle::Handler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(charset = nil) |

Instance Methods

Signature | Description
decode_attrs(ns, attrs) |
decode_epilogue |
decode_parent(parent, node) |
decode_prologue |
decode_tag(ns, elename, attrs, parent) |
decode_tag_end(ns, node) |
decode_text(ns, text) |
encode_data(generator, ns, data, parent) |
encode_data_end(generator, ns, data, parent) |

Constants

Signature | Description
Namespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint charset decode_typemap= encode_epilogue encode_prologue generate_explicit_type .each .handler .uri


class SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject

ancestors: SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
parent
parent=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::EncodingStyle::LiteralHandler::SOAPUnknown

ancestors: SOAP::EncodingStyle::LiteralHandler::SOAPUnknown < SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(handler, elename, extraattr) |

Instance Methods

Signature | Description
as_element |
as_nil |
as_string |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint parent


library soap/encodingstyle/soapHandler

Abstract

Classes/Modules

class SOAP::EncodingStyle::SOAPHandler
class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject
class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/handler
soap/mapping/typeMap
soap/soap


class SOAP::EncodingStyle::SOAPHandler

ancestors: SOAP::EncodingStyle::SOAPHandler < SOAP::EncodingStyle::Handler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(charset = nil) |

Instance Methods

Signature | Description
decode_epilogue |
decode_parent(parent, node) |
decode_prologue |
decode_tag(ns, elename, attrs, parent) |
decode_tag_end(ns, node) |
decode_text(ns, text) |
encode_data(generator, ns, data, parent) |
encode_data_end(generator, ns, data, parent) |

Constants

Signature | Description
Namespace |
NilLiteralMap |
RootLiteralMap |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint charset decode_typemap= encode_epilogue encode_prologue generate_explicit_type .each .handler .uri


class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject

ancestors: SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
id
id=(value)
parent
parent=(value)
position
position=(value)
root
root=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown

ancestors: SOAP::EncodingStyle::SOAPHandler::SOAPUnknown < SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(handler, elename, type, extraattr) |

Instance Methods

Signature Description
as_nil
as_string
as_struct
definedtype
definedtype=(value)
extraattr
type

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id parent position root


library soap/generator

Abstract

Classes/Modules

class SOAP::SOAPGenerator

Exception Classes

class SOAP::SOAPGenerator::FormatEncodeError

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/handler
soap/mapping/typeMap
soap/soap


class SOAP::SOAPGenerator

ancestors: SOAP::SOAPGenerator < Object < Kernel

Abstract

Singleton Methods

Signature | Description
assign_ns(attrs, ns, namespace, tag = nil) |
new(opt = {}) |

Instance Methods

Signature Description
add_reftarget(name, node)
charset
charset=(value)
default_encodingstyle
default_encodingstyle=(value)
element_local?(element)
element_qualified?(element)
encode_child(ns, child, parent)
encode_data(ns, obj, parent)
encode_element(ns, obj, parent)
encode_name(ns, data, attrs)
encode_name_end(ns, data)
encode_rawstring(str)
encode_string(str)
encode_tag(elename, attrs = nil)
encode_tag_end(elename, cr = nil)
generate(obj, io = nil)
generate_explicit_type
generate_explicit_type=(value)
use_numeric_character_reference
use_numeric_character_reference=(value)

Constants

Signature | Description
EncodeCharRegexp |
EncodeMap |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::SOAPGenerator::FormatEncodeError

ancestors: SOAP::SOAPGenerator::FormatEncodeError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library soap/header/handler

Abstract

Classes/Modules

class SOAP::Header::Handler

Required Libraries

soap/baseData
soap/element
soap/mapping/typeMap
soap/soap


class SOAP::Header::Handler

ancestors: SOAP::Header::Handler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(elename) |

Instance Methods

Signature | Description
elename |
encodingstyle |
mustunderstand |
on_inbound(header, mustunderstand = false) |
on_inbound_headeritem(header) |
on_outbound |
on_outbound_headeritem |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/header/handlerset

Abstract

Classes/Modules

class SOAP::Header::HandlerSet


class SOAP::Header::HandlerSet

ancestors: SOAP::Header::HandlerSet < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
add(handler)
self << handler
delete(handler)
dup
include?(handler)
on_inbound(headers)
on_outbound
store=(store)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/header/simplehandler

Abstract

Classes/Modules

class SOAP::Header::SimpleHandler

Required Libraries

soap/baseData
soap/element
soap/header/handler
soap/mapping/typeMap
soap/soap


class SOAP::Header::SimpleHandler

ancestors: SOAP::Header::SimpleHandler < SOAP::Header::Handler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(elename) |

Instance Methods

Signature | Description
on_inbound(header, mustunderstand) |
on_outbound |
on_simple_inbound(header, mustunderstand) |
on_simple_outbound |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint elename encodingstyle mustunderstand on_inbound_headeritem on_outbound_headeritem


library soap/httpconfigloader

Abstract

Classes/Modules

module SOAP::HTTPConfigLoader

Required Libraries

soap/property


module SOAP::HTTPConfigLoader

ancestors: SOAP::HTTPConfigLoader

Abstract

Module Functions

Signature | Description
cert_from_file(filename) |
key_from_file(filename) |
set_basic_auth(client, basic_auth) |
set_options(client, options) |
set_ssl_config(client, ssl_config) |
ssl_config_int(value) |


library soap/mapping

Abstract

Classes/Modules

module SOAP::Mapping
class SOAP::Mapping::ArrayFactory_
class SOAP::Mapping::Base64Factory_
class SOAP::Mapping::BasetypeFactory_
class SOAP::Mapping::DateTimeFactory_
class SOAP::Mapping::Factory
class SOAP::Mapping::HashFactory_
module SOAP::Mapping::MappedException
class SOAP::Mapping::Object
class SOAP::Mapping::Registry
class SOAP::Mapping::Registry::Map
class SOAP::Mapping::RubytypeFactory
class SOAP::Mapping::SOAPException
class SOAP::Mapping::StringFactory_
module SOAP::Mapping::TraverseSupport
class SOAP::Mapping::TypedArrayFactory_
class SOAP::Mapping::TypedStructFactory_
class SOAP::Mapping::URIFactory_
module SOAP::Marshallable

Exception Classes

class SOAP::Mapping::MappingError

Required Libraries

soap/baseData
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/soap

Sub-Libraries

soap/mapping/wsdlencodedregistry
soap/mapping/wsdlliteralregistry


library soap/mapping/factory

Abstract

Classes/Modules

class SOAP::Mapping::ArrayFactory_
class SOAP::Mapping::Base64Factory_
class SOAP::Mapping::BasetypeFactory_
class SOAP::Mapping::DateTimeFactory_
class SOAP::Mapping::Factory
class SOAP::Mapping::HashFactory_
class SOAP::Mapping::StringFactory_
class SOAP::Mapping::TypedArrayFactory_
class SOAP::Mapping::TypedStructFactory_
class SOAP::Mapping::URIFactory_

Added/Redefined Methods

SOAP::Mapping::MapQName


class SOAP::Mapping::ArrayFactory_

ancestors: SOAP::Mapping::ArrayFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(allow_original_mapping = false) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


class SOAP::Mapping::Base64Factory_

ancestors: SOAP::Mapping::Base64Factory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap .new


class SOAP::Mapping::BasetypeFactory_

ancestors: SOAP::Mapping::BasetypeFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(allow_original_mapping = false) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


class SOAP::Mapping::DateTimeFactory_

ancestors: SOAP::Mapping::DateTimeFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(allow_original_mapping = false) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


class SOAP::Mapping::Factory

ancestors: SOAP::Mapping::Factory < SOAP::Mapping::TraverseSupport < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
setiv2obj(obj, node, map) |
setiv2soap(node, obj, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Mapping::HashFactory_

ancestors: SOAP::Mapping::HashFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(allow_original_mapping = false) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


class SOAP::Mapping::StringFactory_

ancestors: SOAP::Mapping::StringFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(allow_original_mapping = false) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


class SOAP::Mapping::TypedArrayFactory_

ancestors: SOAP::Mapping::TypedArrayFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(allow_original_mapping = false) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


class SOAP::Mapping::TypedStructFactory_

ancestors: SOAP::Mapping::TypedStructFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap .new


class SOAP::Mapping::URIFactory_

ancestors: SOAP::Mapping::URIFactory_

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap .new


library soap/mapping/mapping

Abstract

Classes/Modules

module SOAP::Mapping
module SOAP::Mapping::TraverseSupport


module SOAP::Mapping

ancestors: SOAP::Mapping

Abstract

Singleton Methods

Signature | Description
_obj2soap(obj, registry, type = nil) |
_soap2obj(node, registry, klass = nil) |
ary2md(ary, rank, type_ns = XSD::Namespace, typename = XSD::AnyTypeLiteral, registry = nil, opt = EMPTY_OPT) |
ary2soap(ary, type_ns = XSD::Namespace, typename = XSD::AnyTypeLiteral, registry = nil, opt = EMPTY_OPT) |
class2element(klass) |
class2qname(klass) |
class_from_name(name, lenient = false) |
const_from_name(name, lenient = false) |
create_empty_object(klass) |
define_attr_accessor(obj, name, getterproc, setterproc = nil) |
define_singleton_method(obj, name) { ... } |
elename2name(name) |
fault2exception(fault, registry = nil) |
get_attribute(obj, attr_name) |
module_from_name(name, lenient = false) |
name2elename(name) |
obj2element(obj) |
obj2soap(obj, registry = nil, type = nil, opt = EMPTY_OPT) |
schema_attribute_definition(klass) |
schema_element_definition(klass) |
schema_ns_definition(klass) |
schema_type_definition(klass) |
set_attributes(obj, values) |
soap2obj(node, registry = nil, klass = nil, opt = EMPTY_OPT) |

Constants

Signature | Description
ApacheSOAPTypeNamespace |
EMPTY_OPT |
RubyCustomTypeNamespace |
RubyTypeInstanceNamespace |
RubyTypeNamespace |

Added Methods

Signature | Description | Library
DefaultRegistry |  | soap/mapping/registry
MapQName |  | soap/mapping/factory
RubyExtendName |  | soap/mapping/registry
RubyIVarName |  | soap/mapping/registry
RubyOriginalRegistry |  | soap/mapping/registry
RubyTypeName |  | soap/mapping/registry


module SOAP::Mapping::TraverseSupport

ancestors: SOAP::Mapping::TraverseSupport

Abstract

Instance Methods

Signature | Description
mark_marshalled_obj(obj, soap_obj) |
mark_unmarshalled_obj(node, obj) |


library soap/mapping/registry

Abstract

Classes/Modules

module SOAP::Mapping::MappedException
class SOAP::Mapping::Object
class SOAP::Mapping::Registry
class SOAP::Mapping::Registry::Map
class SOAP::Mapping::SOAPException
module SOAP::Marshallable

Exception Classes

class SOAP::Mapping::MappingError

Required Libraries

soap/baseData
soap/mapping/factory
soap/mapping/mapping
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/soap

Added/Redefined Methods

SOAP::Mapping::DefaultRegistry

SOAP::Mapping::RubyExtendName

SOAP::Mapping::RubyIVarName

SOAP::Mapping::RubyOriginalRegistry

SOAP::Mapping::RubyTypeName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Mapping::MappedException

module SOAP::Mapping::MappedException

ancestors: SOAP::Mapping::MappedException

Abstract


class SOAP::Mapping::MappingError

ancestors: SOAP::Mapping::MappingError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Mapping::Object

ancestors: SOAP::Mapping::Object < SOAP::Marshal < Object < Kernel

Abstract

Singleton Methods

Signature | Description
initialize |

Instance Methods

Signature | Description
self[qname] |
self[qname] = value |
__add_xmlele_value(qname, value) |
__xmlattr |
__xmlele |
inspect |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new ::MarshalMappingRegistry


class SOAP::Mapping::Registry

ancestors: SOAP::Mapping::Registry < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(config = {}) |

Instance Methods

Signature Description
add(obj_class, soap_class, factory, info = nil)
set(obj_class, soap_class, factory, info = nil)
default_factory
default_factory=(value)
excn_handler_obj2soap
excn_handler_obj2soap=(value)
excn_handler_soap2obj
excn_handler_soap2obj=(value)
find_mapped_obj_class(soap_class)
find_mapped_soap_class(obj_class)
obj2soap(obj, type_qname = nil)
soap2obj(node, klass = nil)

Constants

Signature | Description
ArrayFactory |
Base64Factory |
BasetypeFactory |
DateTimeFactory |
HashFactory |
RubyOriginalMap |
SOAPBaseMap |
StringFactory |
TypedArrayFactory |
TypedStructFactory |
URIFactory |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Mapping::Registry::Map

ancestors: SOAP::Mapping::Registry::Map < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(registry) |

Instance Methods

Signature | Description
add(obj_class, soap_class, factory, info) |
clear |
find_mapped_obj_class(target_soap_class) |
find_mapped_soap_class(target_obj_class) |
init(init_map = []) |
obj2soap(obj) |
soap2obj(node, klass = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Mapping::SOAPException

ancestors: SOAP::Mapping::SOAPException < SOAP::Marshallable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(e) |

Instance Methods

Signature | Description
cause |
excn_type_name |
to_e |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Marshallable

module SOAP::Marshallable

ancestors: SOAP::Marshallable

Abstract


library soap/mapping/rubytypeFactory

Abstract

Classes/Modules

class SOAP::Mapping::RubytypeFactory


class SOAP::Mapping::RubytypeFactory

ancestors: SOAP::Mapping::RubytypeFactory

      < SOAP::Mapping::Factory

      < SOAP::Mapping::TraverseSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(config = {}) |

Instance Methods

Signature | Description
obj2soap(soap_class, obj, info, map) |
soap2obj(obj_class, node, info, map) |

Constants

Signature | Description
TYPE_ARRAY |
TYPE_CLASS |
TYPE_HASH |
TYPE_MODULE |
TYPE_RANGE |
TYPE_REGEXP |
TYPE_STRING |
TYPE_STRUCT |
TYPE_SYMBOL |
TYPE_TIME |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint setiv2obj setiv2soap


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/typeMap

library soap/mapping/typeMap

Abstract

Added/Redefined Methods

SOAP::TypeMap


library soap/mapping/wsdlencodedregistry

Abstract

Classes/Modules

class SOAP::Mapping::WSDLEncodedRegistry


class SOAP::Mapping::WSDLEncodedRegistry

ancestors: SOAP::Mapping::WSDLEncodedRegistry

      < SOAP::Mapping::TraverseSupport

      < SOAP::Mapping::Registry

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definedtypes = XSD::NamedElements::Empty) |

Instance Methods

Signature Description
definedelements
definedtypes
excn_handler_obj2soap
excn_handler_obj2soap=(value)
excn_handler_soap2obj
excn_handler_soap2obj=(value)
obj2soap(obj, qname = nil)
soap2obj(node, obj_class = nil)

Constants

Signature | Description
MapKeyName |
MapValueName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add default_factory find_mapped_obj_class find_mapped_soap_class ::ArrayFactory ::Base64Factory ::BasetypeFactory ::DateTimeFactory ::HashFactory ::RubyOriginalMap ::SOAPBaseMap ::StringFactory ::TypedArrayFactory ::TypedStructFactory ::URIFactory mark_marshalled_obj mark_unmarshalled_obj


library soap/mapping/wsdlliteralregistry

Abstract

Classes/Modules

class SOAP::Mapping::WSDLLiteralRegistry


class SOAP::Mapping::WSDLLiteralRegistry

ancestors: SOAP::Mapping::WSDLLiteralRegistry < SOAP::Mapping::Registry < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(definedtypes = XSD::NamedElements::Empty, definedelements = XSD::namedElements::Empty) |

Instance Methods

Signature Description
definedelements
definedtypes
excn_handler_obj2soap
excn_handler_obj2soap=(value)
excn_handler_soap2obj
excn_handler_soap2obj=(value)
obj2soap(obj, qname)
soap2obj(node, obj_class = nil)

Constants

Signature | Description
MAPPING_OPT |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add default_factory find_mapped_obj_class find_mapped_soap_class ::ArrayFactory ::Base64Factory ::BasetypeFactory ::DateTimeFactory ::HashFactory ::RubyOriginalMap ::SOAPBaseMap ::StringFactory ::TypedArrayFactory ::TypedStructFactory ::URIFactory


library soap/marshal

Abstract

Classes/Modules

module SOAP::Marshal

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/processor
soap/soap


module SOAP::Marshal

ancestors: SOAP::Marshal

Abstract

Singleton Methods

Signature | Description
dump(obj, io = nil) |
load(stream) |
marshal(obj, mapping_registry = SOAP::Marshal::MarshalMappingRegistry, io = nil) |
unmarshal(stream, mapping_registry = SOAP::Marshal::MarshalMappingRegistry) |

Constants

Signature | Description
MarshalMappingRegistry |


library soap/mimemessage

Abstract

Classes/Modules

class SOAP::MIMEMessage
class SOAP::MIMEMessage::Header
class SOAP::MIMEMessage::Headers
class SOAP::MIMEMessage::Part

Exception Classes

class SOAP::MIMEMessage::MIMEMessageError

Required Libraries

soap/attachment
soap/baseData
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/soap


class SOAP::MIMEMessage

ancestors: SOAP::MIMEMessage < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |
parse(head, str) |

Instance Methods

Signature | Description
add_attachment(attach) |
add_part(content) |
boundary |
close |
content_str |
has_parts? |
headers |
headers_str |
parse(head, str) |
parts |
root |
to_s |

Constants

Signature | Description
MultipartContentType |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::MIMEMessage::Header

ancestors: SOAP::MIMEMessage::Header < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
self[key]
self[key] = value
key
key=(value)
root
root=(value)
str
str=(value)
to_s

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::MIMEMessage::Headers

ancestors: SOAP::MIMEMessage::Headers < Hash < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
parse(str) |

Instance Methods

Signature | Description
add(key, value) |
parse(str) |
parse_line(line) |
parse_rhs(str) |
to_s |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == [] []= clear clone default default= default_proc delete delete_if each each_key each_value empty? equal? fetch has_key? has_value? hash index indexes inspect invert keys length merge rehash replace shift to_hash update values values_at .[] .new =~ __id__ __send__ _dump class dclone display enum_for extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::MIMEMessage::MIMEMessageError

ancestors: SOAP::MIMEMessage::MIMEMessageError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::MIMEMessage::Part

ancestors: SOAP::MIMEMessage::Part < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |
parse(str) |

Instance Methods

Signature Description
body
body=(value)
content
contentid
headers
headers=(value)
parse(str)
to_s

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/netHttpClient

Abstract

Classes/Modules

class SOAP::NetHttpClient
class SOAP::NetHttpClient::Response
class SOAP::NetHttpClient::SessionManager


class SOAP::NetHttpClient

ancestors: SOAP::NetHttpClient < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(proxy = nil, agent = nil) |

Instance Methods

Signature Description
connect_timeout
connect_timeout=(value)
debug_dev
debug_dev=(value)
get_content(url, header = {})
no_proxy
no_proxy=(value)
post(url, req_body, header = {})
protocol_version
protocol_version=(value)
proxy
proxy=(proxy)
receive_timeout
receive_timeout=(value)
reset(url)
reset_all
save_cookie_store(filename)
send_timeout
send_timeout=(value)
set_basic_auth(uri, user_id, passwd)
set_cookie_store(filename)
ssl_config
ssl_config=(value)
test_loopback_response

Constants

Signature | Description
NO_PROXY_HOSTS |
SSLEnabled |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::NetHttpClient::Response

ancestors: SOAP::NetHttpClient::Response < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(res) |

Instance Methods

Signature | Description
content |
contenttype |
reason |
status |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::NetHttpClient::SessionManager

ancestors: SOAP::NetHttpClient::SessionManager < Object < Kernel

Abstract

Instance Methods

Signature Description
connect_timeout
connect_timeout=(value)
receive_timeout
receive_timeout=(value)
send_timeout
send_timeout=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library soap/parser

Abstract

Classes/Modules

class SOAP::Parser
class SOAP::Parser::ParseFrame
class SOAP::Parser::ParseFrame::NodeContainer

Exception Classes

class SOAP::Parser::FormatDecodeError
class SOAP::Parser::ParseError
class SOAP::Parser::UnexpectedElementError

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/handler
soap/mapping/typeMap
soap/soap


class SOAP::Parser

ancestors: SOAP::Parser < SOAP < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(opt = {}) |

Instance Methods

Signature Description
allow_unqualified_element
allow_unqualified_element=(value)
characters(text)
charset
decode_typemap
decode_typemap=(value)
default_encodingstyle
default_encodingstyle=(value)
end_element(name)
envelopenamespace
envelopenamespace=(value)
parse(string_or_readable)
start_element(name, attrs)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag


class SOAP::Parser::FormatDecodeError

ancestors: SOAP::Parser::FormatDecodeError < SOAP::Parser::ParseError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Parser::ParseError

ancestors: SOAP::Parser::ParseError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Parser::ParseFrame

ancestors: SOAP::Parser::ParseFrame < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(ns, name, node, encodingstyle) |

Instance Methods

Signature | Description
encodingstyle |
name |
node |
node=(node) |
ns |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Parser::ParseFrame::NodeContainer

ancestors: SOAP::Parser::ParseFrame::NodeContainer < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(node) |

Instance Methods

Signature | Description
node |
replace_node(node) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::Parser::UnexpectedElementError

ancestors: SOAP::Parser::UnexpectedElementError < SOAP::Parser::ParseError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library soap/processor

Abstract

Classes/Modules

module SOAP::Processor

Required Libraries

soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/mapping/typeMap
soap/soap


module SOAP::Processor

ancestors: SOAP::Processor

Abstract

Singleton Methods

Signature Description
default_parser_option
default_parser_option=(rhs)
marshal(env, opt = {}, io = nil)
unmarshal(stream, opt = {})


library soap/property

Abstract

Classes/Modules

class SOAP::Property
module SOAP::Property::Util


class SOAP::Property

ancestors: SOAP::Property < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
load(stream) |
loadproperty(propname) |
new |

Instance Methods

Signature | Description
self << value |
self[name] |
self[name] = value |
add_hook(name = nil, cascade = false, &hook) |
deref_key(key) |
each {|key, value| ... } |
empty? |
keys |
load(stream) |
loadproperty(propname) |
local_assign(key, value) |
local_assign_hook(key, cascade, &hook) |
local_hook(key, dirent) |
local_referent(key) |
lock(cascade = false) |
locked? |
unlock(cascade = false) |
values |

Constants

Signature | Description
CATDEF_REGEXP |
COMMENT_REGEXP |
DEF_REGSRC |
FrozenError |
KEY_REGSRC |
LINE_REGEXP |
NO_HOOK |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module SOAP::Property::Util

ancestors: SOAP::Property::Util

Abstract

Module Functions

Signature | Description
const_from_name(fqname) |
require_from_name(fqname) |


library soap/rpc/cgistub

Abstract

Classes/Modules

class SOAP::RPC::CGIStub
class SOAP::RPC::CGIStub::SOAPFCGIRequest
class SOAP::RPC::CGIStub::SOAPRequest
class SOAP::RPC::CGIStub::SOAPStdinRequest

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/router
soap/rpc/rpc
soap/rpc/soaplet
soap/soap
soap/streamHandler


class SOAP::RPC::CGIStub

ancestors: SOAP::RPC::CGIStub < SOAP < WEBrick < Logger::Application < Logger::Severity < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(appname, default_namespace) |

Instance Methods

Signature Description
add_document_operation(receiver, soapaction, name, param_def, opt = {})
add_headerhandler(obj)
add_rpc_headerhandler(obj)
add_rpc_method(obj, name, *param)
add_method
add_rpc_method_as(obj, name, name_as, *param)
add_method_as(obj, name, name_as, *param)
add_rpc_method_with_namespace(namespace, obj, name, *param)
add_method_with_namespace(namespace, obj, name, *param)
add_rpc_method_with_namespace_as(namespace, obj, name, name_as, *param)
add_method_with_namespace_as(namespace, obj, name, name_as, *param)
add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
add_rpc_servant(obj, namespace = @default_namespace)
add_servant
generate_explicit_type
generate_explicit_type=(generate_explicit_type)
mapping_registry
mapping_registry=(value)
on_init
set_fcgi_request(request)

Constants

Signature | Description
HTTPVersion |

Inherited Methods

appname level= log log= logdev set_log start ::DEBUG ::ERROR ::FATAL ::INFO ::UNKNOWN ::WARN == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag ::CR ::CRLF ::LF ::VERSION


class SOAP::RPC::CGIStub::SOAPFCGIRequest

ancestors: SOAP::RPC::CGIStub::SOAPFCGIRequest < SOAP::RPC::CGIStub::SOAPRequest < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(request) |

Instance Methods

Signature | Description
self[var] |
body |
meta_vars |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::CGIStub::SOAPRequest

ancestors: SOAP::RPC::CGIStub::SOAPRequest < Object < Kernel

Abstract

Instance Methods

Signature | Description
self[var] |
body |
meta_vars |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class SOAP::RPC::CGIStub::SOAPStdinRequest

ancestors: SOAP::RPC::CGIStub::SOAPStdinRequest < SOAP::RPC::CGIStub::SOAPRequest < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(stream) |

Instance Methods

Signature | Description
self[var] |
body |
meta_vars |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/rpc/driver

Abstract

Classes/Modules

class SOAP::RPC::Driver

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/proxy
soap/rpc/rpc
soap/soap
soap/streamHandler


class SOAP::RPC::Driver

ancestors: SOAP::RPC::Driver < Object < Kernel

Abstract

Singleton Methods

Signature | Description
__attr_proxy(symbol, assignable = false) |
new(endpoint_url, namespace = nil, soapaction = nil) |

Instance Methods

Signature Description
add_document_method(name, soapaction, req_qname, res_qname)
add_document_operation(soapaction, name, param_def, opt = {})
add_rpc_method(name, *params)
add_method(name, *params)
add_rpc_method_as(name, name_as, *params)
add_method_as(name, name_as, *params)
add_rpc_method_with_soapaction(name, soapaction, *params)
add_method_with_soapaction(name, soapaction, *params)
add_rpc_method_with_soapaction_as(name, name_as, soapaction, *params)
add_method_with_soapaction_as(name, name_as, soapaction, *params)
add_rpc_operation(qname, soapaction, name, param_def, opt = {})
allow_unqualified_element
allow_unqualified_element=(value)
call(name, *params)
default_encodingstyle
default_encodingstyle=(value)
endpoint_url
endpoint_url=(value)
generate_explicit_type
generate_explicit_type=(value)
headerhandler
headerhandler=(value)
httpproxy
httpproxy=(httpproxy)
inspect
invoke(headers, body)
loadproperty(propertyname)
mandatorycharset
mapping_registry
mapping_registry=(value)
options
proxy
reset_stream
reset_stream=(value)
soapaction
soapaction=(value)
streamhandler
streamhandler=(value)
test_loopback_response
test_loopback_response=(value)
wiredump_dev
wiredump_dev=(value)
wiredump_file_base
wiredump_file_base=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/rpc/element

Abstract

Classes/Modules

class SOAP::RPC::SOAPMethod
class SOAP::RPC::SOAPMethodRequest
class SOAP::RPC::SOAPMethodResponse
class SOAP::RPC::SOAPVoid

Exception Classes

class SOAP::RPC::MethodDefinitionError
class SOAP::RPC::ParameterError
class SOAP::RPC::RPCError

Required Libraries

soap/baseData
soap/mapping/typeMap
soap/soap

Added/Redefined Methods

SOAP::SOAPBody#fault

SOAP::SOAPBody#outparams

SOAP::SOAPBody#request

SOAP::SOAPBody#response


class SOAP::RPC::MethodDefinitionError

ancestors: SOAP::RPC::MethodDefinitionError < SOAP::RPC::RPCError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::ParameterError

ancestors: SOAP::RPC::ParameterError < SOAP::RPC::RPCError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::RPCError

ancestors: SOAP::RPC::RPCError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::SOAPMethod

ancestors: SOAP::RPC::SOAPMethod < SOAP::SOAPStruct < SOAP::SOAPCompoundtype < SOAP::SOAPType < SOAP < Enumerable < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create_doc_param_def(req_qnames, res_qnames) |
create_rpc_param_def(param_names) |
derive_rpc_param_def(obj, name, *param) |
new(qname, param_def = nil) |
param_count(paramdef, *type) |

Instance Methods

Signature | Description
have_outparam? |
inparam |
input_params |
outparam |
output_params |
param_def |
retval_class_name |
retval_name |
set_outparam(params) |
set_param(params) |

Constants

Signature | Description
IN |
INOUT |
OUT |
RETVAL |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag [] []= add each key? members replace to_obj to_s .decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::RPC::SOAPMethodRequest

ancestors: SOAP::RPC::SOAPMethodRequest

      < SOAP::RPC::SOAPMethod

      < SOAP::SOAPStruct

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < Enumerable

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
create_request(qname, *params) |
new(qname, param_def = nil, soapaction = nil) |

Instance Methods

Signature Description
create_method_response(response_name = nil)
dup
each {|name, inparam| ... }
soapaction
soapaction=(value)

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag have_outparam? inparam input_params outparam output_params param_def retval_class_name retval_name set_outparam set_param .create_doc_param_def .create_rpc_param_def .derive_rpc_param_def .param_count ::IN ::INOUT ::OUT ::RETVAL [] []= add key? members replace to_obj to_s .decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::RPC::SOAPMethodResponse

ancestors: SOAP::RPC::SOAPMethodResponse

      < SOAP::RPC::SOAPMethod

      < SOAP::SOAPStruct

      < SOAP::SOAPCompoundtype

      < SOAP::SOAPType

      < SOAP

      < Enumerable

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(qname, param_def = nil) |

Instance Methods

Signature | Description
each {|retval_name, retval| ... } |
retval=(retval) |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::AttrActor ::AttrArrayType ::AttrArrayTypeName ::AttrEncodingStyle ::AttrEncodingStyleName ::AttrMustUnderstand ::AttrMustUnderstandName ::AttrOffset ::AttrOffsetName ::AttrPosition ::AttrPositionName ::AttrRoot ::AttrRootName ::Base64Literal ::EleBody ::EleBodyName ::EleEnvelope ::EleEnvelopeName ::EleFault ::EleFaultActor ::EleFaultActorName ::EleFaultCode ::EleFaultCodeName ::EleFaultDetail ::EleFaultDetailName ::EleFaultName ::EleFaultString ::EleFaultStringName ::EleHeader ::EleHeaderName ::EncodingNamespace ::EnvelopeNamespace ::LiteralNamespace ::MediaType ::NextActor ::PropertyName ::SOAPNamespaceTag ::TypeMap ::VERSION ::ValueArray ::ValueArrayName ::XSDNamespaceTag ::XSINamespaceTag have_outparam? inparam input_params outparam output_params param_def retval_class_name retval_name set_outparam set_param .create_doc_param_def .create_rpc_param_def .derive_rpc_param_def .param_count ::IN ::INOUT ::OUT ::RETVAL [] []= add key? members replace to_obj to_s .decode definedtype elename encodingstyle extraattr id initialize inspect parent position precedents root rootnode type .inherited .types


class SOAP::RPC::SOAPVoid

ancestors: SOAP::RPC::SOAPVoid < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Constants

Signature | Description
Name |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


library soap/rpc/httpserver

Abstract

Classes/Modules

class SOAP::RPC::HTTPServer

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/router
soap/rpc/rpc
soap/rpc/soaplet
soap/soap
soap/streamHandler


class SOAP::RPC::HTTPServer

ancestors: SOAP::RPC::HTTPServer

      < Logger::Application

      < Logger::Severity

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(config) |

Instance Methods

Signature Description
add_document_method(obj, soapaction, name, req_qnames, res_qnames)
add_document_operation(reseicer, soapaction, name, param_def, opt = {})
add_document_request_operation(factory, soapaction, name, param_def, opt = {})
add_headerhandler(obj)
add_rpc_headerhandler(obj)
add_rpc_method(obj, name, *param)
add_method(obj, name, *param)
add_rpc_method_as(obj, name, name_as, *param)
add_method_as(obj, name, name_as, *param)
add_request_headerhandler(factory)
add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})
add_rpc_request_servant(factory, namespace = @default_namespace)
add_rpc_servant(obj, namespace = @default_namespace)
default_namespace
default_namespace=(value)
generate_explicit_type
generate_explicit_type=(generate_explicit_type)
mapping_registry
mapping_registry=(mapping_registry)
on_init
server
shutdown
status

Inherited Methods

appname level= log log= logdev set_log start ::DEBUG ::ERROR ::FATAL ::INFO ::UNKNOWN ::WARN == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/rpc/proxy

Abstract

Classes/Modules

class SOAP::RPC::Proxy
class SOAP::RPC::Proxy::Operation

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/rpc
soap/soap
soap/streamHandler


class SOAP::RPC::Proxy

ancestors: SOAP::RPC::Proxy < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(endpoint_url, soapaction, options) |

Instance Methods

Signature Description
add_document_operation(soapaction, name, param_def, opt = {})
add_document_method(soapaction, name, param_def, opt = {})
add_rpc_operation(qname, soapaction, name, param_def, opt = {})
add_method(qname, soapaction, name, param_def, opt = {})
add_rpc_method(qname, soapaction, name, param_def, opt = {})
allow_unqualified_element
allow_unqualified_element=(value)
call(name, *params)
check_fault(body)
default_encodingstyle
default_encodingstyle=(value)
endpoint_url
endpoint_url=(endpoint_url)
generate_explicit_type
generate_explicit_type=(value)
headerhandler
inspect
invoke(req_header, req_body, opt = nil)
literal_mapping_registry
literal_mapping_registry=(value)
mandatorycharset
mandatorycharset=(value)
mapping_registry
mapping_registry=(value)
operation
reset_stream
route(req_header, req_body, reqopt, resopt)
set_wiredump_file_base(wiredump_file_base)
soapaction
soapaction=(value)
streamhandler
test_loopback_response

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::Proxy::Operation

ancestors: SOAP::RPC::Proxy::Operation < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(soapaction, param_def, opt) |

Instance Methods

Signature | Description
attributeformdefault |
elementformdefault |
raise_fault(mapping_registry, literal_mapping_registry) |
request_body(values, mapping_registry, literal_mapping_registry, opt) |
request_default_encodingstyle |
request_style |
request_use |
response_default_encodingstyle |
response_obj(body, mapping_registry, literal_mapping_registry, opt) |
response_style |
response_use |
soapaction |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/rpc/router

Abstract

Classes/Modules

class SOAP::RPC::Router
class SOAP::RPC::Router::ApplicationScopeOperation
class SOAP::RPC::Router::Operation
class SOAP::RPC::Router::RequestScopeOperation

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/rpc
soap/soap
soap/streamHandler


class SOAP::RPC::Router

ancestors: SOAP::RPC::Router < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(actor) |

Instance Methods

Signature Description
actor
add_document_operation(receiver, soapaction, name, param_def, opt = {})
add_document_method(receiver, soapaction, name, param_def, opt = {})
add_document_request_operation(factory, soapaction, name, param_def, opt = {})
add_headerhandler(handler)
add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
add_method(receiver, qname, soapaction, name, param_def, opt = {})
add_rpc_method(receiver, qname, soapaction, name, param_def, opt = {})
add_request_headerhandler(factory)
add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})
add_rpc_request_servant(factory, namespace)
add_rpc_servant(obj, namespace)
add_servant(obj, namespace)
create_fault_response(e)
external_ces
external_ces=(value)
generate_explicit_type
generate_explicit_type=(value)
literal_mapping_registry
literal_mapping_registry=(value)
mapping_registry
mapping_registry=(value)
route(conn_data)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::Router::ApplicationScopeOperation

ancestors: SOAP::RPC::Router::ApplicationScopeOperation < SOAP::RPC::Router::Operation < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(soapaction, receiver, name, param_def, opt) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint call name request_default_encodingstyle request_style request_use response_default_encodingstyle response_style response_use soapaction


class SOAP::RPC::Router::Operation

ancestors: SOAP::RPC::Router::Operation < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(soapaction, name, param_def, opt) |

Instance Methods

Signature | Description
call(body,mapping_registry, literal_mapping_registry, opt) |
name |
request_default_encodingstyle |
request_style |
request_use |
response_default_encodingstyle |
response_style |
response_use |
soapaction |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPC::Router::RequestScopeOperation

ancestors: SOAP::RPC::Router::RequestScopeOperation < SOAP::RPC::Router::Operation < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(soapaction, receiver_factory, name, param_def, opt) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint call name request_default_encodingstyle request_style request_use response_default_encodingstyle response_style response_use soapaction


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/rpc

library soap/rpc/rpc

Abstract

Classes/Modules

module SOAP::RPC


module SOAP::RPC

ancestors: SOAP::RPC

Abstract

Singleton Methods

Signature | Description
defined_methods(obj) |

Constants

Signature | Description
ServerException |


library soap/rpc/soaplet

Abstract

Classes/Modules

class SOAP::RPC::SOAPlet

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/router
soap/rpc/rpc
soap/soap
soap/streamHandler

Added/Redefined Methods

WEBrick::Log#debug


class SOAP::RPC::SOAPlet

ancestors: SOAP::RPC::SOAPlet < WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(router = nil) |

Instance Methods

Signature | Description
add_ervant(obj, namespace) |
allow_content_encoding_gzip=(allow) |
app_scope_router |
do_GET(req, res) |
do_POST(req, res) |
get_instance(config, *options) |
options |
require_path_info? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint do_DELETE service .get_instance


library soap/rpc/standaloneServer

Abstract

Classes/Modules

class SOAP::RPC::StandaloneServer

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/element
soap/rpc/httpserver
soap/rpc/router
soap/rpc/rpc
soap/rpc/soaplet
soap/soap
soap/streamHandler


class SOAP::RPC::StandaloneServer

ancestors: SOAP::RPC::StandaloneServer

      < SOAP::RPC::HTTPServer

      < Logger::Application

      < Logger::Severity

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(appname, default_namespace, host = "0.0.0.0", port = 8080) |

Instance Methods

Signature | Description
add_headerhandler(obj) |
add_servant(obj, namespace = @default_namespace) |

Inherited Methods

appname level= log log= logdev set_log start ::DEBUG ::ERROR ::FATAL ::INFO ::UNKNOWN ::WARN == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_document_method add_document_operation add_document_request_operation add_headerhandler add_method add_method_as add_request_headerhandler add_rpc_operation add_rpc_request_operation add_rpc_request_servant add_rpc_servant default_namespace generate_explicit_type mapping_registry on_init server shutdown status


library soap/soap

Abstract

Classes/Modules

module SOAP
module SOAP::Env

Exception Classes

class SOAP::ArrayIndexOutOfBoundsError
class SOAP::ArrayStoreError
class SOAP::EmptyResponseError
class SOAP::Error
class SOAP::FaultError
class SOAP::HTTPStreamError
class SOAP::MPostUnavailableError
class SOAP::PostUnavailableError
class SOAP::RPCRoutingError
class SOAP::ResponseFormatError
class SOAP::StreamError
class SOAP::UnhandledMustUnderstandHeaderError


module SOAP

ancestors: SOAP

Abstract

Constants

Signature | Description
AttrActor |
AttrArrayType |
AttrArrayTypeName |
AttrEncodingStyle |
AttrEncodingStyleName |
AttrMustUnderstand |
AttrMustUnderstandName |
AttrOffset |
AttrOffsetName |
AttrPosition |
AttrPositionName |
AttrRoot |
AttrRootName |
Base64Literal |
EleBody |
EleBodyName |
EleEnvelope |
EleEnvelopeName |
EleFault |
EleFaultActor |
EleFaultActorName |
EleFaultCode |
EleFaultCodeName |
EleFaultDetail |
EleFaultDetailName |
EleFaultName |
EleFaultString |
EleFaultStringName |
EleHeader |
EleHeaderName |
EncodingNamespace |
EnvelopeNamespace |
LiteralNamespace |
MediaType |
NextActor |
PropertyName |
SOAPNamespaceTag |
VERSION |
ValueArray |
ValueArrayName |
XSDNamespaceTag |
XSINamespaceTag |

Added Methods

Signature Description Library


class SOAP::ArrayIndexOutOfBoundsError

ancestors: SOAP::ArrayIndexOutOfBoundsError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::ArrayStoreError

ancestors: SOAP::ArrayStoreError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::EmptyResponseError

ancestors: SOAP::EmptyResponseError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module SOAP::Env

ancestors: SOAP::Env

Abstract

Singleton Methods

Signature | Description
getenv(name) |

Constants

Signature | Description
HTTP_PROXY |
NO_PROXY |


class SOAP::Error

ancestors: SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::FaultError

ancestors: SOAP::FaultError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(fault) |

Instance Methods

Signature Description
detail
detail=(value)
faultactor
faultcode
faultstring
to_s

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::HTTPStreamError

ancestors: SOAP::HTTPStreamError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::MPostUnavailableError

ancestors: SOAP::MPostUnavailableError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::PostUnavailableError

ancestors: SOAP::PostUnavailableError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::RPCRoutingError

ancestors: SOAP::RPCRoutingError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::ResponseFormatError

ancestors: SOAP::ResponseFormatError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::StreamError

ancestors: SOAP::StreamError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::UnhandledMustUnderstandHeaderError

ancestors: SOAP::UnhandledMustUnderstandHeaderError < SOAP::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library soap/streamHandler

Abstract

Classes/Modules

class SOAP::HTTPStreamHandler
class SOAP::StreamHandler
class SOAP::StreamHandler::ConnectionData

Required Libraries

soap/httpconfigloader
soap/property
soap/soap


class SOAP::HTTPStreamHandler

ancestors: SOAP::HTTPStreamHandler < SOAP::StreamHandler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(options) |

Instance Methods

Signature Description
accept_encoding_gzip=(allow)
client
inspect
reset(endpoint_url = nil)
send(endpoint_url, conn_data, soapaction = nil, charset = @charset)
test_loopback_response
wiredump_file_base
wiredump_file_base=(value)

Constants

Signature | Description
Client |
MAX_RETRY_COUNT |
RETRYABLE |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .create_media_type .parse_media_type ::RUBY_VERSION_STRING


class SOAP::StreamHandler

ancestors: SOAP::StreamHandler < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create_media_type(charset) |
parse_media_type(str) |

Constants

Signature | Description
RUBY_VERSION_STRING |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class SOAP::StreamHandler::ConnectionData

ancestors: SOAP::StreamHandler::ConnectionData < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(send_string = nil) |

Instance Methods

Signature Description
is_fault
is_fault=(value)
receive_contenttype
receive_contenttype=(value)
receive_string
receive_string=(value)
send_contenttype
send_contenttype=(value)
send_string
send_string=(value)
soapaction
soapaction=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library soap/wsdlDriver

Abstract

Classes/Modules

class SOAP::WSDLDriver
class SOAP::WSDLDriver::Servant__
class SOAP::WSDLDriverFactory

Exception Classes

class SOAP::WSDLDriverFactory::FactoryError

Required Libraries

soap/attachment
soap/baseData
soap/element
soap/encodingstyle/aspDotNetHandler
soap/encodingstyle/handler
soap/encodingstyle/literalHandler
soap/encodingstyle/soapHandler
soap/generator
soap/header/handlerset
soap/httpconfigloader
soap/mapping
soap/mapping/factory
soap/mapping/mapping
soap/mapping/registry
soap/mapping/rubytypeFactory
soap/mapping/typeMap
soap/mapping/wsdlencodedregistry
soap/mapping/wsdlliteralregistry
soap/mimemessage
soap/processor
soap/property
soap/rpc/driver
soap/rpc/element
soap/rpc/proxy
soap/rpc/rpc
soap/soap
soap/streamHandler


class SOAP::WSDLDriver

ancestors: SOAP::WSDLDriver < Object < Kernel

Abstract

Singleton Methods

Signature | Description
__attr_proxy(symbol, assignable = false) |
new(wsdl, port, logdev) |

Instance Methods

Signature Description
allow_unqualified_element
allow_unqualified_element=(value)
default_encodingstyle
default_encodingstyle=(value)
endpoint_url
endpoint_url=(value)
generate_explicit_type
generate_explicit_type=(value)
generateEncodeType=(value)
headerhandler
httpproxy
httpproxy=(httpproxy)
inspect
mandatorycharset
mandatorycharset=(mandatorycharset)
mapping_registry
mapping_registry=(value)
options
reset_stream
streamhandler
test_loopback_response
wiredump_dev
wiredump_dev=(wire_dump_dev)
wiredump_file_base
wiredump_file_base=(wiredump_file_base)
wsdl_mapping_registry
wsdl_mapping_registry=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::WSDLDriver::Servant__

ancestors: SOAP::WSDLDriver::Servant__ < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(host, wsdl, port, logdev) |

Instance Methods

Signature Description
allow_unqualified_element
allow_unqualified_element=(value)
default_encodingstyle
default_encodingstyle=(value)
document_send(name, header_obj, body_obj)
endpoint_url
endpoint_url=(endpoint_url)
generate_explicit_type
generate_explicit_type=(value)
headerhandler
inspect
mapping_registry
mapping_registry=(value)
options
port
reset_stream
rpc_call(name, *values)
soapaction
soapaction=(value)
streamhandler
test_loopback_response
wsdl_mapping_registry
wsdl_mapping_registry=(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::WSDLDriverFactory

ancestors: SOAP::WSDLDriverFactory < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(wsdl) |

Instance Methods

Signature Description
create_driver(service = nil, port = nil)
createDriver(service = nil, port = nil)
create_rpc_driver(servicename = nil, portname = nil)
inspect
wsdl

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOAP::WSDLDriverFactory::FactoryError

ancestors: SOAP::WSDLDriverFactory::FactoryError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library socket

Abstract

socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。

クラス

  • BasicSocket: ソケットを表す抽象クラス
  • IPSocket: インターネットドメインソケットの抽象クラス
  • TCPSocket: インターネットドメインのストリーム型ソケットのクラス
  • TCPServer: TCP/IPストリーム型接続のサーバ側のソケットのクラス
  • SOCKSSocket: TCPSocket を SOCKS 対応したクラス
  • UDPSocket: インターネットドメインのデータグラム型ソケットのクラス
  • UNIXSocket: Unixドメインのストリーム型ソケットのクラス
  • UNIXServer: Unixストリーム型接続のサーバ側のソケットのクラス
  • Socket: 低レベルソケットインターフェース

モジュール

  • Socket::Constants

ソケットアドレス

ソケットというのは通信路の末端です。 たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり、 それらのソケットを接続することによって通信路が確立し、相互に通信できるようになります。 この接続時に、一方のソケットにもう一方のソケットの場所を教えてやる必要がありますが、 この場所を指定するものがソケットアドレスです。

ソケットアドレスはソケットの種類によって中身が異なります。 たとえば TCP では IP アドレスとポート番号ですし、 Unix ドメインソケットではソケットファイルを指すパス名です。

IPSocket および UNIXSocket 以下のクラス階層では、 わざわざソケットアドレスという形式にまとめなくてもよいよう、 ソケットアドレスの中身を直接扱えるメソッドが用意されています。

また、IPSocket 以下での IP アドレスとポート番号の指定は、 数値で表現するだけでなく、ホスト名やサービス名が使えます。 これについては以下の「ホスト指定形式」と「サービス指定形式」を参照してください。

また、C のレベルの「ソケットアドレス構造体を pack した文字列」も使用できます。 これは主に低レベルソケットインターフェース (Socket) で用いられます。

ホスト指定形式

AF_INET なソケットにおいてホストを指定するには以下のいずれか の形式を指定します。

  • ホスト名 (例: "localhost")
  • octet decimalによるIPアドレス(文字列) (例: "127.0.0.1")
  • 空文字列 (""), 文字列 "<any>" - INADDR_ANYに相当
  • 文字列 "<broadcast>" - INADDR_BROADCASTに相当
  • IPアドレスを表す 32bit の整数 (例: 0x7f000001)

サービス指定形式

サービスを指定するには以下のいずれかの形式を指定します。

  • ポート番号(整数または文字列) (例: 21, "21")
  • サービス名 (例: "ftp")

ソケットアドレス構造体を pack した文字列

ソケットアドレス構造体とは、C 言語の構造体 struct sockaddr_in (IPv4) や struct sockaddr_un (Unix ドメイン)を指します。 Socket クラスなどソケットの低レベルインタフェースで利用されます。

Socket.pack_sockaddr_in, Socket.unpack_sockaddr_in といったメソッドにより、 例えば、以下のようにしてこの文字列を得ることが出来ます

require 'socket'
p Socket.pack_sockaddr_in("echo", "127.0.0.1")
=> "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"

ホスト名と IP アドレスの変換

ホスト名から IP アドレスへの変換 (正引き) を行うメソッドは以下のものが用意されています。

  • IPSocket.getaddress("www.ruby-lang.org") => "210.163.138.100"
  • TCPSocket.gethostbyname("www.ruby-lang.org") => ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]
  • Socket.gethostbyname("www.ruby-lang.org") => ["beryllium.ruby-lang.org", [], 2, "\322\243\212d"]
  • Socket.getaddrinfo("www.ruby-lang.org", "http") => [["AF_INET", 80, "beryllium.ruby-lang.org", "210.163.138.100", 2, 1, 6]]

逆に IP アドレスからホスト名への変換 (逆引き) を行うメソッドは以下のものが用意されています。

  • Socket.getnameinfo([nil, nil, nil, "210.163.138.100"]) => ["beryllium.ruby-lang.org", 0]

また、resolv ライブラリも使用できます。

Classes/Modules

class BasicSocket | ソケットを表す抽象クラスです。具体的なソケット操作はサブクラスで 定義されます。 例えばインターネットドメインストリームソケットの場合は TCPSocket を用います。
class IPSocket | インターネットドメインソケットの抽象クラス。 通常の IO クラスのサブクラスと同様の入出力ができます。
class SOCKSSocket | TCPSocket を [[unknown:SOCKS|URL:http://www.sw.nec.co.jp/middle/socks/]] 対応したクラスです。
class Socket | ソケットそのものに対するシステムコールレベルのアクセスを提供 するクラス。Perl のソケットに対するアクセスと同レベルの機能を 提供してます。このクラスではソケットアドレスは Array#pack された文字列で指定します (socket/ソケットアドレス構造体を pack した文字列を参照)。
module Socket::Constants | ソケット操作の指定のための定数を定義したモジュール。このモジュー ルをインクルードすれば、定数 (AF_INETなど) を直接参照できます。
class TCPServer | TCP/IP ストリーム型接続のサーバ側のソケットのクラス。このクラ スによって簡単にソケットを利用したサーバのプログラミングがで きます。
class TCPSocket | インターネットドメインのストリーム型ソケットのクラス。通常の IO クラスのサブクラスと同 様の入出力ができます。このクラスによってソケットを用いたクラ イアントを簡単に記述できるようになります。ユーザの入力をその ままサーバに転送するプログラムは以下のようになります。
class UDPSocket | UDP/IPデータグラム型ソケットのクラス。
class UNIXServer | UNIXストリーム型接続のサーバ側のソケットのクラス。
class UNIXSocket | UNIX ドメインのストリーム型ソケットのクラス。通常の IO クラスのサブクラスと同様の 入出力ができます。


class BasicSocket

ancestors: BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

ソケットを表す抽象クラスです。具体的なソケット操作はサブクラスで 定義されます。 例えばインターネットドメインストリームソケットの場合は TCPSocket を用います。

Singleton Methods

Signature Description
do_not_reverse_lookup -> bool
do_not_reverse_lookup=(bool) -> bool

この値が真ならアドレスからホスト名への逆引きを行わなくなります。 デフォルトは false です。この設定は大域的に作用します。

for_fd(fd) -> Object

ファイルディスクリプタ fd に対する新しいソケットを生成します。 このメソッドは Socket クラスからこのクラスに移動しました。 これにより、任意のソケットである fd から対応するソケッ トクラスを作ることができます。

Instance Methods

Signature | Description
getpeername -> String | 接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。
getsockname -> String | ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。
getsockopt(level, optname) -> String | ソケットのオプションを取得します。getsockopt(2) を参照してください。取得したオプションのデータをパックした文字列を 返します。
recv(maxlen, flags = 0) -> String | ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)
recv_nonblock(maxlen, flags = 0) -> String | ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
send(mesg, flags, dest_sockaddr = nil) -> Fixnum | ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
setsockopt(level, optname, optval) -> 0 | ソケットのオプションを設定します。setsockopt(2) を参照してください。
shutdown(how = Socket::SHUT_RDWR) -> 0 | ソケットの以降の接続を終了させます。 how の値によって以下のように接続が終了します。

Inherited Methods

<< binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .for_fd .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class IPSocket

ancestors: IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

インターネットドメインソケットの抽象クラス。 通常の IO クラスのサブクラスと同様の入出力ができます。

Singleton Methods

Signature | Description
getaddress(host) -> String | IPSocket.getaddress を置きかえ、 resolv ライブラリを使い名前解決します。 | resolv-replace
getaddress(host) -> String | ホスト名からホストのアドレスを返します。ホストのアドレスは文 字列は octet decimal の文字列 (例: 127.0.0.1) です。

Instance Methods

Signature | Description
addr -> Array | ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。
peeraddr -> Array | 接続相手先ソケットの情報を表す配列を返します。配列の各要素は IPSocket#addr メソッドが返す配列 と同じです。
recvfrom(maxlen, flags = 0) -> Array | recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .for_fd .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SOCKSSocket

ancestors: SOCKSSocket < TCPSocket < IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

TCPSocket を [[unknown:SOCKS|URL:http://www.sw.nec.co.jp/middle/socks/]] 対応したクラスです。

Singleton Methods

Signature Description
new(host, serv) -> SOCKSSocket

SOCKSSocket.newのパラメータ host の名前解決に resolv ライブラリを使います。

resolv-replace
open(host, service) -> SOCKSSocket
new(host, service) -> SOCKSSocket

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、または octet decimal によるインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサー ビス名かポート番号です。

Instance Methods

Signature | Description
close -> nil | ソケットを閉じます。

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET addr peeraddr recvfrom .getaddress == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .gethostbyname


class Socket

ancestors: Socket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

ソケットそのものに対するシステムコールレベルのアクセスを提供 するクラス。Perl のソケットに対するアクセスと同レベルの機能を 提供してます。このクラスではソケットアドレスは Array#pack された文字列で指定します (socket/ソケットアドレス構造体を pack した文字列を参照)。

一般的なソケットプログラミングはより高レベルの TCPSocket クラスや TCPServer クラスを用い て行われることが多く、このクラスはあまり用いられません。

Singleton Methods

Signature Description
getaddrinfo(nodename, servname[, family[, socktype[, protocol[, flags]]]]) -> Array

[RFC2553]で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。

gethostbyaddr(host[, type])

sockaddr 構造体をパックした文字列からホスト情報を返します。 ホスト情報の構造は Socket.gethostbyname と同じです。 type には、アドレスタイプ(デフォルトは Socket::AF_INET)を指定します。

gethostbyname(host)

ホスト名または IP アドレス(指定方法に関しては socket/ホスト指定形式を参照) からホストの情報を返します。 ホスト情報は以下の 4 要素の配列で表現されています。

gethostname

システムの標準のホスト名を取得します。

getnameinfo(sa[, flags])

[RFC2553] で定義された getnameinfo() の機能を提供するク ラスメソッド。 gethostbyaddr() や getservbyport() の代 わりとして用意されています。IPのバージョンに依存しないプログラムを 書くための標準的なAPIです。

getservbyname(service[, proto])

service, protoに対応するポート番号を返 します。protoの省略値は"tcp"です。

open(domain, type, protocol) -> Socket
new(domain, type, protocol) -> Socket

新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。

sockaddr_in(port, host)
pack_sockaddr_in(port, host)

指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。

sockaddr_un(path)
pack_sockaddr_un(path)

指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。

pair(domain, type, protocol)
socketpair(domain, type, protocol)

相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。

unpack_sockaddr_in(sockaddr)

socket/ソケットアドレス構造体を pack した文字列を unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。

unpack_sockaddr_un(sockaddr)

socket/ソケットアドレス構造体を pack した文字列を unpack したソケットパス名を返します。

Instance Methods

Signature | Description
accept | 新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。
accept_nonblock | ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
bind(my_sockaddr) | ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。my_sockaddr は socket/ソケットアドレス構造体を pack した文字列 です。
connect(server_sockaddr) | connect(2) と同じ働きをします。server_sockaddr は、 socket/ソケットアドレス構造体を pack した文字列 です。
connect_nonblock(server_sockaddr) | ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
listen(backlog) | listen(2) と同じ働きをします。
recvfrom(maxlen[, flags]) | recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレスのペアです。引数につい ては recv と同様です。
recvfrom_nonblock(maxlen[, flags]) | ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
sysaccept | 接続したクライアントのファイル記述子とアドレスのペアを返すことを除 けば Socket#accept と同じです。

Constants

Signature Description
AF_APPLETALK
AF_ATM
AF_AX25
AF_CCITT
AF_CHAOS
AF_CNT
AF_COIP
AF_DATAKIT
AF_DEC
AF_DLI
AF_E164
AF_ECMA
AF_HYLINK
AF_IMPLINK
AF_INET
AF_INET6
AF_IPX
AF_ISDN
AF_ISO
AF_LAT
AF_LINK
AF_LOCAL
AF_MAX
AF_NATM
AF_NDRV
AF_NETBIOS
AF_NETGRAPH
AF_NS
AF_OSI
AF_PPP
AF_PUP
AF_ROUTE
AF_SIP
AF_SNA
AF_SYSTEM
AF_UNIX
AF_UNSPEC

アドレスファミリー: Socket.open の第一引数 domain に使用します。

AI_ADDRCONFIG
AI_ALL
AI_CANONNAME
AI_DEFAULT
AI_MASK
AI_NUMERICHOST
AI_PASSIVE
AI_V4MAPPED
AI_V4MAPPED_CFG

フラグ: Socket.getaddrinfo の flags 引数に使用します。 getaddrinfo(3)も参照して下さい。

EAI_ADDRFAMILY
EAI_AGAIN
EAI_BADFLAGS
EAI_BADHINTS
EAI_FAIL
EAI_FAMILY
EAI_MAX
EAI_MEMORY
EAI_NODATA
EAI_NONAME
EAI_PROTOCOL
EAI_SERVICE
EAI_SOCKTYPE
EAI_SYSTEM

Socket.getaddrinfoが失敗したときに返すエラーコードです。 getaddrinfo(3)も参照して下さい。

INADDR_ALLHOSTS_GROUP
INADDR_ANY
INADDR_BROADCAST
INADDR_LOOPBACK
INADDR_MAX_LOCAL_GROUP
INADDR_NONE
INADDR_UNSPEC_GROUP
IPPORT_RESERVED
IPPORT_USERRESERVED
IPPROTO_BIP
IPPROTO_EGP
IPPROTO_EON
IPPROTO_GGP
IPPROTO_HELLO
IPPROTO_ICMP
IPPROTO_IDP
IPPROTO_IGMP
IPPROTO_IP
IPPROTO_MAX
IPPROTO_ND
IPPROTO_PUP
IPPROTO_RAW
IPPROTO_TCP
IPPROTO_TP
IPPROTO_UDP
IPPROTO_XTP

IPプロトコル: BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に 使用します。

IP_ADD_MEMBERSHIP
IP_DEFAULT_MULTICAST_LOOP
IP_DEFAULT_MULTICAST_TTL
IP_DROP_MEMBERSHIP
IP_HDRINCL
IP_MAX_MEMBERSHIPS
IP_MULTICAST_IF
IP_MULTICAST_LOOP
IP_MULTICAST_TTL
IP_OPTIONS
IP_RECVDSTADDR
IP_RECVOPTS
IP_RECVRETOPTS
IP_RETOPTS
IP_TOS
IP_TTL
MSG_COMPAT
MSG_CTRUNC
MSG_DONTROUTE
MSG_DONTWAIT
MSG_EOF
MSG_EOR
MSG_FLUSH
MSG_HAVEMORE
MSG_HOLD
MSG_OOB
MSG_PEEK
MSG_RCVMORE
MSG_SEND
MSG_TRUNC
MSG_WAITALL
NI_DGRAM
NI_MAXHOST
NI_MAXSERV
NI_NAMEREQD
NI_NOFQDN
NI_NUMERICHOST
NI_NUMERICSERV

Socket.getnameinfoの第2引数 flags に与える定数です。 getnameinfo(3)も参照して下さい。

PF_APPLETALK
PF_ATM
PF_AX25
PF_CCITT
PF_CHAOS
PF_CNT
PF_COIP
PF_DATAKIT
PF_DEC
PF_DLI
PF_ECMA
PF_HYLINK
PF_IMPLINK
PF_INET
PF_INET6
PF_IPX
PF_ISDN
PF_ISO
PF_KEY
PF_LAT
PF_LINK
PF_LOCAL
PF_MAX
PF_NATM
PF_NDRV
PF_NETBIOS
PF_NETGRAPH
PF_NS
PF_OSI
PF_PIP
PF_PPP
PF_PUP
PF_ROUTE
PF_RTIP
PF_SIP
PF_SNA
PF_SYSTEM
PF_UNIX
PF_UNSPEC
PF_XTP

プロトコルファミリー: Socket.open の第三引数 protocol に使用します。

SHUT_RD
SHUT_RDWR
SHUT_WR

shutdown の how: BasicSocket#shutdown の how 引数に使用します。

SOCK_DGRAM
SOCK_PACKET
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_STREAM

ソケットタイプ: Socket.open の第二引数 type に使用します。

SOL_ATALK
SOL_AX25
SOL_IP
SOL_IPX
SOL_SOCKET
SOL_TCP
SOL_UDP
SOPRI_BACKGROUND
SOPRI_INTERACTIVE
SOPRI_NORMAL
SO_ACCEPTCONN
SO_ACCEPTFILTER
SO_ATTACH_FILTER
SO_BINDTODEVICE
SO_BROADCAST
SO_DEBUG
SO_DETACH_FILTER
SO_DONTROUTE
SO_DONTTRUNC
SO_ERROR
SO_KEEPALIVE
SO_LINGER
SO_NKE
SO_NOSIGPIPE
SO_NO_CHECK
SO_NREAD
SO_OOBINLINE
SO_PASSCRED
SO_PEERCRED
SO_PEERNAME
SO_PRIORITY
SO_RCVBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
SO_SECURITY_AUTHENTICATION
SO_SECURITY_ENCRYPTION_NETWORK
SO_SECURITY_ENCRYPTION_TRANSPORT
SO_SNDBUF
SO_SNDLOWAT
SO_SNDTIMEO
SO_TIMESTAMP
SO_TYPE
SO_USELOOPBACK
SO_WANTMORE
SO_WANTOOBFLAG
TCP_MAXSEG
TCP_NODELAY

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module Socket::Constants

ancestors: Socket::Constants

Abstract

ソケット操作の指定のための定数を定義したモジュール。このモジュー ルをインクルードすれば、定数 (AF_INETなど) を直接参照できます。

これらの定数は Socket の定数としても定義されています。

Constants

Signature Description
AF_APPLETALK
AF_ATM
AF_AX25
AF_CCITT
AF_CHAOS
AF_CNT
AF_COIP
AF_DATAKIT
AF_DEC
AF_DLI
AF_E164
AF_ECMA
AF_HYLINK
AF_IMPLINK
AF_INET
AF_INET6
AF_IPX
AF_ISDN
AF_ISO
AF_LAT
AF_LINK
AF_LOCAL
AF_MAX
AF_NATM
AF_NDRV
AF_NETBIOS
AF_NETGRAPH
AF_NS
AF_OSI
AF_PPP
AF_PUP
AF_ROUTE
AF_SIP
AF_SNA
AF_SYSTEM
AF_UNIX
AF_UNSPEC

アドレスファミリー: Socket.open の第一引数 domain に使用します。

AI_ADDRCONFIG
AI_ALL
AI_CANONNAME
AI_DEFAULT
AI_MASK
AI_NUMERICHOST
AI_PASSIVE
AI_V4MAPPED
AI_V4MAPPED_CFG

フラグ: Socket.getaddrinfo の flags 引数に使用します。 getaddrinfo(3)も参照して下さい。

EAI_ADDRFAMILY
EAI_AGAIN
EAI_BADFLAGS
EAI_BADHINTS
EAI_FAIL
EAI_FAMILY
EAI_MAX
EAI_MEMORY
EAI_NODATA
EAI_NONAME
EAI_PROTOCOL
EAI_SERVICE
EAI_SOCKTYPE
EAI_SYSTEM

Socket.getaddrinfoが失敗したときに返すエラーコードです。 getaddrinfo(3)も参照して下さい。

INADDR_ALLHOSTS_GROUP
INADDR_ANY
INADDR_BROADCAST
INADDR_LOOPBACK
INADDR_MAX_LOCAL_GROUP
INADDR_NONE
INADDR_UNSPEC_GROUP
IPPORT_RESERVED
IPPORT_USERRESERVED
IPPROTO_BIP
IPPROTO_EGP
IPPROTO_EON
IPPROTO_GGP
IPPROTO_HELLO
IPPROTO_ICMP
IPPROTO_IDP
IPPROTO_IGMP
IPPROTO_IP
IPPROTO_MAX
IPPROTO_ND
IPPROTO_PUP
IPPROTO_RAW
IPPROTO_TCP
IPPROTO_TP
IPPROTO_UDP
IPPROTO_XTP

IPプロトコル: BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に 使用します。

IP_ADD_MEMBERSHIP
IP_DEFAULT_MULTICAST_LOOP
IP_DEFAULT_MULTICAST_TTL
IP_DROP_MEMBERSHIP
IP_HDRINCL
IP_MAX_MEMBERSHIPS
IP_MULTICAST_IF
IP_MULTICAST_LOOP
IP_MULTICAST_TTL
IP_OPTIONS
IP_RECVDSTADDR
IP_RECVOPTS
IP_RECVRETOPTS
IP_RETOPTS
IP_TOS
IP_TTL
MSG_COMPAT
MSG_CTRUNC
MSG_DONTROUTE
MSG_DONTWAIT
MSG_EOF
MSG_EOR
MSG_FLUSH
MSG_HAVEMORE
MSG_HOLD
MSG_OOB
MSG_PEEK
MSG_RCVMORE
MSG_SEND
MSG_TRUNC
MSG_WAITALL
NI_DGRAM
NI_MAXHOST
NI_MAXSERV
NI_NAMEREQD
NI_NOFQDN
NI_NUMERICHOST
NI_NUMERICSERV

Socket.getnameinfoの第2引数 flags に与える定数です。 getnameinfo(3)も参照して下さい。

PF_APPLETALK
PF_ATM
PF_AX25
PF_CCITT
PF_CHAOS
PF_CNT
PF_COIP
PF_DATAKIT
PF_DEC
PF_DLI
PF_ECMA
PF_HYLINK
PF_IMPLINK
PF_INET
PF_INET6
PF_IPX
PF_ISDN
PF_ISO
PF_KEY
PF_LAT
PF_LINK
PF_LOCAL
PF_MAX
PF_NATM
PF_NDRV
PF_NETBIOS
PF_NETGRAPH
PF_NS
PF_OSI
PF_PIP
PF_PPP
PF_PUP
PF_ROUTE
PF_RTIP
PF_SIP
PF_SNA
PF_SYSTEM
PF_UNIX
PF_UNSPEC
PF_XTP

プロトコルファミリー: Socket.open の第三引数 protocol に使用します。

SHUT_RD
SHUT_RDWR
SHUT_WR

shutdown の how: BasicSocket#shutdown の how 引数に使用します。

SOCK_DGRAM
SOCK_PACKET
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_STREAM

ソケットタイプ: Socket.open の第二引数 type に使用します。

SOL_ATALK
SOL_AX25
SOL_IP
SOL_IPX
SOL_SOCKET
SOL_TCP
SOL_UDP
SOPRI_BACKGROUND
SOPRI_INTERACTIVE
SOPRI_NORMAL
SO_ACCEPTCONN
SO_ACCEPTFILTER
SO_ATTACH_FILTER
SO_BINDTODEVICE
SO_BROADCAST
SO_DEBUG
SO_DETACH_FILTER
SO_DONTROUTE
SO_DONTTRUNC
SO_ERROR
SO_KEEPALIVE
SO_LINGER
SO_NKE
SO_NOSIGPIPE
SO_NO_CHECK
SO_NREAD
SO_OOBINLINE
SO_PASSCRED
SO_PEERCRED
SO_PEERNAME
SO_PRIORITY
SO_RCVBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
SO_SECURITY_AUTHENTICATION
SO_SECURITY_ENCRYPTION_NETWORK
SO_SECURITY_ENCRYPTION_TRANSPORT
SO_SNDBUF
SO_SNDLOWAT
SO_SNDTIMEO
SO_TIMESTAMP
SO_TYPE
SO_USELOOPBACK
SO_WANTMORE
SO_WANTOOBFLAG
TCP_MAXSEG
TCP_NODELAY


class TCPServer

ancestors: TCPServer < TCPSocket < IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

TCP/IP ストリーム型接続のサーバ側のソケットのクラス。このクラ スによって簡単にソケットを利用したサーバのプログラミングがで きます。

例えば echo サーバは以下のようになります。

require "socket"

gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
  nsock = select(socks)
  next if nsock == nil
  for s in nsock[0]
    if s == gs
      socks.push(s.accept)
      print(s, " is accepted\n")
    else
      if s.eof?
        print(s, " is gone\n")
        s.close
        socks.delete(s)
      else
        str = s.gets
        s.write(str)
      end
    end
  end
end

Thread を使えばもっと短くなります。

require "socket"

gs = TCPServer.open(0)
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
  Thread.start(gs.accept) do |s|       # save to dynamic variable
    print(s, " is accepted\n")
    while s.gets
      s.write($_)
    end
    print(s, " is gone\n")
    s.close
  end
end

Singleton Methods

Signature Description
new([host, ]service) -> TCPServer
open([host, ]service) -> TCPServer

新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。省略時は全てのホ スト(インタフェース)への接続要求を受け付けることになります。

Instance Methods

Signature | Description
accept -> TCPSocket | クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。
accept_nonblock -> TCPSocket | ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
listen(backlog) -> 0 | listen(2) を実行します。 (Socket#listenと同じ)
sysaccept -> Fixnum | 接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET addr peeraddr recvfrom .getaddress == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .gethostbyname


class TCPSocket

ancestors: TCPSocket < IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

インターネットドメインのストリーム型ソケットのクラス。通常の IO クラスのサブクラスと同 様の入出力ができます。このクラスによってソケットを用いたクラ イアントを簡単に記述できるようになります。ユーザの入力をその ままサーバに転送するプログラムは以下のようになります。

require "socket"

port = if ARGV.size > 0 then ARGV.shift else 4444 end
print port, "\n"

s = TCPSocket.open("localhost", port)

while gets
  s.write($_)
  print(s.gets)
end
s.close

Singleton Methods

Signature Description
gethostbyname(host) -> Array

ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホ スト名、ホストの別名の配列、ホストのアドレスタイプ、ホストの アドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) です。

open(host, serv, local_host=nil, local_service=nil) -> TCPSocket
new(host, serv, local_host=nil, local_service=nil) -> TCPSocket

TCPSocket.new のパラメータ host と local_host の名前解決に resolv ライブラリを使います。

resolv-replace
open(host, service [, local_host, local_service]) -> TCPSocket
new(host, service [, local_host, local_service]) -> TCPSocket

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、または octet decimal によるインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサー ビス名かポート番号です。

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET addr peeraddr recvfrom .getaddress == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class UDPSocket

ancestors: UDPSocket < IPSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

UDP/IPデータグラム型ソケットのクラス。

Singleton Methods

Signature Description
open([socktype])
new([socktype])

新しい UDP ソケットを返します。

Instance Methods

Signature Description
bind(host, port) -> Integer

UDPSocket#bindのパラメータ host の名前解決に resolv ライブラリを使います。

resolv-replace
bind(host, port)

ソケットを host の port に結合します。

connect(host, port) -> Integer

UDPSocket#connect のパラメータ host の名前解決に resolv ライブラリを使います。

resolv-replace
connect(host, port)

ソケットを host の port に connect します。

recvfrom_nonblock(maxlen[, flags])

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

send(mesg, flags[, dest_sockaddr])
send(mesg, flags, host, port)

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先を指定するため dest_sockaddr あるいは、host と port を指定する必要があります。実際に送ったデータの長さを返 します。

send(mesg, flags , dest_sockaddr=nil) -> Integer
send(mesg, flags, host, port) -> Integer

4 引数の形式で UDPSocket#send 実行したとき、 パラメータ host の名前解決に resolv ライブラリを使います。

resolv-replace

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET addr peeraddr recvfrom .getaddress == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class UNIXServer

ancestors: UNIXServer < UNIXSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

UNIXストリーム型接続のサーバ側のソケットのクラス。

Singleton Methods

Signature Description
open(path)
new(path)

path で指定したパス名を用いて接続を受け付けるソケットを返 します。

Instance Methods

Signature | Description
accept | クライアントからの接続要求を受け付け、接続した UNIXSocket のインスタンスを返します。
accept_nonblock | ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
listen(backlog) | listen(2) を実行します。 (Socket#listenと同じ)
sysaccept | 接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint addr path peeraddr recv_io recvfrom send_io .pair


class UNIXSocket

ancestors: UNIXSocket < BasicSocket < IO < Enumerable < File::Constants < Object < Kernel

Abstract

UNIX ドメインのストリーム型ソケットのクラス。通常の IO クラスのサブクラスと同様の 入出力ができます。

Singleton Methods

Signature Description
open(path)
new(path)

path で指定したパス名を用いて接続したソケットを返 します。

pair([type[, protocol]])
socketpair([type[, protocol]])

相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。 type が省略された場合、Socket::SOCK_STREAM が使われます。 protocol が省略された場合、0 が使われます。

Instance Methods

Signature | Description
addr | ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
path | UNIX ソケットのパスを返します。
peeraddr | 接続相手先ソケットの情報を表す配列を返します。配列の各要素は UNIXSocket#addr メソッドが返す配列 と同じです。
recv_io([klass[, mode]]) | ソケットの接続先からファイルディスクリプタを受け取ります。
recvfrom(maxlen[, flags]) | recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのパスのペアです。引数につい ては recv と同様です。
send_io(io) | IO や Fixnum に対応するファイルディスクリプタをソケットの接続先に送ります。

Inherited Methods

getpeername getsockname getsockopt recv recv_nonblock send setsockopt shutdown .do_not_reverse_lookup .for_fd << binmode bytes chars clone close close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library stringio

Abstract

文字列に IO と同じインタフェースを持たせるためのライブラリです。

Classes/Modules

class StringIO

文字列に IO と同じインタフェースを持たせるためのクラスです。


class StringIO

ancestors: StringIO < Data < Object < Kernel

Abstract

文字列に IO と同じインタフェースを持たせるためのクラスです。

例:

require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read                 #=> "hoge"
sio.rewind
p sio.read(1)              #=> "h"
sio.write("OGE")
sio.rewind
p sio.read                 #=> "hOGE"

例外

StringIO オブジェクトは大抵の場合 IO オブジェクトと同じ例外を発生させます。 例えば次の例では write は IOError を発生させます。

require "stringio"
sio = StringIO.new("hoge")
sio.close
sio.write("a")
# => in `write': not opened for writing (IOError)

Singleton Methods

Signature Description
new(string = '', mode = 'r+') -> StringIO
open(string = '', mode = 'r+') -> StringIO
open(string = '', mode = 'r+') {|io| ... } -> StringIO

StringIO オブジェクトを生成して返します。

Instance Methods

Signature Description
self << obj -> self

obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで 文字列に変換します。 self を返します。

binmode -> self

何もせずに self を返します。

each_byte {|ch| ... } -> self
bytes {|ch| ... } -> self
each_byte -> Enumerable::Enumerator
bytes -> Enumerable::Enumerator

自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

each_char {|c| ... } -> self
chars {|c| ... } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

自身に含まれる文字を一文字ずつブロックに渡して評価します。

close -> nil

自身を close します。以後、自身に対する読み書きが禁止されます。 close された StringIO に読み書き等が行われると IOError が発生します。

close_read -> nil

自身に対する読み取りを禁止します。

close_write -> nil

自身に対する書き込みを禁止します。

closed? -> bool

自身が既に close されていた場合に true を返します。そうでない場合は、false を返します。

closed_read? -> bool

自身に対する読み取りが禁止されているなら true を返します。そうでない場合は、false を返します。

closed_write? -> bool

自身に対する書き込みが禁止されているなら true を返します。そうでない場合は、false を返します。

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self
lines(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator
lines(rs = $/) -> Enumerable::Enumerator

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

eof -> bool
eof? -> bool

自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。

fcntl -> ()

例外 NotImplementedError が常に発生します。

fileno -> nil

何もせず nil を返します。

flush -> self

何もせずに self を返します。

fsync -> 0

何もせずに 0 を返します。

getc -> Integer | nil
getbyte -> Integer | nil

自身から 1 文字読み込んで、その文字に対応する Fixnum を返します。 文字列の終端に到達した時には nil を返します。

gets(rs = $/) -> String | nil

自身から 1 行読み込んで、その文字列を返します。文字列の終端に到達した時には nil を返します。 $_ に読み込んだ行がセットされます。

isatty -> false

何もせず false を返します。

size -> Integer
length -> Integer

文字列の長さを返します。

lineno -> Integer

現在の行番号を返します。これは StringIO#gets が呼ばれた回数です。

lineno=(n)

現在の行番号を n にセットします。

path -> nil

StringIO には対応するパスはないので nil を返します。

pid -> nil

何もせず nil を返します。

pos -> Integer
tell -> Integer

自身の現在の位置を返します。

pos=(n)

自身の位置を n に移動します。自身が表す文字列のサイズより大きくても構いません。

print() -> nil
print(*obj) -> nil

自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。

printf(format, *obj) -> nil

指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。

putc(ch) -> object

文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。 ch が文字列なら、その先頭の文字を書き込みます。ch を返します。

puts(*obj) -> nil

obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。

read -> String
read(len) -> String | nil
read(len, outbuf) -> String

自身から len バイト読み込みんで返します。len が省略された場合は、最後まで読み込んで返します。 詳しい仕様は IO#read を参照して下さい。

readchar -> Integer
readbyte -> Integer

自身から 1 文字読み込んで、その文字に対応する整数を返します。

readline(rs = $/) -> String

自身から 1 行読み込んで、その文字列を返します。

readlines(rs = $/) -> [String]

自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。 既に文字列の終端に達していれば空配列 [] を返します。

reopen(sio) -> StringIO

自身が表す文字列が指定された StringIO と同じものになります。

reopen(str, mode = 'r+') -> StringIO

自身が表す文字列が指定された文字列 str になります。

rewind -> 0

自身の pos と lineno をそれぞれ 0 にします。

seek(offset, whence = IO::SEEK_SET)

自身の pos を whence の位置から offset バイトだけ移動させます。

string -> String

自身が表す文字列を返します。

string=(buf)

自身が表す文字列を指定された buf に変更します。

sync -> true

何もせずに true を返します。

sync=(bool)

何もせずに bool を返します。

sysread -> String
sysread(len) -> String
sysread(len, outbuf) -> String

自身から len バイト読み込みんで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

syswrite(obj) -> Integer

自身に obj を書き込みます。StringIO#write と同じです。

truncate(len) -> Integer

自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。 拡大した場合は、その部分を 0 で埋めます。 len を返します。

tty? -> false

何もせず false を返します。

ungetc(ch) -> nil

整数で指定された文字 ch を自身に書き戻します。 nil を返します。

write(obj) -> Integer

自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。 書き込まれた文字列の長さを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library strscan

Abstract

strscan は 文字列を高速にスキャンするためのライブラリです。

Classes/Modules

class StringScanner | StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。
class StringScanner::Error | スキャン中に発生したエラーをあらわす例外です。


class StringScanner

ancestors: StringScanner < Object < Kernel

Abstract

StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。

s = StringScanner.new('This is an example string')
s.eos?            #=> false

p s.scan(/\w+/)   #=> "This"
p s.scan(/\w+/)   #=> nil
p s.scan(/\s+/)   #=> " "
p s.scan(/\s+/)   #=> nil
p s.scan(/\w+/)   #=> "is"
s.eos?            #=> false

p s.scan(/\s+/)   #=> " "
p s.scan(/\w+/)   #=> "an"
p s.scan(/\s+/)   #=> " "
p s.scan(/\w+/)   #=> "example"
p s.scan(/\s+/)   #=> " "
p s.scan(/\w+/)   #=> "string"
s.eos?            #=> true

p s.scan(/\s+/)   #=> nil
p s.scan(/\w+/)   #=> nil

StringScanner オブジェクトはスキャンする文字列と「スキャンポインタ」のセットです。 スキャンポインタとはスキャンしおわったところを示すインデックスのことです。 オブジェクト作成直後にはスキャンポインタは文字列先頭にあり、 その地点でのみマッチを試します。マッチしたらその後ろにポインタを進めます。

## a string and a scan pointer   ("_" = scan pointer)

s = StringScanner.new('This is an example string')
_This is an example string     s.eos? = false
s.scan(/\w+/)
This_ is an example string     s.eos? = false
s.scan(/\s+/)
This _is an example string     s.eos? = false
s.scan(/\w+/)
This is_ an example string     s.eos? = false
s.scan(/\s+/)
This is _an example string     s.eos? = false
s.scan(/\w+/)
This is an_ example string     s.eos? = false
s.scan(/\s+/)
This is an _example string     s.eos? = false
s.scan(/\w+/)
This is an example_ string     s.eos? = false
s.scan(/\s+/)
This is an example _string     s.eos? = false
s.scan(/\w+/)
This is an example string_     s.eos? = true

現在のスキャンポインタがさす地点以外でもマッチしたい場合は、StringScanner#scan_untilなど を使ってください。

例: scan, scan_full の動作の違い

def case1
  s = StringScanner.new('test string')
  p s.scan(/t/)       #=> "t"
  p s.scan(/\w+/)     #=> "est"
  p s.scan(/string/)  #=> nil
  p s.scan(/\s+/)     #=> " "
  p s.scan(/string/)  #=> "string"
end

def case2
  s = StringScanner.new('test string')
  p s.scan_until(/t/)       #=> "t"
  p s.scan_until(/\w+/)     #=> "est"
  p s.scan_until(/string/)  #=> " string"
  p s.scan_until(/\s+/)     #=> nil
  p s.scan_until(/string/)  #=> nil
end

p "case1"
case1
p "case2"
case2

スキャンポインタの位置は文字単位でなくバイト単位となります。

# vim:set fileencoding=euc-jp:
require 'strscan'
s = StringScanner.new("るびい") # 文字コードはEUC-JPとします
p s.exist?(/び/) #=> 4

StringScanner は $~ $& $1 $2 …… などの正規表現関連変数を セットしません。代わりに StringScanner#[], StringScanner#matched? などの マッチデータ関連メソッドを使ってください。

Singleton Methods

Signature | Description
must_C_version -> self | このメソッドは後方互換性のために定義されています。
new(str, dup = false) -> StringScanner | 新しい StringScanner オブジェクトを生成します。

Instance Methods

Signature Description
self << str -> self
concat(str) -> self

操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。

self[nth] -> String | nil

前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。

beginning_of_line? -> bool
bol? -> bool

スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。

check(regexp) -> String | nil

現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。

check_until(regexp) -> String | nil

regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

terminate -> self
clear -> self

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

eos? -> bool
empty? -> bool

スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。

exist?(regexp) -> Fixnum | nil

スキャンポインタの位置から，次にマッチする文字列の末尾までの長さを返します。

get_byte -> String | nil
getbyte -> String | nil

$KCODE に関らず 1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。

getch -> String | nil

一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すならnilを返します。

inspect -> String

StringScannerオブジェクトを表す文字列を返します。

match?(regexp) -> Fixnum | nil

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。

matched -> String | nil

前回マッチした部分文字列を返します。 前回のマッチに失敗していると nil を返します。

matched? -> bool

前回のマッチが成功していたら true を、 失敗していたら false を返します。

matched_size -> Fixnum | nil

前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。

matchedsize -> Fixnum | nil

StringScanner#matched_size と同じです。

peek(bytes) -> String
peep(bytes) -> String

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

pointer -> Fixnum
pos -> Fixnum

現在のスキャンポインタのインデックスを返します。

pointer=(n) -> Fixnum
pos=(n) -> Fixnum

スキャンポインタのインデックスを n にセットします。

post_match -> String | nil

前回マッチを行った文字列のうち、マッチしたところよりも後ろの 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。

pre_match -> String | nil

前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。

reset -> self

スキャンポインタを文字列の先頭 (インデックス 0) に戻し、 マッチ記録を捨てます。

rest -> String

文字列の残り (rest) を返します。 具体的には、スキャンポインタが指す位置からの文字列を返します。

rest? -> bool

文字列が残っているならば trueを、 残っていないならば false を返します。

rest_size -> Fixnum
restsize -> Fixnum

文字列の残りの長さを返します。 stringscanner.rest.size と同じです。

scan(regexp) -> String | nil

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。

scan_full(regexp, s, f) -> object

スキャンポインタの位置から regexp と文字列のマッチを試します。 マッチに成功すると、s と f の値によって以下のように動作します。

scan_until(regexp) -> String | nil

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

search_full(regexp, s, f) -> object

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功すると、s と f の値によって以下のように動作します。

skip(regexp) -> Fixnum | nil

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。

skip_until(regexp) -> Fixnum | nil

regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。

string -> String

スキャン対象にしている文字列を返します。

string=(str) -> String

スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

unscan -> self

スキャンポインタを前回のマッチの前の位置に戻します。

Constants

Signature | Description
Id -> String | StringScanner クラスの詳しいバージョンを文字列で返します。 この文字列は Object#freeze されています。
Version -> String | StringScanner クラスのバージョンを文字列で返します。 この文字列は Object#freeze されています。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class StringScanner::Error

ancestors: StringScanner::Error < Object < Kernel

Abstract

スキャン中に発生したエラーをあらわす例外です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library sync

Abstract

Mix-in により再入可能な reader/writer ロック機能を提供するライブラリです。

Classes/Modules

class Sync | Sync_m を include したクラスで Synchronizer の別名です。 使い方は Sync_m を参照してください。
module Sync_m | スレッド同期機構である再入可能な reader/writer ロック機能を Mix-in により提供する。

Exception Classes

class Sync_m::Err | このライブラリで使用する例外の基底クラスです。
class Sync_m::LockModeFailer | 誤ったロックモードがセットされている場合に発生する例外です。
class Sync_m::UnknownLocker | スレッドがロックされているべきタイミングでロックさ庭内場合に発生する例外です。


class Sync

ancestors: Sync < Sync_m < Object < Kernel

Abstract

Sync_m を include したクラスで Synchronizer の別名です。 使い方は Sync_m を参照してください。

Singleton Methods

Signature | Description
new -> Sync | Sync_mをincludeしたクラスのオブジェクトを返します。 使い方はSync_mを参照してください。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .#exclusive? .#lock .#locked? .#shared? .#sync_ex_count .#sync_ex_count= .#sync_ex_locker .#sync_ex_locker= .#sync_extended .#sync_mode .#sync_sh_locker .#sync_sh_locker= .#sync_synchronize .#sync_try_lock .#sync_unlock .#sync_upgrade_waiting .#sync_upgrade_waiting= .#sync_waiting .#sync_waiting= ::EX ::SH ::UN


module Sync_m

ancestors: Sync_m

Abstract

スレッド同期機構である再入可能な reader/writer ロック機能を Mix-in により提供する。

includeしたクラスではinitializeでsuperを呼び出しておく必要がある。

Module Functions

Signature Description
sync_exclusive? -> bool
exclusive? -> bool

排他ロックされているかどうかを返します。

sync_lock(mode = EX) -> self
lock(mode = EX) -> self

ロック状態を変更します。 変更できるまで現在のスレッドの実行をブロックする。

sync_locked? -> bool
locked? -> bool

ロックされているかどうかを返します。

sync_shared? -> bool
shared? -> bool

共有ロックされているかどうかを返します。

sync_ex_count -> Integer
sync_ex_count=(count)
sync_ex_locker -> Thread | nil
sync_ex_locker=(thread)
sync_extended
sync_mode -> Symbol

現在のロック状態を返します。

sync_sh_locker -> Hash
sync_sh_locker=(hash)
sync_synchronize(mode = EX) {...} -> object
synchronize(mode = EX) {...} -> object

ロック状態を変更してブロックを実行します。 ブロックの実行結果を返します。

sync_try_lock(mode = EX) -> bool
try_lock(mode = EX) -> bool

ロック状態を変更します。 変更できたかどうかをtrueかfalseで返し、ブロックしない。

sync_unlock(mode = EX) -> self
unlock(mode = EX) -> self

ロックを解除します。

sync_upgrade_waiting -> [Thread]
sync_upgrade_waiting=(arr)
sync_waiting -> [Thread]
sync_waiting=(arr)

Constants

Signature | Description
EX | 排他ロックされている状態を表す定数です。 オブジェクトの状態を更新する場合のように、 1つのスレッドがオブジェクトを独占的に使用したい場合に用いる。 排他ロック中に他のスレッドはオブジェクトを共有/排他ロックできない。
SH | 共有ロックされている状態を表す定数です。 複数のスレッドが同時にオブジェクトを使用できる場合に用いる。 複数のスレッドが共有ロックしている場合、 どのスレッドもオブジェクトを排他ロックできない。
UN | ロックされていない状態を表す定数です。


class Sync_m::Err

ancestors: Sync_m::Err < StandardError < Exception < Object < Kernel

Abstract

このライブラリで使用する例外の基底クラスです。

Singleton Methods

Signature | Description
Fail(*options) -> () | 自身に定義されているメッセージをセットして例外を発生させます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Sync_m::LockModeFailer

ancestors: Sync_m::LockModeFailer < Sync_m::Err < StandardError < Exception < Object < Kernel

Abstract

誤ったロックモードがセットされている場合に発生する例外です。

Singleton Methods

Signature | Description
Fail(*options) -> () | 自身に定義されているメッセージをセットして例外を発生させます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Sync_m::UnknownLocker

ancestors: Sync_m::UnknownLocker < Sync_m::Err < StandardError < Exception < Object < Kernel

Abstract

スレッドがロックされているべきタイミングでロックさ庭内場合に発生する例外です。

Singleton Methods

Signature | Description
Fail(*options) -> () | 自身に定義されているメッセージをセットして例外を発生させます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library syslog

Abstract

Unix系OS の syslog を扱うライブラリです。

Classes/Modules

module Syslog | UNIXのsyslogのラッパーモジュール。 syslog の詳細については syslog(3) を参照してください。
module Syslog::Constants | このモジュールにはシステムで使用可能なLOG_*定数が定義されている。


module Syslog

ancestors: Syslog < Syslog::Constants

Abstract

UNIXのsyslogのラッパーモジュール。 syslog の詳細については syslog(3) を参照してください。

require 'syslog'

Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
Syslog.close
# 書き込まれているか確かめる。
# 但し、実行環境によってログの場所が違う。くわしくはsyslog.confを参照。
File.foreach('/var/log/system.log'){|line|
  line.chomp!
  if /syslogtest/ =~ line
    puts line
  end
}

Module Functions

Signature Description
LOG_MASK(priority) -> Fixnum

1つの優先度に対するマスクを作成する。

LOG_UPTO(priority) -> Fixnum

priorityまでのすべての優先度のマスクを作成する。

emerg(message, *arg) -> self
alert(message, *arg) -> self
crit(message, *arg) -> self
err(message, *arg) -> self
warning(message, *arg) -> self
notice(message, *arg) -> self
info(message, *arg) -> self
debug(message, *arg) -> self

Syslog#log()のショートカットメソッド。 システムによっては定義されていないものもあります。

close -> nil

syslogを閉じます。

ident -> String | nil
options -> Fixnum | nil
facility -> Fixnum | nil

最後のopenで与えられた対応する引数を返します。

instance -> self

selfを返す。(旧版との互換性のため)

log(priority, format, *arg) -> self

syslogにメッセージを書き込みます。

mask -> Fixnum | nil
mask=(mask)

ログの優先度のマスクを取得または設定する。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされない。

open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) -> self
open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self

与えられた引数でsyslogを開く。以降、他の Syslog モジュール関数が使 用可能となる。

open!(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self
reopen(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self

開いていた syslog を最初にクローズする点を除いてSyslog.#open と同じです。

opened? -> bool

syslog をオープンしていれば真を返す。

Inherited Methods

::LOG_ALERT

::LOG_AUTH

::LOG_CONS


module Syslog::Constants

ancestors: Syslog::Constants

Abstract

このモジュールにはシステムで使用可能なLOG_*定数が定義されている。

例:
  require 'syslog'
  include Syslog::Constants

Constants

Signature Description
LOG_EMERG
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG

優先度(priorities)を示す定数。 定数 の詳細については syslog(3) を参照してください。

LOG_AUTH
LOG_AUTHPRIV
LOG_CONSOLE
LOG_CRON
LOG_DAEMON
LOG_FTP
LOG_KERN
LOG_LPR
LOG_MAIL
LOG_NEWS
LOG_NTP
LOG_SECURITY
LOG_SYSLOG
LOG_USER
LOG_UUCP
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7

機能(facilities)を示す定数。

LOG_PID
LOG_CONS
LOG_ODELAY
LOG_NDELAY
LOG_NOWAIT
LOG_PERROR

オプション(options)を示す定数。 定数 の詳細については syslog(3) を参照してください。


library tcltklib

Abstract

Classes/Modules

class TclTkIp
module TclTkLib
module TclTkLib::EventFlag
module TclTkLib::VarAccessFlag

Exception Classes

class TkCallbackBreak
class TkCallbackContinue
class TkCallbackRedo
class TkCallbackRetry
class TkCallbackReturn
class TkCallbackThrow
class TkLocalJumpError


class TclTkIp

ancestors: TclTkIp < Object < Kernel

Abstract

Instance Methods

Signature | Description
_conv_listelement(src) |
_create_console |
_eval(cmd) |
_fromUTF8(str, encoding = nil) |
_get_global_var(var_name) |
_get_global_var2(var_name, index) |
_get_variable(var_name, flag) |
_get_variable2(var_name, index, flag) |
_immediate_invoke |
_invoke(*cmds) |
_make_menu_embeddable(menu_path) |
_merge_tklist |
_return_value |
_set_global_var(var_name, value) |
_set_global_var2(var_name, index, value) |
_set_variable(var_name, value, flag) |
_set_variable(var_name, index, value, flag) |
_split_tklist(list_str) |
_thread_tkwait(mode, target) |
_thread_vwait(var) |
_toUTF8(str, encoding = nil) |
_unset_global_var(var_name) |
_unset_global_var2(var_name, index) |
_unset_variable(var_name, flag) |
_unset_variable2(var_name, index, flag) |
allow_ruby_exit=(val) |
allow_ruby_exit? |
create_slave |
delete |
deleted? |
do_one_event |
get_eventloop_tick |
get_eventloop_weight |
get_no_event_wait |
has_mainwindow? |
invalid_namespace? |
mainloop |
mainloop_abort_on_exception |
mainloop_abort_on_exception=(val) |
mainloop_watchdog |
make_safe |
restart |
safe? |
set_eventloop_tick(tick) |
set_eventloop_weight(loop_max, no_event) |
set_max_block_time(time) |
set_no_event_wait(wait) |
slave_of?(master) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new

Added Methods

Signature Description Library
__eval(cmd)
_eval_with_enc(cmd)
_eval_without_enc(cmd) 		tk
__fromUTF8(str, encoding = nil) tk
_invoke(*cmds)
__invoke(*cmds)
_invoke_with_enc(*cmds)
_invoke_without_enc(*cmds) 		tk
__toUTF8(str, encoding = nil) tk
_ip_id_ tk
encoding tk
encoding=(encoding) tk


module TclTkLib

ancestors: TclTkLib

Abstract

Singleton Methods

Signature | Description
_conv_listelement(src) |
_fromUTF8(*args) |
_mark_at_exit |
_merge_tklist(*args) |
_split_tklist(list_str) |
_subst_Tcl_backslash(str) |
_subst_UTF_backslash(str) |
_toUTF8(*args) |
do_one_event(*args) |
do_thread_callback(*args) |
encoding |
encoding=(enc_name) |
encoding_system |
encoding_system=(enc_name) |
get_eventloop_tick |
get_eventloop_weight |
get_no_event_wait |
mainloop(*args) |
mainloop_abort_on_exception |
mainloop_abort_on_exception=(val) |
mainloop_thread? |
mainloop_watchdog(*args) |
num_of_mainwindows |
set_eventloop_tick(tick) |
set_eventloop_weight(loop_max, no_event) |
set_max_block_time(time) |
set_no_event_wait(wait) |

Constants

Signature | Description
COMPILE_INFO |
FINALIZE_PROC_NAME |
RELEASE_DATE |

Added Methods

Signature | Description | Library
_encoding | オリジナルの TclTkLib.encoding | tk
_encoding=(name) | オリジナルの TclTkLib.encoding= | tk
encoding | TkCore::INTERP.encoding を呼び出す | tk
encoding=(name) | TkCore::INTERP.encoding= を呼び出す | tk


module TclTkLib::EventFlag

ancestors: TclTkLib::EventFlag

Abstract

Constants

Signature | Description
ALL |
DONT_WAIT |
FILE |
IDLE |
NONE |
TIMER |
WINDOW |


module TclTkLib::VarAccessFlag

ancestors: TclTkLib::VarAccessFlag

Abstract

Constants

Signature | Description
APPEND_VALUE |
GLOBAL_ONLY |
LEAVE_ERR_MSG |
LIST_ELEMENT |
NAMESPACE_ONLY |
NONE |
PARSE_VARNAME |


class TkCallbackBreak

ancestors: TkCallbackBreak < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TkCallbackContinue

ancestors: TkCallbackContinue < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TkCallbackRedo

ancestors: TkCallbackRedo < TkLocalJumpError < LocalJumpError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception exit_value reason == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TkCallbackRetry

ancestors: TkCallbackRetry < TkLocalJumpError < LocalJumpError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception exit_value reason == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TkCallbackReturn

ancestors: TkCallbackReturn < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TkCallbackThrow

ancestors: TkCallbackThrow < TkLocalJumpError < LocalJumpError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception exit_value reason == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TkLocalJumpError

ancestors: TkLocalJumpError < LocalJumpError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception exit_value reason == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library tempfile

Abstract

テンポラリファイルを操作するためのクラスです

Classes/Modules

class Tempfile

テンポラリファイルを操作するためのクラスです。

Required Libraries

tmpdir

テンポラリディレクトリのためのライブラリです。


class Tempfile

ancestors: Tempfile < File < IO < Enumerable < File::Constants < Object < Kernel

Abstract

テンポラリファイルを操作するためのクラスです。

  • テンポラリファイルを作成します。 ファイルは "w+" モードで "basename.pid.n" という名前になります。
  • Tempfile オブジェクトはFileオブジェクトと同じように使うことができます。
  • Tempfile#close(true) により、作成したテンポラリファイルは削除されます。
  • スクリプトが終了するときにも削除されます。
  • Tempfile#openにより、テンポラリファイルを再オープンすることができます。
  • テンポラリファイルのモードは 0600 です。

Singleton Methods

Signature Description
new(basename, tempdir = Dir::tmpdir) -> Tempfile
open(basename, tempdir = Dir::tmpdir) -> Tempfile
open(basename, tempdir = Dir::tmpdir) {|fp| ...} -> nil

テンポラリファイルを作成し、それを表す Tempfile オブジェクトを生成して返します。 ファイル名のプレフィクスには指定された basename が使われます。 ファイルは指定された tempdir に作られます。 ブロックを指定して呼び出した場合は、Tempfile オブジェクトを引数として ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に クローズされ、 nilをかえします。

Instance Methods

Signature Description
close(real = false) -> nil

テンポラリファイルをクローズします。 real が偽ならば、テンポラリファイルはGCによって削除されます。 そうでなければ、すぐに削除されます。

close! -> nil

テンポラリファイルをクローズし、すぐに削除します。

delete -> self
unlink -> self

テンポラリファイルをクローズせずに、削除します。 UNIXライクなシステムでは、 作成したテンポラリファイルが他のプログラムに使用される機会をなくすために、 テンポラリファイルを作成しオープンした後、 すぐに削除するということがしばしばおこなわれます。

length -> Integer
size -> Integer

テンポラリファイルのサイズを返します。

open -> self

クローズしたテンポラリファイルを再オープンします。 "r+" でオープンされるので、クローズ前の内容を再度読む ことができます。

path -> String | nil

テンポラリファイルのパス名を返します。

Inherited Methods

atime chmod chown ctime flock lstat mtime truncate .atime .basename .blockdev? .catname .chardev? .chmod .chown .cmp .copy .ctime .delete .directory? .dirname .executable? .executable_real? .exist? .exists? .expand_path .extname .file? .fnmatch .ftype .grpowned? .identical? .install .join .lchmod .lchown .link .lstat .makedirs .move .mtime .owned? .pipe? .readable? .readable_real? .readlink .rename .rm_f .setgid? .setuid? .size .size? .socket? .split .stat .sticky? .symlink .symlink? .syscopy .truncate .umask .utime .writable? .writable_real? .zero? ::ALT_SEPARATOR ::PATH_SEPARATOR ::SEPARATOR << binmode bytes chars clone close_read close_write closed? each each_byte eof expect fcntl fileno flush fsync getbyte getc gets ioctl isatty lineno lineno= lines nonblock nonblock= nonblock? pid pos pos= print printf putc puts read read_nonblock readbyte readbytes readchar readline readlines readpartial ready? reopen rewind scanf seek stat sync sync= sysread sysseek syswrite to_io to_ptr ungetc wait write write_nonblock .for_fd .foreach .pipe .popen .read .readlines .select .sysopen ::SEEK_CUR ::SEEK_END ::SEEK_SET == === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library test/unit

Abstract

ユニットテストを行うためのライブラリです。

使い方

Test::Unit は以下のように使います。

まずテスト対象のソース(foo.rb)が必要です。

class Foo
   def foo
     "foo"
   end
   def bar
     "foo"
   end
end

次にユニットテスト(test_foo.rb)を書きます。テストを実行するメソッド(テストメソッド)の名前は 全て test_ で始まる必要があります。テストメソッドが実行される前には setup メソッドが必ず 呼ばれます。実行されたあとには、teardown メソッドが必ず呼ばれます。

require 'test/unit'
require 'foo'

class TC_Foo < Test::Unit::TestCase
  def setup
    @obj = Foo.new
  end

  # def teardown
  # end

  def test_foo
    assert_equal("foo", @obj.foo)
  end
  def test_bar
    assert_equal("bar", @obj.bar)
  end
end

テストを実行するには上で用意した test_foo.rb を実行します。 デフォルトではすべてのテストが実行されます。

$ ruby test_foo.rb

Loaded suite test_foo
Started
F.
Finished in 0.022223 seconds.

  1) Failure!!!
test_bar(TC_Foo) [test_foo.rb:16]:
<bar> expected but was
<foo>

2 tests, 2 assertions, 1 failures, 0 errors

test_bar だけテストしたい場合は以下のようなオプションを与えます。

$ ruby test_foo.rb --name=test_bar

Loaded suite test_foo
Started
F
Finished in 0.019573 seconds.

  1) Failure!!!
test_bar(TC_Foo) [test_foo.rb:16]:
<bar> expected but was
<foo>

1 tests, 1 assertions, 1 failures, 0 errors

gtk を使った testrunner

$ ruby test_foo.rb --runner=gtk --name=test_bar

fox を使う

$ ruby test_foo.rb --runner=fox --name=test_bar

console を使う (default)

$ ruby test_foo.rb --runner=console --name=test_bar

以下のようにすると help も表示されます。

$ ruby test_foo.rb --help

   Usage: test_foo.rb [options] [-- untouched arguments]

       -r, --runner=RUNNER              Use the given RUNNER.
                                        (c[onsole], f[ox], g[tk], g[tk]2, t[k])
       -b, --basedir=DIR                Base directory of test suites.
       -w, --workdir=DIR                Working directory to run tests.
       -n, --name=NAME                  Runs tests matching NAME.
                                        (patterns may be used).
       -t, --testcase=TESTCASE          Runs tests in TestCases matching TESTCASE.
                                        (patterns may be used).
       -v, --verbose=[LEVEL]            Set the output level (default is verbose).
                                        (s[ilent], p[rogress], n[ormal], v[erbose])
           --                           Stop processing options so that the
                                        remaining options will be passed to the
                                        test.
       -h, --help                       Display this help.

複数のテストを一度に行う場合、以下のように書いただけのファイルを実行します。

require 'test/unit'
require 'test_foo.rb'
require 'test_bar.rb'

もう少し高度なテストの実行方法に関しては Test::Unit::AutoRunner を 参照して下さい。

いつテストは実行されるか

上の例では、テストクラスを「定義しただけ」で、テストが実行されています。 これは、Kernel.#at_exit と ObjectSpace.#each_object を使って 実装されています。つまり、上の例ではテストは終了時の後処理として実行されます。

大抵の場合は、これで問題ありません。が、そうでない場合は、 testrb コマンドや Test::Unit::AutoRunner 、各種 TestRunner クラスを使うことにより、 明示的にテストを実行することができます。

Error と Failure の違い

Error

テストメソッド実行中に例外が発生した。

Failure

アサーションに失敗した。

Classes/Modules

module Test::Unit | ユニットテストを行うためのモジュールです。
module Test::Unit::Assertions | 各種の assert メソッドを提供するモジュールです。
class Test::Unit::AutoRunner | テストの実行を操作したいときにこの AutoRunner クラスを使います。 大量のテストの中から特定のテストスクリプトのみを実行したい場合、 特定のテストクラスのみを実行したい場合などに使います。 AutoRunner は Collector::Dir オブジェクトなどの Collector に テストを集めさせて、UI::Console::TestRunner オブジェクトなどの Runner にテストを実行させているクラスです。
class Test::Unit::Error |
class Test::Unit::Failure | Encapsulates a test failure. Created by Test::Unit::TestCase when an assertion fails.
class Test::Unit::TestCase | テストの基本単位(あるいは「テスト本体」)を表すクラスです。 テストを行うメソッド(テストメソッド)は TestCase のサブクラスのインスタンスメソッド として定義されます。テストメソッドの名前は「test」で始まっていなければなりません。 逆に、「test」で始まっているメソッドは全てテストメソッドと見なされます。 各テストメソッドは、Test::Unit::TestCase.suite により Test::Unit::TestSuite オブジェクトへとひとつにまとめられます。
class Test::Unit::TestSuite | 複数のテストをひとつにまとめたクラスです。TestSuite 同士をまとめてひとつの TestSuite にすることもできます。 Test::Unit::TestSuite#run によりまとめたテストを一度に 実行することができます。テストは TestSuite へ加えられた順に実行されます。 自身が TestSuite を含んでいる場合は、再帰的にテストを実行します。
module Test::Unit::UI | 各種 TestRunner を実装するためのモジュールです。
module Test::Unit::UI::TestRunnerUtilities |

Exception Classes

class Test::Unit::AssertionFailedError

アサーションに失敗した時に Test::Unit::Assertions から raise されます。

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testsuite |
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。

Sub-Libraries

test/unit/testresult |
test/unit/ui/console/testrunner | コンソール上でユニットテストを実行し、結果を表示するための ライブラリです。
test/unit/ui/fox/testrunner |
test/unit/ui/gtk/testrunner |
test/unit/ui/gtk2/testrunner |
test/unit/ui/testrunnermediator | 各種 TestRunner を実装するために使われます。
test/unit/ui/tk/testrunner |
test/unit/util/observable |


module Test::Unit

ancestors: Test::Unit

Abstract

ユニットテストを行うためのモジュールです。

Singleton Methods

Signature | Description
run=(flag) | ユニットテストを自動実行したかどうかを指定します。
run? -> bool | ユニットテストを実行したかどうかを返します。 戻り値が false だった場合は、まだユニットテストを実行していない事になります。


library test/unit/assertions

Abstract

Classes/Modules

module Test::Unit::Assertions

各種の assert メソッドを提供するモジュールです。

Exception Classes

class Test::Unit::AssertionFailedError

アサーションに失敗した時に Test::Unit::Assertions から raise されます。


class Test::Unit::AssertionFailedError

ancestors: Test::Unit::AssertionFailedError < StandardError < Exception < Object < Kernel

Abstract

アサーションに失敗した時に Test::Unit::Assertions から raise されます。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module Test::Unit::Assertions

ancestors: Test::Unit::Assertions

Abstract

各種の assert メソッドを提供するモジュールです。

Test::Unit::TestCase に include されて使われます。 test/unit の他のクラスとは独立して、提供されている assert メソッドだけを使うこともできます。 Test::Unit::Assertions#assert_block を使うことにより、新しい assert メソッドを加えることもできます。

assert が失敗した時は、例外 Test::Unit::AssertionFailedError を投げます。 各 assert メソッドの最後の引数 message はテストが失敗したときに表示される メッセージです。

Singleton Methods

Signature | Description
use_pp=(value) | 出力に pp を使用するかどうかを指定します。偽を指定した場合は pp は require されません。

Instance Methods

Signature Description
assert(boolean, message=nil) -> ()

boolean が真ならパスします。

assert_block(message="assert_block failed.") { ... } -> ()

ブロックを実行し、その結果が真ならパスします。

assert_equal(expected, actual, message=nil) -> ()

expected == actual ならばパスします。

assert_in_delta(expected_float, actual_float, delta, message="") -> ()

(expected_float.to_f - actual_float.to_f).abs <= delta.to_f が真ならパスします。

assert_instance_of(klass, object, message="") -> ()

object が klass の直接のインスタンスであるなら、パスします。 Object#instance_of?も参照して下さい。

assert_kind_of(klass, object, message="") -> ()

object.kind_of?(klass) が真ならパスします。

assert_match(pattern, string, message="") -> ()

string =~ pattern が真ならばパスします。

assert_nil(object, message="") -> ()

object が nil ならばパスします。

assert_no_match(regexp, string, message="") -> ()

regexp !~ string が真ならばパスします。

assert_not_equal(expected, actual, message="") -> ()

expected != actual ならばパスします。

assert_not_nil(object, message="") -> ()

object が nil でないならばパスします。

assert_not_same(expected, actual, message="") -> ()

!actual.equal?(expected) が真ならパスします。

assert_nothing_raised(message = "") { ... }
assert_nothing_raised(klass1, klass2, ..., message = "") { ... }

ブロックを実行して例外が起きなければパスします。

assert_nothing_thrown(message="") { ... } -> ()

ブロックを実行して throw が起こらなければパスします。

assert_operator(object1, operator, object2, message="") -> ()

object1.send(operator, object2) が真ならパスします。

assert_raise(klass1, klass2, ..., message = "") { ... } -> object

ブロックを実行して例外が発生し、その例外が klass1, klass2,... のいずれかのクラスのインスタンスならばパスします。

assert_raises(*args, &block) -> object

Test::Unit::Assertions#assert_raise のエイリアスです。

assert_respond_to(object, method, message="") -> ()

object.respond_to?(method) が真ならパスします。

assert_same(expected, actual, message="") -> ()

actual.equal?(expected) が真ならパスします。

assert_send(send_array, message="") -> ()

send_array[0].__send__(send_array[1], *send_array[2..-1]) が真ならパスします。

assert_throws(expected_symbol, message="") { ... } -> ()

ブロックを実行して :expected_symbol が throw されたらパスします。

build_message(head, template=nil, *arguments)

テストが失敗したときに表示されるメッセージを作成します。

flunk(message="Flunked") -> ()

常に失敗します。


library test/unit/autorunner

Abstract

ユニットテストの実行を操作したいときに使います。

Classes/Modules

class Test::Unit::AutoRunner

テストの実行を操作したいときにこの AutoRunner クラスを使います。 大量のテストの中から特定のテストスクリプトのみを実行したい場合、 特定のテストクラスのみを実行したい場合などに使います。 AutoRunner は Collector::Dir オブジェクトなどの Collector に テストを集めさせて、UI::Console::TestRunner オブジェクトなどの Runner にテストを実行させているクラスです。

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testsuite |
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。


class Test::Unit::AutoRunner

ancestors: Test::Unit::AutoRunner < Object < Kernel

Abstract

テストの実行を操作したいときにこの AutoRunner クラスを使います。 大量のテストの中から特定のテストスクリプトのみを実行したい場合、 特定のテストクラスのみを実行したい場合などに使います。 AutoRunner は Collector::Dir オブジェクトなどの Collector に テストを集めさせて、UI::Console::TestRunner オブジェクトなどの Runner にテストを実行させているクラスです。

例

ディレクトリ ./somedir 以下にある全てのテストを実行したい場合は次のようなファイル(runner.rb)を用意して実行します。テストは test_*.rb というファイル名である必要があります。

第一引数に true を与えると、./somedir 以下にある全てのテストを実行します。

require 'test/unit'
Test::Unit::AutoRunner.run(true, './somedir')

単に実行します。

$ ruby runner.rb

ディレクトリ ./somedir 以下にあるテストをファイル somefile を除いて実行したい場合は次のように runner.rb にオプションを与えます。

$ ruby runner.rb --exclude=somefile

同じことは、runner.rb に直接オプションを書いても実現できます。

require 'test/unit'
Test::Unit::AutoRunner.run(true, './somedir', ['--exclude=somefile'])

上のやり方では拡張子が .rb のファイルしか集めません。拡張子が .rbx のファイルも テストとして集めたい場合は次のようにします。

require 'test/unit'
Test::Unit::AutoRunner.run(true, './somedir', ['--pattern=/test_.*\.rbx\Z/'])

Singleton Methods

Signature | Description
run(force_standalone = false, dir = '.', argv = ARGV) -> bool | テストを実行します。全てのテストが成功した場合、true を返します。そうでない場合は、 false を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library test/unit/testcase

Abstract

Classes/Modules

class Test::Unit::Error |
class Test::Unit::Failure | Encapsulates a test failure. Created by Test::Unit::TestCase when an assertion fails.
class Test::Unit::TestCase | テストの基本単位(あるいは「テスト本体」)を表すクラスです。 テストを行うメソッド(テストメソッド)は TestCase のサブクラスのインスタンスメソッド として定義されます。テストメソッドの名前は「test」で始まっていなければなりません。 逆に、「test」で始まっているメソッドは全てテストメソッドと見なされます。 各テストメソッドは、Test::Unit::TestCase.suite により Test::Unit::TestSuite オブジェクトへとひとつにまとめられます。

Required Libraries

test/unit/assertions
test/unit/testsuite


class Test::Unit::Error

ancestors: Test::Unit::Error < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(test_name, exception) | Creates a new Error with the given test_name and exception.

Instance Methods

Signature | Description
long_display | Returns a verbose version of the error description.
message | Returns the message associated with the error.
short_display | Returns a brief version of the error description.
single_character_display | Returns a single character representation of an error.
to_s | Overridden to return long_display.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Test::Unit::Failure

ancestors: Test::Unit::Failure < Object < Kernel

Abstract

Encapsulates a test failure. Created by Test::Unit::TestCase when an assertion fails.

Singleton Methods

Signature | Description
new(test_name, location, message) | Creates a new Failure with the given location and message.

Instance Methods

Signature | Description
long_display | Returns a verbose version of the error description.
short_display | Returns a brief version of the error description.
single_character_display | Returns a single character representation of a failure.
to_s | Overridden to return long_display.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class Test::Unit::TestCase

ancestors: Test::Unit::TestCase < Test::Unit::Assertions < Object < Kernel

Abstract

テストの基本単位(あるいは「テスト本体」)を表すクラスです。 テストを行うメソッド(テストメソッド)は TestCase のサブクラスのインスタンスメソッド として定義されます。テストメソッドの名前は「test」で始まっていなければなりません。 逆に、「test」で始まっているメソッドは全てテストメソッドと見なされます。 各テストメソッドは、Test::Unit::TestCase.suite により Test::Unit::TestSuite オブジェクトへとひとつにまとめられます。

require 'test/unit'
require 'test/unit/ui/console/testrunner'

class TC_String < Test::Unit::TestCase
  def test_size
    assert_equal('abc'.size, 3)
  end

  def test_concat
    assert_raise(TypeError) do
      'abc' + 1
    end
  end
end

suite = TC_String.suite
Test::Unit::UI::Console::TestRunner.run(suite)

各 TestCase オブジェクトは、ひとつのテストメソッドに対応しています。テストが実行される時には、 テストメソッドの数だけ TestCase オブジェクトが生成されます。

Ties everything together. If you subclass and add your own test methods, it takes care of making them into tests and wrapping those tests into a suite. It also does the nitty-gritty of actually running an individual test and collecting its results into a Test::Unit::TestResult object.

Singleton Methods

Signature | Description
new(test_method_name) -> Test::Unit::TestCase | このメソッドをユーザが直接呼ぶことはありません。
suite -> Test::Unit::TestSuite | 「test」ではじまるインスタンスメソッド全てに対して、それぞれに対応する TestCase オブジェクトを生成し、Test::Unit::TestSuite オブジェクト としてまとめたものを返します。

Instance Methods

Signature | Description
default_test -> () | 常に失敗するテストです。
method_name -> String | 自身に対応しているテストメソッドの名前を文字列で返します。
name -> String | 自身に対応しているテストメソッドの名前を人間が読みやすい形式で返します。
run(result) {|STARTED, name| ...} | このメソッドをユーザが直接呼ぶことはありません。
setup -> () | 各テストメソッドが呼ばれる前に必ず呼ばれます。
size -> Integer | 常に 1 を返します。
teardown -> () | 各テストメソッドが呼ばれた後に必ず呼ばれます。

Private Instance Methods

Signature | Description
passed? -> bool | テストが成功したなら、true を返します。そうでないなら、false を返します。 Test::Unit::TestCase#teardown の中で使うことを意図されています。 テスト実行前に何を返すかは不定です。

Constants

Signature | Description
PASSTHROUGH_EXCEPTIONS | Test::Unit::TestCase#run の実行時に rescue されない例外の一覧です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library test/unit/testresult

Abstract

Classes/Modules

class Test::Unit::TestResult

テストの結果を保持するためのクラスです。

Required Libraries

test/unit/util/observable


class Test::Unit::TestResult

ancestors: Test::Unit::TestResult < Test::Unit::Util::Observable < Object < Kernel

Abstract

テストの結果を保持するためのクラスです。

Test::Unit::Failure オブジェクトと Test::Unit::Error オブジェクトを 集めて、ユーザに表示するために使われます。

Singleton Methods

Signature | Description
new -> Test::Unit::TestResult | このメソッドをユーザが直接呼ぶことはありません。

Instance Methods

Signature | Description
assertion_count -> Integer | 今までに実行を記録した assert の数を返します。
error_count -> Integer | 今までに記録したテストのエラーの数を返します。
failure_count -> Integer | 今までに記録した失敗したテストの数を返します。
passed? -> bool | すべてのテストが成功したなら true を返します。 そうでないなら false を返します。
run_count -> Integer | 今までに実行を記録したテストメソッドの数を返します。
to_s -> String | 実行したテストメソッドの数と assert の数、テストの失敗・エラーそれぞれの回数を 人間が読みやすい文字列にして返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library test/unit/testsuite

Abstract

Classes/Modules

class Test::Unit::TestSuite

複数のテストをひとつにまとめたクラスです。TestSuite 同士をまとめてひとつの TestSuite にすることもできます。 Test::Unit::TestSuite#run によりまとめたテストを一度に 実行することができます。テストは TestSuite へ加えられた順に実行されます。 自身が TestSuite を含んでいる場合は、再帰的にテストを実行します。


class Test::Unit::TestSuite

ancestors: Test::Unit::TestSuite < Object < Kernel

Abstract

複数のテストをひとつにまとめたクラスです。TestSuite 同士をまとめてひとつの TestSuite にすることもできます。 Test::Unit::TestSuite#run によりまとめたテストを一度に 実行することができます。テストは TestSuite へ加えられた順に実行されます。 自身が TestSuite を含んでいる場合は、再帰的にテストを実行します。

Singleton Methods

Signature | Description
new(name = "Unnamed TestSuite") -> Test::Unit::TestSuite | TestSuite のインスタンスを生成して返します。

Instance Methods

Signature | Description
self << test -> self | 自身にテストを加えます。self を返します。
self == other -> bool | It's handy to be able to compare TestSuite instances.
delete(test) -> () | test と等しいもの全てを自身から削除します。test と等しい要素が見つかった場合は、testを返します。 test と等しいものがなければ nil を返します
empty? -> bool | 実行すべきテストが空なら true を返します。そうでないなら false を返します。
name -> String |
run(result) {|STARTED, name| ...} -> () | このメソッドをユーザが直接呼ぶことはありません。
size -> Integer | 実行するテストの総数を返します。 もし自身が他の TestSuite を含んでいる場合は、その TestSuite が 持っているテストを再帰的に合計した数を返します。
tests -> [ Test::Unit::TestSuite | Test::Unit::TestCase ] |
to_s -> String | Overridden to return the name given the suite at creation.

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library test/unit/ui/console/testrunner

Abstract

コンソール上でユニットテストを実行し、結果を表示するための ライブラリです。

Classes/Modules

class Test::Unit::UI::Console::TestRunner

コンソール上でユニットテストを実行し、結果を表示するための クラスです。

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testresult |
test/unit/testsuite |
test/unit/ui/testrunnermediator | 各種 TestRunner を実装するために使われます。
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。
test/unit/util/observable |


class Test::Unit::UI::Console::TestRunner

ancestors: Test::Unit::UI::Console::TestRunner < Object < Kernel
extend: Test::Unit::UI::TestRunnerUtilities

Abstract

コンソール上でユニットテストを実行し、結果を表示するための クラスです。

Singleton Methods

Signature | Description
new(suite, output_level=NORMAL, io=STDOUT) | TestRunner オブジェクトを生成して返します。

Instance Methods

Signature | Description
start -> Test::Unit::TestResult | テストを実行し、生成時に与えられた io に結果を出力します。 テスト結果を保持した Test::Unit::TestResult オブジェクトを返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint run start_command_line_test


library test/unit/ui/fox/testrunner

Abstract

Classes/Modules

class Test::Unit::UI::Fox::TestRunner

Runs a Test::Unit::TestSuite in a Fox UI. Obviously, this one requires you to have Fox (www.fox-toolkit.org/fox.html) and the Ruby Fox extension (fxruby.sourceforge.net/) installed.

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testresult |
test/unit/testsuite |
test/unit/ui/testrunnermediator | 各種 TestRunner を実装するために使われます。
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。
test/unit/util/observable |


class Test::Unit::UI::Fox::TestRunner

ancestors: Test::Unit::UI::Fox::TestRunner < Object < Kernel
extend: Test::Unit::UI::TestRunnerUtilities

Abstract

Runs a Test::Unit::TestSuite in a Fox UI. Obviously, this one requires you to have Fox (www.fox-toolkit.org/fox.html) and the Ruby Fox extension (fxruby.sourceforge.net/) installed.

Singleton Methods

Signature | Description
new(suite, output_level = NORMAL) |

Instance Methods

Signature | Description
start() |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint run start_command_line_test


library test/unit/ui/gtk/testrunner

Abstract

Classes/Modules

class Test::Unit::UI::GTK::TestRunner

Runs a Test::Unit::TestSuite in a Gtk UI. Obviously, this one requires you to have Gtk (www.gtk.org/) and the Ruby Gtk extension (ruby-gnome.sourceforge.net/) installed.

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testresult |
test/unit/testsuite |
test/unit/ui/testrunnermediator | 各種 TestRunner を実装するために使われます。
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。
test/unit/util/observable |


class Test::Unit::UI::GTK::TestRunner

ancestors: Test::Unit::UI::GTK::TestRunner < Object < Kernel
extend: Test::Unit::UI::TestRunnerUtilities

Abstract

Runs a Test::Unit::TestSuite in a Gtk UI. Obviously, this one requires you to have Gtk (www.gtk.org/) and the Ruby Gtk extension (ruby-gnome.sourceforge.net/) installed.

Singleton Methods

Signature | Description
new(suite, output_level = NORMAL) |

Instance Methods

Signature | Description
start() |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint run start_command_line_test


library test/unit/ui/gtk2/testrunner

Abstract

Classes/Modules

class Test::Unit::UI::GTK2::TestRunner

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testresult |
test/unit/testsuite |
test/unit/ui/testrunnermediator | 各種 TestRunner を実装するために使われます。
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。
test/unit/util/observable |


class Test::Unit::UI::GTK2::TestRunner

ancestors: Test::Unit::UI::GTK2::TestRunner < Object < Kernel
extend: Test::Unit::UI::TestRunnerUtilities

Abstract

Singleton Methods

Signature | Description
new(suite, output_level = NORMAL) |

Instance Methods

Signature | Description
start() |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint run start_command_line_test


library test/unit/ui/testrunnermediator

Abstract

各種 TestRunner を実装するために使われます。

Unit テストを行いたいだけのユーザが、このライブラリを require する 必要はありません。

Classes/Modules

class Test::Unit::UI::TestRunnerMediator

各種 TestRunner を実装するためのクラスです。

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testresult |
test/unit/testsuite |
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。
test/unit/util/observable |


class Test::Unit::UI::TestRunnerMediator

ancestors: Test::Unit::UI::TestRunnerMediator < Test::Unit::Util::Observable < Object < Kernel

Abstract

各種 TestRunner を実装するためのクラスです。

Singleton Methods

Signature | Description
initialize(suite) | 新しく TestRunnerMediator オブジェクトを生成して返します。

Instance Methods

Signature | Description
run_suite | 生成時に与えられた Test::Unit::TestSuite が保持しているテストを実行します。 実行結果を表す Test::Unit::TestResult オブジェクトを返します。

Private Instance Methods

Signature | Description
create_result | A factory method to create the result the mediator should run with. Can be overridden by subclasses if one wants to use a different result.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new add_listener notify_listeners remove_listener


library test/unit/ui/testrunnerutilities

Abstract

各種 TestRunner を実装するために使われます。

Unit テストを行いたいだけのユーザが、このライブラリを require する 必要はありません。

Classes/Modules

module Test::Unit::UI | 各種 TestRunner を実装するためのモジュールです。
module Test::Unit::UI::TestRunnerUtilities |


module Test::Unit::UI

ancestors: Test::Unit::UI

Abstract

各種 TestRunner を実装するためのモジュールです。

Constants

Signature Description
SILENT
PROGRESS_ONLY
NORMAL
VERBOSE


module Test::Unit::UI::TestRunnerUtilities

ancestors: Test::Unit::UI::TestRunnerUtilities

Abstract

Instance Methods

Signature | Description
run(suite, output_level=NORMAL) -> Test::Unit::TestResult | 新しく TestRunner を生成して、与えられた TestSuite のテストを実行します。
start_command_line_test -> Test::Unit::TestResult | Takes care of the ARGV parsing and suite determination necessary for running one of the TestRunners from the command line.


library test/unit/ui/tk/testrunner

Abstract

Classes/Modules

class Test::Unit::UI::Tk::TestRunner

Runs a Test::Unit::TestSuite in a Tk UI. Obviously, this one requires you to have Tk and the Ruby Tk extension installed.

Required Libraries

test/unit | ユニットテストを行うためのライブラリです。
test/unit/assertions |
test/unit/autorunner | ユニットテストの実行を操作したいときに使います。
test/unit/testcase |
test/unit/testresult |
test/unit/testsuite |
test/unit/ui/testrunnermediator | 各種 TestRunner を実装するために使われます。
test/unit/ui/testrunnerutilities | 各種 TestRunner を実装するために使われます。
test/unit/util/observable |


class Test::Unit::UI::Tk::TestRunner

ancestors: Test::Unit::UI::Tk::TestRunner < Object < Kernel
extend: Test::Unit::UI::TestRunnerUtilities

Abstract

Runs a Test::Unit::TestSuite in a Tk UI. Obviously, this one requires you to have Tk and the Ruby Tk extension installed.

Singleton Methods

Signature | Description
new(suite, output_level = NORMAL) |

Instance Methods

Signature | Description
start() |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint run start_command_line_test


library test/unit/util/observable

Abstract

Classes/Modules

module Test::Unit::Util::Observable

This is a utility class that allows anything mixing it in to notify a set of listeners about interesting events.


module Test::Unit::Util::Observable

ancestors: Test::Unit::Util::Observable

Abstract

This is a utility class that allows anything mixing it in to notify a set of listeners about interesting events.

Instance Methods

Signature | Description
add_listener(channel_name, listener_key=NOTHING, &listener) | Adds the passed proc as a listener on the channel indicated by channel_name. listener_key is used to remove the listener later; if none is specified, the proc itself is used.
notify_listeners(channel_name, *arguments) | Calls all the procs registered on the channel indicated by channel_name. If value is specified, it is passed in to the procs, otherwise they are called with no arguments.
remove_listener(channel_name, listener_key) | Removes the listener indicated by listener_key from the channel indicated by channel_name. Returns the registered proc, or nil if none was found.


library thread

Abstract

スレッド間キューや状態変数(condition variable)を提供するライブラリです。

このライブラリはThreadを拡張します．rubyインタプリタを デバッグオプション付き($DEBUGを真)で実行したときには， Thread.abort_on_exceptionをtrueにします

Classes/Modules

class ConditionVariable | スレッドの同期機構の一つである状態変数を実現するクラスです。
class Mutex | Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(mを Mutexオブジェクトとします):
class Queue | Queueはスレッド間のFIFO(first in first out)の通信路です。ス レッドが空のqueueを読み出そうとすると停止します。queueになんら かの情報が書き込まれると実行は再開されます。
class SizedQueue | サイズの最大値を指定できる Queue です。

Added/Redefined Methods

Thread.exclusive


class ConditionVariable

ancestors: ConditionVariable < Object < Kernel

Abstract

スレッドの同期機構の一つである状態変数を実現するクラスです。

以下も ConditionVariable を理解するのに参考になります。

http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_threads.html#UF

Condition Variable とは

あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。 なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが できません。リソースを空けることもできません。スレッド A がリソースの空きを 待っていても、いつまでも空くことはありません。

以上のような状況を解決するのが Condition Variable です。

スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで スレッドを止めます。他のスレッド b において条件が満たされたなら signal メソッドでスレッド a に対して条件が成立したことを通知します。これが典型^な 使用例です。

mutex = Mutex.new
cv = ConditionVariable.new

a = Thread.start {
    mutex.synchronize {
      ...
      while (条件が満たされない)
        cv.wait(mutex)
      end
      ...
    }
}

b = Thread.start {
    mutex.synchronize {
      # 上の条件を満たすための操作
      cv.signal
    }
}

以下は [ruby-list:14445] で紹介されている例です。@q が空になった場合、 あるいは満たんになった場合に Condition Variable を使って wait しています。

require 'thread'

class TinyQueue
  def initialize(max=2)
    @max = max
    @full = ConditionVariable.new
    @empty = ConditionVariable.new
    @mutex = Mutex.new
    @q = []
  end

  def count
    @q.size
  end

  def enq(v)
    @mutex.synchronize{
      @full.wait(@mutex) if count == @max
      @q.push v
      @empty.signal if count == 1
    }
  end

  def deq
    @mutex.synchronize{
      @empty.wait(@mutex) if count == 0
      v = @q.shift
      @full.signal if count == (@max - 1)
      v
    }
  end

  alias send enq
  alias recv deq
end

if __FILE__ == $0
  q = TinyQueue.new(1)
  foods = 'Apple Banana Strawberry Udon Rice Milk'.split
  l = []

  th = Thread.new {
    for obj in foods
      q.send(obj)
      print "sent ", obj, "\n"
    end
    q.send nil
  }

  l.push th

  th = Thread.new {
    while obj = q.recv
      print "recv ", obj, "\n"
    end
  }
  l.push th

  l.each do |t|
    t.join
  end
end

実行すると以下のように出力します。

$ ruby condvar.rb
sent Apple
recv Apple
sent Banana
recv Banana
sent Strawberry
recv Strawberry
sent Udon
recv Udon
sent Rice
recv Rice
sent Milk
recv Milk

Singleton Methods

Signature | Description
new | 状態変数を生成して返します。

Instance Methods

Signature | Description
broadcast | 状態変数を待っているスレッドをすべて再開します。再開された スレッドは ConditionVariable#wait で指定した mutex のロックを試みます。
signal | 状態変数を待っているスレッドを1つ再開します。再開された スレッドは ConditionVariable#wait で指定した mutex のロックを試みます。
wait(mutex) | mutex のロックを解放し、カレントスレッドを停止します。 ConditionVariable#signalまたは、 ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Mutex

ancestors: Mutex < Object < Kernel

Abstract

Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(mを Mutexオブジェクトとします):

m.lock
begin
  # mによって保護されたクリティカルセクション
ensure
  m.unlock
end

または、より簡単に

m.synchronize {
  # mによって保護されたクリティカルセクション
}

Singleton Methods

Signature | Description
new | 新しい mutex を生成して返します。

Instance Methods

Signature | Description
exclusive_unlock { ... } | ロックを解放し、ロック待ちになっているスレッドを実行可能状態に した後、ブロックを実行します。
lock | mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
locked? | mutex がロックされている時、真を返します。
synchronize { ... } | mutex をロックし、ブロックを実行します。実行後に必ず mutex のロッ クを解放します。
try_lock | mutex をロックしようとして、ロックが成功した場合、真を返しま す。ロックできなかった場合にはブロックせず偽を返します。
unlock -> self | nil | mutex のロックを解放します。mutex のロック待ちになっていたスレッ ドの実行は再開されます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Queue

ancestors: Queue < Object < Kernel

Abstract

Queueはスレッド間のFIFO(first in first out)の通信路です。ス レッドが空のqueueを読み出そうとすると停止します。queueになんら かの情報が書き込まれると実行は再開されます。

最大サイズが指定できるQueueのサブクラスSizedQueueも提供されています。

例

require 'thread'

q = Queue.new

th1 = Thread.start do
  while resource = q.pop
    puts resource
  end
end

[:resource1, :resource2, :resource3, nil].each{|r|
  q.push(r)
}

th1.join

実行すると以下のように出力します。

$ ruby que.rb
resource1
resource2
resource3

Singleton Methods

Signature | Description
new | 新しいqueueオブジェクトを生成します。

Instance Methods

Signature Description
push(value)
self << value
enq(value)

queue の値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

clear

queue を空にします。返り値は不定です。

pop(non_block = false)
shift(non_block = false)
deq(non_block = false)

queueからひとつ値を取り出します。queueが空の時、呼出元のスレッ ドは停止します。non_block に true を与えると、 queueが空の時に例外 ThreadError が発生します。

empty?

queueが空の時、真を返します。

length
size

queueの長さを返します。

num_waiting

queue を待っているスレッドの数を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class SizedQueue

ancestors: SizedQueue < Queue < Object < Kernel

Abstract

サイズの最大値を指定できる Queue です。

例

[ruby-list:283]より。q をサイズ 1 の SizedQueue オブジェクトに することによって、入力される行と出力される行が同じ順序になります。 q = [] にすると入力と違った順序で行が出力されます。

require 'thread'

q = SizedQueue.new(1)

th = Thread.start {
  while line = q.pop
    print line
  end
}

while l = gets
  q.push(l)
end
q.push(l)

th.join

Singleton Methods

Signature | Description
new(max) | SizedQueue オブジェクトを生成します。 max は queue のサイズの最大値です。

Instance Methods

Signature Description
max
max=(n)

queue の最大サイズを設定します。

pop

queue からひとつ値を取り出します。 queue に push しようと待っているスレッドがあれば、実行を再開させます。

push(obj)

queue に obj を追加します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint << clear deq empty? length num_waiting


library thwait

Abstract

複数スレッドの終了を待つ機能を提供します。

Classes/Modules

class ThreadsWait

複数スレッドの終了を待つ機能を提供します。

Exception Classes

class ThreadsWait::ErrNoFinishedThread | nonblock がtrue でかつ、キューが空の時、発生します。
class ThreadsWait::ErrNoWaitingThread | 終了を待つスレッドが存在しない時、発生します。


class ThreadsWait

ancestors: ThreadsWait < Object < Kernel
extend: Exception2MessageMapper

Abstract

複数スレッドの終了を待つ機能を提供します。

Singleton Methods

Signature Description
all_waits(*threads) -> ()
all_waits(*threads) {|thread| ...} -> ()

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

new(*threads) -> ThreadsWait

指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。

Instance Methods

Signature | Description
all_waits -> () | 指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
empty? -> bool | 同期されるスレッドが存在するならば true をかえします。
finished? -> bool | すでに終了したスレッドが存在すれば true を返します。
join(*threads) -> () | 終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。
join_nowait(*threads) -> () | 終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。 しかし、実際には終了をまちません。
next_wait(nonblock = nil) -> Thread | 指定したスレッドのどれかが終了するまで待ちます。
threads -> Array | 同期されるスレッドの一覧を配列で返します。

Inherited Methods

Fail def_e2message def_exception fail == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class ThreadsWait::ErrNoFinishedThread

ancestors: ThreadsWait::ErrNoFinishedThread < StandardError < Exception < Object < Kernel

Abstract

nonblock がtrue でかつ、キューが空の時、発生します。

@see ThreadsWait#next_wait

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class ThreadsWait::ErrNoWaitingThread

ancestors: ThreadsWait::ErrNoWaitingThread < StandardError < Exception < Object < Kernel

Abstract

終了を待つスレッドが存在しない時、発生します。

@see ThreadsWait#next_wait

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library time

Abstract

組み込みの Time クラスを拡張します。 日時を表す文字列をパースして Time オブジェクトに変換したり、 逆に Time オブジェクトを RFC などで定められた文字列に 変換する機能を提供します。

  • date-time は [RFC2822] で定義されています。
  • HTTP-date は [RFC2616] で定義されています。
  • dateTime は XML Schema Part 2: Datatypes (ISO 8601) で定義されています。
  • 文字列から Time オブジェクトへの変換では parsedate により様々な形式を扱えます。

Added/Redefined Methods

Time#httpdate Time#iso8601 Time#rfc2822 Time.httpdate Time.iso8601 Time.parse Time.rfc2822


library timeout

Abstract

タイムアウトを行うライブラリです。

Classes/Modules

module Timeout

タイムアウトを行うためのモジュールです。

Exception Classes

class Timeout::Error | timeout で定義される例外クラスです。 関数 timeout がタイムアウトすると発生します。
class TimeoutError | Timeout::Errorの別名です。

Added/Redefined Methods

Kernel#timeout


module Timeout

ancestors: Timeout

Abstract

タイムアウトを行うためのモジュールです。

Module Functions

Signature | Description
timeout(sec, exception_class = nil) {|i| ... } | ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。 exception_class を指定した場合には Timeout::Error の代わりに その例外が発生します。 ブロックパラメータ i は sec がはいります。


class Timeout::Error

ancestors: Timeout::Error < Interrupt < SignalException < Exception < Object < Kernel

Abstract

timeout で定義される例外クラスです。 関数 timeout がタイムアウトすると発生します。

timeout を使うライブラリを作成する場合は、ユーザが指定した timeout を捕捉しないようにライブラリ内で TimeoutError のサブクラスを 定義して使用した方が無難です。

==> foo.rb <==
require 'timeout.rb'
class Foo
  FooTimeoutError = Class.new(TimeoutError)
  def longlongtime_method
    timeout(100, FooTimeoutError) {
       ...
    }
  end
end

==> main.rb <==
require 'foo'
timeout(5) {
  Foo.new.longlongtime_method
}

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class TimeoutError

ancestors: TimeoutError < Interrupt < SignalException < Exception < Object < Kernel

Abstract

Timeout::Errorの別名です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library tk

Abstract

tkを用いてGUIアプリケーションを作成するためのライブラリです。

  • multi-tk 複数の Tcl インタープリタをサポートする Ruby/Tk [ruby-dev:20949]
  • tcltk Tcl/Tk ライブラリ tk とは異なり直接 Tcl/Tk を呼び出すインタフェース)
  • tk Ruby/Tk http://ns103.net/~arai/ruby/rubytk.html.gz を参照のこと

参考

  • [[unknown:RubyTkFAQ]]
  • "Rubyist Magazine - 0003-Ruby/Tk の動向"http://jp.rubyist.net/magazine/?0003-RubyTkMovement

Classes/Modules

class TclTkIp |
module TclTkLib |
module TclTkLib::EventFlag |
module TclTkLib::VarAccessFlag |
module Tk |
class Tk::BinaryString |
module Tk::Clock |
class Tk::EncodedString |
module Tk::Encoding |
module Tk::ItemValidateConfigure |
class Tk::OptionObj |
module Tk::Scrollable |
class Tk::UTF8_String |
module Tk::ValidateConfigure |
module Tk::Wm |
module Tk::X_Scrollable |
module Tk::Y_Scrollable |
class TkAfter |
module TkBgError |
module TkBindCore |
class TkBindTag |
class TkBindTagAll |
class TkBitmapImage |
class TkButton |
class TkCallbackEntry |
class TkCanvas |
module TkCanvasItemConfig |
class TkCheckButton |
class TkCheckbutton |
module TkClipboard |
module TkComm |
module TkComposite |
module TkConfigMethod |
module TkConsole |
module TkCore |
object TkCore::INTERP | INTERP は TclTkIp のインスタンス。
class TkCore::Tk_OBJECT_TABLE |
class TkDatabaseClass |
class TkDialog |
class TkDialogObj |
class TkEntry |
module TkEvent |
class TkEvent::Event |
module TkEvent::Event::Grp |
module TkEvent::Event::StateMask |
module TkEvent::Event::TypeNum |
class TkFont | extend TkFont::CoreMethods
module TkFont::CoreMethods |
class TkFont::DescendantFont |
class TkFrame |
module TkGrid | ウィジェットを配置するためのモジュールです。 このモジュールにより、ウィジェットは格子状に配置されます。
class TkImage |
module TkItemConfigMethod |
module TkItemConfigOptkeys |
module TkItemFontOptkeys |
class TkKernel |
module TkKinput |
class TkLabel |
class TkLabelFrame |
module TkListItemConfig |
class TkListbox | リストボックスウィジェットのクラスです。 リストボックスウィジェットは項目の一覧を表すウィジェットです。
module TkMacResource |
module TkManageFocus |
class TkMenu |
class TkMenuClone |
module TkMenuEntryConfig |
module TkMenuSpec |
class TkMenubar |
class TkMenubutton |
class TkMessage |
class TkMsgCatalog |
class TkNamedVirtualEvent |
class TkNamespace |
class TkNamespace::Ensemble |
class TkNamespace::NsCode |
class TkNamespace::ScopeArgs |
class TkObject |
module TkOptionDB |
module TkOptionDB::Priority |
class TkOptionMenubutton |
class TkOptionMenubutton::OptionMenu |
module TkPack | ウィジェットを配置するためのモジュールです。 このモジュールにより、ウィジェットは空き領域を順次詰めるように配置されます。
class TkPackage |
module TkPalette | extend Tk
class TkPanedWindow |
class TkPhotoImage |
module TkPlace |
class TkRTTimer |
class TkRadioButton | ラジオボタンウィジェットのクラスです。 ラジオボタンは、複数の選択項目のうちの1つを選択するウィジェットです。
class TkRoot |
class TkScale |
class TkScrollbar |
module TkSelection |
class TkSpinbox |
class TkSpinbox::SpinCommand |
class TkSpinbox::SpinCommand::ValidateArgs |
class TkSysMenu_Apple |
class TkSysMenu_Help |
class TkSysMenu_System |
module TkSystemMenu |
class TkText |
module TkText::IndexModMethods |
class TkText::IndexString |
class TkText::Peer |
class TkTextImage |
class TkTextMark |
class TkTextMarkAnchor |
class TkTextMarkCurrent |
class TkTextMarkInsert |
class TkTextNamedMark |
class TkTextNamedTag |
class TkTextTag |
module TkTextTagConfig |
class TkTextTagSel |
class TkTextWin |
class TkTextWindow |
class TkTimer |
class TkToplevel |
module TkTreatFont |
module TkTreatItemFont |
module TkTreatTagFont |
module TkUtil |
class TkUtil::CallbackSubst |
class TkValidateCommand | include TkComm
class TkValidateCommand::ValidateArgs |
module TkValidation |
class TkValidation::ValidateCmd |
module TkValidation::ValidateCmd::Action |
class TkVarAccess | Tclライブラリなどで既に定義されている変数にアクセスするためのクラスで す。((-Tclのスコープを意識して利用しないとうまくアクセスできないと思わ れる。また、現状Tclの配列にはアクセスすることはできない-))
class TkVariable | Tclの変数をアクセスするためのクラスです。 ((-Tclの配列としての振る舞いは仕様が不安定のようです-))
class TkVirtualEvent |
class TkVirtualEvent::PreDefVirtEvent |
class TkWarning |
class TkWarningObj |
module TkWinDDE |
module TkWinRegistry |
class TkWindow |
module TkWinfo |
module TkXIM |
class TkXScrollbar |
class TkYScrollbar |
class TkcArc |
class TkcBitmap |
class TkcGroup |
class TkcImage |
class TkcItem | include TkcTagAccess
class TkcLine |
class TkcOval |
class TkcPolygon |
class TkcRectangle |
class TkcTag |
module TkcTagAccess |
class TkcTagAll |
class TkcTagCurrent |
class TkcTagString |
class TkcText |
class TkcWindow |
class Tkutil::CallbackSubst::Info |

Exception Classes

class TkCallbackBreak
class TkCallbackContinue
class TkCallbackRedo
class TkCallbackRetry
class TkCallbackReturn
class TkCallbackThrow
class TkLocalJumpError

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |

Sub-Libraries

multi-tk |
remote-tk |
tk/after |
tkafter |
tkbgerror |
tkcanvas |
tkclass |
tkconsole |
tkdialog |
tkentry |
tkextlib/blt | BLT support
tkextlib/bwidget |
tkextlib/ICONS | ICONS support
tkextlib/itcl |
tkextlib/itk |
tkextlib/iwidgets |
tkextlib/pkg_checker | Ruby/Tk extension library checker
tkextlib/tcllib |
tkextlib/tclx |
tkextlib/tile |
tkextlib/tkDND |
tkextlib/tkHTML |
tkextlib/tkimg |
tkextlib/tktable |
tkextlib/tktrans |
tkextlib/treectrl |
tkextlib/vu |
tkextlib/winico |
tkfont |
tkmacpkg |
tkmenubar |
tkmngfocus |
tkpalette |
tkscrollbox |
tktext |
tkvirtevent |
tkwinpkg |

Added/Redefined Methods

TclTkIp#__eval TclTkIp#__fromUTF8 TclTkIp#__invoke TclTkIp#__toUTF8 TclTkIp#_ip_id_ TclTkIp#encoding TclTkIp#encoding= TclTkLib._encoding TclTkLib._encoding= TclTkLib.encoding TclTkLib.encoding=


module Tk

ancestors: Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk, Tk::Encoding

Abstract

Singleton Methods

Signature | Description
add_kinsoku(chars, mode = 'both') |
bell(nice = false) |
bell_on_display(win, nice = false) |
const_missing(sym) |
current_grabs(win = nil) |
delete_kinsoku(chars, mode = 'both') |
destroy(*wins) |
errorCode |
errorInfo |
exit |
focus(display = nil) |
focus_lastfor(win) |
focus_next(win) |
focus_prev(win) |
focus_to(win, force = false) |
fromUTF8(str, encoding = nil) |
grid(*args) |
grid_forget(*args) |
has_mainwindow? |
load_tcllibrary(file, pkg_name = Tk::None, interp = Tk::None) |
load_tclscript(file, enc = nil) |
lower_window(win, below = Tk::None) |
pack(*args) |
pack_forget(*args) |
pkgconfig_get(mod, key) |
pkgconfig_list(mod) |
place(*args) |
place_forget(*args) |
raise_window(win, above = Tk::None) |
show_kinsoku(mode = 'both') |
strictMotif(mode = Tk::None) |
subst_tk_backslash(str) |
subst_utf_backslash(str) |
tcl_pkgconfig_get |
tcl_pkgconfig_list(key) |
thread_update(idle = nil) |
thread_update_idletasks |
tk_pkgconfig_get(key) |
tk_pkgconfig_list |
toUTF8(str, encoding = nil) |
to_backslash_sequence(str) |
ungrid(*args) |
unload_tcllibrary(*args) |
unpack(*args) |
unplace(*args) |
update(idle = nil) |
update_idletasks |
utf_to_backslash(str) |
utf_to_backslash_sequence(str) |

Instance Methods

Signature | Description
root |
update(idle = nil) | only for backward compatibility (This never be recommended to use)

Constants

Signature | Description
AUTO_PATH |
JAPANIZED_TK |
LIBRARY_PATH |
PACKAGE_PATH |
TCL_LIBRARY_PATH |
TCL_MAJOR_VERSION |
TCL_MINOR_VERSION |
TCL_PACKAGE_PATH |
TCL_PATCHLEVEL |
TCL_PRECISION |
TCL_VERSION |
TK_MAJOR_VERSION |
TK_MINOR_VERSION |
TK_PATCHLEVEL |
TK_VERSION |
Tkextlib_RELEASE_DATE |

Inherited Methods

bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE

Added Methods

Signature Description Library
BinaryString(str)

Tk::BinaryString.new と同じ

tk/autoload
EncodedString(str, enc = nil)

Tk::EncodedString.new と同じ

tk/autoload
UTF8_String(str)

Tk::UTF8_String.new と同じ

tk/autoload


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk::Encoding

module Tk::Encoding

ancestors: Tk::Encoding

Abstract


module TkBindCore

ancestors: TkBindCore

Abstract

Instance Methods

Signature | Description
bind(context, *args) |
bind_append(context, *args) |
bind_remove(context) |
bindinfo(context = nil) |


module TkComm

ancestors: TkComm < TkUtil < TkEvent
extend: TkUtil, TkEvent

Abstract

Singleton Methods

Signature | Description
_at(x, y = nil) |
_callback_entry?(obj) |
_callback_entry_class?(klass) |
_curr_cmd_id |
_fromUTF8(str, encoding = nil) |
_genobj_for_tkwidget(path) |
_next_cmd_id |
_toUTF8(str, encoding = nil) |
array2tk_list(ary, enc = nil) |
image_obj(val) |
install_cmd(cmd) |
list(val, depth = 0, enc = true) |
procedure(val) |
simplelist(val, src_enc = true, dst_enc = true) |
tk_tcl2ruby(val, enc_mode = false, listobj = true) |
uninstall_cmd(id) |
window(val) |

Instance Methods

Signature | Description
bind(tag_or_class, context, *args) |
bind_all(context, *args) |
bind_append(tag_or_class, context, *args) |
bind_append_all(context, *args) |
bind_remove(tag_or_class, context) |
bind_remove_all(context) |
bindinfo(tag_or_class, context = nil) |
bindinfo_all(context = nil) |
subst |

Constants

Signature | Description
GET_CONFIGINFO_AS_ARRAY |
GET_CONFIGINFOwoRES_AS_ARRAY |
TkExtlibAutoloadModule |
Tk_CMDTBL |
Tk_IDs |
Tk_WINDOWS |
USE_TCLs_LIST_FUNCTIONS |
WidgetClassNames |

Inherited Methods

install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


module TkConfigMethod

ancestors: TkConfigMethod < TkUtil < TkTreatFont

Abstract

Instance Methods

Signature | Description
self[id] |
self[id] = value |
__confinfo_cmd | 本来 private のハズ。
__conv_keyonly_opts(keys) |
cget(slot) |
config_hash_kv(keys, enc_mode = nil, conf = nil) |
configinfo(slot = nil) |
configure(slot, value = Tk::None) |
configure_cmd(slot, value) |
current_configinfo(slot = nil) |

Inherited Methods

asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


module TkCore

ancestors: TkCore < TkComm < TkUtil < TkEvent
extend: TkComm

Abstract

Singleton Methods

Signature | Description
callback(*arg) |

Instance Methods

Signature | Description
_tk_call_to_list_core(depth, arg_enc, val_enc, *args) |
after(ms, cmd = Proc.new) |
after_cancel(after_id) |
after_idle(cmd = Proc.new) |
appname(name = Tk::None) |
appsend(interp, async, *args) |
appsend_deny |
appsend_displayof(interp, win, async, *args) |
callback_break |
callback_continue |
callback_return |
chooseColor(keys = nil) |
chooseDirectory(keys = nil) |
do_one_event(flag = TclTkLib::EventFlag::ALL) |
event_generate(win, context, keys = nil) |
getMultipleOpenFile(keys = nil) |
getMultipleSaveFile(keys = nil) |
getOpenFile(keys = nil) |
getSaveFile(keys = nil) |
get_eventloop_tick |
get_eventloop_weight |
get_no_event_wait |
inactive |
inactive_displayof(win) |
info(*args) |
ip_eval(cmd_string) |
ip_eval_with_enc(cmd_string) |
ip_eval_without_enc(cmd_string) |
ip_invoke(*args) |
ip_invoke_with_enc(*args) |
ip_invoke_without_enc(*args) |
is_mainloop? |
load_cmd_on_ip(tk_cmd) |
mainloop(check_root = true) |
mainloop_exist? |
mainloop_thread? |
mainloop_watchdog(check_root = true) |
messageBox(keys) |
rb_appsend(interp, async, *args) |
rb_appsend_displayof(interp, win, async, *args) |
reset_inactive |
reset_inactive_displayof(win) |
restart(app_name = nil, keys = {}) |
scaling(scale = nil) |
scaling_displayof(win, scale=nil) |
set_eventloop_ticktimer_tick |
set_eventloop_weight(loop_max, no_event_tick) |
set_no_event_wait(wait) |
tk_call(*args) |
tk_call_to_list(*args) |
tk_call_to_list_with_enc(*args) |
tk_call_to_list_without_enc(*args) |
tk_call_to_simplelist(*args) |
tk_call_to_simplelist_with_enc(*args) |
tk_call_to_simplelist_without_enc(*args) |
tk_call_with_enc(*args) |
tk_call_without_enc(*args) |
windowingsystem |

Constants

Signature | Description
EventFlag |
INTERP |  | multi-tk
INTERP |
WIDGET_DESTROY_HOOK |

Inherited Methods

bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


object TkCore::INTERP

ancestors: TkCore::INTERP

Abstract

INTERP は TclTkIp のインスタンス。

Singleton Methods

Signature | Description
__getip |
cb_entry_class |
tk_cmd_tbl |
tk_windows |


class TkCore::Tk_OBJECT_TABLE

ancestors: TkCore::Tk_OBJECT_TABLE < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(id) |

Instance Methods

Signature | Description
method_missing(m, *args, &block) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module TkTreatFont

ancestors: TkTreatFont

Abstract

Instance Methods

Signature Description
latinfont_configure(ltn, keys = nil)
asciifont_configure(ltn, keys = nil)
latinfont_copy(win, wintag = nil, winkey = nil, targetkey = nil)
asciifont_copy(win, wintag = nil, winkey = nil, targetkey = nil)
font_configinfo(key = nil)
fontobj(key = nil)
font_configure(slot)
font_copy(win, wintag = nil, winkey = nil, targetkey = nil)
kanjifont_configure(knj, keys = nil)
kanjifont_copy(win, wintag = nil, winkey = nil, targetkey = nil)


class TkWindow

ancestors: TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
database_class |
database_classname |
new(parent = nil, keys = nil) |
to_eval |

Instance Methods

Signature Description
bind_class
bindtags(taglist = nil)
bindtags=(taglist)
bindtags_shift
bindtags_unshift(tag)
caret(keys = nil)
colormodel(model = Tk::None)
command(cmd = nil, &block)
grab_current
current_grab
database_class
database_classname
destroy
eventloop_wait_visibility
eventloop_wait
eventloop_tkwait
eventloop_tkwait_visibility
eventloop_wait_destroy
eventloop_tkwait_destroy
eventloop_wait_window
eventloop_tkwait_window
exist?
focus(force = false)
set_focus(force = false)

set_focusが本体

grab(opt = nil)
grab_release
release_grab
grab_set
set_grab
grab_set_global
set_global_grab
grab_status
grid(keys = nil)
grid_bbox(*args)
grid_columnconfig(index, keys)
grid_columnconfigure(index, keys)
grid_columnconfiginfo(index, slot = nil)
grid_config(slot, value = Tk::None)
grid_configure(slot, value = Tk::None)
grid_forget
ungrid
grid_in(target, kers = nil)
grid_info
grid_location(x, y)
grid_propagate(mode = Tk::None)
grid_remove
grid_rowconfig(index, keys)
grid_rowconfigure(index, keys)
grid_rowconfiginfo(index, slot = nil)
grid_size
grid_slaves(args)
lower(below = Tk::None)
lower_window(below = Tk::None)
pack(keys = nil)
pack_config(slot, value = Tk::None)
pack_configure(slot, value = Tk::None)
pack_forget
unpack
pack_in(target, keys = nil)
pack_info
pack_propagate(mode = Tk::None)
pack_slaves
place(keys)
place_config(slot, value = Tk::None)
place_configure(slot, value = Tk::None)
place_configinfo(slot = nil)
place_forget
unplace
place_in(target, keys = nil)
place_info
place_slaves
raise(above = Tk::None)
raise_window(above = Tk::None)
thread_wait_visibility
thread_wait
thread_tkwait
thread_tkwait_visibility
thread_wait_destroy
thread_tkwait_destroy
thread_tkwait_window
thread_wait_window
wait_visibility(on_thread = true)
wait(on_thread = true)
tkwait(on_thread = true)
wait_destroy(on_thread = true)
tkwait_destroy(on_thread = true)
wait_window(on_thread = true)
tkwait_window(on_thread = true)

Constants

Signature | Description
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/after

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tk/autoload

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |

Added/Redefined Methods

Kernel#TkGrid Kernel#TkPack Kernel#TkPlace Tk.BinaryString Tk.EncodedString Tk.UTF8_String


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bgerror

library tk/bgerror

Abstract

Classes/Modules

module TkBgError


module TkBgError

ancestors: TkBgError
extend: Tk

Abstract

Singleton Methods

Signature Description
bgerror(message)
show
tkerror
set_default
set_handler(hdlr = Proc.new)

Constants

Signature | Description
TkCommandNames |


library tk/bindtag

Abstract

Classes/Modules

class TkBindTag
class TkBindTagAll
class TkDatabaseClass

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkBindTag

ancestors: TkBindTag < TkBindCore < Object < Kernel

Abstract

Singleton Methods

Signature | Description
id2obj(id) |
new(*args, &b) |
new_by_name(name, *args, &b) |

Instance Methods

Signature | Description
inspect |
name |
to_eval |

Constants

Signature | Description
ALL |
BTagID_TBL |
Tk_BINDTAG_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_append bind_remove bindinfo


class TkBindTagAll

ancestors: TkBindTagAll < TkBindTag < TkBindCore < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args, &b) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_append bind_remove bindinfo inspect name to_eval .id2obj .new_by_name ::ALL ::BTagID_TBL ::Tk_BINDTAG_ID


class TkDatabaseClass

ancestors: TkDatabaseClass < TkBindTag < TkBindCore < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(name, *args, &b) |

Instance Methods

Signature | Description
inspect |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_append bind_remove bindinfo name to_eval .id2obj .new_by_name ::ALL ::BTagID_TBL ::Tk_BINDTAG_ID


library tk/button

Abstract

Classes/Modules

class TkButton

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkButton

ancestors: TkButton < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature | Description
flash |
invoke |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class ::WidgetClassNames epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/canvas

Abstract

Classes/Modules

class TkCanvas |
module TkCanvasItemConfig |
class TkcArc |
class TkcBitmap |
class TkcImage |
class TkcItem | include TkcTagAccess
class TkcLine |
class TkcOval |
class TkcPolygon |
class TkcRectangle |
class TkcText |
class TkcWindow |

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkCanvas

ancestors: TkCanvas < TkCanvasItemConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Scrollable < Tk::X_Scrollable < Tk::Y_Scrollable < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature Description
__destroy_hook__
addtag(tag, mode, *args)
addtag_above(tagOrId, target)
addtag_all(tagOrId)
addtag_below(tagOrId, target)
addtag_closest(tagOrId, x, y, halo = Tk::None, start = Tk::None)
addtag_enclosed(tagOrId, x1, y1, x2, y2)
addtag_overlapping(tagOrId, x1, y1, x2, y2)
addtag_withtag(tagOrId, tag)
bbox(tagOrId, *tags)
canvasx(screen_x, *args)
canvasy(screen_y, *args)
coords(tag, *args)
create(type, *args)

create a canvas item without creating a TkcItem object

dchars(tag, first, last = Tk::None)
delete(*args)
remove(*args)
deltag(tag, tag_to_del = Tk::None)
dtag(tag, tag_to_del = Tk::None)
find(mode, *args)
find_above(target)
find_all
find_below(target)
find_closest(x, y, halo = Tk::None, start = Tk::None)
find_enclosed(x1, y1, x2, y2)
find_overlapping(x1, y1, x2, y2)
find_withtag(tag)
gettags(tagOrId)
icursor(tagOrId, index)
index(tagOrId, idx)
insert(tagOrId, index, string)
itembind(tag, context, *args)

def itembind(tag, context, cmd = Proc.new, *args)

itembind_append(tag, context, *args)

def itembind_append(tag, context, cmd = Proc.new, *args)

itembind_remove(tag, context)
itembindinfo(tag, context = nil)
itemfocus(tagOrId = nil)
itemtype(tag)
lower(tag, below = nil)
move(tag, x, y)
postscript(keys)
raise(tag, above = nil)
scale(tag, x, y, xs, ys)
scan_dragto(x, y)
scan_mark(x, y)
select(mode, *args)
select_adjust(tagOrId, index)
select_clear
select_from(tagOrId, index)
select_item
select_to(tagOrId, index)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE autoscroll unautoscroll bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval ::WidgetClassName


module TkCanvasItemConfig

ancestors: TkCanvasItemConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil

Abstract

Inherited Methods

current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid


class TkcArc

ancestors: TkcArc < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcBitmap

ancestors: TkcBitmap < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcImage

ancestors: TkcImage < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcItem

ancestors: TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: Tk, TkItemFontOptkeys, TkItemConfigOptkeys

Abstract

include TkcTagAccess

Singleton Methods

Signature | Description
create(canvas, *args) |
id2obj(canvas, id) |
new(parent, *args) |
type2class(type) |

Instance Methods

Signature Description
delete
remove
destroy
exist?
id

Constants

Signature | Description
CItemID_TBL |
CItemTypeName |
CItemTypeToClass |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkcLine

ancestors: TkcLine < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcOval

ancestors: TkcOval < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcPolygon

ancestors: TkcPolygon < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcRectangle

ancestors: TkcRectangle < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .create .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcText

ancestors: TkcText < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create(canvas, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


class TkcWindow

ancestors: TkcWindow < TkcItem < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create(canvas, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class __conv_item_keyonly_opts itemconfig_hash_kv epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE delete exist? id .id2obj .new .type2class ::CItemID_TBL ::CItemTypeName ::CItemTypeToClass


library tk/canvastag

Abstract

Classes/Modules

class TkcGroup
class TkcTag
module TkcTagAccess
class TkcTagAll
class TkcTagCurrent
class TkcTagString

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkcGroup

ancestors: TkcGroup < TkcTag < TkcTagAccess < TkComm < TkUtil < TkEvent < TkTreatTagFont < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, *args) | def create_self(parent, *args)

Instance Methods

Signature Description
include(*tags)
add(*tags)
exclude(*tags)

Constants

Signature | Description
Tk_cGroup_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE above all below closest delete enclosed exist? id overlapping set_to_withtag .id2obj ::CTagID_TBL ::Tk_CanvasTag_ID & -@ ^ addtag bbox coords dchars deltag find focus gettags icursor index insert itemtype lower move raise scale select_adjust select_from select_to |


class TkcTag

ancestors: TkcTag < TkcTagAccess < TkComm < TkUtil < TkEvent < TkTreatTagFont < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
id2obj(canvas, id) |
new(parent, mode = nil, *args) |

Instance Methods

Signature Description
set_to_above(target)
above(target)
set_to_all
all
set_to_below(target)
below(target)
set_to_closest(x, y, halo = Tk::None, start = Tk::None)
closest(x, y, halo = Tk::None, start = Tk::None)
delete
remove
destroy
set_to_enclosed(x1, y1, x2, y2)
enclosed(x1, y1, x2, y2)
exist?
id
set_to_overlapping(x1, y1, x2, y2)
overlapping(x1, y1, x2, y2)
set_to_withtag(target)
withtag(target)

Constants

Signature | Description
CTagID_TBL |
Tk_CanvasTag_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE & -@ ^ addtag bbox coords dchars deltag find focus gettags icursor index insert itemtype lower move raise scale select_adjust select_from select_to |


module TkcTagAccess

ancestors: TkcTagAccess < TkComm < TkUtil < TkEvent < TkTreatTagFont

Abstract

Instance Methods

Signature Description
self & tag

Following operators support logical expressions of canvas tags (for Tk8.3+). If tag1.path is 't1' and tag2.path is 't2', then

-
self ^ tag
addtag(tag)
bbox
bind(seq, *args)
def bind(seq, cmd=Proc.new, *args)

  @c.itembind(@id, seq, cmd, *args)
  self

end
bind_append(seq, *args)
def bind_append(seq, cmd=Proc.new, *args)

  @c.itembind_append(@id, seq, cmd, *args)
  self

end
bind_remove(seq)
bindinfo(seq = nil)
cget(option)
configinfo(key = nil)
def configure(keys)

  @c.itemconfigure @id, keys

end
configure(key, value = Tk::None)
coords(*args)
current_configinfo(key = nil)
dchars(first, last = Tk::None)
dtag(tag_to_del = Tk::None)
deltag(tag_to_del = Tk::None)
find
list
focus
gettags
icursor(index)
index(idx)
insert(beforethis, string)
itemtype
lower(belowthis = Tk::None)
move(xamount, yamount)
raise(abovethis = Tk::None)
scale(xorigin, yorigin, xscale, yscale)
select_adjust(index)
select_from(index)
select_to(index)
self | tag

Inherited Methods

bind_all bind_append_all bind_remove_all bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames install_bind install_bind_for_event_class asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy latinfont_configure latinfont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkcTagAll

ancestors: TkcTagAll < TkcTag < TkcTagAccess < TkComm < TkUtil < TkEvent < TkTreatTagFont < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE above all below closest delete enclosed exist? id overlapping set_to_withtag .id2obj ::CTagID_TBL ::Tk_CanvasTag_ID & -@ ^ addtag bbox coords dchars deltag find focus gettags icursor index insert itemtype lower move raise scale select_adjust select_from select_to |


class TkcTagCurrent

ancestors: TkcTagCurrent < TkcTag < TkcTagAccess < TkComm < TkUtil < TkEvent < TkTreatTagFont < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE above all below closest delete enclosed exist? id overlapping set_to_withtag .id2obj ::CTagID_TBL ::Tk_CanvasTag_ID & -@ ^ addtag bbox coords dchars deltag find focus gettags icursor index insert itemtype lower move raise scale select_adjust select_from select_to |


class TkcTagString

ancestors: TkcTagString < TkcTag < TkcTagAccess < TkComm < TkUtil < TkEvent < TkTreatTagFont < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, name, mode = nil, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE above all below closest delete enclosed exist? id overlapping set_to_withtag .id2obj ::CTagID_TBL ::Tk_CanvasTag_ID & -@ ^ addtag bbox coords dchars deltag find focus gettags icursor index insert itemtype lower move raise scale select_adjust select_from select_to |


library tk/checkbutton

Abstract

Classes/Modules

class TkCheckButton
class TkCheckbutton

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkCheckButton

ancestors: TkCheckButton < TkRadioButton < TkButton < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature | Description
toggle |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo flash invoke bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval deselect get_value select set_value asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkCheckbutton

ancestors: TkCheckbutton < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library tk/clipboard

Abstract

Classes/Modules

module TkClipboard

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkClipboard

ancestors: TkClipboard < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Singleton Methods

Signature | Description
append(data, keys = nil) |
append_on_display(win, data, keys = nil) |
clear(win = nil) |
clear_on_display(win) |
get(type = nil) |
get_on_display(win, type = nil) |
set(data, keys = nil) |
set_on_display(win, data, keys = nil) |

Instance Methods

Signature | Description
append(data, keys = nil) |
clear |
get(type = nil) |
set(data, keys = nil) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/clock

Abstract

Classes/Modules

module Tk::Clock

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module Tk::Clock

ancestors: Tk::Clock < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: TkCore

Abstract

Singleton Methods

Signature | Description
add(clk, *args) |
clicks(ms = nil) |
format(clk, form = nil) |
formatGMT(clk, form = nil) |
microseconds |
milliseconds |
scan(str, base = nil) |
scanGMT(str, base = nil) |
seconds |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/composite

Abstract

Classes/Modules

module TkComposite

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkComposite

ancestors: TkComposite < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Instance Methods

Signature | Description
cget(slot) |
configinfo(slot) |
configure(slot, value = Tk::None) |
database_class |
database_classname |
delegate(option, *wins) |
delegate_alias(alias_opt, option, *wins) |
epath |
option_methods(*opts) |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/console

Abstract

Classes/Modules

module TkConsole

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkConsole

ancestors: TkConsole < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Singleton Methods

Signature | Description
create |
eval(tcl_script) |
hide |
maininterp_eval(tcl_script) |
maininterp_record(tcl_script) |
show |
title(str = Tk::None) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/dialog

Abstract

Classes/Modules

class TkDialog
class TkDialogObj
class TkWarning
class TkWarningObj

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkDialog

ancestors: TkDialog < TkDialogObj < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) |
show(*args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK name show value ::TkCommandNames install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval ::WidgetClassName


class TkDialogObj

ancestors: TkDialogObj < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: Tk

Abstract

Singleton Methods

Signature | Description
show(*args) |

Instance Methods

Signature | Description
name |
show |
value |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval ::WidgetClassName


class TkWarning

ancestors: TkWarning < TkWarningObj < TkDialogObj < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) |
show(*args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK name value ::TkCommandNames install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE show bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval ::WidgetClassName


class TkWarningObj

ancestors: TkWarningObj < TkDialogObj < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent = nil, mes = nil) |

Instance Methods

Signature | Description
show(mes = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK name value .show ::TkCommandNames install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval ::WidgetClassName


library tk/encodedstr

Abstract

Classes/Modules

class Tk::BinaryString
class Tk::EncodedString
class Tk::UTF8_String

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class Tk::BinaryString

ancestors: Tk::BinaryString < Tk::EncodedString < String < Enumerable < Comparable < Object < Kernel

Abstract

Constants

Signature | Description
Encoding |

Inherited Methods

< <= == > >= between? all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint % * + << <=> =~ [] []= bytes bytesize capitalize capitalize! casecmp center chars chomp chomp! chop chop! crypt delete delete! downcase downcase! dump each empty? end_with? eql? gsub gsub! hash hex index insert inspect intern is_binary_data? is_complex_yaml? iseuc issjis isutf8 jcount jlength kconv length ljust lstrip lstrip! match mbchar? next next! oct replace reverse reverse! rindex rjust rpartition rstrip rstrip! scan scanf shellescape shellsplit slice! split squeeze squeeze! start_with? strip strip! sub sub! sum swapcase swapcase! to_d to_f to_i to_ptr to_s toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! unpack upcase upcase! upto encoding .new .new_with_utf_backslash .new_without_utf_backslash .subst_tk_backslash .subst_utf_backslash .to_backslash_sequence .utf_backslash .utf_to_backslash .utf_to_backslash_sequence


class Tk::EncodedString

ancestors: Tk::EncodedString < String < Enumerable < Comparable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(str, enc = nil) |
new_with_utf_backslash(str, enc = nil) |
new_without_utf_backslash(str, enc = nil) |
subst_tk_backslash(str) |
subst_utf_backslash(str) |
to_backslash_sequence(str) |
utf_backslash(str) |
utf_to_backslash(str) |
utf_to_backslash_sequence(str) |

Instance Methods

Signature | Description
encoding |

Constants

Signature | Description
Encoding |

Inherited Methods

< <= == > >= between? all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint % * + << <=> =~ [] []= bytes bytesize capitalize capitalize! casecmp center chars chomp chomp! chop chop! crypt delete delete! downcase downcase! dump each empty? end_with? eql? gsub gsub! hash hex index insert inspect intern is_binary_data? is_complex_yaml? iseuc issjis isutf8 jcount jlength kconv length ljust lstrip lstrip! match mbchar? next next! oct replace reverse reverse! rindex rjust rpartition rstrip rstrip! scan scanf shellescape shellsplit slice! split squeeze squeeze! start_with? strip strip! sub sub! sum swapcase swapcase! to_d to_f to_i to_ptr to_s toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! unpack upcase upcase! upto


class Tk::UTF8_String

ancestors: Tk::UTF8_String < Tk::EncodedString < String < Enumerable < Comparable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(str) |

Constants

Signature | Description
Encoding |

Inherited Methods

< <= == > >= between? all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint % * + << <=> =~ [] []= bytes bytesize capitalize capitalize! casecmp center chars chomp chomp! chop chop! crypt delete delete! downcase downcase! dump each empty? end_with? eql? gsub gsub! hash hex index insert inspect intern is_binary_data? is_complex_yaml? iseuc issjis isutf8 jcount jlength kconv length ljust lstrip lstrip! match mbchar? next next! oct replace reverse reverse! rindex rjust rpartition rstrip rstrip! scan scanf shellescape shellsplit slice! split squeeze squeeze! start_with? strip strip! sub sub! sum swapcase swapcase! to_d to_f to_i to_ptr to_s toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! unpack upcase upcase! upto encoding .new_with_utf_backslash .new_without_utf_backslash .subst_tk_backslash .subst_utf_backslash .to_backslash_sequence .utf_backslash .utf_to_backslash .utf_to_backslash_sequence


library tk/entry

Abstract

Classes/Modules

class TkEntry

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkEntry

ancestors: TkEntry < Tk::X_Scrollable < TkValidation < Tk::ValidateConfigure < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature Description
self[*args]
self[] = *args
bbox(index)
cursor
icursor
cursor=(index)
icursor=(index)
delete(first, last = Tk::None)
dragto(pos)
value
get
index(idx)
insert(pos, text)
invoke_validate
mark(pos)
selection_adjust(index)
selection_clear
selection_from(index)
selection_present
selection_range(s, e)
selection_to(index)
value=(val)
set(val)
validate(mode = nil)

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE xscrollbar xscrollcommand xview xview_moveto xview_scroll bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE __validation_class_list bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/event

Abstract

Classes/Modules

module TkEvent
class TkEvent::Event
module TkEvent::Event::Grp
module TkEvent::Event::StateMask
module TkEvent::Event::TypeNum

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkEvent

ancestors: TkEvent

Abstract

Instance Methods

Signature | Description
install_bind(cmd, *args) |
install_bind_for_event_class(klass, cmd, *args) |


class TkEvent::Event

ancestors: TkEvent::Event < TkUtil::CallbackSubst < Object < Kernel

Abstract

Singleton Methods

Signature | Description
group_flag(id) |
type_id(name) |
type_name(id) |

Instance Methods

Signature Description
above
borderwidth
num
button
char
count
detail
data
wheel_delta
delta
focus
generate(win, modkeys = {})
height
keycode
keysym
keysym_num
mode
override
place
property
rootwin_id
root
x_root
root_x
rootx
y_root
root_y
rooty
send_event
sendevent
serial
state
subwindow
time
type
valid_fields(group_flag = nil)
valid_for_generate(group_flag = nil)
widget
window
width
win_hex
x
y

Constants

Signature | Description
ALIAS_TBL |
FIELD_FLAG |
FIELD_OPERATION |
KEY_TBL |
PROC_TBL |
TYPE_GROUP_TBL |
TYPE_ID_TBL |
TYPE_NAME_TBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new ._define_attribute_aliases ._get_all_subst_keys ._get_extra_args_tbl ._get_subst_key ._setup_subst_table .inspect .ret_val .scan_args .subst_arg ::SUBST_INFO


module TkEvent::Event::Grp

ancestors: TkEvent::Event::Grp

Abstract

Constants

Signature | Description
ACTIVATE |
ALL |
BUTTON |
CIRC |
CIRCREQ |
COLORMAP |
CONFIG |
CONFIGREQ |
CREATE |
CROSSING |
DESTROY |
EXPOSE |
FOCUS |
GRAVITY |
KEY |
KEY_BUTTON_MOTION_CROSSING |
KEY_BUTTON_MOTION_VIRTUAL |
MAP |
MAPREQ |
MOTION |
MWHEEL |
PROP |
REPARENT |
RESIZEREQ |
UNMAP |
VIRTUAL |
VISIBILITY |


module TkEvent::Event::StateMask

ancestors: TkEvent::Event::StateMask

Abstract

Constants

Signature | Description
ALT_MASK |
AnyModifier |
Button1Mask |
Button2Mask |
Button3Mask |
Button4Mask |
Button5Mask |
CommandMask |
ControlMask |
EXTENDED_MASK |
LockMask |
META_MASK |
Mod1Mask |
Mod2Mask |
Mod3Mask |
Mod4Mask |
Mod5Mask |
OptionMask |
ShiftMask |


module TkEvent::Event::TypeNum

ancestors: TkEvent::Event::TypeNum

Abstract

Constants

Signature | Description
ActivateNotify |
ButtonPress |
ButtonRelease |
CirculateNotify |
CirculateRequest |
ClientMessage |
ColormapNotify |
ConfigureNotify |
ConfigureRequest |
CreateNotify |
DeactivateNotify |
DestroyNotify |
EnterNotify |
Expose |
FocusIn |
FocusOut |
GraphicsExpose |
GravityNotify |
KeyPress |
KeyRelease |
KeymapNotify |
LeaveNotify |
MapNotify |
MapRequest |
MappingNotify |
MotionNotify |
MouseWheelEvent |
NoExpose |
PropertyNotify |
ReparentNotify |
ResizeRequest |
SelectionClear |
SelectionNotify |
SelectionRequest |
TK_LASTEVENT |
UnmapNotify |
VirtualEvent |
VisibilityNotify |


library tk/font

Abstract

Classes/Modules

class TkFont | extend TkFont::CoreMethods
module TkFont::CoreMethods |
class TkFont::DescendantFont |

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkFont

ancestors: TkFont < Tk < TkCore < TkComm < TkUtil < TkEvent < Object < Kernel
extend: TkCore, TkFont::CoreMethods

Abstract

extend TkFont::CoreMethods

Singleton Methods

Signature | Description
actual(fnt, option = nil) |
actual_displayof(fnt, win, option = nil) |
configinfo(fnt, slot = nil) |
configure(fnt, slot, value = Tk::None) |
create_copy(font) |
current_configinfo(fnt, slot = nil) |
failsafe(font) |
families(win = nil) |
get_obj(name) |
init_widget_font(pathname, *args) |
measure(fnt, text) |
measure_displayof(fnt, win, text) |
metrics(fnt, option = nil) |
metrics_displayof(fnt, win, option = nil) |
names |
new(ltn = nil, knj = nil, keys = nil) |
used_on(path = nil) |

Instance Methods

Signature Description
self[slot]
self[slot] = val
actual(option = nil)
actual_displayof(win, option = nil)
latin_actual(option = nil)
ascii_actual(option = nil)
latin_actual_displayof(win, option = nil)
ascii_actual_displayof(win, option = nil)
latin_configinfo(slot = nil)
ascii_configinfo(slot = nil)
latin_configure(slot, value = Tk::None)
ascii_configure(slot, value = Tk::None)
latin_font
latinfont
ascii_font
asciifont
latin_metrics(option = nil)
ascii_metrics(option = nil)
latin_replace(ltn)
ascii_replace(ltn)
call_font_configure(path, *args)
configinfo(slot = nil)
configure(slot, value = Tk::None)
current_configinfo(slot = nil)
delete
font
font_id
id
inspect
kanji_actual(option = nil)
kanji_actual_displayof(win, option = nil)
kanji_configinfo(slot = nil)
kanji_configure(slot, value = Tk::None)
kanji_font
kanjifont
kanji_font_id
kanji_metrics(option = nil)
kanji_metrics_displayof(win, option = nil)
kanji_replace(knj)
latin_font_id
latin_metrics_displayof(win, option = nil)
measure(text)
measure_displayof(win, text)
method_missing(id, *args)
metrics(option = nil)
metrics_displayof(win, option = nil)
replace(ltn, knj = Tk::None)
reset_pointadjust
to_eval
used

Constants

Signature | Description
DEFAULT_KANJI_FONT_NAME |
DEFAULT_LATIN_FONT_NAME |
MetricType |
OptionType |
TkCommandNames |
Tk_FontID |
Tk_FontNameTBL |
Tk_FontUseTBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


module TkFont::CoreMethods

ancestors: TkFont::CoreMethods < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: TkCore

Abstract

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkFont::DescendantFont

ancestors: TkFont::DescendantFont < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(compound, type) |

Instance Methods

Signature | Description
self[slot] |
self[slot] = value |
clone |
dup |
font |
method_missing(id, *args) |
to_eval |

Inherited Methods

== === =~ __id__ __send__ _dump class dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library tk/frame

Abstract

Classes/Modules

class TkFrame

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkFrame

ancestors: TkFrame < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
bind(*args) { ... } |
bind_append(*args) { ... } |
bind_remove(*args) |
bindinfo(*args) |
database_class |
database_classname |
new(parent = nil, keys = nil) |

Instance Methods

Signature | Description
database_classname |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind_all bind_append_all bind_remove_all bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .to_eval


library tk/grid

Abstract

Classes/Modules

module TkGrid

ウィジェットを配置するためのモジュールです。 このモジュールにより、ウィジェットは格子状に配置されます。

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkGrid

ancestors: TkGrid < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

ウィジェットを配置するためのモジュールです。 このモジュールにより、ウィジェットは格子状に配置されます。

普通、ウィジェットを格子状に配置するにはTkWindow#gridが使われます。

Instance Methods

Signature | Description
add(widget, *args) |
anchor(master, anchor = Tk::None) |

Module Functions

Signature Description
bbox(master, *args)
columnconfiginfo(master, index, slot=nil)
columnconfigure(master, index, args)

マスタウィジェットmasterの桁位置indexに関する属性を argsで指定します。argsは、以下をキーに持つハッシュです。

configure(widget1, widget2, ..., options=nil)
grid(widget1, widget2, ..., options=nil)

wigetNに対して、optionsで指定した配置を行います。 optionsは、以下のキーを持つハッシュです。

forget(*args)
info(slave)
location(master, x, y)
propagate(master, mode = Tk::None)
remove(*args)
rowconfiginfo(master, index, slot=nil)
rowconfigure(master, index, args)

マスタウィジェットmasterの行位置indexに関する属性を argsで指定します。argsは、以下をキーに持つハッシュです。

size(master)
slaves(master, args)

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/image

Abstract

Classes/Modules

class TkBitmapImage
class TkImage
class TkPhotoImage

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkBitmapImage

ancestors: TkBitmapImage < TkImage < Tk < TkCore < TkComm < TkUtil < TkEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class delete height inuse itemtype width .names .types ::TkCommandNames ::Tk_IMGTBL ::Tk_Image_ID destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkImage

ancestors: TkImage < Tk < TkCore < TkComm < TkUtil < TkEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
names |
new(keys = nil) |
types |

Instance Methods

Signature | Description
delete |
height |
inuse |
itemtype |
width |

Constants

Signature | Description
TkCommandNames |
Tk_IMGTBL |
Tk_Image_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkPhotoImage

ancestors: TkPhotoImage < TkImage < Tk < TkCore < TkComm < TkUtil < TkEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) |

Instance Methods

Signature | Description
blank |
cget(option) |
copy(src, *opts) |
data(keys = {}) |
get(x, y) |
get_transparency(x, y) |
put(data, *opts) |
read(file, *opts) |
redither |
set_transparency(x, y, st) |
write(file, *opts) |

Constants

Signature | Description
NullArgOptionKeys |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class delete height inuse itemtype width .names .types ::TkCommandNames ::Tk_IMGTBL ::Tk_Image_ID destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/itemconfig

Abstract

Classes/Modules

module TkItemConfigMethod
module TkItemConfigOptkeys

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkItemConfigMethod

ancestors: TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil

Abstract

Instance Methods

Signature | Description
current_itemconfiginfo(tagOrId, slot = nil) |
itemcget(tagOrId, option) |
itemconfiginfo(tagOrId, slot = nil) |
itemconfigure(tagOrId, slot, value = Tk::None) |
tagid(tagOrId) |


module TkItemConfigOptkeys

ancestors: TkItemConfigOptkeys < TkUtil

Abstract

Instance Methods

Signature | Description
__conv_item_keyonly_opts(id, keys) |
itemconfig_hash_kv(id, keys, enc_mode = nil, conf = nil) |

Inherited Methods

_conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/itemfont

Abstract

Classes/Modules

module TkItemFontOptkeys
module TkTreatItemFont

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemfont > module TkItemFontOptkeys

module TkItemFontOptkeys

ancestors: TkItemFontOptkeys

Abstract


module TkTreatItemFont

ancestors: TkTreatItemFont < TkItemFontOptkeys

Abstract

Instance Methods

Signature | Description
asciitagfont_configure(tagOrId, ltn, keys = nil) | Alias for #latintagfont_configure
asciitagfont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil) | Alias for #latintagfont_copy
kanjifont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil) |
kanjitagfont_configure(tagOrId, knj, keys = nil) |
latintagfont_configure(tagOrId, ltn, keys = nil) | alias asciitagfont_configure
latintagfont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil) | alias asciitagfont_copy
tagfont_configinfo(tagOrId, key = nil) | alias tagfontobj
tagfont_configure(tagOrId, slot) |
tagfont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil) |
tagfontobj(tagOrId, key = nil) | Alias for #tagfont_configinfo


library tk/kinput

Abstract

Classes/Modules

module TkKinput

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkKinput

ancestors: TkKinput < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Singleton Methods

Signature | Description
attribute_config(win, slot, value = Tk::None) |
attribute_info(win, slot = nil) |
input_end(win) |
input_start(win, keys = nil) |
send_spot(win) |
start(win, style = Tk::None) |

Instance Methods

Signature | Description
kanji_input_end |
kanji_input_start(keys = nil) |
kinput_attribute_config(slot, value = Tk::None) |
kinput_attribute_info(slot = nil) |
kinput_send_spot |
kinput_start(style = Tk::None) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/label

Abstract

Classes/Modules

class TkLabel

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkLabel

ancestors: TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/labelframe

Abstract

Classes/Modules

class TkLabelFrame

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkLabelFrame

ancestors: TkLabelFrame < TkFrame < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class database_classname .database_class .database_classname .new epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .to_eval


library tk/listbox

Abstract

Classes/Modules

module TkListItemConfig |
class TkListbox | リストボックスウィジェットのクラスです。 リストボックスウィジェットは項目の一覧を表すウィジェットです。

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkListItemConfig

ancestors: TkListItemConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil

Abstract

Inherited Methods

current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid


class TkListbox

ancestors: TkListbox < TkListItemConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Scrollable < Tk::X_Scrollable < Tk::Y_Scrollable < TkTextWin < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

リストボックスウィジェットのクラスです。 リストボックスウィジェットは項目の一覧を表すウィジェットです。

require "tk"
list = TkListbox.new { setgrid 'yes'; pack }
list.insert 'end', "abc"
list.insert 'end', "def"
list.insert 'end', "123"
list.insert 'end', "456"
Tk.mainloop

メソッドの説明の中で((*位置*))は、以下のいずれかを指します。

*数字

 数字で指定した要素位置(上端は0)

*"@x,y"

 x、y は数字です。
 数字で指定したピクセル位置(入力欄の左上端は0から始まる)

*"active"

 アクティブ(カーソル位置のこと)である要素の位置

*"end"

 最後の要素の位置

*"anchor"

 ???

Instance Methods

Signature Description
activate(y)

((|y|))で指定した((*位置*))の要素をアクティブにします。そのリスト ボックスに((<入力フォーカス>))があれば、アクティブな行には下線が引 かれます。

clear
erase
curselection

((<選択>))された要素の要素番号を配列にして返します(要素番号は上端が0)

get(index)
get(first, last)

引数が1つの場合、指定した((*位置*))の要素を文字列で返します。 引数が2つの場合、指定した範囲の要素を文字列の配列で返します。

index(idx)
nearest(y)

((|y|))で指定したY座標に近い要素の要素番号を返します。

selection_anchor(index)

((|index|))で指定した((*位置*))の要素を((<アンカー>))にします。

selection_clear(first, last = Tk::None)

((|first|))、((|last|))で指定した((*位置*))の範囲の要素が((<選択>))さ れていれば非選択にします。((|last|))を省略した場合、((|first|))の((*位 置*))の要素を非選択にします。

selection_includes(index)

(({index}))で指定した((*位置*))の要素が((<選択>))されているかどうかを 真偽値(({true}))/(({false}))で返します。

selection_set(first, last = Tk::None)

((|first|))、((|last|))で指定した((*位置*))の範囲の要素を((<選択>))し ます。((|last|))を省略した場合、((|first|))の((*位置*))の要素を選択し ます。

size

要素の数を返します。

tagid(id)
value
value=(vals)

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE autoscroll unautoscroll bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval bbox delete insert scan_dragto scan_mark see ::TkCommnadNames asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/macpkg

Abstract

Classes/Modules

module TkMacResource

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |

Added/Redefined Methods

Tk.load_tclscript_rsrc Tk.load_tclscript_rsrcid


module TkMacResource

ancestors: TkMacResource
extend: Tk, TkMacResource

Abstract

Singleton Methods

Signature | Description
close(rsrcRef) |
delete(rsrcType, opts = nil) |
files(rsrcRef = nil) |
list(rsrcType, rsrcRef = nil) |
open(fname, access = nil) |
package_name |
read(rsrcType, rsrcID, rsrcRef = nil) |
types(rsrcRef = nil) |
write(rsrcType, data, opts = nil) |

Instance Methods

Signature | Description
close(rsrcRef) |
delete(rsrcType, opts = nil) |
files(rsrcRef = nil) |
list(rsrcType, rsrcRef = nil) |
open(fname, access = nil) |
read(rsrcType, rsrcID, rsrcRef = nil) |
types(rsrcRef = nil) |
write(rsrcType, data, opts = nil) |

Constants

Signature | Description
PACKAGE_NAME |
TkCommandNames |


library tk/menu

Abstract

Classes/Modules

class TkMenu
class TkMenuClone
module TkMenuEntryConfig
class TkMenubutton
class TkOptionMenubutton
class TkOptionMenubutton::OptionMenu
class TkSysMenu_Apple
class TkSysMenu_Help
class TkSysMenu_System
module TkSystemMenu

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkMenu

ancestors: TkMenu < TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Wm < TkComm < TkUtil < TkEvent < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: TkMenuSpec

Abstract

Singleton Methods

Signature | Description
new_menuspec(menu_spec, parent = nil, tearoff = false, keys = nil) |

Instance Methods

Signature | Description
activate(index) |
add(type, keys = nil) |
add_cascade(keys = nil) |
add_checkbutton(keys = nil) |
add_command(keys = nil) |
add_radiobutton(keys = nil) |
add_separator(keys = nil) |
clone_menu(*args) |
delete(first, last = nil) |
index(idx) |
insert(index, type, keys = nil) |
invoke(index) |
menutype(index) |
popup(x, y, index = nil) |
post(x, y) |
postcascade(index) |
postcommand(cmd = Proc.new) |
set_focus |
tagid(id) |
tearoffcommand(cmd = Proc.new) |
unpost |
yposition(index) |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure current_entryconfiginfo entrycget entryconfiginfo entryconfigure _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkMenuClone

ancestors: TkMenuClone < TkMenu < TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Wm < TkComm < TkUtil < TkEvent < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(src_menu, *args) |

Instance Methods

Signature | Description
source_menu |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS ::TkCommandNames bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid activate add add_cascade add_checkbutton add_command add_radiobutton add_separator clone_menu delete index insert invoke menutype popup post postcascade postcommand set_focus tearoffcommand unpost yposition .new_menuspec ::WidgetClassName current_entryconfiginfo entrycget entryconfiginfo entryconfigure _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval


module TkMenuEntryConfig

ancestors: TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil

Abstract

Instance Methods

Signature | Description
current_entryconfiginfo(tagOrId, slot = nil) |
entrycget(tagOrId, option) |
entryconfiginfo(tagOrId, slot = nil) |
entryconfigure(tagorId, slot, value = Tk::None) |

Inherited Methods

current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid


class TkMenubutton

ancestors: TkMenubutton < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class ::WidgetClassNames epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkOptionMenubutton

ancestors: TkOptionMenubutton < TkMenubutton < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) |

Instance Methods

Signature | Description
activate(index) |
add(value) |
current_entryconfiginfo(index, key = nil) |
current_menuconfiginfo(key = nil) |
delete(index, last = Tk::None) |
entrycget(index, key) |
entryconfiginfo(index, key = nil) |
entryconfigure(index, key, val = Tk::None) |
index(index) |
insert(index, value) |
invoke(index) |
menu |
menucget(key) |
menuconfiginfo(key = nil) |
menuconfigure(key, val = Tk::None) |
value |
value=(val) |
yposition(index) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class ::WidgetClassNames ::WidgetClassName epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval


class TkOptionMenubutton::OptionMenu

ancestors: TkOptionMenubutton::OptionMenu < TkMenu < TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Wm < TkComm < TkUtil < TkEvent < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(path) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS ::TkCommandNames bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid activate add add_cascade add_checkbutton add_command add_radiobutton add_separator clone_menu delete index insert invoke menutype popup post postcascade postcommand set_focus tearoffcommand unpost yposition .new_menuspec ::WidgetClassName current_entryconfiginfo entrycget entryconfiginfo entryconfigure _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval


class TkSysMenu_Apple

ancestors: TkSysMenu_Apple < TkSystemMenu < TkMenu < TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Wm < TkComm < TkUtil < TkEvent < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
SYSMENU_NAME |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS ::TkCommandNames bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid activate add add_cascade add_checkbutton add_command add_radiobutton add_separator clone_menu delete index insert invoke menutype popup post postcascade postcommand set_focus tearoffcommand unpost yposition .new_menuspec ::WidgetClassName current_entryconfiginfo entrycget entryconfiginfo entryconfigure _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval initialize asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkSysMenu_Help

ancestors: TkSysMenu_Help < TkSystemMenu < TkMenu < TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Wm < TkComm < TkUtil < TkEvent < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
SYSMENU_NAME |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS ::TkCommandNames bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid activate add add_cascade add_checkbutton add_command add_radiobutton add_separator clone_menu delete index insert invoke menutype popup post postcascade postcommand set_focus tearoffcommand unpost yposition .new_menuspec ::WidgetClassName current_entryconfiginfo entrycget entryconfiginfo entryconfigure _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval initialize asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkSysMenu_System

ancestors: TkSysMenu_System < TkSystemMenu < TkMenu < TkMenuEntryConfig < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Wm < TkComm < TkUtil < TkEvent < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
SYSMENU_NAME |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS ::TkCommandNames bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid activate add add_cascade add_checkbutton add_command add_radiobutton add_separator clone_menu delete index insert invoke menutype popup post postcascade postcommand set_focus tearoffcommand unpost yposition .new_menuspec ::WidgetClassName current_entryconfiginfo entrycget entryconfiginfo entryconfigure _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval initialize asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


module TkSystemMenu

ancestors: TkSystemMenu

Abstract

Instance Methods

Signature | Description
initialize(parent, keys = nil) |


library tk/menubar

Abstract

Classes/Modules

class TkMenubar

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkMenubar

ancestors: TkMenubar < TkComposite < Tk < TkCore < TkComm < TkUtil < TkEvent < TkMenuSpec < TkFrame < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent = nil, spec = nil, options = nil) |

Instance Methods

Signature | Description
self[index] |
add_menu(menu_info) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames database_class database_classname delegate delegate_alias epath option_methods []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class .database_class .database_classname ::TkCommandNames ::WidgetClassName _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menuspec

library tk/menuspec

Abstract

Classes/Modules

module TkMenuSpec


module TkMenuSpec

ancestors: TkMenuSpec

Abstract

Private Instance Methods

Signature | Description
_create_menu(parent, menu_info, menu_name = nil, tearoff = false, default_opts = nil) |
_create_menu_for_menubar(parent) |
_create_menubutton(parent, menu_info, tearoff=false, default_opts = nil) |
_get_cascade_menus(menu) |
_use_menubar?(parent) |


library tk/message

Abstract

Classes/Modules

class TkMessage

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkMessage

ancestors: TkMessage < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/mngfocus

Abstract

Classes/Modules

module TkManageFocus

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkManageFocus

ancestors: TkManageFocus
extend: Tk

Abstract

Instance Methods

Signature | Description
focusNext |
focusPrev |

Module Functions

Signature | Description
followsMouse |
next(win) |
prev(win) |

Constants

Signature | Description
TkCommandNames |


library tk/msgcat

Abstract

Classes/Modules

class TkMsgCatalog

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkMsgCatalog

ancestors: TkMsgCatalog < TkCore < TkComm < TkUtil < TkEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: Tk

Abstract

Singleton Methods

Signature Description
translate(*args)
mc(*args)
self[*args]
callback(namespace, locale, src_str, *args)
def_unknown_proc(cmd = Proc.new)
load_rb(dir)
load(dir)
load_tk(dir)
locale
locale=(locale)
maxlen(*src_strings)
new(namespace = nil)
package_name
preferences
set_translation(locale, src_str, trans_str = Tk::None, enc = "utf-8")
set_translation_list(locale, trans_list, enc = "utf-8")

Instance Methods

Signature Description
translate(*args)
mc(*args)
self[*args]
def_unknown_proc(cmd = Proc.new)
load_rb(dir)
load(dir)
load_tk(dir)
locale
locale=(locale)
maxlen(*src_strings)
method_missing(id, *args)
msgcat_ext
msgcat_ext=(value)
preferences
set_translation(locale, src_str, trans_str = Tk::None, enc = "utf-8")
set_translation_list(locale, trans_list, enc = "utf-8")

Constants

Signature | Description
MSGCAT_EXT |
PACKAGE_NAME |
TkCommandNames |
UNKNOWN_CBTBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/namespace

Abstract

Classes/Modules

class TkNamespace
class TkNamespace::Ensemble
class TkNamespace::NsCode
class TkNamespace::ScopeArgs

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkNamespace

ancestors: TkNamespace < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: Tk

Abstract

Singleton Methods

Signature | Description
children(*args) |
code(script = Proc.new) |
current |
current_path |
delete(*ns_list) |
ensemble_configinfo(cmd, slot = nil)) |
ensemble_configure(cmd, slot, value = Tk::None) |
ensemble_create(*keys) |
ensemble_exist?(cmd) |
eval(namespace, cmd = Proc.new, *args) |
exist?(ns) |
export(*patterns) |
export_with_clear(*patterns) |
force_import(*patterns) |
forget(*patterns) |
get_path |
get_unknown_handler |
id2obj(id) |
import(*patterns) |
inscope(namespace, script, *args) |
new(name = nil, parent = nil) |
origin(cmd) |
parent(namespace = Tk::None) |
qualifiers(str) |
set_path(*namespace_list) |
set_unknown_handler(cmd = Proc.new) |
tail(str) |
upvar(namespace, *var_pairs) |
which(name) |
which_command(name) |
which_variable(name) |

Instance Methods

Signature Description
__tk_call(*args)
__tk_call_with_enc(*args)
__tk_call_without_enc(*args)
children
code(script = Proc.new)
current_namespace
current
current_path
delete
eval(cmd = Proc.new, *args)
exist?
export
export_with_clear
force_import
forget
import
inscope(script, *args)
install_cmd(cmd)
tk_call(*args)
ns_tk_call(*args)
tk_call_with_enc(*args)
ns_tk_call_with_enc(*args)
tk_call_without_enc(*args)
ns_tk_call_without_enc(*args)
parent
set_path
upvar(*var_pairs)

Constants

Signature | Description
Global |
TkCommandNames |
Tk_Namespace_ID |
Tk_Namespace_ID_TBL |
Tk_NsCode_RetObjID_TBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkNamespace::Ensemble

ancestors: TkNamespace::Ensemble < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
exist?(ensemble) |
new(keys = {}) |

Instance Methods

Signature | Description
cget(slot) |
configinfo(slot = nil) |
exists? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts config_hash_kv configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkNamespace::NsCode

ancestors: TkNamespace::NsCode < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(scope, use_obj_id = false) |

Instance Methods

Signature | Description
call(*args) |
path |
to_eval |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkNamespace::ScopeArgs

ancestors: TkNamespace::ScopeArgs < Tk < TkCore < TkComm < TkUtil < TkEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(namespace, *args) |

Instance Methods

Signature | Description
tk_call(*args) |
tk_call_with_enc(*args) |
tk_call_without_enc(*args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/optiondb

Abstract

Classes/Modules

module TkOptionDB
module TkOptionDB::Priority

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkOptionDB

ancestors: TkOptionDB < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Module Functions

Signature Description
add(pat, value, pri = Tk::None)
clear
eval_under_random_base(parent = nil, &block)
get(win, name, klass)
new_proc_class(klass, func, safe = 4, add = false, parent = nil, &block)
new_proc_class_random(klass, func, safe = 4, add = false, &block)
read_entries(file, f_enc = nil)
readfile(file, pri = Tk::None)
read_file(file, pri = Tk::None)
read_with_encoding(file, f_enc = nil, pri = Tk::None)

Constants

Signature | Description
CmdClassID |
RAND_BASE_CHAR |
RAND_BASE_CNT |
RAND_BASE_HEAD |
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


module TkOptionDB::Priority

ancestors: TkOptionDB::Priority

Abstract

Constants

Signature | Description
Interactive |
StartupFile |
UserDefault |
WidgetDefault |


library tk/optionobj

Abstract

Classes/Modules

class Tk::OptionObj

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class Tk::OptionObj

ancestors: Tk::OptionObj < TkUtil < Hash < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(hash = nil) |

Instance Methods

Signature Description
self + hash
self[key]
cget(key)
self[key] = value
notify(target = nil)
apply(target = nil)
assign(*wins)
configure(key, value = nil)
observ_info
observs
replace(hash)
store(key, value)
unassign(*wins)
update(hash)
update_without_notify(hash)

Hash#update と同じ。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == clear clone default default= default_proc delete delete_if each each_key each_value empty? equal? fetch has_key? has_value? hash index indexes inspect invert keys length merge rehash shift to_hash values values_at .[] =~ __id__ __send__ _dump class dclone display enum_for extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/pack

Abstract

Classes/Modules

module TkPack

ウィジェットを配置するためのモジュールです。 このモジュールにより、ウィジェットは空き領域を順次詰めるように配置されます。

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkPack

ancestors: TkPack < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

ウィジェットを配置するためのモジュールです。 このモジュールにより、ウィジェットは空き領域を順次詰めるように配置されます。

普通、ウィジェットの配置にはTkWindow#packが使われます。

Module Functions

Signature Description
configure(win1, win2, ... winN, keys=nil)
pack(win1, win2, ... winN, keys=nil)

ウィジェットwin1 ... winNを配置します。 keysは以下をキーに持つハッシュです。

forget(*args)

argsで指定したウィジェットの配置を取り下げます(非表示になります)。

info(slave)
propagate(master, bool=None)

スレーブのpackが完了した後マスターのウィジェット(master) の大きさが自動的に変更されるかどうかを真偽値boolで指定します。

slaves(master)

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/package

Abstract

Classes/Modules

class TkPackage

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkPackage

ancestors: TkPackage < TkCore < TkComm < TkUtil < TkEvent < Object < Kernel
extend: TkCore

Abstract

Instance Methods

Signature | Description
add_path(path) |
forget(package) |
if_needed(pkg, ver, *arg) { .... } |
names |
present(package, version=None) |
present_exact(package, version) |
provide(package, version=nil) |
require(package, version=None) |
require_exact(package, version) |
unknown_proc(*arg) { .... } |
vcompare(version1, version2) |
versions(package) |
vsatisfies(version1, version2) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/palette

Abstract

Classes/Modules

module TkPalette

extend Tk

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkPalette

ancestors: TkPalette < Tk < TkCore < TkComm < TkUtil < TkEvent

Abstract

extend Tk

Singleton Methods

Signature | Description
bisque |
darken(color, percent) |
recolorTree(win, colors) |
set(*args) |
setPalette(*args) |

Instance Methods

Signature | Description
recolorTree(colors) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/panedwindow

Abstract

Classes/Modules

class TkPanedWindow

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkPanedWindow

ancestors: TkPanedWindow < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature Description
add(*args)
current_paneconfiginfo(win, key = nil)
current_pane_configinfo(win, key = nil)
forget(win, *wins)
del(win, *wins)
delete(win, *wins)
remove(win, *wins)
identify(x, y)
paneconfigure(win, key, value = nil)
pane_config(win, key, value = nil)
paneconfiginfo(win, key = nil)
pane_configinfo(win, key = nil)
panecget(win, key)
panes
proxy_coord
proxy_forget
proxy_place(x, y)
sash_coord(index)
sash_dragto(index, x, y)
sash_mark(index, x, y)
sash_place(index, x, y)

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/place

Abstract

Classes/Modules

module TkPlace

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkPlace

ancestors: TkPlace < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Module Functions

Signature Description
configinfo(win, slot = nil)
configure(win, slot, value = Tk::None)
place(win, slot, value = Tk::None)
current_configinfo(win, slot = nil)
forget(win)
info(win)
slaves(master)

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/radiobutton

Abstract

Classes/Modules

class TkRadioButton

ラジオボタンウィジェットのクラスです。 ラジオボタンは、複数の選択項目のうちの1つを選択するウィジェットです。

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkRadioButton

ancestors: TkRadioButton < TkButton < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

ラジオボタンウィジェットのクラスです。 ラジオボタンは、複数の選択項目のうちの1つを選択するウィジェットです。

require "tk"
v  = TkVariable.new
c = proc {print v, "\n"}
TkRadioButton.new {text "a"; variable v; value 1; select;   command c; pack}
TkRadioButton.new {text "b"; variable v; value 2; deselect; command c; pack}
TkRadioButton.new {text "c"; variable v; value 3; deselect; command c; pack}
Tk.mainloop

Instance Methods

Signature | Description
deselect | ラジオボタンをチェックしない状態にします。
get_value |
select | ラジオボタンをチェックした状態にします。
set_value(val) | ラジオボタンをチェックしたときの値をvalにします。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo flash invoke ::TkCommandNames ::WidgetClassName bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class ::WidgetClassNames epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/root

Abstract

Classes/Modules

class TkRoot

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkRoot

ancestors: TkRoot < Tk::Wm < TkComm < TkUtil < TkEvent < TkMenuSpec < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
destroy |
new(keys = nil, &block) |
to_eval |

Instance Methods

Signature | Description
add_menu(menu_info, tearoff = false, opts = nil) |
add_menubar(menu_spec, tearoff = false, opts = nil) |
path |

Constants

Signature | Description
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS ::TkCommandNames bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname


library tk/scale

Abstract

Classes/Modules

class TkScale

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkScale

ancestors: TkScale < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature | Description
command(cmd = Proc.new) |
configure(slot, value = Tk::None) |
configure_cmd(slot, value) |
coords(value = Tk::None) |
get(x = Tk::None, y = Tk::None) |
identify(x, y) |
set(value) |
value |
value=(value) |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/scrollable

Abstract

Classes/Modules

module Tk::Scrollable
module Tk::X_Scrollable
module Tk::Y_Scrollable

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module Tk::Scrollable

ancestors: Tk::Scrollable

      < Tk::X_Scrollable

      < Tk::Y_Scrollable

Abstract

Instance Methods

Signature | Description
autoscroll(mode = nil) |
unautoscroll(mode = nil) |


module Tk::X_Scrollable

ancestors: Tk::X_Scrollable

Abstract

Instance Methods

Signature | Description
xscrollbar(bar = nil) |
xscrollcommand(cmd = Proc.new) |
xview(*index) |
xview_moveto(*index) |
xview_scroll(*index) |


module Tk::Y_Scrollable

ancestors: Tk::Y_Scrollable

Abstract

Instance Methods

Signature | Description
yscrollbar(bar = nil) |
yscrollcommand(cmd = Proc.new) |
yview(*index) |
yview_moveto(*index) |
yview_scroll(*index) |


library tk/scrollbar

Abstract

Classes/Modules

class TkScrollbar
class TkXScrollbar
class TkYScrollbar

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkScrollbar

ancestors: TkScrollbar < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature | Description
activate(element = Tk::None) |
assign(*wins) |
assigned_list |
configure(*args) |
delta(deltax, deltay) |
fraction(x, y) |
get |
identify(x, y) |
propagate_set(src_win, first, last) |
set(first, last) |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkXScrollbar

ancestors: TkXScrollbar < TkScrollbar < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval activate assign assigned_list delta fraction get identify propagate_set set ::TkCommandNames ::WidgetClassName asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkYScrollbar

ancestors: TkYScrollbar < TkScrollbar < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval activate assign assigned_list delta fraction get identify propagate_set set ::TkCommandNames ::WidgetClassName asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


library tk/scrollbox

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tk/selection

Abstract

Classes/Modules

module TkSelection

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkSelection

ancestors: TkSelection < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Singleton Methods

Signature | Description
clear(sel = nil) |
clear_on_display(win, sel = nil) |
get(keys = nil) |
get_on_display(win, keys = nil) |
get_owner(sel = nil) |
get_owner_on_display |
handle(win, func = Proc.new, keys = nil, &block) |
set_owner(win, keys = nil) |

Instance Methods

Signature | Description
clear(sel = nil) |
get(keys = nil) |
get_owner(sel = nil) |
handle(func = Proc.new, keys = nil, &block) |
set_owner(keys = nil) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/spinbox

Abstract

Classes/Modules

class TkSpinbox
class TkSpinbox::SpinCommand
class TkSpinbox::SpinCommand::ValidateArgs

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkSpinbox

ancestors: TkSpinbox < TkEntry < Tk::X_Scrollable < TkValidation < Tk::ValidateConfigure < TkLabel < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature | Description
__validation_class_list |
command |
identify(x, y) |
set(str) |
spindown |
spinup |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |
WidgetClassNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE xscrollbar xscrollcommand xview xview_moveto xview_scroll bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK [] []= bbox cursor cursor= delete dragto get index insert invoke_validate mark selection_adjust selection_clear selection_from selection_present selection_range selection_to set validate install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval


class TkSpinbox::SpinCommand

ancestors: TkSpinbox::SpinCommand < TkValidateCommand < Object < Kernel

Abstract

Singleton Methods

Signature | Description
_config_keys |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string _initialize_for_cb_class to_eval .new


class TkSpinbox::SpinCommand::ValidateArgs

ancestors: TkSpinbox::SpinCommand::ValidateArgs < TkUtil::CallbackSubst < Object < Kernel

Abstract

Singleton Methods

Signature | Description
ret_val(val) |

Instance Methods

Signature | Description
current |
direction |
widget |

Constants

Signature | Description
KEY_TBL |
PROC_TBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new ._define_attribute_aliases ._get_all_subst_keys ._get_extra_args_tbl ._get_subst_key ._setup_subst_table .inspect .scan_args .subst_arg ::SUBST_INFO


library tk/tagfont

Abstract

Classes/Modules

module TkTreatTagFont

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkTreatTagFont

ancestors: TkTreatTagFont

Abstract

Instance Methods

Signature | Description
asciifont_configure(ltn, keys = nil) | Alias for #latinfont_configure
asciifont_copy(win, wintag = nil) | Alias for #latinfont_copy
font_configinfo |
font_configure(slot) | alias font font_configinfo
font_copy(win, wintag = nil) |
kanjifont_configure(knj, keys = nil) |
kanjifont_copy(win, wintag = nil) |
latinfont_configure(ltn, keys = nil) | alias asciifont_configure
latinfont_copy(win, wintag = nil) | alias asciifont_copy


library tk/text

Abstract

Classes/Modules

class TkText
module TkText::IndexModMethods
class TkText::IndexString
class TkText::Peer
module TkTextTagConfig

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkText

ancestors: TkText < TkTextTagConfig < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Scrollable < Tk::X_Scrollable < Tk::Y_Scrollable < TkTextWin < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
at(x, y) |
new(*args) { ... } |

Instance Methods

Signature Description
__destroy_hook__
_addcmd(cmd)
_addtag(name, obj)
tag_add(tag, index1, index2 = Tk::None)
addtag(tag, index1, index2 = Tk::None)
add_tag(tag, index1, index2 = Tk::None)
at(x, y)
backspace
bbox(index)
clear
erase
compare(idx1, op, idx2)
count(idx1, idx2, *opts)
count_info(idx1, idx2, update = true)
current_image_configinfo(index, slot = nil)
debug
debug=(boolean)
tag_delete(*tags)
deltag(*tags)
delete_tag(*tags)
destroy
dlineinfo(index)
dump(type_info, *index) { ... }
dump_all(*index) { ... }
dump_image(*index) { ... }
dump_mark(*index) { ... }
dump_tag(*index) { ... }
dump_text(*index) { ... }
dump_window(*index) { ... }
edit_redo
edit_reset
edit_separator
edit_undo
get_displaychars(*index)
image_cget(index, slot)
image_configinfo(index, slot = nil)
image_configure(index, slot, value = Tk::None)
image_names
index(idx)
init_instance_variable
insert(index, chars, *tags)
mark_gravity(mark, direction = nil)
mark_names
mark_next(index)
next_mark(index)
mark_previous(index)
previous_mark(index)
mark_set(mark, index)
set_mark(mark, index)
mark_unset(*marks)
unset_mark(*marks)
modified(mode)
modified=(mode)
modified?
peer_names
replace(idx1, idx2, *opts)
rsearch(pat, start, stop = Tk::None)
rsearch_with_length(pat, start, stop = Tk::None)
search(pat, start, stop = Tk::None)
search_with_length(pat, start, stop = Tk::None)
set_current(index)
set_insert(index)
tag_bind(tag, seq, *args)
tag_bind_append(tag, seq, *args)
tag_bind_remove(tag, seq)
tag_bindinfo(tag, context = nil)
tag_lower(tag, below = Tk::None)
tag_names(index = Tk::None)
tag_nextrange(tag, first, last = Tk::None)
tag_prevrange(tag, first, last = Tk::None)
tag_raise(tag, above = Tk::None)
tag_ranges(tag)
tag_remove(tag, *indices)
tagid2obj(tagid)
text_copy
text_cut
text_paste
tksearch(*args)
tksearch_with_count(*args)
value
value=(val)
window_names
xview_pickplace(index)
yview_pickplace(index)

Constants

Signature | Description
ItemConfCMD |
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE autoscroll unautoscroll bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval current_tag_configinfo current_window_configinfo tag_cget tag_configinfo tag_configure window_cget window_configinfo window_configure delete get scan_dragto scan_mark see ::TkCommnadNames asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure asciitagfont_configure asciitagfont_copy kanjifont_copy kanjitagfont_configure latintagfont_configure latintagfont_copy tagfont_configinfo tagfont_configure tagfont_copy tagfontobj _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval


module TkText::IndexModMethods

ancestors: TkText::IndexModMethods

Abstract

Instance Methods

Signature Description
self + mod
self - mod
any_chars(mod)
any_char(mod)
any_indices(mod)
any_lines(mod)
any_line(mod)
chars(mod)
char(mod)
display_chars(mod)
display_char(mod)
display_indices(mod)
display_lines(mod)
display_line(mod)
display_lineend
display_linestart
display_wordend
display_wordstart
indices(mod)
lines(mod)
line(mod)
lineend
linestart
wordend
wordstart


class TkText::IndexString

ancestors: TkText::IndexString < TkText::IndexModMethods < String < Enumerable < Comparable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
at(x, y) |
new(str) |

Instance Methods

Signature | Description
id |

Inherited Methods

< <= == > >= between? all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint % * << <=> =~ [] []= bytes bytesize capitalize capitalize! casecmp center chars chomp chomp! chop chop! crypt delete delete! downcase downcase! dump each empty? end_with? eql? gsub gsub! hash hex index insert inspect intern is_binary_data? is_complex_yaml? iseuc issjis isutf8 jcount jlength kconv length ljust lstrip lstrip! match mbchar? next next! oct replace reverse reverse! rindex rjust rpartition rstrip rstrip! scan scanf shellescape shellsplit slice! split squeeze squeeze! start_with? strip strip! sub sub! sum swapcase swapcase! to_d to_f to_i to_ptr to_s toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! unpack upcase upcase! upto + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart


class TkText::Peer

ancestors: TkText::Peer < TkText < TkTextTagConfig < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil < Tk::Scrollable < Tk::X_Scrollable < Tk::Y_Scrollable < TkTextWin < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(text, parent = nil, keys = {}) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE autoscroll unautoscroll bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval __destroy_hook__ _addcmd _addtag add_tag at backspace bbox clear compare count count_info current_image_configinfo debug debug= delete_tag destroy dlineinfo dump dump_all dump_image dump_mark dump_tag dump_text dump_window edit_redo edit_reset edit_separator edit_undo get_displaychars image_cget image_configinfo image_configure image_names index init_instance_variable insert mark_gravity mark_names mark_next mark_previous mark_set mark_unset modified modified= modified? peer_names replace rsearch rsearch_with_length search search_with_length set_current set_insert tag_bind tag_bind_append tag_bind_remove tag_bindinfo tag_lower tag_names tag_nextrange tag_prevrange tag_raise tag_ranges tag_remove tagid2obj text_copy text_cut text_paste tksearch tksearch_with_count value value= window_names xview_pickplace yview_pickplace .at ::ItemConfCMD ::TkCommandNames ::WidgetClassName current_tag_configinfo current_window_configinfo tag_cget tag_configinfo tag_configure window_cget window_configinfo window_configure delete get scan_dragto scan_mark see ::TkCommnadNames asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure asciitagfont_configure asciitagfont_copy kanjifont_copy kanjitagfont_configure latintagfont_configure latintagfont_copy tagfont_configinfo tagfont_configure tagfont_copy tagfontobj _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .to_eval


module TkTextTagConfig

ancestors: TkTextTagConfig < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigMethod < TkUtil < TkTreatItemFont < TkItemFontOptkeys < TkItemConfigOptkeys < TkUtil

Abstract

Instance Methods

Signature | Description
current_tag_configinfo(tagOrId, slot = nil) |
current_window_configinfo(tagOrId, slot = nil) |
tag_cget(tagOrId, option) |
tag_configinfo(tagOrId, slot = nil) |
tag_configure(tagOrId, slot, value = Tk::None) |
window_cget(tagOrId, option) |
window_configinfo(tagOrId, slot = nil) |
window_configure(tagOrId, slot, value = Tk::None) |

Inherited Methods

current_itemconfiginfo itemcget itemconfiginfo itemconfigure tagid asciitagfont_configure asciitagfont_copy kanjifont_copy kanjitagfont_configure latintagfont_configure latintagfont_copy tagfont_configinfo tagfont_configure tagfont_copy tagfontobj


library tk/textimage

Abstract

Classes/Modules

class TkTextImage

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkTextImage

ancestors: TkTextImage < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, index, keys) |

Instance Methods

Signature | Description
self[slot] |
self[slot] = value |
cget(slot) |
configinfo(slot = nil) |
configure(slot, value = Tk::None) |
current_configinfo(slot = nil) |
id |
image |
image=(value) |
mark |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames __confinfo_cmd __conv_keyonly_opts config_hash_kv configure_cmd _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/textmark

Abstract

Classes/Modules

class TkTextMark
class TkTextMarkAnchor
class TkTextMarkCurrent
class TkTextMarkInsert
class TkTextNamedMark

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkTextMark

ancestors: TkTextMark < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
id2obj(text, id) |
new(parent, index) |

Instance Methods

Signature Description
unset
destroy
exist?
gravity
gravity=(direction)
id
next(index = nil)
pos
pos=(where)
previous(index = nil)
set(where)

Constants

Signature | Description
TMarkID_TBL |
Tk_TextMark_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTextMarkAnchor

ancestors: TkTextMarkAnchor < TkTextNamedMark < TkTextMark < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart destroy exist? gravity gravity= id next pos pos= previous set .id2obj ::TMarkID_TBL ::Tk_TextMark_ID asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTextMarkCurrent

ancestors: TkTextMarkCurrent < TkTextNamedMark < TkTextMark < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart destroy exist? gravity gravity= id next pos pos= previous set .id2obj ::TMarkID_TBL ::Tk_TextMark_ID asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTextMarkInsert

ancestors: TkTextMarkInsert < TkTextNamedMark < TkTextMark < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart destroy exist? gravity gravity= id next pos pos= previous set .id2obj ::TMarkID_TBL ::Tk_TextMark_ID asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTextNamedMark

ancestors: TkTextNamedMark < TkTextMark < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, name, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart destroy exist? gravity gravity= id next pos pos= previous set .id2obj ::TMarkID_TBL ::Tk_TextMark_ID asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/texttag

Abstract

Classes/Modules

class TkTextNamedTag
class TkTextTag
class TkTextTagSel

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkTextNamedTag

ancestors: TkTextNamedTag < TkTextTag < TkTreatTagFont < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, name, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart add destroy exist? first id last lower nextrange prevrange raise ranges remove .id2obj ::TTagID_TBL ::Tk_TextTag_ID asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTextTag

ancestors: TkTextTag < TkTreatTagFont < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
id2obj(text, id) |
new(parent, *args) |

Instance Methods

Signature | Description
self[key] |
self[key] = val |
add(*indices) |
bind(seq, *args) |
bind_append(seq, *args) |
bind_remove(seq) |
bindinfo(context = nil) |
cget(key) |
configinfo(key = nil) |
configure(key, val = Tk::None) |
current_configinfo(key = nil) |
destroy |
exist? |
first |
id |
last |
lower(below = Tk::None) |
nextrange(first, last = Tk::None) |
prevrange(first, last = Tk::None) |
raise(above = Tk::None) |
ranges |
remove(*indices) |

Constants

Signature | Description
TTagID_TBL |
Tk_TextTag_ID |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames __confinfo_cmd __conv_keyonly_opts config_hash_kv configure_cmd _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTextTagSel

ancestors: TkTextTagSel < TkTextNamedTag < TkTextTag < TkTreatTagFont < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, *args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart add destroy exist? first id last lower nextrange prevrange raise ranges remove .id2obj ::TTagID_TBL ::Tk_TextTag_ID asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/textwindow

Abstract

Classes/Modules

class TkTextWindow

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkTextWindow

ancestors: TkTextWindow < TkText::IndexModMethods < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(parent, index, keys = {}) |

Instance Methods

Signature | Description
self[slot] |
self[slot] = value |
cget(slot) |
configinfo(slot = nil) |
configure(slot, value = Tk::None) |
create |
create=(value) |
current_configinfo(slot = nil) |
id |
mark |
window |
window=(value) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames __confinfo_cmd __conv_keyonly_opts config_hash_kv configure_cmd _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval + - any_char any_indices any_line char display_char display_indices display_line display_lineend display_linestart display_wordend display_wordstart indices line lineend linestart wordend wordstart asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/timer

Abstract

Classes/Modules

class TkAfter
class TkRTTimer
class TkTimer

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkAfter

ancestors: TkAfter < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class TkRTTimer

ancestors: TkRTTimer < TkTimer < TkCore < TkComm < TkUtil < TkEvent < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) { ... } |

Instance Methods

Signature Description
cancel
stop
cb_call
continue(wait=nil)
set_interval(interval)
set_next_callback(args)
start(*args) { .... }

Constants

Signature | Description
DEFAULT_OFFSET_LIST_SIZE |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class add_procs after_id after_script cancel_on_exception= cancel_on_exception? current_args current_interval current_proc current_status delete_at delete_procs do_callback eventloop_tkwait eventloop_wait get_procs loop_exec loop_rest loop_rest= reset return_value running? set_callback set_procs set_start_proc skip thread_tkwait thread_wait tkwait wait .callback .start ::DEFAULT_IGNORE_EXCEPTIONS ::TkCommandNames ::Tk_CBID ::Tk_CBTBL _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkTimer

ancestors: TkTimer < TkCore < TkComm < TkUtil < TkEvent < Object < Kernel
extend: TkCore

Abstract

Singleton Methods

Signature | Description
callback(obj_id) |
info(obj = nil) |
new(*args) { .... } |
start(*args) { .... } |

Instance Methods

Signature Description
add_procs(*procs)
after_id
after_script
cancel
stop
cancel_on_exception=(mode)
cancel_on_exception?
cb_call
continue(wait = nil)
current_args
current_sleep
current_interval
current_proc
current_status
delete_at(n)
delete_procs(*procs)
do_callback
eventloop_tkwait
eventloop_wait(check_root = false)
get_procs
info
loop_exec
loop_exec=
loop_rest
loop_rest=(rest)
reset(*reset_args)
restart(*restart_args) { .... }
return_value
running?
set_callback(sleep, args = nil)
set_interval(interval)
set_next_callback(args)
set_procs(interval, loop_exec, *procs)
set_start_proc(sleep = nil, init_proc = nil, *init_args) { .... }
skip
start(*init_args) { .... }
thread_tkwait
thread_wait(check_root = false)
tkwait(on_thread = true)
wait(on_thread = true, check_root = false)

Constants

Signature | Description
DEFAULT_IGNORE_EXCEPTIONS |
TkCommandNames |
Tk_CBID |
Tk_CBTBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/toplevel

Abstract

Classes/Modules

class TkToplevel

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkToplevel

ancestors: TkToplevel < Tk::Wm < TkComm < TkUtil < TkEvent < TkMenuSpec < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
bind(*args) { ... } |
bind_append(*args) { ... } |
bind_remove(*args) |
bindinfo(*args) |
database_class |
database_classname |
new(parent = nil, screen = nil, classname = nil, keys = nil) |

Instance Methods

Signature | Description
add_menu(menu_info, tearoff = false, opts = nil) |
add_menubar(menu_spec, tearoff = false, opts = nil) |
specific_class |

Constants

Signature | Description
TkCommandNames |
WidgetClassName |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE aspect attributes client colormapwindows deiconify focusmodel frame geometry group iconbitmap iconify iconmaskbmp iconname iconphoto iconphoto_default iconposition iconwindow maxsize minsize overrideredirect positionfrom protocol protocols resizable sizefrom stackorder stackorder_isabove stackorder_isbelow state title transient withdraw wm_command wm_grid ::TOPLEVEL_METHODCALL_OPTKEYS bind bind_append bind_remove bindinfo bind_all bind_append_all bind_remove_all bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _create_menu _create_menu_for_menubar _create_menubutton _get_cascade_menus _use_menubar? epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .to_eval


library tk/txtwin_abst

Abstract

Classes/Modules

class TkTextWin

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkTextWin

ancestors: TkTextWin < TkWindow < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Instance Methods

Signature | Description
bbox(index) |
delete(first, last = Tk::None) |
get(*index) |
insert(index, *args) |
scan_dragto(x, y) |
scan_mark(x, y) |
see(index) |

Constants

Signature | Description
TkCommnadNames |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE bind_class bindtags bindtags= bindtags_shift bindtags_unshift caret colormodel command current_grab database_class database_classname destroy eventloop_tkwait eventloop_tkwait_destroy exist? focus grab grab_release grab_set grab_set_global grab_status grid grid_bbox grid_columnconfig grid_columnconfiginfo grid_config grid_forget grid_in grid_info grid_location grid_propagate grid_remove grid_rowconfig grid_rowconfiginfo grid_size grid_slaves lower pack pack_config pack_forget pack_in pack_info pack_propagate pack_slaves place place_config place_configinfo place_forget place_in place_info place_slaves raise thread_tkwait thread_tkwait_destroy tkwait tkwait_destroy .database_class .database_classname .new .to_eval ::WidgetClassName


library tk/validation

Abstract

Classes/Modules

module Tk::ItemValidateConfigure |
module Tk::ValidateConfigure |
class TkValidateCommand | include TkComm
class TkValidateCommand::ValidateArgs |
module TkValidation |
class TkValidation::ValidateCmd |
module TkValidation::ValidateCmd::Action |

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module Tk::ItemValidateConfigure

ancestors: Tk::ItemValidateConfigure

Abstract

Singleton Methods

Signature | Description
__def_validcmd(scope, klass, keys = nil) |

Instance Methods

Signature | Description
__conv_item_vcmd_on_hash_kv(keys) |
__get_item_validate_key2class(id) |
__item_validation_class_list(id) |
__item_validcmd_call(tagOrId, klass, key, *args, &b) |
itemconfigure(tagOrId, slot, value = TkComm::None) |


module Tk::ValidateConfigure

ancestors: Tk::ValidateConfigure

Abstract

Singleton Methods

Signature | Description
__def_validcmd(scope, klass, keys = nil) |

Instance Methods

Signature | Description
__conv_vcmd_on_hash_kv(keys) |
__get_validate_key2class |
__validation_class_list |
__validcmd_call(klass, key, *args, &b) |
configure(slot, value = TkComm::None) |


class TkValidateCommand

ancestors: TkValidateCommand < Object < Kernel
extend: TkComm

Abstract

include TkComm

Singleton Methods

Signature | Description
_config_keys |
new(cmd = Proc.new, *args) |

Instance Methods

Signature | Description
_initialize_for_cb_class(klass, cmd = Proc.new, *args) |
to_eval |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string


class TkValidateCommand::ValidateArgs

ancestors: TkValidateCommand::ValidateArgs < TkUtil::CallbackSubst < Object < Kernel

Abstract

Singleton Methods

Signature | Description
ret_val(val) | def self._get_extra_args_tbl

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new ._define_attribute_aliases ._get_all_subst_keys ._get_extra_args_tbl ._get_subst_key ._setup_subst_table .inspect .scan_args .subst_arg ::SUBST_INFO


module TkValidation

ancestors: TkValidation < Tk::ValidateConfigure

Abstract

Instance Methods

Signature | Description
__validation_class_list |


class TkValidation::ValidateCmd

ancestors: TkValidation::ValidateCmd < TkValidateCommand < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string _initialize_for_cb_class to_eval ._config_keys .new


module TkValidation::ValidateCmd::Action

ancestors: TkValidation::ValidateCmd::Action

Abstract

Constants

Signature | Description
Delete |
Focus |
Forced |
Insert |
Others |
TextVariable |
Textvariable |


library tk/variable

Abstract

Classes/Modules

class TkVarAccess | Tclライブラリなどで既に定義されている変数にアクセスするためのクラスで す。((-Tclのスコープを意識して利用しないとうまくアクセスできないと思わ れる。また、現状Tclの配列にはアクセスすることはできない-))
class TkVariable | Tclの変数をアクセスするためのクラスです。 ((-Tclの配列としての振る舞いは仕様が不安定のようです-))


class TkVarAccess

ancestors: TkVarAccess < TkVariable < Tk < TkCore < TkComm < TkUtil < TkEvent < Comparable < Object < Kernel

Abstract

Tclライブラリなどで既に定義されている変数にアクセスするためのクラスで す。((-Tclのスコープを意識して利用しないとうまくアクセスできないと思わ れる。また、現状Tclの配列にはアクセスすることはできない-))

require 'tk'
p TkCore::INTERP._eval("set tclvar 1")  # => 1
var = TkVarAccess.new("tclvar", 2)
p TkCore::INTERP._eval("set tclvar")    # => 2
var.value = 3
p TkCore::INTERP._eval("set tclvar")    # => 3

Singleton Methods

Signature | Description
new(name, *args) | Tcl変数 varname と生成したインスタンスを関連付けます。 val を指定すると値の設定も行います。
new_hash(name, *args) |

Inherited Methods

< <= == > >= between? === __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE % & * ** + - / <=> =~ [] []= bool= bool_element bool_type= clear coerce default_element_value_type default_proc default_value default_value= default_value_type default_value_type= element_lappend element_lget element_lget_f element_lget_i element_lset element_to_a element_to_f element_to_i element_to_s element_to_sym eventloop_tkwait eventloop_wait exist? id is_hash? is_scalar? keys lappend lget lget_f lget_i list list= list_type= lset nonzero? numeric numeric= numeric_element numeric_type= numlist numlist= numlist_element numlist_type= procedure procedure= procedure_element procedure_type= ref remove set_bool_element set_bool_element_type set_default_element_value_type set_default_value set_element_value set_element_value_type set_list set_list_element set_list_element_type set_numeric set_numeric_element set_numeric_element_type set_numlist_element_type set_procedure_element set_procedure_element_type set_string set_string_element set_string_element_type set_string_type set_symbol set_symbol_element set_symbol_element_type set_symbol_type set_value set_value_type set_variable set_variable_element set_variable_element_type set_variable_type set_window set_window_element set_window_element_type set_window_type size symbol symbol_element thread_tkwait thread_wait tkwait to_a to_eval to_f to_i to_s trace trace_callback trace_element trace_vdelete trace_vdelete_for_element trace_vinfo undef_default value value= variable variable_element wait window window_element zero? | .callback ::TkCommandNames ::TkVar_CB_TBL ::TkVar_ID_TBL ::Tk_VARIABLE_ID ::USE_TCLs_SET_VARIABLE_FUNCTIONS


class TkVariable

ancestors: TkVariable < Tk < TkCore < TkComm < TkUtil < TkEvent < Comparable < Object < Kernel
extend: TkCore

Abstract

Tclの変数をアクセスするためのクラスです。 ((-Tclの配列としての振る舞いは仕様が不安定のようです-))

require "tk"
p TkVariable.new(0).value                     # => "0"
p TkVariable.new(1.2).value                   # => "1.2"
p TkVariable.new(["a", "b"]).value            # => {"0"=>"a", "1"=>"b"}
p TkVariable.new(1=>"a", 2=>"b").value        # => {"1"=>"a", "2"=>"b"}

Singleton Methods

Signature | Description
callback(args) | TkVariable#traceにより登録されたProcオブジェクトを実行します。 args は、 [TkVariableのインスタンス, "キー", "操作"] である配列です。
new(val="") | 値がvalであるTkVariableオブジェクトを生成します。valが Array または Hash のオブジェクトである場合、生成されたインス タンスは Tclの配列として振る舞います。
new_hash(val = {}) |

Instance Methods

Signature Description
self % other
self & other
self * other
self ** other
self + other
self - other
self / other
self <=> other
self == other

値がotherと同じである場合に真です。otherは、 TkVariable, String, Integer, Float, Arrayのいずれかです。

self =~ other
self[index]

index番目の値を返します。 selfはTclの配列でなければなりません。

self[index] = val

index番目の要素をvalにします。 selfはTclの配列でなければなりません。

bool
bool=
set_bool
bool_element
bool_type=
set_bool_type(val)
clear
coerce(other)
default_element_value_type(idxs)
default_proc(cmd = Proc.new)
default_value(val = nil)
default_value(val = nil) { .... }
default_value=
default_value_type
default_value_type=
set_default_value_type(type)
element_lappend(idxs, *elems)
element_lindex(elem_idxs, idx)
element_lget(elem_idxs, idx)
element_lget_f(elem_idxs, idx)
element_lget_i(elem_idxs, idx)
element_lset(elem_idxs, idx, val)
list_element(*idxs)
element_to_a(*idxs)
element_to_f(*idxs)
element_to_i(*idxs)
element_to_s(*idxs)
string_element(*idxs)
element_to_sym(*idxs)
eventloop_tkwait
eventloop_wait(check_root = false)
exist?(*elems)
id
is_hash?
is_scalar?
keys
lappend(*elems)
lindex(idx)
lget(idx)
lget_f(idx)
lget_i(idx)
list
list=
list_type=
set_list_type(val)
lset(idx, val)
nonzero?
numeric
numeric=
numeric_element(*idxs)
set_numeric_type(val)
numeric_type=
numlist
set_numlist(val)
numlist=
numlist_element(*idxs)
set_numlist_type(val)
numlist_type=
procedure
set_procedure(cmd)
procedure=
procedure_element(*idxs)
procedure_type=
set_procedure_type(cmd)
ref(*idxs)
unset(elem=nil)
remove(elem=nil)

値がTcl配列であるとき、elemの値を削除します。

set_bool_element
set_bool_element_type(idxs, val)
set_default_element_value_type(idxs, type)
set_default_value(val)
set_element_value(idxs, val)
set_element_value_type(idxs, val)
set_list(val)
set_list_element(idxs, val)
set_numlist_element(idxs, val)
set_list_element_type(idxs, val)
set_numeric(val)
set_numeric_element(idxs, val)
set_numeric_element_type(idxs, val)
set_numlist_element_type(idxs, val)
set_procedure_element(idxs, cmd)
set_procedure_element_type(idxs, cmd)
string=
set_string(val)
set_string_element(idxs, val)
set_string_element_type(idxs, val)
string_type=
set_string_type(val)
symbol=
set_symbol(val)
set_symbol_element(idxs, val)
set_symbol_element_type(idxs, val)
symbol_type=
set_symbol_type(val)
set_value(val)

値を val に設定し、self を返します。

set_value_type(val)
value_type=
set_variable(var)
variable=
set_variable_element(*idxs)
set_variable_element_type(idxs, var)
set_variable_type(var)
variable_type=
set_window(win)
window=
set_window_element(idxs, win)
set_window_element_type(idxs, win)
set_window_type(win)
window_type=
size
string
symbol
to_sym
symbol_element
thread_tkwait
thread_wait(check_root = false)
tkwait(on_thread = true)
to_a

値を配列(Array)として返します。

to_eval
to_f

値を数値(Float)として返します。

to_i

値を数値(Fixnum)として返します。(現状のTkVariableは、 Bignumを値にすることはできません)

to_s

値を文字列(String)として返します。

trace(opts, cmd)

optsは、"r", "w", "u" のいずれか、またはこれらの組み合わせで、それぞれ 変数が参照、設定、削除 されたときにProcオブジェクト cmd を 呼び出します。2回目以降の呼び出しでは、opts が以前の設定と異なれ ばcmdを再設定します。

trace_callback(elem, op)

TkVariable#traceにより登録されたProcオブジェクトを引数にself, elem, opを指定して実行します。

trace_element(elem, opts, cmd)
trace_vdelete(opts, cmd)

TkVariable#trace で設定したcmdを削除します。opts が TkVariable#trace で 設定したときと一致しなければ何もしません。

trace_vdelete_for_element(elem, opts, cmd)
trace_vinfo
undef_default
update(hash)
value

値を返します。selfがTclの配列ならば(Tclの配列は連想配列な ので) Hashとして返します。それ以外では常に文字列を返します。

value=(val)

値をvalに設定します。

variable
variable_element(*idxs)
wait

値が変化するまで待ちます。

window
window_element(*idxs)
zero?
self | other

Constants

Signature | Description
TkCommandNames |
TkVar_CB_TBL | コールバック関数を記録するハッシュです。内部で利用しています。
TkVar_ID_TBL |
Tk_VARIABLE_ID | Tclレベルの変数名をインスタンスに割り当てるために内部で利用されています。
USE_TCLs_SET_VARIABLE_FUNCTIONS |

Inherited Methods

< <= > >= between? === __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint root ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/virtevent

Abstract

Classes/Modules

class TkNamedVirtualEvent
class TkVirtualEvent
class TkVirtualEvent::PreDefVirtEvent

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class TkNamedVirtualEvent

ancestors: TkNamedVirtualEvent < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class TkVirtualEvent

ancestors: TkVirtualEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: Tk

Abstract

Singleton Methods

Signature | Description
getobj(event) |
info |
new(*sequences) |

Instance Methods

Signature | Description
add(*sequences) |
delete(*sequences) |
info |

Constants

Signature | Description
TkCommandNames |
TkVirtualEventID |
TkVirtualEventTBL |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


class TkVirtualEvent::PreDefVirtEvent

ancestors: TkVirtualEvent::PreDefVirtEvent < TkVirtualEvent < TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(event, *sequences) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class destroy epath method_missing path tk_send tk_send_to_list tk_send_to_list_with_enc tk_send_to_list_without_enc tk_send_to_simplelist tk_send_to_simplelist_with_enc tk_send_to_simplelist_without_enc tk_send_with_enc tk_send_without_enc to_eval asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE add delete .getobj ::TkCommandNames ::TkVirtualEventID ::TkVirtualEventTBL


library tk/winfo

Abstract

Classes/Modules

module TkWinfo

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkWinfo

ancestors: TkWinfo < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Singleton Methods

Signature | Description
appname(win) |
atom(name, win = nil) |
atomname(id, win = nil) |
cells(win) |
children(win) |
classname(win) |
colormapfull(win) |
containing(root_x, root_y, win = nil) |
depth(win) |
exist?(win) |
fpixels(win, dist) |
geometry(win) |
height(win) |
id(win) |
interps(win = nil) |
manager(win) |
mapped?(win) |
parent(win) |
pixels(win. dist) |
pointerx(win) |
pointerxy(win) |
pointery(win) |
reqheight(win) |
reqwidth(win) |
rgb(win. color) |
rootx(win) |
rooty(win) |
screen(win) |
screencells(win) |
screendepth(win) |
screenheight(win) |
screenmmheight(win) |
screenmmwidth(win) |
screenvisual(win) |
screenwidth(win) |
server(win) |
toplevel(win) |
viewable(win) |
visual(win) |
visualid(win) |
visualsavailable(win, includeids = false) |
vrootheight(win) |
vrootwidth(win) |
vrootx(win) |
vrooty(win) |
widget(win) |
width(win) |
x(win) |
y(win) |

Instance Methods

Signature | Description
winfo_appname |
winfo_atom(name) |
winfo_atomname(id) |
winfo_cells |
winfo_children |
winfo_class |
winfo_classname |
winfo_colormapfull |
winfo_containing(x, y) |
winfo_depth |
winfo_exist? |
winfo_fpixels(dist) |
winfo_geometry |
winfo_height |
winfo_id |
winfo_interps |
winfo_manager |
winfo_mapped? |
winfo_parent |
winfo_pixels(dist) |
winfo_pointerx |
winfo_pointerxy |
winfo_pointery |
winfo_reqheight |
winfo_reqwidth |
winfo_rgb(color) |
winfo_rootx |
winfo_rooty |
winfo_screen |
winfo_screencells |
winfo_screendepth |
winfo_screenheight |
winfo_screenmmheight |
winfo_screenmmwidth |
winfo_screenvisual |
winfo_screenwidth |
winfo_server |
winfo_toplevel |
winfo_viewable |
winfo_visual |
winfo_visualid |
winfo_visualsavailable(includeids = false) |
winfo_vrootheight |
winfo_vrootwidth |
winfo_vrootx |
winfo_vrooty |
winfo_widget(id) |
winfo_width |
winfo_x |
winfo_y |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tk/winpkg

Abstract

Classes/Modules

module TkWinDDE
module TkWinRegistry

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkWinDDE

ancestors: TkWinDDE
extend: Tk, TkWinDDE

Abstract

Singleton Methods

Signature | Description
async_execute(service, topic, data) |
eval(topic, cmd, *args) |
execute(service, topic, data) |
package_name |
poke(service, topic, item, data) |
request(service, topic, item) |
servername(*args) |
services(service, topic) |

Instance Methods

Signature | Description
async_eval(topic, cmd, *args) |
async_execute(service, topic, data) |
binary_request(service, topic, item) |
eval(topic, cmd, *args) |
execute(service, topic, data) |
poke(service, topic, item, data) |
request(service, topic, item) |
servername(*args) |
services(service, topic) |

Constants

Signature | Description
PACKAGE_NAME |
TkCommandNames |


module TkWinRegistry

ancestors: TkWinRegistry
extend: Tk, TkWinRegistry

Abstract

Singleton Methods

Signature | Description
delete(keynam, valnam = Tk::None) |
get(keynam, valnam) |
keys(keynam, pattern = nil) |
set(keynam, valnam = Tk::None, data = Tk::None, dattype = Tk::None) |
type(keynam, valnam) |
values(keynam, pattern = nil) |

Instance Methods

Signature | Description
broadcast(keynam, timeout = nil) |
delete(keynam, valnam = Tk::None) |
get(keynam, valnam) |
keys(keynam, pattern = nil) |
set(keynam, valnam = Tk::None, data = Tk::None, dattype = Tk::None) |
type(keynam, valnam) |
values(keynam, pattern = nil) |

Constants

Signature | Description
TkCommandNames |


library tk/wm

Abstract

Classes/Modules

module Tk::Wm

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module Tk::Wm

ancestors: Tk::Wm < TkComm < TkUtil < TkEvent

Abstract

Instance Methods

Signature | Description
aspect(*args) |
attributes(slot = nil, value = Tk::None) |
client(name = Tk::None) |
colormapwindows(*args) |
deiconify(ex = true) |
focusmodel(mode = nil) |
frame |
geometry(geom = nil) |
group(leader = nil) |
iconbitmap(bmp = nil) |
iconify(ex = true) |
iconmaskbmp(bmp = nil) |
iconname(name = nil) |
iconphoto(*imgs) |
iconphoto_default(*imgs) |
iconposition(*args) |
iconwindow(win = nil) |
maxsize(*args) |
minsize(*args) |
overrideredirect(mode = Tk::None) |
positionfrom(who = Tk::None) |
protocol(name = nil, cmd = nil, &block) |
protocols(kv = nil) |
resizable(*args) |
sizefrom(who = Tk::None) |
stackorder |
stackorder_isabove(win) |
stackorder_isbelow(win) |
state(st = nil) |
title(str = nil) |
transient(master = nil) |
withdraw(ex = true) |
wm_command(value = nil) |
wm_grid(*args) |

Constants

Signature | Description
TOPLEVEL_METHODCALL_OPTKEYS |
TkCommandNames |


library tk/xim

Abstract

Classes/Modules

module TkXIM

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module TkXIM

ancestors: TkXIM < Tk < TkCore < TkComm < TkUtil < TkEvent
extend: Tk

Abstract

Singleton Methods

Signature | Description
caret(window, keys = nil) |
configinfo(window, slot=nil) |
configure(window, slot, value=None) |
current_configinfo(win, slot = nil) |
useinputmethods(window = nil, value = nil) |
useinputmethods_displayof(window, value = Tk::None) |

Instance Methods

Signature | Description
caret(keys = nil) |
imconfiginfo(slot = nil) |
imconfigure(slot, value = Tk::None) |
useinputmethods(value = Tk::None) |

Constants

Signature | Description
TkCommandNames |

Inherited Methods

root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


library tkafter

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


Ruby 1.8.7 Reference Manual > All Libraries > library tkbgerror

library tkbgerror

Abstract

Required Libraries

tk/bgerror


library tkcanvas

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkclass

Abstract

Classes/Modules

class Arc
class Bitmap
class BitmapImage
class Button
class Canvas
class Checkbutton
class Entry
class Font
class Frame
class Grid
class Label
class Line
class Listbox
class Menu
class Menubutton
class Message
class Oval
class Pack
class PhotoImage
class Place
class Polygon
class Radiobutton
class Rectangle
class Scale
class Scrollbar
class Selection
class Spinbox
class Text
class TextItem
class TopLevel
class Variable
class VirtualEvent
class WindowItem
class Winfo

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |

Added/Redefined Methods

Kernel#Mainloop


class Arc

ancestors: Arc < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Bitmap

ancestors: Bitmap < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class BitmapImage

ancestors: BitmapImage < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Button

ancestors: Button < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Canvas

ancestors: Canvas < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Checkbutton

ancestors: Checkbutton < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Entry

ancestors: Entry < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Font

ancestors: Font < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Frame

ancestors: Frame < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Grid

ancestors: Grid < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Label

ancestors: Label < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Line

ancestors: Line < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Listbox

ancestors: Listbox < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Menu

ancestors: Menu < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Menubutton

ancestors: Menubutton < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Message

ancestors: Message < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Oval

ancestors: Oval < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Pack

ancestors: Pack < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class PhotoImage

ancestors: PhotoImage < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Place

ancestors: Place < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Polygon

ancestors: Polygon < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Radiobutton

ancestors: Radiobutton < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Rectangle

ancestors: Rectangle < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Scale

ancestors: Scale < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Scrollbar

ancestors: Scrollbar < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Selection

ancestors: Selection < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Spinbox

ancestors: Spinbox < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Text

ancestors: Text < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class TextItem

ancestors: TextItem < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class TopLevel

ancestors: TopLevel < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Variable

ancestors: Variable < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class VirtualEvent

ancestors: VirtualEvent < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class WindowItem

ancestors: WindowItem < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Winfo

ancestors: Winfo < Object < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library tkconsole

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkdialog

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkentry

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkextlib/blt

Abstract

BLT support

Classes/Modules

module Tk::BLT
module Tk::BLT::GraphCommand

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


module Tk::BLT

ancestors: Tk::BLT

Abstract

Singleton Methods

Signature | Description
active_legend(graph) |
beep(percent = 50) |
bgexec(*args) |
bltdebug(lvl = nil) |
closest_point(graph) |
crc32_data(dat) |
crc32_file(name) |
crosshairs(graph) |
detach_bgexec(*args) |
package_name |
package_version |
print_key(graph) |
zoom_stack(graph) |

Instance Methods

Signature | Description
find_command(pat) |
find_name(pat) |


module Tk::BLT::GraphCommand

ancestors: Tk::BLT::GraphCommand

Abstract

Instance Methods

Signature | Description
active_legend |
closest_point |
crosshairs |
print_key |
zoom_stack |


library tkextlib/bwidget

Abstract

Classes/Modules

module Tk::BWidget

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/bwidget/setup | (uninitialized)
tkextlib/setup | (uninitialized)
tkutil |


module Tk::BWidget

ancestors: Tk::BWidget
extend: TkCore

Abstract

Singleton Methods

Signature | Description
XLFDfont(cmd, *args) |
assert(exp, msg = None) |
badOptionString(type, value, list) |
bindMouseWheel(widget) |
classes(klass) |
clonename(menu) |
focus(opt, path) |
get3dcolor(path, bgcolor) |
getname(name) |
grab(opt, path) |
inuse(klass) |
library(klass, *klasses) |
lreorder(list, neworder) |
package_name |
package_version |
parsetext(text) |
place(path, w, h, *args) |
write(file, mode = None) |
wrongNumArgsString(str) |


library tkextlib/ICONS

Abstract

ICONS support

Classes/Modules

class Tk::ICONS

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


class Tk::ICONS

ancestors: Tk::ICONS < Object < Kernel

Abstract

Singleton Methods

Signature | Description
create(*args) |
delete(*icons) |
new(name, keys = nil) |
package_name |
package_version |
query(*args) |

Instance Methods

Signature | Description
delete |
name |
query(keys = {}) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library tkextlib/itcl

Abstract

Required Libraries

tkextlib/itcl/incr_tcl | (uninitialized)
tkextlib/itcl/setup | (uninitialized)
tkextlib/setup | (uninitialized)


library tkextlib/itk

Abstract

Required Libraries

tkextlib/itk/incr_tk | (uninitialized)
tkextlib/itk/setup | (uninitialized)
tkextlib/setup | (uninitialized)


library tkextlib/iwidgets

Abstract

Classes/Modules

module Tk::Iwidgets

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/itcl |
tkextlib/itcl/incr_tcl | (uninitialized)
tkextlib/itcl/setup | (uninitialized)
tkextlib/itk |
tkextlib/itk/incr_tk | (uninitialized)
tkextlib/itk/setup | (uninitialized)
tkextlib/setup | (uninitialized)
tkutil |


module Tk::Iwidgets

ancestors: Tk::Iwidgets
extend: TkCore

Abstract

Singleton Methods

Signature | Description
package_name |
package_version |


library tkextlib/pkg_checker

Abstract

Ruby/Tk extension library checker

コマンドラインオプション

Usage: #{$0} [-l] [-v] [-h] [--] [dir]
  -l : Add dir to $LOAD_PATH
       (If dir == '<parent>/tkextlib', add <parent> also.)
  -v : Verbose mode (show reason of fail)
  -h : Show this message
  -- : End of options

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkextlib/tcllib

Abstract

Classes/Modules

module Tk::Tcllib

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/tcllib/autoscroll | (uninitialized)
tkextlib/tcllib/ctext | (uninitialized)
tkextlib/tcllib/cursor | (uninitialized)
tkextlib/tcllib/datefield | (uninitialized)
tkextlib/tcllib/getstring | (uninitialized)
tkextlib/tcllib/history | (uninitialized)
tkextlib/tcllib/ico | (uninitialized)
tkextlib/tcllib/ip_entry | (uninitialized)
tkextlib/tcllib/plotchart | (uninitialized)
tkextlib/tcllib/setup | (uninitialized)
tkextlib/tcllib/style | (uninitialized)
tkextlib/tcllib/swaplist | (uninitialized)
tkextlib/tcllib/tablelist | (uninitialized)
tkextlib/tcllib/tablelist_tile | (uninitialized)
tkextlib/tcllib/tkpiechart | (uninitialized)
tkextlib/tcllib/tooltip | (uninitialized)
tkextlib/tcllib/widget | (uninitialized)
tkutil |


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tcllib > module Tk::Tcllib

module Tk::Tcllib

ancestors: Tk::Tcllib

Abstract


library tkextlib/tclx

Abstract

Required Libraries

tkextlib/setup | (uninitialized)
tkextlib/tclx/setup | (uninitialized)
tkextlib/tclx/tclx | (uninitialized)


library tkextlib/tile

Abstract

Classes/Modules

module Tk::Tile
module Tk::Tile::TileWidget

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/tile/setup | (uninitialized)
tkextlib/tile/style | (uninitialized)
tkextlib/tile/tbutton | (uninitialized)
tkextlib/tile/tcheckbutton | (uninitialized)
tkextlib/tile/tlabel | (uninitialized)
tkextlib/tile/tmenubutton | (uninitialized)
tkextlib/tile/tnotebook | (uninitialized)
tkextlib/tile/tradiobutton | (uninitialized)
tkutil |


module Tk::Tile

ancestors: Tk::Tile

Abstract

Singleton Methods

Signature | Description
package_name |
package_version |


module Tk::Tile::TileWidget

ancestors: Tk::Tile::TileWidget

Abstract

Instance Methods

Signature | Description
instate(state, script = nil, &b) |
state(state = nil) |


library tkextlib/tkDND

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/tkDND/setup | (uninitialized)
tkextlib/tkDND/shape | (uninitialized)
tkextlib/tkDND/tkdnd | (uninitialized)
tkutil |


library tkextlib/tkHTML

Abstract

Required Libraries

tkextlib/setup | (uninitialized)
tkextlib/tkHTML/htmlwidget | (uninitialized)
tkextlib/tkHTML/setup | (uninitialized)


library tkextlib/tkimg

Abstract

Classes/Modules

module Tk::Img

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/tkimg/pixmap | (uninitialized)
tkextlib/tkimg/setup | (uninitialized)
tkutil |


module Tk::Img

ancestors: Tk::Img

Abstract

Singleton Methods

Signature | Description
package_name |
package_version |


library tkextlib/tktable

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/tktable/setup | (uninitialized)
tkextlib/tktable/tktable | (uninitialized)
tkutil |


library tkextlib/tktrans

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/tktrans/setup | (uninitialized)
tkextlib/tktrans/tktrans | (uninitialized)
tkutil |


library tkextlib/treectrl

Abstract

Required Libraries

tkextlib/setup | (uninitialized)
tkextlib/treectrl/setup | (uninitialized)
tkextlib/treectrl/tktreectrl | (uninitialized)


library tkextlib/vu

Abstract

Classes/Modules

module Tk::Vu

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/vu/bargraph | (uninitialized)
tkextlib/vu/dial | (uninitialized)
tkextlib/vu/pie | (uninitialized)
tkextlib/vu/setup | (uninitialized)
tkextlib/vu/spinbox | (uninitialized)
tkutil |


module Tk::Vu

ancestors: Tk::Vu

Abstract

Singleton Methods

Signature | Description
package_version |


library tkextlib/winico

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkextlib/setup | (uninitialized)
tkextlib/tktable/setup | (uninitialized)
tkextlib/winico/winico | (uninitialized)
tkutil |


library tkfont

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkmacpkg

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkmenubar

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkmngfocus

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkpalette

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkscrollbox

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tktext

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkutil

Abstract

Classes/Modules

class TkCallbackEntry
class TkKernel
class TkObject
module TkUtil
class TkUtil::CallbackSubst
class Tkutil::CallbackSubst::Info


class TkCallbackEntry

ancestors: TkCallbackEntry < TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
inspect |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class TkKernel

ancestors: TkKernel < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(*args) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class TkObject

ancestors: TkObject < Tk < TkCore < TkComm < TkUtil < TkEvent < TkConfigMethod < TkUtil < TkTreatFont < TkBindCore < TkKernel < Object < Kernel
extend: TkCore

Abstract

Instance Methods

Signature | Description
destroy |
epath |
event_generate(context, keys = nil) |
method_missing(id, *args) |
path |
tk_send(cmd, *rest) |
tk_send_to_list(cmd, *rest) |
tk_send_to_list_with_enc(cmd, *rest) |
tk_send_to_list_without_enc(cmd, *rest) |
tk_send_to_simplelist(cmd, *rest) |
tk_send_to_simplelist_with_enc(cmd, *rest) |
tk_send_to_simplelist_without_enc(cmd, *rest) |
tk_send_with_enc |
tk_send_without_enc |
to_eval |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint root update ::AUTO_PATH ::JAPANIZED_TK ::LIBRARY_PATH ::PACKAGE_PATH ::TCL_LIBRARY_PATH ::TCL_MAJOR_VERSION ::TCL_MINOR_VERSION ::TCL_PACKAGE_PATH ::TCL_PATCHLEVEL ::TCL_PRECISION ::TCL_VERSION ::TK_MAJOR_VERSION ::TK_MINOR_VERSION ::TK_PATCHLEVEL ::TK_VERSION ::Tkextlib_RELEASE_DATE bind bind_append bind_remove bindinfo bind bind_all bind_append bind_append_all bind_remove bind_remove_all bindinfo bindinfo_all subst ::GET_CONFIGINFO_AS_ARRAY ::GET_CONFIGINFOwoRES_AS_ARRAY ::TkExtlibAutoloadModule ::Tk_CMDTBL ::Tk_IDs ::Tk_WINDOWS ::USE_TCLs_LIST_FUNCTIONS ::WidgetClassNames [] []= __confinfo_cmd __conv_keyonly_opts cget config_hash_kv configinfo configure configure_cmd current_configinfo _tk_call_to_list_core after after_cancel after_idle appname appsend appsend_deny appsend_displayof callback_break callback_continue callback_return chooseColor chooseDirectory do_one_event event_generate getMultipleOpenFile getMultipleSaveFile getOpenFile getSaveFile get_eventloop_tick get_eventloop_weight get_no_event_wait inactive inactive_displayof info ip_eval ip_eval_with_enc ip_eval_without_enc ip_invoke ip_invoke_with_enc ip_invoke_without_enc is_mainloop? load_cmd_on_ip mainloop mainloop_exist? mainloop_thread? mainloop_watchdog messageBox rb_appsend rb_appsend_displayof reset_inactive reset_inactive_displayof restart scaling scaling_displayof set_eventloop_ticktimer_tick set_eventloop_weight set_no_event_wait tk_call tk_call_to_list tk_call_to_list_with_enc tk_call_to_list_without_enc tk_call_to_simplelist tk_call_to_simplelist_with_enc tk_call_to_simplelist_without_enc tk_call_with_enc tk_call_without_enc windowingsystem ::EventFlag ::INTERP ::WIDGET_DESTROY_HOOK install_bind install_bind_for_event_class .new asciifont_configure asciifont_copy font_configinfo font_configure font_copy kanjifont_configure kanjifont_copy _conv_args _fromUTF8 _get_eval_enc_str _get_eval_string _symbolkey2str _toUTF8 bool hash_kv num_or_str number string ::None ::RELEASE_DATE


module TkUtil

ancestors: TkUtil

Abstract

Singleton Methods

Signature | Description
_conv_args(*args) |
_get_eval_enc_str(obj) |
_get_eval_string(*args) |
_symbolkey2str(keys) |
bool(value) |
callback(*args) |
eval_cmd(*args) |
hash_kv(*args) |
install_cmd(*args) |
num_or_str(value) |
number(value) |
string(value) |
uninstall_cmd(cmd_id) |

Instance Methods

Signature | Description
_conv_args(*args) |
_fromUTF8(*args) |
_get_eval_enc_str(obj) |
_get_eval_string(*args) |
_symbolkey2str(keys) |
_toUTF8(*args) |
bool(value) |
hash_kv(*args) |
num_or_str(value) |
number(value) |
string(value) |

Constants

Signature | Description
None |
RELEASE_DATE |


class TkUtil::CallbackSubst

ancestors: TkUtil::CallbackSubst < Object < Kernel

Abstract

Singleton Methods

Signature | Description
_define_attribute_aliases(tbl) |
_get_all_subst_keys |
_get_extra_args_tbl |
_get_subst_key(str) |
_setup_subst_table(key_inf, proc_inf) |
inspect |
ret_val(val) |
scan_args(arg_key, val_key) |
subst_arg(*args) |

Constants

Signature | Description
SUBST_INFO |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class Tkutil::CallbackSubst::Info

ancestors: Tkutil::CallbackSubst::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
inspect |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library tkvirtevent

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tkwinpkg

Abstract

Required Libraries

tcltklib |
tk | tkを用いてGUIアプリケーションを作成するためのライブラリです。
tk/autoload |
tk/bgerror |
tk/bindtag |
tk/button |
tk/canvas |
tk/canvastag |
tk/checkbutton |
tk/clipboard |
tk/clock |
tk/composite |
tk/console |
tk/dialog |
tk/encodedstr |
tk/entry |
tk/event |
tk/font |
tk/frame |
tk/grid |
tk/image |
tk/itemconfig |
tk/itemfont |
tk/kinput |
tk/label |
tk/labelframe |
tk/listbox |
tk/macpkg |
tk/menu |
tk/menubar |
tk/menuspec |
tk/message |
tk/mngfocus |
tk/msgcat |
tk/namespace |
tk/optiondb |
tk/optionobj |
tk/pack |
tk/package |
tk/palette |
tk/panedwindow |
tk/place |
tk/radiobutton |
tk/root |
tk/scale |
tk/scrollable |
tk/scrollbar |
tk/scrollbox |
tk/selection |
tk/spinbox |
tk/tagfont |
tk/text |
tk/textimage |
tk/textmark |
tk/texttag |
tk/textwindow |
tk/timer |
tk/toplevel |
tk/txtwin_abst |
tk/validation |
tk/variable |
tk/virtevent |
tk/winfo |
tk/winpkg |
tk/wm |
tk/xim |
tkutil |


library tmpdir

Abstract

テンポラリディレクトリのためのライブラリです。

Added/Redefined Methods

Dir.mktmpdir Dir.tmpdir


library tracer

Abstract

実行トレース出力をとる機能を提供する。

使い方は大きく分けて2通り。

ひとつは以下のようにコマンドラインからrequireする方法です。 hoge.rbの実行をすべてトレース出力します。

ruby -rtracer hoge.rb

もうひとつはソースからrequireする方法です。

require 'tracer'

とした後

Tracer.on

によりトレース出力を有効にする。

Tracer.off

によりトレース出力を無効にする。

また、ブロック付きで Tracer.on を呼び出すと、そのブロック内のみ トレースを出力する。

サンプルコード

# 例: 式の評価の中でHogeクラスのメソッドが呼び出される時、トレースする。

# ruby 1.8 では警告がでますが、動作します。
require 'tracer'

class Hoge
  def Hoge.fuga(i)
    "fuga #{i}"
  end
end

Tracer.add_filter {|event, file, line, id, binding, klass|
  event =~ /line/ and klass.to_s =~ /hoge/i
}
Tracer.on
for i in 0..3
  puts Hoge.fuga(i) if i % 3 == 0
end
Tracer.off

SEE ALSO

Kernel.#set_trace_func

Classes/Modules

class Tracer

実行トレース出力をとる機能を提供するクラスです。


class Tracer

ancestors: Tracer < Object < Kernel

Abstract

実行トレース出力をとる機能を提供するクラスです。

Singleton Methods

Signature Description
add_filter(proc)
add_filter {|event, file, line, id, binding, klass| .... }

トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。

off -> nil

トレース出力を中断します。 トレース出力を開始するには、Tracer.onを使用します。

on -> nil
on {...}

トレース出力を開始します。 ブロックを与えられた場合はそのブロック内のみトレース出力を行います。

set_get_line_procs(filename, proc)
set_get_line_procs(filename) {|line| .... }

あるファイルについて利用する、行番号からソースのその行の内容を返す 手続きを指定する。何も指定しなければデフォルトの動作が利用される。 指定する手続きは行番号を唯一の引数として呼び出される。

stdout -> Object
stdout=(fp)

トレース出力先をIOオブジェクトなどに変更したり、参照することができます。

verbose -> bool
verbose? -> bool
verbose=(flag)

トレース出力の開始や終了を知らせる文字列("Trace on"または"Trace off")が必要ならtrueを設定します。

Constants

Signature | Description
EVENT_SYMBOL | トレース出力のシンボルのハッシュです。 下記のような文字列があります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library tsort

Abstract

tsort はトポロジカルソートと強連結成分に関するモジュールを提供します。

Example

require 'tsort'

class Hash
  include TSort
  alias tsort_each_node each_key
  def tsort_each_child(node, &block)
    fetch(node).each(&block)
  end
end

{1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
#=> [3, 2, 1, 4]

{1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}.strongly_connected_components
#=> [[4], [2, 3], [1]]

より現実的な例

非常に単純な `make' に似たツールは以下のように実装できます。

require 'tsort'

class Make
  def initialize
    @dep = {}
    @dep.default = []
  end

  def rule(outputs, inputs=[], &block)
    triple = [outputs, inputs, block]
    outputs.each {|f| @dep[f] = [triple]}
    @dep[triple] = inputs
  end

  def build(target)
    each_strongly_connected_component_from(target) {|ns|
      if ns.length != 1
        fs = ns.delete_if {|n| Array === n}
        raise TSort::Cyclic.new("cyclic dependencies: #{fs.join ', '}")
      end
      n = ns.first
      if Array === n
        outputs, inputs, block = n
        inputs_time = inputs.map {|f| File.mtime f}.max
        begin
          outputs_time = outputs.map {|f| File.mtime f}.min
        rescue Errno::ENOENT
          outputs_time = nil
        end
        if outputs_time == nil ||
           inputs_time != nil && outputs_time <= inputs_time
          sleep 1 if inputs_time != nil && inputs_time.to_i == Time.now.to_i
          block.call
        end
      end
    }
  end

  def tsort_each_child(node, &block)
    @dep[node].each(&block)
  end
  include TSort
end

def command(arg)
  print arg, "\n"
  system arg
end

m = Make.new
m.rule(%w[t1]) { command 'date > t1' }
m.rule(%w[t2]) { command 'date > t2' }
m.rule(%w[t3]) { command 'date > t3' }
m.rule(%w[t4], %w[t1 t3]) { command 'cat t1 t3 > t4' }
m.rule(%w[t5], %w[t4 t2]) { command 'cat t4 t2 > t5' }
m.build('t5')

Bugs

tsort という名前は正確ではありません。なぜなら このライブラリは Tarjan の強連結成分に関するアルゴリズムを使っているからです。 とはいえ strongly_connected_components という正確な名前は長過ぎます。

References

R. E. Tarjan, Depth First Search and Linear Graph Algorithms, SIAM Journal on Computing, Vol. 1, No. 2, pp. 146-160, June 1972.

Classes/Modules

module TSort

TSort は強連結成分に関する Tarjan のアルゴリズムを用いた トポロジカルソートの実装です。

Exception Classes

class TSort::Cyclic

閉路が存在する時、発生します。


module TSort

ancestors: TSort

Abstract

TSort は強連結成分に関する Tarjan のアルゴリズムを用いた トポロジカルソートの実装です。

TSort は任意のオブジェクトを有向グラフとして解釈できるように設計されています。 TSort がオブジェクトをグラフとして解釈するには2つのメソッドを要求します。 すなわち、tsort_each_node と tsort_each_child です。

  • tsort_each_node はグラフ上のすべての頂点を巡回するのに用いられます。
  • tsort_each_child は与えられた頂点の子を巡回するのに用いられます。

頂点同士の等価性は eql? と hash によって定義されます。 これは TSort が内部でハッシュを用いているからです。

Instance Methods

Signature | Description
each_strongly_connected_component {|nodes| ...} -> nil | strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
each_strongly_connected_component_from(node) {|nodes| ...} -> () | node から到達可能な強連結成分についてのイテレータです。
strongly_connected_components -> Array | 強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。
tsort -> Array | 頂点をトポロジカルソートして得られる配列を返します。 この配列は子から親に向かってソートされています。 すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。
tsort_each {|node| ...} -> nil | tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
tsort_each_child(node) {|child| ...} -> () | TSort で拡張されるクラスで定義されていなければならないメソッドです。
tsort_each_node {|node| ...} -> () | TSort で拡張されるクラスで定義されていなければならないメソッドです。


class TSort::Cyclic

ancestors: TSort::Cyclic < StandardError < Exception < Object < Kernel

Abstract

閉路が存在する時、発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library un

Abstract

Unix の基本コマンドの代替となるユーティリティ。

Makefile 内でシステムに依存しないように用意されました。 mkmf が使用します。

Windows などワイルドカードを認識しないシステム(シェル)のために引数は unがワイルドカード展開(Dir.glob参照)します(Unix ではシェ ルとunにより二重にワイルドカード展開されます)。

使い方:

ruby -run -e cp -- [-prv] SOURCE DEST
ruby -run -e ln -- [-sfv] TARGET LINK_NAME
ruby -run -e mv -- [-v] SOURCE DEST
ruby -run -e rm -- [-frv] FILE
ruby -run -e mkdir -- [-pv] DIRS
ruby -run -e rmdir -- [-v] DIRS
ruby -run -e install -- [-pv -m mode] SOURCE DEST
ruby -run -e chmod -- [-v] OCTAL-MODE FILE
ruby -run -e touch -- [-v] FILE
ruby -run -e help [COMMAND]

Added/Redefined Methods

Kernel#chmod Kernel#cp Kernel#help Kernel#install Kernel#ln Kernel#mkdir Kernel#mv Kernel#rm Kernel#rmdir Kernel#touch


library uri

Abstract

URI (Uniform Resource Identifier) のためのライブラリです。

関連 RFC

以下は実装の際に参照されている RFC であり、最新の RFC であるとは限りません。

  • [RFC1738] Uniform Resource Locators (URL) (Updated by [RFC2396])
  • [RFC2255] The LDAP URL Format (Obsoleted by [RFC4510], [RFC4516])
  • [RFC2368] The mailto URL scheme
  • [RFC2373] IP Version 6 Addressing Architecture (Obsoleted by [RFC3513])
  • [RFC3986] Uniform Resource Identifier (URI): Generic Syntax

Classes/Modules

module URI | URI を扱うためのモジュールです。
class URI::FTP | FTP URI を表すクラスです。
class URI::Generic | すべての URI クラスの基底クラスです。
class URI::HTTP | HTTP URI を表すクラスです。
class URI::HTTPS | HTTPS URI を表すクラスです。
class URI::LDAP | LDAP URI を表すクラスです。[RFC2255] (Obsoleted by [RFC4510], [RFC4516])。
class URI::LDAPS |
class URI::MailTo | mailto URI を表すクラスです。[RFC2368]。

Exception Classes

class URI::BadURIError | URI として正しいが、使い方が悪いときに発生します。
class URI::Error | すべての URI 例外クラスの基底クラスです。
class URI::InvalidComponentError | 不正な構成要素を指定したときに発生します。
class URI::InvalidURIError | 不正な URI を指定したときに発生します。

Added/Redefined Methods

Kernel.#URI


module URI

ancestors: URI

Abstract

URI を扱うためのモジュールです。

Singleton Methods

Signature Description
unescape(str) -> String
decode(str) -> String

URI 文字列をデコードした文字列を返します。

escape(str, unsafe = URI::UNSAFE) -> String
encode(str, unsafe = URI::UNSAFE) -> String

URI 文字列をエンコードした文字列を返します。

extract(str) -> [String]
extract(str, schemes) -> [String]
extract(str) {|uri_str| ... } -> nil
extract(str, schemes) {|uri_str| ... } -> nil

文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。

join(uri_str, *path) -> object

文字列 uri_str と path ... を URI として連結して得られる URI オブジェクトを返します。

parse(uri_str) -> object

与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して 返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。

regexp -> Regexp
regexp(schemes) -> Regexp

URIにマッチする正規表現を返します。

split(url) -> [String | nil]

URI を要素に分割した文字列の配列を返します。

Constants

Signature Description
UNSAFE

URIとして指定できない文字にマッチする正規表現

/[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n

です。


class URI::BadURIError

ancestors: URI::BadURIError < URI::Error < StandardError < Exception < Object < Kernel

Abstract

URI として正しいが、使い方が悪いときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class URI::Error

ancestors: URI::Error < StandardError < Exception < Object < Kernel

Abstract

すべての URI 例外クラスの基底クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class URI::FTP

ancestors: URI::FTP < URI::Generic < URI < Object < Kernel

Abstract

FTP URI を表すクラスです。

Singleton Methods

Signature Description
build(ary) -> URI::FTP
build(hash) -> URI::FTP

引数で与えられた URI 構成要素から URI::FTP オブジェクトを生成します。 引数の正当性を検査します。

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::FTP

汎用的な構成要素から URI::FTP オブジェクトを生成します。build と異なり、デフォルトでは引数の正当性を検査しません。

new2(user, password, host, port, path, typecode = nil, arg_check = true) -> URI::FTP

URI::FTP オブジェクトを生成して返します。 引数の正当性を検査します。

Instance Methods

Signature | Description
typecode -> String | nil | ファイル転送のタイプを文字列で返します。"a" はテキスト、"i" はバイナリ、"d" はディレクトリを表します。 設定されていない場合は nil を返します。
typecode=(t) | ファイル転送のタイプを文字列で指定します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE + - == absolute component default_port fragment fragment= hierarchical? host host= merge! normalize opaque opaque= password password= path path= port port= query query= registry registry= relative? route_to scheme scheme= select to_s user user= userinfo userinfo= .build2 .component .default_port .use_registry


class URI::Generic

ancestors: URI::Generic < URI < Object < Kernel

Abstract

すべての URI クラスの基底クラスです。

Singleton Methods

Signature Description
build(ary) -> URI::Generic
build(hash) -> URI::Generic

引数で与えられた URI 構成要素から URI::Generic オブジェクトを生成します。

build2(ary) -> URI::Generic
build2(hash) -> URI::Generic

URI::Generic.build と同じですが、例外 URI::InvalidComponentError が発生した場合に、引数の各要素を URI.escape して再度 build を試み ます。

component -> [Symbol]

URI の構成要素を表すシンボルの配列を返します。

default_port -> Integer | nil

スキームに対応するデフォルトのポート番号を整数で返します。

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::Generic

各引数を成分とする URI::Generic オブジェクトを生成して返します。

use_registry -> bool

構成要素 registry を受け付けるなら true を返します。 URI::Generic クラスでは false です。

Instance Methods

Signature Description
merge(rel) -> URI::Generic
self + rel -> URI::Generic

自身と与えられたパス rel を連結した新しい URI オブジェクトを生成して返します。

route_from(src) -> URI::Generic
self - src -> URI::Generic

与えられた URI を表す src からの相対パスを返します。

self == uri -> bool

引数に指定した URI (文字列またはURIオブジェクト)との一致判定を行い ます。URI は正規化して比較されます。

absolute -> bool
absolute? -> bool

自身に scheme が設定されているなら true を返します。そうでない場合は false を返します。

component -> [Symbol]

self.class.component を返します。

default_port -> Integer | nil

self.class.default_port を返します。

fragment -> String | nil

自身の fragment を文字列で返します。設定されていない場合は nil を返します。

fragment=(s)

自身の fragment を設定します。

hierarchical? -> bool

自身に path が設定されているなら true を返します。そうでない場合は false を返します。

host -> String | nil

自身の host を文字列で返します。設定されていない場合は nil を返します。

host=(s)

自身の host を設定します。

merge!(rel) -> self

与えられたパス rel を自身へ連結します。

normalize -> URI::Generic
normalize! -> nil

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。

opaque -> String | nil

自身の opaque を文字列で返します。設定されていない場合は nil を返します。

opaque=(s)

自身の opaque を設定します。

password -> String | nil

自身の password を文字列で返します。設定されていない場合は nil を返します。

password=(s)

自身の password を設定します。

path -> String | nil

自身の path を文字列で返します。設定されていない場合は nil を返します。

path=(s)

自身の path を設定します。

port -> String | nil

自身の port を文字列で返します。設定されていない場合は nil を返します。

port=(s)

自身の port を設定します。

query -> String | nil

自身の query を文字列で返します。設定されていない場合は nil を返します。

query=(s)

自身の query を設定します。

registry -> String | nil

自身の registry を文字列で返します。設定されていない場合は nil を返します。

registry=(s)

自身の registry を設定します。

relative? -> bool

自身に scheme が設定されていないなら true を返します。そうでない場合は false を返します。

route_to(dst) -> URI::Generic

自身から dst への相対パスを返します。

scheme -> String | nil

自身の scheme を文字列で返します。設定されていない場合は nil を返します。

scheme=(s)

自身の scheme を設定します。

select(*components) -> [String]

指定された components に対応する構成要素を文字列の配列として返します。

to_s -> String
to_str -> String

自身が表す URI を文字列として返します。

user -> String | nil

自身の userinfo を文字列で返します。

user=(s)

自身の user を設定します。

userinfo -> String | nil

自身の userinfo を "username:password" という形式の文字列で返します。 設定されていない場合は nil を返します。

userinfo=(s)

自身の userinfo を設定します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE


class URI::HTTP

ancestors: URI::HTTP < URI::Generic < URI < Object < Kernel

Abstract

HTTP URI を表すクラスです。

Singleton Methods

Signature Description
build(ary) -> URI::HTTP
build(hash) -> URI::HTTP

引数で与えられた URI 構成要素から URI::HTTP オブジェクトを生成します。 引数の正当性を検査します。

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::HTTP

汎用的な構成要素から URI::HTTP オブジェクトを生成します。build と異なり、デフォルトでは引数の正当性を検査しません。

Instance Methods

Signature | Description
request_uri -> String | 自身の「path + '?' + query」を文字列で返します。 query が nil である場合は、自身の path を返します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE + - == absolute component default_port fragment fragment= hierarchical? host host= merge! normalize opaque opaque= password password= path path= port port= query query= registry registry= relative? route_to scheme scheme= select to_s user user= userinfo userinfo= .build2 .component .default_port .use_registry


class URI::HTTPS

ancestors: URI::HTTPS < URI::HTTP < URI::Generic < URI < Object < Kernel

Abstract

HTTPS URI を表すクラスです。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE + - == absolute component default_port fragment fragment= hierarchical? host host= merge! normalize opaque opaque= password password= path path= port port= query query= registry registry= relative? route_to scheme scheme= select to_s user user= userinfo userinfo= .build2 .component .default_port .use_registry request_uri .build .new


class URI::InvalidComponentError

ancestors: URI::InvalidComponentError < URI::Error < StandardError < Exception < Object < Kernel

Abstract

不正な構成要素を指定したときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class URI::InvalidURIError

ancestors: URI::InvalidURIError < URI::Error < StandardError < Exception < Object < Kernel

Abstract

不正な URI を指定したときに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class URI::LDAP

ancestors: URI::LDAP < URI::Generic < URI < Object < Kernel

Abstract

LDAP URI を表すクラスです。[RFC2255] (Obsoleted by [RFC4510], [RFC4516])。

ldap://<host>/<dn>[?<attrs>[?<scope>[?<filter>[?<extensions>]]]]

Singleton Methods

Signature Description
build(ary) -> URI::LDAP
build(hash) -> URI::LDAP

引数で与えられた URI 構成要素から URI::LDAP オブジェクトを生成します。 引数の正当性を検査します。

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::LDAP

汎用的な構成要素から URI::LDAP オブジェクトを生成します。 build と異なり、デフォルトでは引数の正当性を検査しません。

Instance Methods

Signature | Description
attributes -> String | 自身の Attribute を文字列で返します。
attributes=(s) | 自身の Attribute を文字列で設定します。
dn -> String | 自身の Distinguished Name を文字列で返します。
dn=(s) | 自身の Distinguished Name を文字列で設定します。
extensions -> String | 自身の extensions を文字列で返します。
extensions=(s) | 自身の extensions を文字列で設定します。
filter -> String | 自身の filter を文字列で返します。
filter=(s) | 自身の filter を文字列で設定します。
scope -> String | 自身の Scope を文字列で返します。
scope=(s) | 自身の Scope を文字列で設定します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE + - == absolute component default_port fragment fragment= hierarchical? host host= merge! normalize opaque opaque= password password= path path= port port= query query= registry registry= relative? route_to scheme scheme= select to_s user user= userinfo userinfo= .build2 .component .default_port .use_registry


class URI::LDAPS

ancestors: URI::LDAPS < URI::LDAP < URI::Generic < URI < Object < Kernel

Abstract

Constants

Signature | Description
DEFAULT_PORT -> Integer | デフォルトのポート (636) です。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE + - == absolute component default_port fragment fragment= hierarchical? host host= merge! normalize opaque opaque= password password= path path= port port= query query= registry registry= relative? route_to scheme scheme= select to_s user user= userinfo userinfo= .build2 .component .default_port .use_registry attributes attributes= dn dn= extensions extensions= filter filter= scope scope= .build .new


class URI::MailTo

ancestors: URI::MailTo < URI::Generic < URI < Object < Kernel

Abstract

mailto URI を表すクラスです。[RFC2368]。

Singleton Methods

Signature Description
build(ary) -> URI::MailTo
build(hash) -> URI::MailTo

引数で与えられた URI 構成要素から URI::MailTo オブジェクトを生成します。 引数の正当性をチェックします。

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::MailTo

汎用的な構成要素から URI::MailTo オブジェクトを生成します。 build と異なり、デフォルトでは引数の正当性を検査しません。

Instance Methods

Signature Description
headers -> [[String]]

自身のヘッダーを文字列の配列の配列として設定します。

headers=(s)

自身のヘッダーを文字列で設定します。

to -> String

自身の e-mail アドレスを文字列で返します。

to=(s)

自身の e-mail アドレスを文字列で設定します。

to_mailtext -> String
to_rfc822text -> String

URI オブジェクトからメールテキスト文字列を生成します。

Inherited Methods

=== =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint ::UNSAFE + - == absolute component default_port fragment fragment= hierarchical? host host= merge! normalize opaque opaque= password password= path path= port port= query query= registry registry= relative? route_to scheme scheme= select to_s user user= userinfo userinfo= .build2 .component .default_port .use_registry


library weakref

Abstract

weak reference を実現します。

Classes/Modules

class WeakRef

WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、 ポイント先のオブジェクトは GC される可能性があります。 アクセスしようとしたときにオブジェクトが GC されていれば WeakRef::RefError が発生します。

Exception Classes

class WeakRef::RefError

GC されたオブジェクトを参照しようとしたときに発生する例外です。


class WeakRef

ancestors: WeakRef < Delegator < Object < Kernel

Abstract

WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、 ポイント先のオブジェクトは GC される可能性があります。 アクセスしようとしたときにオブジェクトが GC されていれば WeakRef::RefError が発生します。

see also: delegate

サンプルコード

require 'weakref'

foo = Object.new
ref = WeakRef.new(foo)
ref.some_method_of_foo

Singleton Methods

Signature | Description
new(obj) | obj への weak reference を生成します。

Instance Methods

Signature | Description
__getobj__ | Return the object this WeakRef references. Raises WeakRef::RefError if the object has been garbage collected. The object returned is the object to which method calls are delegated (see Delegator).
weakref_alive? | 参照先のオブジェクトがまだ生きていれば true を返します。 GCされていれば false を返します。

Inherited Methods

marshal_dump marshal_load method_missing respond_to? == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WeakRef::RefError

ancestors: WeakRef::RefError < StandardError < Exception < Object < Kernel

Abstract

GC されたオブジェクトを参照しようとしたときに発生する例外です。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library webrick

Abstract

汎用HTTPサーバーフレームワークです。HTTPサーバが簡単に作れます。

WEBrick はサーブレットによって機能します。サーブレットとは サーバの機能をオブジェクト化したものです。 ファイルを読み込んで返す・forkしてスクリプトを実行する・テンプレートを適用する など、「サーバが行なっている様々なこと」を抽象化しオブジェクトにしたものが サーブレットです。サーブレットは WEBrick::HTTPServlet::AbstractServlet の サブクラスのインスタンスとして実装されます。

WEBrick はセッション管理の機能を提供しません。

WEBrick の概要

以下は Web サーバとして完全に動作するスクリプトです。

require 'webrick'
srv = WEBrick::HTTPServer.new({ :DocumentRoot => './',
                                :BindAddress => '127.0.0.1',
                                :Port => 20080})
srv.mount('/view.cgi', WEBrick::HTTPServlet::CGIHandler, 'view.rb')
srv.mount('/foo.html', WEBrick::HTTPServlet::FileHandler, 'hoge.html')
trap("INT"){ srv.shutdown }
srv.start

ブラウザで http://127.0.0.1:20080/ にアクセスすることによって確認できます。 また http://127.0.0.1:20080/view.cgi にアクセスするとカレントディレクトリに置かれている view.rb がCGIスクリプトとして実行されます。http://127.0.0.1:20080/foo.html にアクセスすると カレントディレクトリ下の hoge.html の内容が表示されます。

上のスクリプトでは以下のような流れで view.rb は実行されます。

  1. サーバのパス /view.cgi と CGIHandler がマウントにより結びつけられます。
  2. パス /view.cgi にアクセスがあるたびにサーバは 'view.rb' を引数として CGIHandler オブジェクトを生成します。
  3. サーバはリクエストオブジェクトを引数として CGIHandler#service メソッドを呼びます。
  4. CGIHandler オブジェクトは view.rb を CGI スクリプトとして実行します。

このように WEBrick では Web サーバの機能の大部分がサーブレットの形で提供されています。 またサーブレットを作成することにより新たな機能を Web サーバに追加することもできます。

Classes/Modules

module WEBrick | ライブラリ webrick の各クラスを提供するモジュールです。
module WEBrick::AccessLog | WEBrick::HTTPServer のアクセスログの形式を処理するために内部で使われるモジュールです。
class WEBrick::BasicLog | ログを取る機能を提供するクラスです。
module WEBrick::Config | 色々なクラスの設定のデフォルト値を提供するモジュールです。
class WEBrick::Cookie | Cookie を表すクラスです。[RFC2109] に準拠しています。 RFC2109 は [RFC2965] により破棄されましたが、WEBrick::Cookie クラスは RFC2965 に対応していません。
class WEBrick::Daemon | サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバはデーモンとして動作します。
class WEBrick::GenericServer | サーバの一般的な機能を提供するクラスです。 WEBrick::HTTPServer のスーパークラスです。
module WEBrick::HTMLUtils | HTML のためのユーティリティ関数を提供します。
module WEBrick::HTTPAuth | ユーザ認証の機能を提供するモジュールです。
module WEBrick::HTTPAuth::Authenticator |
class WEBrick::HTTPAuth::BasicAuth | HTTP の Basic 認証のためのクラスです。
class WEBrick::HTTPAuth::DigestAuth | [[unknown:執筆者募集]]
class WEBrick::HTTPAuth::Htdigest | Apache の htdigest 互換のクラス。
class WEBrick::HTTPAuth::Htgroup | [[unknown:執筆者募集]]
class WEBrick::HTTPAuth::Htpasswd | Apache の htpasswd 互換のクラス。.htpasswd ファイルを新しく作成することも出来る。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。
module WEBrick::HTTPAuth::ProxyAuthenticator |
class WEBrick::HTTPAuth::ProxyBasicAuth |
class WEBrick::HTTPAuth::ProxyDigestAuth |
module WEBrick::HTTPAuth::UserDB |
class WEBrick::HTTPRequest | HTTP リクエストのためのクラスです。
class WEBrick::HTTPResponse | HTTP のレスポンスを表すためのクラスです。
class WEBrick::HTTPServer | HTTP サーバの機能を提供するクラスです。
class WEBrick::HTTPServlet::AbstractServlet | サーブレットの抽象クラスです。実装は AbstractServlet のサブクラスで行います。
class WEBrick::HTTPServlet::CGIHandler | CGI を扱うためのサーブレット。
class WEBrick::HTTPServlet::DefaultFileHandler |
class WEBrick::HTTPServlet::ERBHandler |
class WEBrick::HTTPServlet::FileHandler | 通常のファイルサーバとしての機能を提供するためのサーブレット。
class WEBrick::HTTPServlet::ProcHandler | Proc を扱うためのサーブレット。
module WEBrick::HTTPStatus | HTTP のステータスを表す例外クラスを提供するモジュールです。 ステータスコード 200 などの成功の場合も含まれます。
module WEBrick::HTTPUtils | HTTP のためのユーティリティ関数を提供します。
class WEBrick::HTTPUtils::FormData | クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
class WEBrick::HTTPVersion | HTTP のバージョンのための小さなクラスです。 バージョン同士の比較のために使います。
class WEBrick::Log | ログを取る機能を提供するクラスです。 WEBrick::BasicLog との違いはログの各行の先頭に 現在時刻が自動で挿入される点です。
class WEBrick::SimpleServer | サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバは通常のプロセスとして動作します。
module WEBrick::Utils | ライブラリ webrick のための小さなユーティリティ関数を提供するモジュールです。

Exception Classes

class Errno::ECONNABORTED |
class Errno::ECONNRESET |
class Errno::EPROTO |
class WEBrick::AccessLog::AccessLogError | 指定されたアクセスログの形式が正しくない場合に発生します。
class WEBrick::HTTPServerError |
class WEBrick::HTTPServlet::HTTPServletError |
class WEBrick::HTTPStatus::Accepted | HTTP のステータスコード 202 Accepted を表すクラスです。
class WEBrick::HTTPStatus::BadGateway | HTTP のステータスコード 502 Bad Gateway を表すクラスです。
class WEBrick::HTTPStatus::BadRequest | HTTP のステータスコード 400 Bad Request を表すクラスです。
class WEBrick::HTTPStatus::ClientError | HTTP のステータスコードクライアントエラー 4XX の親クラスです。
class WEBrick::HTTPStatus::Conflict | HTTP のステータスコード 409 Conflict を表すクラスです。
class WEBrick::HTTPStatus::Continue | HTTP のステータスコード 100 Continue を表すクラスです。
class WEBrick::HTTPStatus::Created | HTTP のステータスコード 201 Created を表すクラスです。
class WEBrick::HTTPStatus::EOFError |
class WEBrick::HTTPStatus::Error | HTTP のステータスコードエラーの親クラスです。
class WEBrick::HTTPStatus::ExpectationFailed | HTTP のステータスコード 417 Expectation Failed を表すクラスです。
class WEBrick::HTTPStatus::Forbidden | HTTP のステータスコード 403 Forbidden を表すクラスです。
class WEBrick::HTTPStatus::Found | HTTP のステータスコード 302 Found を表すクラスです。
class WEBrick::HTTPStatus::GatewayTimeout | HTTP のステータスコード 504 Gateway Timeout を表すクラスです。
class WEBrick::HTTPStatus::Gone | HTTP のステータスコード 410 Gone を表すクラスです。
class WEBrick::HTTPStatus::HTTPVersionNotSupported | HTTP のステータスコード 505 HTTP Version Not Supported を表すクラスです。
class WEBrick::HTTPStatus::Info | HTTP のステータスコード情報提供 1XX の親クラスです。
class WEBrick::HTTPStatus::InternalServerError | HTTP のステータスコード 500 Internal Server Error を表すクラスです。
class WEBrick::HTTPStatus::LengthRequired | HTTP のステータスコード 411 Length Required を表すクラスです。
class WEBrick::HTTPStatus::MethodNotAllowed | HTTP のステータスコード 405 Method Not Allowed を表すクラスです。
class WEBrick::HTTPStatus::MovedPermanently | HTTP のステータスコード 301 Moved Permanently を表すクラスです。
class WEBrick::HTTPStatus::MultipleChoices | HTTP のステータスコード 300 Multiple Choices を表すクラスです。
class WEBrick::HTTPStatus::NoContent | HTTP のステータスコード 204 No Content を表すクラスです。
class WEBrick::HTTPStatus::NonAuthoritativeInformation | HTTP のステータスコード 203 Non-Authoritative Information を表すクラスです。
class WEBrick::HTTPStatus::NotAcceptable | HTTP のステータスコード 406 Not Acceptable を表すクラスです。
class WEBrick::HTTPStatus::NotFound | HTTP のステータスコード 404 Not Found を表すクラスです。
class WEBrick::HTTPStatus::NotImplemented | HTTP のステータスコード 501 Not Implemented を表すクラスです。
class WEBrick::HTTPStatus::NotModified | HTTP のステータスコード 304 Not Modified を表すクラスです。
class WEBrick::HTTPStatus::OK | HTTP のステータスコード 200 OK を表すクラスです。
class WEBrick::HTTPStatus::PartialContent | HTTP のステータスコード 206 Partial Content を表すクラスです。
class WEBrick::HTTPStatus::PaymentRequired |
class WEBrick::HTTPStatus::PreconditionFailed | HTTP のステータスコード 412 Precondition Failed を表すクラスです。
class WEBrick::HTTPStatus::ProxyAuthenticationRequired | HTTP のステータスコード 407 Proxy Authentication Required を表すクラスです。
class WEBrick::HTTPStatus::Redirect | HTTP のステータスコード転送 3XX の親クラスです。
class WEBrick::HTTPStatus::RequestEntityTooLarge | HTTP のステータスコード 413 Request Entity Too Large を表すクラスです。
class WEBrick::HTTPStatus::RequestRangeNotSatisfiable | HTTP のステータスコード 416 Requested Range Not Satisfiable を表すクラスです。
class WEBrick::HTTPStatus::RequestTimeout | HTTP のステータスコード 408 Request Timeout を表すクラスです。
class WEBrick::HTTPStatus::RequestURITooLarge | HTTP のステータスコード 414 Request-URI Too Long を表すクラスです。
class WEBrick::HTTPStatus::ResetContent | HTTP のステータスコード 205 Reset Content を表すクラスです。
class WEBrick::HTTPStatus::SeeOther | HTTP のステータスコード 303 See Other を表すクラスです。
class WEBrick::HTTPStatus::ServerError | HTTP のステータスコードサーバエラー 5XX の親クラスです。
class WEBrick::HTTPStatus::ServiceUnavailable | HTTP のステータスコード 503 Service Unavailable を表すクラスです。
class WEBrick::HTTPStatus::Status | HTTP のステータスコードの親クラスです。
class WEBrick::HTTPStatus::Success | HTTP のステータスコード成功 2XX の親クラスです。
class WEBrick::HTTPStatus::SwitchingProtocols | HTTP のステータスコード 101 Switching Protocols を表すクラスです。
class WEBrick::HTTPStatus::TemporaryRedirect | HTTP のステータスコード 307 Temporary Redirect を表すクラスです。
class WEBrick::HTTPStatus::Unauthorized | HTTP のステータスコード 401 Unauthorized を表すクラスです。
class WEBrick::HTTPStatus::UnsupportedMediaType | HTTP のステータスコード 415 Unsupported Media Type を表すクラスです。
class WEBrick::HTTPStatus::UseProxy | HTTP のステータスコード 305 Use Proxy を表すクラスです。
class WEBrick::ServerError |

Required Libraries

webrick/accesslog |
webrick/compat |
webrick/config |
webrick/cookie |
webrick/htmlutils |
webrick/httpauth |
webrick/httpauth/authenticator |
webrick/httpauth/basicauth |
webrick/httpauth/digestauth |
webrick/httpauth/htdigest |
webrick/httpauth/htgroup |
webrick/httpauth/htpasswd |
webrick/httpauth/userdb |
webrick/httprequest |
webrick/httpresponse |
webrick/httpserver |
webrick/httpservlet | このファイルを require すると、 WEBrick::HTTPServlet::FileHandler に対して 拡張子 .cgi と .rhtml のためのハンドラを設定します。
webrick/httpservlet/abstract |
webrick/httpservlet/cgihandler |
webrick/httpservlet/erbhandler |
webrick/httpservlet/filehandler |
webrick/httpservlet/prochandler |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/server |
webrick/utils |

Sub-Libraries

webrick/cgi | 一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
webrick/httpproxy |
webrick/https | WEBrick::HTTPServer を SSL/TLS に対応させるための実装。 このファイルを require すると WEBrick::HTTPServer が SSL/TLS 対応になります。
webrick/ssl | WEBrick::GenericServer を SSL/TLS に対応させるための実装。 このファイルを require すると WEBrick::GenericServer が SSL/TLS 対応になる。


module WEBrick

ancestors: WEBrick

Abstract

ライブラリ webrick の各クラスを提供するモジュールです。

Constants

Signature | Description
VERSION | WEBrick のバージョンを表す文字列です。

Added Methods

Signature Description Library


library webrick/accesslog

Abstract

Classes/Modules

module WEBrick::AccessLog

WEBrick::HTTPServer のアクセスログの形式を処理するために内部で使われるモジュールです。

Exception Classes

class WEBrick::AccessLog::AccessLogError

指定されたアクセスログの形式が正しくない場合に発生します。


module WEBrick::AccessLog

ancestors: WEBrick::AccessLog

Abstract

WEBrick::HTTPServer のアクセスログの形式を処理するために内部で使われるモジュールです。

アクセスログの形式は Apache の mod_log_config の形式に準拠しますが、HTTP ステータスコードを 指定することは出来ません。最後のステータスを表す %>s は %s と同じように解釈されます。

"%h %l %u %t \"%r\" %s %b"
"%{User-Agent}i"

指定できる形式は以下のとおりです。

%a    req.peeraddr[3]
%b    res.sent_size
%e    ENV
%f    res.filename || ""
%h    req.peeraddr[2]
%i    req
%l    "-"
%m    req.request_method
%n    req.attributes
%o    res
%p    req.port
%q    req.query_string
%r    req.request_line.sub(/\x0d?\x0a\z/o, '')
%s    res.status       # won't support "%>s"
%t    req.request_time
%T    Time.now - req.request_time
%u    req.user || "-"
%U    req.unparsed_uri
%v    config[:ServerName]

Constants

Signature Description
AGENT_LOG_FORMAT

Apache のアクセスログで一般的に使われる User-Agent の形式を表す以下の文字列です。

"%{User-Agent}i"
COMMON_LOG_FORMAT
CLF

Apache のアクセスログで一般的に使われる形式を表す以下の文字列です。

"%h %l %u %t \"%r\" %s %b"
CLF_TIME_FORMAT

Apache のアクセスログと同じ時刻の形式を表す以下の文字列です。

"[%d/%b/%Y:%H:%M:%S %Z]"
COMBINED_LOG_FORMAT

Apache のアクセスログで一般的に使われる形式を表す以下の文字列です。

"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
REFERER_LOG_FORMAT

Apache のアクセスログで一般的に使われるリファラの形式を表す以下の文字列です。

"%{Referer}i -> %U"


class WEBrick::AccessLog::AccessLogError

ancestors: WEBrick::AccessLog::AccessLogError < StandardError < Exception < Object < Kernel

Abstract

指定されたアクセスログの形式が正しくない場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library webrick/cgi

Abstract

一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。

使い方

WEBrick のサーブレットを作成するのと同じように、WEBrick::CGI のサブクラスでメソッド do_GET や do_POST を定義することによって CGI スクリプトを書きます。

スクリプトの最後で WEBrick::CGI#start メソッドを呼ぶ必要があります。 WEBrick::CGI#start メソッドは service メソッドを呼び出し、service メソッドはリクエストに応じて do_XXX メソッドを呼び出します。このようにしてスクリプトは実行されます。

例:

#!/usr/local/bin/ruby
require 'webrick/cgi'

class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    res["content-type"] = "text/plain"
    ret = "hoge\n"
    res.body = ret
  end
end

MyCGI.new.start()

フォームフィールドの値を得る

フォームフィールドの値は WEBrick::HTTPRequest#query メソッドが返す Hash オブジェクトに 収納されています。

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    req.query               #=> Hash を返します。
    req.query['q']
    req.query['num']
  end
end
MyCGI.new.start()

同じ名前のフィールドが複数ある場合、list メソッドや each_data メソッドを使います。

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    req.query['q'].list     #=> フォームの値を保持した文字列の配列を返します。
  end
end
MyCGI.new.start()

query メソッドが返す Hash オブジェクトのキーと値のうち値は WEBrick::HTTPUtils::FormData クラスの インスタンスになります。FormData クラスは String クラスのサブクラスです。

マルチパートフィールドの値を取得する（ファイル送信）

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    d = req.query['field_name']   #=> FormData クラスのインスタンス
    d.name                        #=> "field_name"
    d.filename                    #=> もしあればファイル名を返す。
    d['content-type']             #=> ヘッダの値は [] メソッドで取得する
    d                             #=> 送られてきたファイルの中身
  end
end
MyCGI.new.start()

クライアントにクッキーを渡す

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    c1 = WEBrick::Cookie.new("name1", "val1")
    c1.expires = Time.now + 30
    res.cookies << c1

    c2 = WEBrick::Cookie.new("name2", "val2")
    c2.expires = Time.now + 30
    res.cookies << c2
  end
end
MyCGI.new.start()

クライアントからクッキーを得る

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    req.cookies                                   #=> WEBrick::Cookie オブジェクトの配列
    c = req.cookies.find{|c| c.name == "name1" }  #=> WEBrick::Cookie オブジェクト
  end
end
MyCGI.new.start()

CGI に関連する環境変数の値を取得する

CGI に関連する環境変数の値は直接 ENV から得る他に、 WEBrick::HTTPRequest オブジェクトの各メソッドから得ることができます。

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    req.content_length
    req.content_type
    req.path_info
    req.query_string
    req.peeraddr
    req.host
    req.user
    req.request_method
    req.script_name
    req.port
  end
end
MyCGI.new.start()

リンク

  • [RFC3875]

Classes/Modules

class WEBrick::CGI

一般の CGI 環境で WEBrick のサーブレットと同じように CGI スクリプトを書くための クラスです。

Exception Classes

class WEBrick::CGI::CGIError

CGI に関係する例外クラスです。

Required Libraries

webrick/config |
webrick/cookie |
webrick/htmlutils |
webrick/httprequest |
webrick/httpresponse |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


class WEBrick::CGI

ancestors: WEBrick::CGI < Object < Kernel

Abstract

一般の CGI 環境で WEBrick のサーブレットと同じように CGI スクリプトを書くための クラスです。

Singleton Methods

Signature | Description
new(config={}, *options) -> WEBrick::CGI | WEBrick::CGI オブジェクトを生成してかえします。

Instance Methods

Signature Description
self[key] -> object

指定された key に対応した自身の設定値を返します。

config -> Hash

自身の設定を保持したハッシュを返します。

do_GET(req, res) -> ()
do_HEAD(req, res) -> ()
do_POST(req, res) -> ()
do_PUT(req, res) -> ()
do_DELETE(req, res) -> ()
do_OPTIONS(req, res) -> ()

自身の service メソッドから HTTP のリクエストに応じて 呼ばれるメソッドです。WEBrick::CGI のサブクラスはこれらのメソッドを適切に実装し なければいけません。返り値は特に規定されていません。

logger -> WEBrick::BasicLog

設定されているログオブジェクトを返します。

service(req, res) -> ()

指定された WEBrick::HTTPRequest オブジェクト req の WEBrick::HTTPRequest#request_method に応じて、 自身の do_GET, do_HEAD, do_POST, do_OPTIONS... いずれかのメソッドを req と res を引数として呼びます。

start(env = ENV, stdin = $stdin, stdout = $stdout) -> ()

自身に定義されたサービスを実行します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::CGI::CGIError

ancestors: WEBrick::CGI::CGIError < StandardError < Exception < Object < Kernel

Abstract

CGI に関係する例外クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library webrick/compat

Abstract

Exception Classes

class Errno::ECONNABORTED
class Errno::ECONNRESET
class Errno::EPROTO


class Errno::ECONNABORTED

ancestors: Errno::ECONNABORTED < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::ECONNRESET

ancestors: Errno::ECONNRESET < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


class Errno::EPROTO

ancestors: Errno::EPROTO < SystemCallError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint errno .new


library webrick/config

Abstract

Classes/Modules

module WEBrick::Config

色々なクラスの設定のデフォルト値を提供するモジュールです。

Required Libraries

webrick/httputils
webrick/httpversion
webrick/log
webrick/utils


module WEBrick::Config

ancestors: WEBrick::Config

Abstract

色々なクラスの設定のデフォルト値を提供するモジュールです。

Constants

Signature | Description
BasicAuth |
DigestAuth |
FileHandler |
General | WEBrick::GenericServer の設定のデフォルト値を保持したハッシュです。
General | WEBrick::Config::SSL の内容がマージされます。 | webrick/ssl
HTTP | WEBrick::HTTPServer の設定のデフォルト値を保持したハッシュです。
HTTP | WEBrick::Config::SSL の内容がマージされます。 | webrick/https
LIBDIR |

Added Methods

Signature | Description | Library
FileHandler | WEBrick::HTTPServlet::FileHandler.newに与えるオプションの初期値。 | webrick/httpservlet/filehandler
SSL | 以下のほとんどの項目はサーバが保持する OpenSSL::SSL::SSLContext オブジェクト を設定するためのものです。詳しくは OpenSSL::SSL::SSLContext を参照して下さい。 | webrick/ssl


library webrick/cookie

Abstract

Classes/Modules

class WEBrick::Cookie

Cookie を表すクラスです。[RFC2109] に準拠しています。 RFC2109 は [RFC2965] により破棄されましたが、WEBrick::Cookie クラスは RFC2965 に対応していません。

Required Libraries

webrick/httputils


class WEBrick::Cookie

ancestors: WEBrick::Cookie < Object < Kernel

Abstract

Cookie を表すクラスです。[RFC2109] に準拠しています。 RFC2109 は [RFC2965] により破棄されましたが、WEBrick::Cookie クラスは RFC2965 に対応していません。

  • http://www.studyinghttp.net/translations#RFC2965
  • http://www.studyinghttp.net/cookies

Singleton Methods

Signature | Description
new(name, value) -> WEBrick::Cookie | 新しい WEBrick::Cookie オブジェクトを生成して返します。 name にクッキーの名前を、value にクッキーで保持する値を与える。
parse(str) -> [WEBrick::Cookie] | ユーザーエージェントから送られてきた Cookie ヘッダの値 str をパースし、 新しく WEBrick::Cookie オブジェクトを生成しその配列を返します。 各属性の形式が仕様に準拠しているかを確認しません。
parse_set_cookie(str) -> WEBrick::Cookie | サーバから送られてくる Set-Cookie ヘッダの値 str をパースし、 新しく WEBrick::Cookie オブジェクトを生成し返します。
parse_set_cookies(str) -> [WEBrick::Cookie] |

Instance Methods

Signature Description
comment -> String
comment=(value)

コメントを文字列で表すアクセサです。

domain -> String
domain=(value)

ドメイン名を文字列で表すアクセサです。

expires -> Time
expires=(value)

有効期限を Timeオブジェクトで表すアクセサです。

max_age -> Integer
max_age=(value)

クッキーの寿命を整数(単位は秒)で表すアクセサです。

name -> String

Cookie の名前を文字列で返します。

path -> String
path=(value)

パス名を文字列で表すアクセサです。

secure -> bool
secure=(value) -> bool

クッキーのSecure属性を真偽値で表すアクセサです。

to_s -> String

クッキーを文字列にして返します。

value -> String
value=(str)

クッキーの値を文字列で表すアクセサです。

version -> Integer
version=(value)

Cookie のバージョン番号を整数で表すアクセサです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library webrick/htmlutils

Abstract

Classes/Modules

module WEBrick::HTMLUtils

HTML のためのユーティリティ関数を提供します。


module WEBrick::HTMLUtils

ancestors: WEBrick::HTMLUtils

Abstract

HTML のためのユーティリティ関数を提供します。

Module Functions

Signature | Description
escape(string) -> String | 指定された文字列に含まれる ", &, <, > を文字実体参照に変換した文字列を 生成して返します。


library webrick/httpauth

Abstract

Classes/Modules

module WEBrick::HTTPAuth | ユーザ認証の機能を提供するモジュールです。
module WEBrick::HTTPAuth::Authenticator |
class WEBrick::HTTPAuth::BasicAuth | HTTP の Basic 認証のためのクラスです。
class WEBrick::HTTPAuth::DigestAuth | [[unknown:執筆者募集]]
class WEBrick::HTTPAuth::Htdigest | Apache の htdigest 互換のクラス。
class WEBrick::HTTPAuth::Htgroup | [[unknown:執筆者募集]]
class WEBrick::HTTPAuth::Htpasswd | Apache の htpasswd 互換のクラス。.htpasswd ファイルを新しく作成することも出来る。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。
module WEBrick::HTTPAuth::ProxyAuthenticator |
class WEBrick::HTTPAuth::ProxyBasicAuth |
class WEBrick::HTTPAuth::ProxyDigestAuth |
module WEBrick::HTTPAuth::UserDB |

Required Libraries

webrick/config |
webrick/httpauth/authenticator |
webrick/httpauth/basicauth |
webrick/httpauth/digestauth |
webrick/httpauth/htdigest |
webrick/httpauth/htgroup |
webrick/httpauth/htpasswd |
webrick/httpauth/userdb |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


module WEBrick::HTTPAuth

ancestors: WEBrick::HTTPAuth

Abstract

ユーザ認証の機能を提供するモジュールです。

Module Functions

Signature | Description
basic_auth(req, res, realm) {|user, pass| ... } -> nil | Basic 認証を行うためのメソッドです。
proxy_basic_auth(req, res, realm) {|user, pass| ... } -> nil | プロクシーの Basic 認証行うためのメソッドです。


library webrick/httpauth/authenticator

Abstract

Classes/Modules

module WEBrick::HTTPAuth::Authenticator
module WEBrick::HTTPAuth::ProxyAuthenticator


module WEBrick::HTTPAuth::Authenticator

ancestors: WEBrick::HTTPAuth::Authenticator

Abstract

Instance Methods

Signature | Description
logger |
realm |
userdb |

Constants

Signature | Description
AuthException |
AuthScheme |
RequestField |
ResponseField |
ResponseInfoField |


module WEBrick::HTTPAuth::ProxyAuthenticator

ancestors: WEBrick::HTTPAuth::ProxyAuthenticator

Abstract

Constants

Signature | Description
AuthException |
InfoField |
RequestField |
ResponseField |


library webrick/httpauth/basicauth

Abstract

Classes/Modules

class WEBrick::HTTPAuth::BasicAuth | HTTP の Basic 認証のためのクラスです。
class WEBrick::HTTPAuth::ProxyBasicAuth |

Required Libraries

webrick/config |
webrick/httpauth/authenticator |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


class WEBrick::HTTPAuth::BasicAuth

ancestors: WEBrick::HTTPAuth::BasicAuth < WEBrick::HTTPAuth::Authenticator < Object < Kernel

Abstract

HTTP の Basic 認証のためのクラスです。

例

realm = "WEBrick's realm"
srv = HTTPServer.new({ :BindAddress => '127.0.0.1', :Port => 10080})

htpd = HTTPAuth::Htpasswd.new('dot.htpasswd')
htpd.set_passwd(nil, 'username', 'supersecretpass')

authenticator = HTTPAuth::BasicAuth.new(:UserDB => htpd, :Realm => realm)
srv.mount_proc('/basic_auth') {|req, res|
  authenticator.authenticate(req, res)
  res.body = "hoge"
}

Singleton Methods

Signature | Description
make_passwd(realm, user, pass) | pass をランダムなソルトで crypt した文字列を返します。
new(config, default=Config::BasicAuth) | BasicAuth オブジェクトを生成します。config は設定を保存したハッシュです。

Instance Methods

Signature | Description
authenticate(req, res) | クライアントから送られてきたユーザ名とパスワードを認証します。 認証に失敗した場合は challenge を呼びます。
challenge(req, res) | クライアントにパスワードを要求するために res に WWW-Authenticate ヘッダを 設定し、例外 WEBrick::HTTPStatus::Unauthorized を投げます。
logger | ロガーオブジェクトを返します。
realm | realm を文字列で返します。
userdb | ユーザ名とパスワードを保存した WEBrick::HTTPAuth::Htpasswd オブジェクトを 返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AuthException ::AuthScheme ::RequestField ::ResponseField ::ResponseInfoField


class WEBrick::HTTPAuth::ProxyBasicAuth

ancestors: WEBrick::HTTPAuth::ProxyBasicAuth

      < WEBrick::HTTPAuth::ProxyAuthenticator

      < WEBrick::HTTPAuth::BasicAuth

      < WEBrick::HTTPAuth::Authenticator

      < Object

      < Kernel

Abstract

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint logger realm userdb ::AuthException ::AuthScheme ::RequestField ::ResponseField ::ResponseInfoField authenticate challenge .make_passwd .new ::InfoField


library webrick/httpauth/digestauth

Abstract

Classes/Modules

class WEBrick::HTTPAuth::DigestAuth | [[unknown:執筆者募集]]
class WEBrick::HTTPAuth::ProxyDigestAuth |

Required Libraries

webrick/config |
webrick/httpauth/authenticator |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


class WEBrick::HTTPAuth::DigestAuth

ancestors: WEBrick::HTTPAuth::DigestAuth < WEBrick::HTTPAuth::Authenticator < Object < Kernel

Abstract

[[unknown:執筆者募集]]

Digest 認証のためのクラス。

Singleton Methods

Signature | Description
make_passwd(realm, user, pass) |
new(config, default=Config::DigestAuth) | 執筆者募集

Instance Methods

Signature | Description
algorithm | 執筆者募集
authenticate(req, res) | 執筆者募集
challenge(req, res, stale=false) | 執筆者募集
logger | 執筆者募集
qop | 執筆者募集
realm | 執筆者募集
userdb | 執筆者募集

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint ::AuthException ::AuthScheme ::RequestField ::ResponseField ::ResponseInfoField


class WEBrick::HTTPAuth::ProxyDigestAuth

ancestors: WEBrick::HTTPAuth::ProxyDigestAuth

      < WEBrick::HTTPAuth::ProxyAuthenticator

      < WEBrick::HTTPAuth::DigestAuth

      < WEBrick::HTTPAuth::Authenticator

      < Object

      < Kernel

Abstract

Instance Methods

Signature | Description
check_uri(req, auth_req) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint logger realm userdb ::AuthException ::AuthScheme ::RequestField ::ResponseField ::ResponseInfoField algorithm authenticate challenge qop .make_passwd .new ::InfoField


library webrick/httpauth/htdigest

Abstract

Classes/Modules

class WEBrick::HTTPAuth::Htdigest

Apache の htdigest 互換のクラス。

Required Libraries

webrick/config |
webrick/httpauth/authenticator |
webrick/httpauth/digestauth |
webrick/httpauth/userdb |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


class WEBrick::HTTPAuth::Htdigest

ancestors: WEBrick::HTTPAuth::Htdigest < WEBrick::HTTPAuth::UserDB < Object < Kernel

Abstract

Apache の htdigest 互換のクラス。

例

require 'webrick'
include WEBrick
htd = HTTPAuth::Htdigest.new('dot.htdigest')
htd.set_passwd('realm', 'username', 'supersecretpass')
htd.flush
htd2 = HTTPAuth::Htdigest.new('dot.htdigest')
p htd2.get_passwd('realm', 'username', false) == '65fe03e5b0a199462186848cc7fda42b'

Singleton Methods

Signature | Description
new(path) | Htdigest オブジェクトを生成する。.htdigest ファイルのパスを path で与える。

Instance Methods

Signature | Description
delete_passwd(realm, user) | realm に属するユーザ user のパスワードを削除する。
each {|user, realm, pass| ...} | 各ユーザ、realm とパスワードに関してブロックを評価する。
flush(path=nil) | ファイルに書き込む。ファイル名 path を与えた場合は、path に書き込む。
get_passwd(realm, user, reload_db) | realm からユーザのパスワードの MD5 ハッシュ値を取得し文字列として返す。 reload_db が true の場合、reload を呼んでからハッシュ値を返す。
reload | ファイルから再度読み込む。
set_passwd(realm, user, pass) | realm に対応させてユーザ user とパスワード pass を保存する。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint auth_type make_passwd


library webrick/httpauth/htgroup

Abstract

Classes/Modules

class WEBrick::HTTPAuth::Htgroup

[[unknown:執筆者募集]]


class WEBrick::HTTPAuth::Htgroup

ancestors: WEBrick::HTTPAuth::Htgroup < Object < Kernel

Abstract

[[unknown:執筆者募集]]

Singleton Methods

Signature | Description
new(path) |

Instance Methods

Signature | Description
add(group, members) |
flush(output = nil) |
members(group) |
reload |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library webrick/httpauth/htpasswd

Abstract

Classes/Modules

class WEBrick::HTTPAuth::Htpasswd

Apache の htpasswd 互換のクラス。.htpasswd ファイルを新しく作成することも出来る。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。

Required Libraries

webrick/config |
webrick/httpauth/authenticator |
webrick/httpauth/basicauth |
webrick/httpauth/userdb |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


class WEBrick::HTTPAuth::Htpasswd

ancestors: WEBrick::HTTPAuth::Htpasswd < WEBrick::HTTPAuth::UserDB < Object < Kernel

Abstract

Apache の htpasswd 互換のクラス。.htpasswd ファイルを新しく作成することも出来る。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。

例

require 'webrick'
include WEBrick
htpd = HTTPAuth::Htpasswd.new('dot.htpasswd')
htpd.set_passwd(nil, 'username', 'supersecretpass')
htpd.flush
htpd2 = HTTPAuth::Htpasswd.new('dot.htpasswd')
pass = htpd2.get_passwd(nil, 'username', false)
p pass == 'supersecretpass'.crypt(pass[0,2])

Singleton Methods

Signature | Description
new(path) | Htpasswd オブジェクトを生成する。.htpasswd ファイルのパスを path で与える。

Instance Methods

Signature | Description
delete_passwd(realm, user) | ユーザのパスワードを削除する。realm は無視される。
each {|user, pass| ...} | 各ユーザとパスワードに関してブロックを評価する。
flush(path=nil) | ファイルに書き込む。ファイル名 path を与えた場合は、path に書き込む。
get_passwd(realm, user, reload_db) | ユーザのパスワードの crypt された文字列を取得する。reload_db が true の場合、 reload を呼んでからパスワードを取得する。realm は無視される。
reload | ファイルから再度読み込む。
set_passwd(realm, user, pass) | ユーザとパスワードを保存する。realm は無視される。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint auth_type make_passwd


library webrick/httpauth/userdb

Abstract

Classes/Modules

module WEBrick::HTTPAuth::UserDB


module WEBrick::HTTPAuth::UserDB

ancestors: WEBrick::HTTPAuth::UserDB

Abstract

Instance Methods

Signature Description
auth_type
auth_type=(type)
get_passwd(realm, user, reload_db = false)
make_passwd(realm, user, pass)
set_passwd(realm, user, pass)


library webrick/httpproxy

Abstract

Classes/Modules

class WEBrick::HTTPProxyServer

プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。

Required Libraries

webrick/accesslog |
webrick/config |
webrick/cookie |
webrick/htmlutils |
webrick/httprequest |
webrick/httpresponse |
webrick/httpserver |
webrick/httpservlet | このファイルを require すると、 WEBrick::HTTPServlet::FileHandler に対して 拡張子 .cgi と .rhtml のためのハンドラを設定します。
webrick/httpservlet/abstract |
webrick/httpservlet/cgihandler |
webrick/httpservlet/erbhandler |
webrick/httpservlet/filehandler |
webrick/httpservlet/prochandler |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/server |
webrick/utils |


class WEBrick::HTTPProxyServer

ancestors: WEBrick::HTTPProxyServer

      < WEBrick::HTTPServer

      < WEBrick::GenericServer

      < Object

      < Kernel

Abstract

プロクシの機能を提供するクラスです。CONNECT メソッドにも対応しています。

  • http://jp.rubyist.net/magazine/?0002-WEBrickProxy

以下は完全に動作するプロクシサーバの例です。

require 'webrick'
require 'webrick/httpproxy'

config = { :BindAddress => '127.0.0.1', :Port => 8080 }
s = WEBrick::HTTPProxyServer.new( config )
Signal.trap('INT') do
  s.shutdown
end
s.start

Singleton Methods

Signature | Description
new(config) -> WEBrick::HTTPProxyServer | プロクシオブジェクトを生成して返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint [] config listen listeners logger run shutdown ssl_context start status stop tokens mount mount_proc umount virtual_host


library webrick/httprequest

Abstract

Classes/Modules

class WEBrick::HTTPRequest

HTTP リクエストのためのクラスです。

Required Libraries

webrick/cookie |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |


class WEBrick::HTTPRequest

ancestors: WEBrick::HTTPRequest < Object < Kernel

Abstract

HTTP リクエストのためのクラスです。

通常 WEBrick::HTTPRequest オブジェクトはサーブレットの service メソッドや do_XXX メソッドの 引数として与えられるものであり、ユーザが明示的に生成する必要はありません。

Singleton Methods

Signature | Description
new(config) | WEBrick::HTTPRequest を生成して返します。

Instance Methods

Signature Description
self[header_name] -> String

リクエストのヘッダの該当する内容を文字列で返します。

accept -> [String]

Accept ヘッダの内容をメディアタイプを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。

accept_charset -> [String]

Accept-Charset ヘッダの内容を文字セットを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。

accept_encoding -> [String]

Accept-Encoding ヘッダの内容をコーディングを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。

accept_language -> [String]

Accept-Language ヘッダの内容を自然言語を表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。

addr -> Array

クライアントと接続されているソケットの IPSocket#addr を返します。

attributes -> Hash
body -> String | nil
body {|chunk| ... } -> String | nil

クライアントからエンティティボディを読み込み返します。 リクエストにエンティティボディが含まれない場合は nil を返します。

content_length -> Integer

リクエストの Content-Length ヘッダの値を整数で返します。リクエストに Content-Length ヘッダ が含まれていない場合は 0 を返します。

content_type -> String | nil

リクエストの Content-Type ヘッダを文字列で返す。

cookies -> [WEBrick::Cookie]

リクエストに含まれる Cookie ヘッダの値を WEBrick::Cookie の配列として返します。

each {|key, val| ... }

リクエストの各ヘッダ名を key、内容を val としてブロックを評価します。

fixup -> ()

リクエストの残りのエンティティボディを読み込みます。

header -> Hash

ヘッダ名をキー、内容をその値とするハッシュを返します。キーも値も文字列です。

host -> String

リクエスト URI の host を文字列で返す。

http_version -> WEBrick::HTTPVersion

リクエストの HTTP バージョンを表す WEBrick::HTTPVersion オブジェクトを返します。

keep_alive -> bool
keep_alive? -> bool

リクエストが Keep-Alive を要求しているかを真偽で返します。 http_version が 1.1 より小さい場合は Keep-Alive を要求していても無視して false となります。

meta_vars -> Hash

This method provides the metavariables defined by the revision 3 of ``The WWW Common Gateway Interface Version 1.1''. http://Web.Golux.Com/coar/cgi/.

meta_vars webrick/https
parse(socket = nil) webrick/https
parse(socket = nil) -> ()

指定された socket からクライアントのリクエストを読み込み、 自身のアクセサなどを適切に設定します。

parse_uri(str, scheme = "http") webrick/https
path -> String

リクエスト URI のパスを表す文字列を返します。

path_info -> String
path_info=(value)

リクエスト URI のパスを文字列で表すアクセサです。デフォルトは path と同じです。

peeraddr -> Array

クライアントと接続されているソケットの IPSocket#peeraddr を返します。

port -> String

サーバのポートを文字列で返します。

query -> Hash

リクエストのクエリーあるいはクライアントがフォームへ入力した値を表すハッシュを返します。

query_string -> String
query_string=(value)

リクエスト URI のクエリーを文字列で表すアクセサです。 デフォルトは request_uri.query です。

raw_header
request_line

クライアントのリクエストの最初の行(GET / HTTP/1.1)を文字列で返す。

request_method -> String

クライアントのリクエストの HTTP メソッド(GET, POST,...)を文字列で返す。

request_time -> Time

リクエストされた時刻を Time オブジェクトで返す。

request_uri

リクエスト URI を表す URI オブジェクトを返します。

script_name -> String
script_name=(value)

CGI での環境変数 SCRIPT_NAME を文字列で表すアクセサです。

to_s -> String

リクエストのヘッダとボディをまとめて文字列として返します。

unparsed_uri -> String

リクエストの URI を文字列で返します。

user -> String
user=(value)

REMOTE_USER を文字列で表すアクセサです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint

Added Methods

Signature Description Library


library webrick/httpresponse

Abstract

Classes/Modules

class WEBrick::HTTPResponse

HTTP のレスポンスを表すためのクラスです。

Required Libraries

webrick/htmlutils |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |


class WEBrick::HTTPResponse

ancestors: WEBrick::HTTPResponse < Object < Kernel

Abstract

HTTP のレスポンスを表すためのクラスです。

通常 WEBrick::HTTPResponse オブジェクトはサーブレットの service メソッドや do_XXX メソッドの 引数として与えられるものであり、ユーザが明示的に生成する必要はありません。

Singleton Methods

Signature | Description
new(config) | HTTPResponse オブジェクトを生成して返します。

Instance Methods

Signature Description
self[field] -> String

レスポンスのヘッダの該当する内容を文字列で返します。

self[field] = val

レスポンスの該当するヘッダに val を設定する。val は文字列。

body -> String | IO
body=(val)

クライアントに返す内容(エンティティボディ)を表すアクセサです。

chunked? -> bool
chunked=(flag)

クライアントに返す内容(エンティティボディ)を chunk に分けるかどうかを真偽で表すアクセサです。

config -> Hash

自身が生成される時に指定されたハッシュを返します。

content_length -> Integer | nil
content_length=(len)

Content-Length ヘッダの値を整数で表すアクセサです。デフォルトは nil です。

content_type -> String | nil
content_type=(val)

Content-Type ヘッダの値を文字列で表すアクセサです。

cookies -> [WEBrick::Cookie]

レスポンスの Set-Cookie ヘッダの値を表す WEBrick::Cookie オブジェクトの配列です。 レスポンスに新たに Cookie を加えたい場合はこの配列に WEBrick::Cookie オブジェクトを加えます。

each {|key, val| ... }

レスポンスのヘッダ名を key、内容を val としてブロックを評価します。

filename -> String | nil
filename=(file)

自身の内容があるファイルのそれである場合に、そのファイル名を文字列で表すアクセサです。 デフォルトは nil です。

header -> Hash

ヘッダ名をキー、ヘッダの値を値とするハッシュを返します。ハッシュのキーも値も文字列です。

http_version -> WEBrick::HTTPVersion

レスポンスの HTTP のバージョンを表す WEBrick::HTTPVersion オブジェクトを返します。

keep_alive? -> bool
keep_alive -> bool
keep_alive=(flag)

レスポンスの keep_alive が有効であるかを真偽で表すアクセサです。 デフォルトは true です。

reason_phrase -> String | nil
reason_phrase=(val)

HTTP のレスポンスの最初の行の reason phrase を文字列で表すアクセサです。 この値が nil の場合 reason phrase は status から生成されます。 デフォルトは nil です。

request_http_version -> WEBrick::HTTPVersion
request_http_version=(ver)

リクエストの HTTP バージョンを WEBrick::HTTPVersion オブジェクトで表すアクセサです。 デフォルトでは自身の WEBrick::HTTPResponse#http_version が使われます。

request_method -> String | nil
request_method=(method)

リクエストの HTTP メソッドを文字列で表すアクセサです。 デフォルトは nil です。

request_uri -> URI | nil
request_uri=(uri)

リクエストの URI を URI オブジェクトで表すアクセサです。 デフォルトは nil です。

sent_size -> Integer

クライアントに送られた内容(エンティティボディ)のバイト数を表す整数を返します。

set_error(status, backtrace = false) -> ()

自身の内容(エンティティボディ)を指定された status のエラーページにします。

set_redirect(status, url) -> ()

指定された url にリダイレクトするためのヘッダと内容(エンティティボディ)を設定し例外 status を 発生させます。

status -> Integer

レスポンスのステータスコードを表す整数を返します。 デフォルトは WEBrick::HTTPStatus::RC_OK です。

status=(status)

レスポンスのステータスコードを整数で指定します。 reason_phrase も適切なものに設定されます。

status_line -> String

HTTP のステータスラインを CR+LF 付き文字列で返します。

to_s -> String

実際にクライアントに送られるデータを文字列として返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library webrick/https

Abstract

WEBrick::HTTPServer を SSL/TLS に対応させるための実装。 このファイルを require すると WEBrick::HTTPServer が SSL/TLS 対応になります。

Required Libraries

webrick/ssl

WEBrick::GenericServer を SSL/TLS に対応させるための実装。 このファイルを require すると WEBrick::GenericServer が SSL/TLS 対応になる。

Added/Redefined Methods

WEBrick::Config::HTTP

WEBrick::HTTPRequest#cipher

WEBrick::HTTPRequest#client_cert

WEBrick::HTTPRequest#meta_vars

WEBrick::HTTPRequest#parse

WEBrick::HTTPRequest#parse_uri

WEBrick::HTTPRequest#server_cert


library webrick/httpserver

Abstract

Classes/Modules

class WEBrick::HTTPServer

HTTP サーバの機能を提供するクラスです。

Exception Classes

class WEBrick::HTTPServerError

Required Libraries

webrick/accesslog |
webrick/config |
webrick/cookie |
webrick/htmlutils |
webrick/httprequest |
webrick/httpresponse |
webrick/httpservlet | このファイルを require すると、 WEBrick::HTTPServlet::FileHandler に対して 拡張子 .cgi と .rhtml のためのハンドラを設定します。
webrick/httpservlet/abstract |
webrick/httpservlet/cgihandler |
webrick/httpservlet/erbhandler |
webrick/httpservlet/filehandler |
webrick/httpservlet/prochandler |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/server |
webrick/utils |


class WEBrick::HTTPServer

ancestors: WEBrick::HTTPServer < WEBrick::GenericServer < Object < Kernel

Abstract

HTTP サーバの機能を提供するクラスです。

以下は HTTP サーバとしてちゃんと動作する例です。

require 'webrick'
srv = WEBrick::HTTPServer.new({:DocumentRoot => '/home/username/public_html/',
                               :BindAddress => '127.0.0.1',
                               :Port => 10080})
srv.mount('/hoge.pl', WEBrick::HTTPServlet::CGIHandler, 'really_executed_script.rb')
srv.start

Singleton Methods

Signature | Description
new(config={}, default=Config::HTTP) -> WEBrick::HTTPServer | HTTPServer オブジェクトを生成して返します。

Instance Methods

Signature Description
mount(dir, servlet, *options) -> ()

サーバ上のディレクトリ dir にサーブレット servlet を対応させます。

mount_proc(dir, proc) -> ()
mount_proc(dir) {|req, res| ...} -> ()

サーバ上のディレクトリ dir にリクエストを処理する Proc オブジェクト proc を対応させます。

unmount(dir) -> ()
umount(dir) -> ()

サーバ上のディレクトリ dir とサーブレットとの対応を解消します。

virtual_host(server) -> ()

サーバの保持しているバーチャルホストのリストに HTTP サーバ server を加えます。 クライアントからのリクエストのうち server へのものは server に委譲されるようになります。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint [] config listen listeners logger run shutdown ssl_context start status stop tokens


class WEBrick::HTTPServerError

ancestors: WEBrick::HTTPServerError < WEBrick::ServerError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library webrick/httpservlet

Abstract

このファイルを require すると、 WEBrick::HTTPServlet::FileHandler に対して 拡張子 .cgi と .rhtml のためのハンドラを設定します。

webrick や webrick/httpserver を require すると このライブラリも一緒に require されます。

Classes/Modules

class WEBrick::HTTPServlet::AbstractServlet | サーブレットの抽象クラスです。実装は AbstractServlet のサブクラスで行います。
class WEBrick::HTTPServlet::CGIHandler | CGI を扱うためのサーブレット。
class WEBrick::HTTPServlet::DefaultFileHandler |
class WEBrick::HTTPServlet::ERBHandler |
class WEBrick::HTTPServlet::FileHandler | 通常のファイルサーバとしての機能を提供するためのサーブレット。
class WEBrick::HTTPServlet::ProcHandler | Proc を扱うためのサーブレット。

Exception Classes

class WEBrick::HTTPServlet::HTTPServletError

Required Libraries

webrick/config |
webrick/htmlutils |
webrick/httpservlet/abstract |
webrick/httpservlet/cgihandler |
webrick/httpservlet/erbhandler |
webrick/httpservlet/filehandler |
webrick/httpservlet/prochandler |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


library webrick/httpservlet/abstract

Abstract

Classes/Modules

class WEBrick::HTTPServlet::AbstractServlet

サーブレットの抽象クラスです。実装は AbstractServlet のサブクラスで行います。

Exception Classes

class WEBrick::HTTPServlet::HTTPServletError

Required Libraries

webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |


class WEBrick::HTTPServlet::AbstractServlet

ancestors: WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

サーブレットの抽象クラスです。実装は AbstractServlet のサブクラスで行います。

サーブレットは以下のように使われます。WEBrick::HTTPServlet::CGIHandler は webrick/httpservlet/cgihandler で提供されているサーブレットです。 CGIHandler は AbstractServlet のサブクラスです。

require 'webrick'
srv = WEBrick::HTTPServer.new({ :DocumentRoot => './',
                                :BindAddress => '127.0.0.1',
                                :Port => 20080})
srv.mount('/view.cgi', WEBrick::HTTPServlet::CGIHandler, 'view.rb')
trap("INT"){ srv.shutdown }
srv.start

上のスクリプトでは以下のような流れで view.rb は実行されます。

  1. サーバのパス /view.cgi と CGIHandler がマウントにより結びつけられます。
  2. パス /view.cgi にアクセスがあるたびにサーバ(WEBrick::HTTPServer オブジェクト)は 'view.rb' を引数として CGIHandler オブジェクトを生成します。
  3. サーバはリクエストオブジェクトを引数として CGIHandler#service メソッドを呼びます。
  4. CGIHandler オブジェクトは view.rb を CGI スクリプトとして実行します。

このように WEBrick では Web サーバの機能の大部分がサーブレットの形で提供されています。 またサーブレットを作成することにより新たな機能を Web サーバに追加することもできます。

Singleton Methods

Signature | Description
get_instance(server, *options) -> WEBrick::HTTPServlet::AbstractServlet | new(server, *options) を呼び出してサーブレットを生成して返します。 WEBrick::HTTPServer オブジェクトは実際にはこの get_instance メソッドを呼び出して サーブレットを生成します。
new(server, *options) -> WEBrick::HTTPServlet::AbstractServlet | サーブレットを生成して返します。 WEBrick::HTTPServer オブジェクトは server に自身を指定してサーブレットを生成します。

Instance Methods

Signature Description
do_GET(req, res) -> ()
do_HEAD(req, res) -> ()
do_POST(req, res) -> ()
do_PUT(req, res) -> ()
do_DELETE(req, res) -> ()
do_OPTIONS(req, res) -> ()

自身の service メソッドから HTTP のリクエストに応じて 呼ばれるメソッドです。AbstractServlet のサブクラスはこれらのメソッドを適切に実装し なければいけません。返り値は特に規定されていません。

service(req, res) -> ()

指定された WEBrick::HTTPRequest オブジェクト req の WEBrick::HTTPRequest#request_method に応じて、 自身の do_GET, do_HEAD, do_POST, do_OPTIONS... いずれかのメソッドを req と res を引数として呼びます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPServlet::HTTPServletError

ancestors: WEBrick::HTTPServlet::HTTPServletError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library webrick/httpservlet/cgihandler

Abstract

Classes/Modules

class WEBrick::HTTPServlet::CGIHandler

CGI を扱うためのサーブレット。

Required Libraries

webrick/config |
webrick/httpservlet/abstract |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |
webrick/httpversion |
webrick/log |
webrick/utils |


class WEBrick::HTTPServlet::CGIHandler

ancestors: WEBrick::HTTPServlet::CGIHandler < WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

CGI を扱うためのサーブレット。

Singleton Methods

Signature | Description
new(server, name) | name は実行したいローカルの CGI ファイルを文字列で与える。

Instance Methods

Signature Description
do_GET(req, res)
do_POST(req, res)

Constants

Signature | Description
CGIRunner |
Ruby |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint do_DELETE service .get_instance


library webrick/httpservlet/erbhandler

Abstract

Classes/Modules

class WEBrick::HTTPServlet::ERBHandler

Required Libraries

webrick/httpservlet/abstract |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |


class WEBrick::HTTPServlet::ERBHandler

ancestors: WEBrick::HTTPServlet::ERBHandler < WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(server, name) |

Instance Methods

Signature Description
do_GET(req, res)
do_POST(req, res)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint do_DELETE service .get_instance


library webrick/httpservlet/filehandler

Abstract

Classes/Modules

class WEBrick::HTTPServlet::DefaultFileHandler |
class WEBrick::HTTPServlet::FileHandler | 通常のファイルサーバとしての機能を提供するためのサーブレット。

Required Libraries

webrick/htmlutils |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |

Added/Redefined Methods

WEBrick::Config::FileHandler


class WEBrick::HTTPServlet::DefaultFileHandler

ancestors: WEBrick::HTTPServlet::DefaultFileHandler < WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(server, local_path) |

Instance Methods

Signature | Description
do_GET(req, res) |
make_partial_content(req, res, filename, filesize) |
not_modified?(req, res, mtime, etag) |
prepare_range(range, filesize) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint do_DELETE service .get_instance


class WEBrick::HTTPServlet::FileHandler

ancestors: WEBrick::HTTPServlet::FileHandler < WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

通常のファイルサーバとしての機能を提供するためのサーブレット。

Singleton Methods

Signature | Description
add_handler(suffix, handler) |
new(server, root, options={}, default=Config::FileHandler) | FileHandler サーブレットを生成する。root はサーブレットにルートディレクトリ として認識させる、ローカルのファイルシステムのディレクトリを文字列で与える。
remove_handler(suffix) |

Instance Methods

Signature | Description
do_GET(req, res) |
do_OPTIONS(req, res) |
do_POST(req, res) |
service(req, res) |

Constants

Signature | Description
HandlerTable |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint do_DELETE .get_instance


library webrick/httpservlet/prochandler

Abstract

Classes/Modules

class WEBrick::HTTPServlet::ProcHandler

Proc を扱うためのサーブレット。

Required Libraries

webrick/httpservlet/abstract |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。
webrick/httputils |


class WEBrick::HTTPServlet::ProcHandler

ancestors: WEBrick::HTTPServlet::ProcHandler < WEBrick::HTTPServlet::AbstractServlet < Object < Kernel

Abstract

Proc を扱うためのサーブレット。

WEBrick::HTTPServer#mount に引数として与えることは 出来ない。WEBrick::HTTPServer#mount_procを使う。

Singleton Methods

Signature | Description
new(proc) | proc には呼び出したい Proc オブジェクトを与える。proc はクライアントからの リクエストがあった時、proc.call(request, response) のように呼び出される。 WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクト。

Instance Methods

Signature Description
do_GET(req, res)
do_POST(req, res)
get_instance(server, *options)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint do_DELETE service .get_instance


library webrick/httpstatus

Abstract

HTTP のステータスを表す例外クラスを提供します。

Classes/Modules

module WEBrick::HTTPStatus

HTTP のステータスを表す例外クラスを提供するモジュールです。 ステータスコード 200 などの成功の場合も含まれます。

Exception Classes

class WEBrick::HTTPStatus::Accepted | HTTP のステータスコード 202 Accepted を表すクラスです。
class WEBrick::HTTPStatus::BadGateway | HTTP のステータスコード 502 Bad Gateway を表すクラスです。
class WEBrick::HTTPStatus::BadRequest | HTTP のステータスコード 400 Bad Request を表すクラスです。
class WEBrick::HTTPStatus::ClientError | HTTP のステータスコードクライアントエラー 4XX の親クラスです。
class WEBrick::HTTPStatus::Conflict | HTTP のステータスコード 409 Conflict を表すクラスです。
class WEBrick::HTTPStatus::Continue | HTTP のステータスコード 100 Continue を表すクラスです。
class WEBrick::HTTPStatus::Created | HTTP のステータスコード 201 Created を表すクラスです。
class WEBrick::HTTPStatus::EOFError |
class WEBrick::HTTPStatus::Error | HTTP のステータスコードエラーの親クラスです。
class WEBrick::HTTPStatus::ExpectationFailed | HTTP のステータスコード 417 Expectation Failed を表すクラスです。
class WEBrick::HTTPStatus::Forbidden | HTTP のステータスコード 403 Forbidden を表すクラスです。
class WEBrick::HTTPStatus::Found | HTTP のステータスコード 302 Found を表すクラスです。
class WEBrick::HTTPStatus::GatewayTimeout | HTTP のステータスコード 504 Gateway Timeout を表すクラスです。
class WEBrick::HTTPStatus::Gone | HTTP のステータスコード 410 Gone を表すクラスです。
class WEBrick::HTTPStatus::HTTPVersionNotSupported | HTTP のステータスコード 505 HTTP Version Not Supported を表すクラスです。
class WEBrick::HTTPStatus::Info | HTTP のステータスコード情報提供 1XX の親クラスです。
class WEBrick::HTTPStatus::InternalServerError | HTTP のステータスコード 500 Internal Server Error を表すクラスです。
class WEBrick::HTTPStatus::LengthRequired | HTTP のステータスコード 411 Length Required を表すクラスです。
class WEBrick::HTTPStatus::MethodNotAllowed | HTTP のステータスコード 405 Method Not Allowed を表すクラスです。
class WEBrick::HTTPStatus::MovedPermanently | HTTP のステータスコード 301 Moved Permanently を表すクラスです。
class WEBrick::HTTPStatus::MultipleChoices | HTTP のステータスコード 300 Multiple Choices を表すクラスです。
class WEBrick::HTTPStatus::NoContent | HTTP のステータスコード 204 No Content を表すクラスです。
class WEBrick::HTTPStatus::NonAuthoritativeInformation | HTTP のステータスコード 203 Non-Authoritative Information を表すクラスです。
class WEBrick::HTTPStatus::NotAcceptable | HTTP のステータスコード 406 Not Acceptable を表すクラスです。
class WEBrick::HTTPStatus::NotFound | HTTP のステータスコード 404 Not Found を表すクラスです。
class WEBrick::HTTPStatus::NotImplemented | HTTP のステータスコード 501 Not Implemented を表すクラスです。
class WEBrick::HTTPStatus::NotModified | HTTP のステータスコード 304 Not Modified を表すクラスです。
class WEBrick::HTTPStatus::OK | HTTP のステータスコード 200 OK を表すクラスです。
class WEBrick::HTTPStatus::PartialContent | HTTP のステータスコード 206 Partial Content を表すクラスです。
class WEBrick::HTTPStatus::PaymentRequired |
class WEBrick::HTTPStatus::PreconditionFailed | HTTP のステータスコード 412 Precondition Failed を表すクラスです。
class WEBrick::HTTPStatus::ProxyAuthenticationRequired | HTTP のステータスコード 407 Proxy Authentication Required を表すクラスです。
class WEBrick::HTTPStatus::Redirect | HTTP のステータスコード転送 3XX の親クラスです。
class WEBrick::HTTPStatus::RequestEntityTooLarge | HTTP のステータスコード 413 Request Entity Too Large を表すクラスです。
class WEBrick::HTTPStatus::RequestRangeNotSatisfiable | HTTP のステータスコード 416 Requested Range Not Satisfiable を表すクラスです。
class WEBrick::HTTPStatus::RequestTimeout | HTTP のステータスコード 408 Request Timeout を表すクラスです。
class WEBrick::HTTPStatus::RequestURITooLarge | HTTP のステータスコード 414 Request-URI Too Long を表すクラスです。
class WEBrick::HTTPStatus::ResetContent | HTTP のステータスコード 205 Reset Content を表すクラスです。
class WEBrick::HTTPStatus::SeeOther | HTTP のステータスコード 303 See Other を表すクラスです。
class WEBrick::HTTPStatus::ServerError | HTTP のステータスコードサーバエラー 5XX の親クラスです。
class WEBrick::HTTPStatus::ServiceUnavailable | HTTP のステータスコード 503 Service Unavailable を表すクラスです。
class WEBrick::HTTPStatus::Status | HTTP のステータスコードの親クラスです。
class WEBrick::HTTPStatus::Success | HTTP のステータスコード成功 2XX の親クラスです。
class WEBrick::HTTPStatus::SwitchingProtocols | HTTP のステータスコード 101 Switching Protocols を表すクラスです。
class WEBrick::HTTPStatus::TemporaryRedirect | HTTP のステータスコード 307 Temporary Redirect を表すクラスです。
class WEBrick::HTTPStatus::Unauthorized | HTTP のステータスコード 401 Unauthorized を表すクラスです。
class WEBrick::HTTPStatus::UnsupportedMediaType | HTTP のステータスコード 415 Unsupported Media Type を表すクラスです。
class WEBrick::HTTPStatus::UseProxy | HTTP のステータスコード 305 Use Proxy を表すクラスです。


module WEBrick::HTTPStatus

ancestors: WEBrick::HTTPStatus

Abstract

HTTP のステータスを表す例外クラスを提供するモジュールです。 ステータスコード 200 などの成功の場合も含まれます。

以下のような継承による階層を構成しています。

StandardError
 * WEBrick::HTTPStatus::Status
    * WEBrick::HTTPStatus::Info             (1XX)
    * WEBrick::HTTPStatus::Success          (2XX)
    * WEBrick::HTTPStatus::Redirect         (3XX)
    * WEBrick::HTTPStatus::Error
       * WEBrick::HTTPStatus::ClientError   (4XX)
       * WEBrick::HTTPStatus::ServerError   (5XX)

Singleton Methods

Signature | Description
self[code] -> Class | 指定された整数が表すステータスコードに対応する WEBrick::HTTPStatus::Status のサブクラスを返します。

Module Functions

Signature | Description
client_error?(code) -> bool | 指定された整数が表すステータスコードが 4XX である場合に true を返します。そうでない場合に false を返します。
error?(code) -> bool | 指定された整数が表すステータスコードが 4XX, 5xx である場合に true を返します。そうでない場合に false を返します。
info?(code) -> bool | 指定された整数が表すステータスコードが 1XX である場合に true を返します。そうでない場合に false を返します。
reason_phrase(code) -> String | 指定された整数が表すステータスコードに対応する reason phrase を表す文字列を返します。
redirect?(code) -> bool | 指定された整数が表すステータスコードが 3XX である場合に true を返します。そうでない場合に false を返します。
server_error?(code) -> bool | 指定された整数が表すステータスコードが 5XX である場合に true を返します。そうでない場合に false を返します。
success?(code) -> bool | 指定された整数が表すステータスコードが 2XX である場合に true を返します。そうでない場合に false を返します。

Constants

Signature Description
RC_CONTINUE
RC_SWITCHING_PROTOCOLS
RC_OK
RC_CREATED
RC_ACCEPTED
RC_NON_AUTHORITATIVE_INFORMATION
RC_NO_CONTENT
RC_RESET_CONTENT
RC_PARTIAL_CONTENT
RC_MULTIPLE_CHOICES
RC_MOVED_PERMANENTLY
RC_FOUND
RC_SEE_OTHER
RC_NOT_MODIFIED
RC_USE_PROXY
RC_TEMPORARY_REDIRECT
RC_BAD_REQUEST
RC_UNAUTHORIZED
RC_PAYMENT_REQUIRED
RC_FORBIDDEN
RC_NOT_FOUND
RC_METHOD_NOT_ALLOWED
RC_NOT_ACCEPTABLE
RC_PROXY_AUTHENTICATION_REQUIRED
RC_REQUEST_TIMEOUT
RC_CONFLICT
RC_GONE
RC_LENGTH_REQUIRED
RC_PRECONDITION_FAILED
RC_REQUEST_ENTITY_TOO_LARGE
RC_REQUEST_URI_TOO_LARGE
RC_UNSUPPORTED_MEDIA_TYPE
RC_REQUEST_RANGE_NOT_SATISFIABLE
RC_EXPECTATION_FAILED
RC_INTERNAL_SERVER_ERROR
RC_NOT_IMPLEMENTED
RC_BAD_GATEWAY
RC_SERVICE_UNAVAILABLE
RC_GATEWAY_TIMEOUT
RC_HTTP_VERSION_NOT_SUPPORTED

HTTP のステータスコードを表す整数です。


class WEBrick::HTTPStatus::Accepted

ancestors: WEBrick::HTTPStatus::Accepted < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 202 Accepted を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::BadGateway

ancestors: WEBrick::HTTPStatus::BadGateway < WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 502 Bad Gateway を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::BadRequest

ancestors: WEBrick::HTTPStatus::BadRequest < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 400 Bad Request を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::ClientError

ancestors: WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコードクライアントエラー 4XX の親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Conflict

ancestors: WEBrick::HTTPStatus::Conflict < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 409 Conflict を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Continue

ancestors: WEBrick::HTTPStatus::Continue < WEBrick::HTTPStatus::Info < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 100 Continue を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Created

ancestors: WEBrick::HTTPStatus::Created < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 201 Created を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::EOFError

ancestors: WEBrick::HTTPStatus::EOFError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Error

ancestors: WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコードエラーの親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::ExpectationFailed

ancestors: WEBrick::HTTPStatus::ExpectationFailed < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 417 Expectation Failed を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Forbidden

ancestors: WEBrick::HTTPStatus::Forbidden < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 403 Forbidden を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Found

ancestors: WEBrick::HTTPStatus::Found < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 302 Found を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::GatewayTimeout

ancestors: WEBrick::HTTPStatus::GatewayTimeout < WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 504 Gateway Timeout を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Gone

ancestors: WEBrick::HTTPStatus::Gone < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 410 Gone を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::HTTPVersionNotSupported

ancestors: WEBrick::HTTPStatus::HTTPVersionNotSupported < WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 505 HTTP Version Not Supported を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Info

ancestors: WEBrick::HTTPStatus::Info < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード情報提供 1XX の親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::InternalServerError

ancestors: WEBrick::HTTPStatus::InternalServerError < WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 500 Internal Server Error を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::LengthRequired

ancestors: WEBrick::HTTPStatus::LengthRequired < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 411 Length Required を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::MethodNotAllowed

ancestors: WEBrick::HTTPStatus::MethodNotAllowed < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 405 Method Not Allowed を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::MovedPermanently

ancestors: WEBrick::HTTPStatus::MovedPermanently < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 301 Moved Permanently を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::MultipleChoices

ancestors: WEBrick::HTTPStatus::MultipleChoices < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 300 Multiple Choices を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::NoContent

ancestors: WEBrick::HTTPStatus::NoContent < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 204 No Content を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::NonAuthoritativeInformation

ancestors: WEBrick::HTTPStatus::NonAuthoritativeInformation < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 203 Non-Authoritative Information を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::NotAcceptable

ancestors: WEBrick::HTTPStatus::NotAcceptable < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 406 Not Acceptable を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::NotFound

ancestors: WEBrick::HTTPStatus::NotFound < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 404 Not Found を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::NotImplemented

ancestors: WEBrick::HTTPStatus::NotImplemented < WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 501 Not Implemented を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::NotModified

ancestors: WEBrick::HTTPStatus::NotModified < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 304 Not Modified を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::OK

ancestors: WEBrick::HTTPStatus::OK < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 200 OK を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::PartialContent

ancestors: WEBrick::HTTPStatus::PartialContent < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 206 Partial Content を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::PaymentRequired

ancestors: WEBrick::HTTPStatus::PaymentRequired < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::PreconditionFailed

ancestors: WEBrick::HTTPStatus::PreconditionFailed < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 412 Precondition Failed を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::ProxyAuthenticationRequired

ancestors: WEBrick::HTTPStatus::ProxyAuthenticationRequired < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 407 Proxy Authentication Required を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Redirect

ancestors: WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード転送 3XX の親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::RequestEntityTooLarge

ancestors: WEBrick::HTTPStatus::RequestEntityTooLarge < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 413 Request Entity Too Large を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::RequestRangeNotSatisfiable

ancestors: WEBrick::HTTPStatus::RequestRangeNotSatisfiable < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 416 Requested Range Not Satisfiable を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::RequestTimeout

ancestors: WEBrick::HTTPStatus::RequestTimeout < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 408 Request Timeout を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::RequestURITooLarge

ancestors: WEBrick::HTTPStatus::RequestURITooLarge < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 414 Request-URI Too Long を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::ResetContent

ancestors: WEBrick::HTTPStatus::ResetContent < WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 205 Reset Content を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::SeeOther

ancestors: WEBrick::HTTPStatus::SeeOther < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 303 See Other を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::ServerError

ancestors: WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコードサーバエラー 5XX の親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::ServiceUnavailable

ancestors: WEBrick::HTTPStatus::ServiceUnavailable < WEBrick::HTTPStatus::ServerError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 503 Service Unavailable を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Status

ancestors: WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコードの親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Success

ancestors: WEBrick::HTTPStatus::Success < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード成功 2XX の親クラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::SwitchingProtocols

ancestors: WEBrick::HTTPStatus::SwitchingProtocols < WEBrick::HTTPStatus::Info < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 101 Switching Protocols を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::TemporaryRedirect

ancestors: WEBrick::HTTPStatus::TemporaryRedirect < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 307 Temporary Redirect を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::Unauthorized

ancestors: WEBrick::HTTPStatus::Unauthorized < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 401 Unauthorized を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::UnsupportedMediaType

ancestors: WEBrick::HTTPStatus::UnsupportedMediaType < WEBrick::HTTPStatus::ClientError < WEBrick::HTTPStatus::Error < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 415 Unsupported Media Type を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::HTTPStatus::UseProxy

ancestors: WEBrick::HTTPStatus::UseProxy < WEBrick::HTTPStatus::Redirect < WEBrick::HTTPStatus::Status < StandardError < Exception < Object < Kernel

Abstract

HTTP のステータスコード 305 Use Proxy を表すクラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library webrick/httputils

Abstract

Classes/Modules

module WEBrick::HTTPUtils | HTTP のためのユーティリティ関数を提供します。
class WEBrick::HTTPUtils::FormData | クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。

Added/Redefined Methods

WEBrick::CR

WEBrick::CRLF

WEBrick::LF


module WEBrick::HTTPUtils

ancestors: WEBrick::HTTPUtils

Abstract

HTTP のためのユーティリティ関数を提供します。

Module Functions

Signature | Description
dequote(str) |
escape(str) |
escape8bit(str) |
escape_path(str) |
load_mime_types(file) -> Hash | Apache の mime.types ファイル形式の file を読み込み 拡張子をキー、MIME タイプを値とするハッシュを返します。キーも値も文字列です。
mime_type(filename, mime_tab) -> String | ファイル名 filename の拡張子をもとにその MIME タイプを指定された mime_tab から探して文字列として返します。MIME タイプが見つからない場合は "application/octet-stream" を返します。
parse_header(raw) |
parse_range_header(ranges_specifier) |
quote(str) |
split_header_value(str) |
unescape(str) |

Constants

Signature | Description
DefaultMimeTypes |


class WEBrick::HTTPUtils::FormData

ancestors: WEBrick::HTTPUtils::FormData < String < Enumerable < Comparable < Object < Kernel

Abstract

クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。

WEBrick::HTTPRequest#query はリクエストのクエリーあるいは クライアントがフォームへ入力した値を保持した Hash を返しますが、 その Hash のキーと値のうち値は FormData クラスのインスタンスになります。 同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#list や WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことができます。

通常のフォームデータ(application/x-www-form-urlencoded)は unescape されています。 ただし multipart/form-data なフォームデータはユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。

リンク

  • [RFC1867] Form-based File Upload in HTML.
  • [RFC2388] multipart/form-data の説明。

Singleton Methods

Signature | Description
new(*args) -> WEBrick::HTTPUtils::FormData | WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。

Instance Methods

Signature Description
self << str -> self

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。

self[header] -> String | nil

自身が multipart/form-data なデータの場合に、header で指定された ヘッダの値を文字列で返します。無ければ nil を返します。

append_data(data) -> self

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。

each_data {|s| ... }

自身が表す各フォームデータを引数として、与えられたブロックを実行します。

filename -> String | nil
filename=(value)

フォームデータの filename 属性を文字列で表すアクセサです。

list -> Array
to_ary -> Array

自身が表す各フォームデータを収納した配列を生成して返します。

name -> String | nil
name=(value)

フォームデータの name 属性を文字列で表すアクセサです。

to_s -> String

自身が表すフォームデータのうちのひとつを文字列として返します。

Inherited Methods

< <= == > >= between? all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip === __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint % * + << <=> =~ [] []= bytes bytesize capitalize capitalize! casecmp center chars chomp chomp! chop chop! crypt delete delete! downcase downcase! dump each empty? end_with? eql? gsub gsub! hash hex index insert inspect intern is_binary_data? is_complex_yaml? iseuc issjis isutf8 jcount jlength kconv length ljust lstrip lstrip! match mbchar? next next! oct replace reverse reverse! rindex rjust rpartition rstrip rstrip! scan scanf shellescape shellsplit slice! split squeeze squeeze! start_with? strip strip! sub sub! sum swapcase swapcase! to_d to_f to_i to_ptr to_s toeuc tojis tosjis toutf16 toutf8 tr tr! tr_s tr_s! unpack upcase upcase! upto


library webrick/httpversion

Abstract

Classes/Modules

class WEBrick::HTTPVersion

HTTP のバージョンのための小さなクラスです。 バージョン同士の比較のために使います。


class WEBrick::HTTPVersion

ancestors: WEBrick::HTTPVersion < Comparable < Object < Kernel

Abstract

HTTP のバージョンのための小さなクラスです。 バージョン同士の比較のために使います。

Singleton Methods

Signature | Description
convert(version) -> WEBrick::HTTPVersion | 指定された version を HTTPVersion オブジェクトに変換して返します。 version が HTTPVersion オブジェクトの場合はそのまま version を返します。
new(version) -> WEBrick::HTTPVersion | HTTPVersion オブジェクトを生成する。version は文字列か HTTPVersion オブジェクト。

Instance Methods

Signature Description
self <=> other -> -1 | 0 | 1 | nil

自身と指定された other のバージョンを比較します。 自身が other より新しいなら 1、同じなら 0、古いなら -1 を返します。 比較できない場合に nil を返します。

major -> Integer
major=(n)

HTTP バージョンのメジャーを整数で表すアクセサです。

minor -> Integer
minor=(n)

HTTP バージョンのマイナーを整数で表すアクセサです。

to_s -> String

自身を文字列に変換して返します。

Inherited Methods

< <= == > >= between? === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


library webrick/log

Abstract

Classes/Modules

class WEBrick::BasicLog | ログを取る機能を提供するクラスです。
class WEBrick::Log | ログを取る機能を提供するクラスです。 WEBrick::BasicLog との違いはログの各行の先頭に 現在時刻が自動で挿入される点です。


class WEBrick::BasicLog

ancestors: WEBrick::BasicLog < Object < Kernel

Abstract

ログを取る機能を提供するクラスです。

Singleton Methods

Signature | Description
new(log_file = nil, level = WEBrick::BasicLog::INFO) -> WEBrick::BasicLog | WEBrick::BasicLog オブジェクトを生成して返します。

Instance Methods

Signature Description
self << obj -> ()

指定された obj を to_s メソッドで文字列に変換してから、 ログレベル INFO でログに記録します。

close -> ()

自身を閉じます。ログを取ることができなくなります。

debug(msg) -> ()

ログレベル DEBUG で文字列 msg をログに記録します。 自身の level が DEBUG より重要度が高い場合には記録しません。

debug? -> bool

自身のログレベルが DEBUG 以上の時に true を返します。 そうでない場合に false を返します。

error(msg) -> ()

ログレベル ERROR で文字列 msg をログに記録します。 自身の level が ERROR より重要度が高い場合には記録しません。

error? -> bool

自身のログレベルが ERROR 以上の時に true を返します。 そうでない場合に false を返します。

fatal(msg) -> ()

ログレベル FATAL で文字列 msg をログに記録します。

fatal? -> bool

自身のログレベルが FATAL 以上の時に true を返します。 そうでない場合に false を返します。

info(msg) -> ()

ログレベル INFO で文字列 msg をログに記録します。 自身の level が INFO より重要度が高い場合には記録しません。

info? -> bool

自身のログレベルが INFO 以上の時に true を返します。 そうでない場合に false を返します。

level -> Integer
level=(lv)

自身のログレベルを表すアクセサです。

log(level, msg) -> ()

指定された msg を指定されたログレベル level でログに記録します。

warn(msg) -> ()

ログレベル WARN で文字列 msg をログに記録します。 自身の level が WARN より重要度が高い場合には記録しません。

warn? -> bool

自身のログレベルが WARN 以上の時に true を返します。 そうでない場合に false を返します。

Constants

Signature | Description
DEBUG | ログレベルを表す定数です。重要度は5番です。
ERROR | ログレベルを表す定数です。重要度は2番です。
FATAL | ログレベルを表す定数です。重要度は1番です。
INFO | ログレベルを表す定数です。重要度は4番です。
WARN | ログレベルを表す定数です。重要度は3番です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::Log

ancestors: WEBrick::Log < WEBrick::BasicLog < Object < Kernel

Abstract

ログを取る機能を提供するクラスです。 WEBrick::BasicLog との違いはログの各行の先頭に 現在時刻が自動で挿入される点です。

Instance Methods

Signature Description
debug(msg = nil)
debug(msg = nil) {|msg| ... } 		soap/rpc/soaplet
time_format -> String
time_format=()

時間を記録するフォーマットを文字列で表すアクセサです。 形式は Time#strftime と同じです。 デフォルトは "[%Y-%m-%d %H:%M:%S]" です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint << close debug? error error? fatal fatal? info info? level log warn warn? .new ::DEBUG ::ERROR ::FATAL ::INFO ::WARN


library webrick/server

Abstract

Classes/Modules

class WEBrick::Daemon | サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバはデーモンとして動作します。
class WEBrick::GenericServer | サーバの一般的な機能を提供するクラスです。 WEBrick::HTTPServer のスーパークラスです。
class WEBrick::SimpleServer | サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバは通常のプロセスとして動作します。

Exception Classes

class WEBrick::ServerError

Required Libraries

webrick/config
webrick/httputils
webrick/httpversion
webrick/log
webrick/utils


class WEBrick::Daemon

ancestors: WEBrick::Daemon < Object < Kernel

Abstract

サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバはデーモンとして動作します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class WEBrick::GenericServer

ancestors: WEBrick::GenericServer < Object < Kernel

Abstract

サーバの一般的な機能を提供するクラスです。 WEBrick::HTTPServer のスーパークラスです。

Singleton Methods

Signature | Description
new(config={}, default=WEBrick::Config::General) | GenericServer オブジェクトを生成して返します。
new(config={}, default=WEBrick::Config::General) | config で有効な項目が増える。以下は増える項目とそのデフォルト値。 | webrick/ssl

Instance Methods

Signature Description
self[key] -> object

self.config[key] と同値。

config -> Hash

サーバの設定を保存したハッシュを返す。

listen(address, port) -> [TCPServer]

与えられたアドレスとポートで TCPServer オブジェクトを生成し listeners に加えます。 WEBrick::GenericServer#listeners を返します。

listeners -> [TCPServer]

listen している TCPServer オブジェクトの配列を返します。

logger -> WEBrick::Log

生成する時に指定された、自身をロギングする WEBrick::Log のインスタンスを返します。

run(sock) -> ()

クライアントと接続された TCPSocket オブジェクトを引数として呼ばれ、 具体的な処理を行います。 WEBrick::GenericServer のサブクラスはこのメソッドを適切に再定義しなければいけません。

shutdown -> ()

WEBrick::GenericServer#stop を呼び、全ての listeners を close します。

ssl_context

サーバが保持する OpenSSL::SSL::SSLContext オブジェクトを返す。

webrick/ssl
start -> ()
start {|soc| ... } -> ()

サーバをスタートします。

status -> Symbol

現在のサーバのステータスを Symbol オブジェクトで返します。 値は :Running(活動中), :Shutdown(終了処理中), :Stop(完全に停止) のいずれかです。

stop -> ()

サーバを停止します。

tokens -> SizedQueue

MaxClient の設定のために使われる SizedQueue オブジェクトを返します。 SizedQueue オブジェクトのサイズは現在受け付けることのできるクライアントの数です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::ServerError

ancestors: WEBrick::ServerError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WEBrick::SimpleServer

ancestors: WEBrick::SimpleServer < Object < Kernel

Abstract

サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバは通常のプロセスとして動作します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library webrick/ssl

Abstract

WEBrick::GenericServer を SSL/TLS に対応させるための実装。 このファイルを require すると WEBrick::GenericServer が SSL/TLS 対応になる。

ruby 1.8.3 以降では単に require するだけでは SSL/TLS は有効ではなく、 設定で明示的に有効にする必要がある。

Added/Redefined Methods

WEBrick::Config::General

WEBrick::Config::SSL

WEBrick::GenericServer#ssl_context

WEBrick::GenericServer.new


library webrick/utils

Abstract

Classes/Modules

module WEBrick::Utils

ライブラリ webrick のための小さなユーティリティ関数を提供するモジュールです。


module WEBrick::Utils

ancestors: WEBrick::Utils

Abstract

ライブラリ webrick のための小さなユーティリティ関数を提供するモジュールです。

Module Functions

Signature | Description
getservername -> String | プロセスが動いているマシンのホスト名を文字列で返します。
random_string(len) -> String | A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。
set_close_on_exec(io) -> () | 指定された io の Fcntl::FD_CLOEXEC を 1 に設定します。 この io は Kernel.#exec などが実行される時に close されるようになります。
set_non_blocking(io) -> () | 指定された io をノンブロッキングに設定します。
su(user) |


library win32/registry

Abstract

win32/registry は Win32 プラットフォームでレジストリをアクセスするための ライブラリです。Win32 API の呼び出しに Win32API を使います。

Win32::Registry::HKEY_CURRENT_USER.open('SOFTWARE\foo') do |reg|
  value = reg['foo']                               # 値の読み込み
  value = reg['foo', Win32::Registry::REG_SZ]      # 型を限定した読み込み
  type, value = reg.read('foo')                    # 値の読み込み
  reg['foo'] = 'bar'                               # 値の書き込み
  reg['foo', Win32::Registry::REG_SZ] = 'bar'      # 型指定付き値の書き込み
  reg.write('foo', Win32::Registry::REG_SZ, 'bar') # 値の書き込み

  reg.each_value { |name, type, data| ... }        # 値の列挙
  reg.each_key { |key, wtime| ... }                # サブキーの列挙

  reg.delete_value('foo')                          # 値の削除
  reg.delete_key('foo')                            # サブキーの削除
  reg.delete_key('foo', true)                      # サブキーの再帰削除
end

WSH を用いたレジストリアクセス

レジストリをアクセスするには WIN32OLE を使って WScript.Shell オブジェクト経由でアクセスする方法もあります。

wsh = WIN32OLE.new('WScript.Shell')
value = wsh.RegRead 'HKLM\Software\Microsoft\Windows\...'
wsh.RegWrite 'HKCR\foofile\shell\open\command\', 'REG_SZ', '"C:\..." "%1"'

ただし，キーを列挙したり，自由なバイナリ値を読み書きすることができません。

Classes/Modules

class Win32::Registry |
module Win32::Registry::API |
module Win32::Registry::Constants | 詳細は以下の MSDN Library を参照してください。
class Win32::Registry::PredefinedKey |

Exception Classes

class Win32::Registry::Error


class Win32::Registry

ancestors: Win32::Registry < Enumerable < Win32::Registry::Constants < Object < Kernel

Abstract

Singleton Methods

Signature Description
create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)
create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED) {|reg| ... }

レジストリキー key 下にキー subkey を作成し， 開いたキーを表す Win32::Registry オブジェクトを返します。 key は親のキーを Win32::Registry オブジェクトで指定します。 親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)

expand_environ(str)

str の %\w+% という並びを環境変数に置換します。 REG_EXPAND_SZ で用いられます。

new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)
new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) {|reg| ... }
open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)
open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) {|reg| ... }

レジストリキー key 下のキー subkey を開き， 開いたキーを表す Win32::Registry オブジェクトを返します。 key は親のキーを Win32::Registry オブジェクトで指定します。 親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)

time2wtime(time)

Time オブジェクトまたは Integer オブジェクトを受け取り， 64bit の FILETIME に変換します。

type2name(type)

レジストリ値の型を整数から可読文字列に変換します。

wtime2time(wtime)

64bit の FILETIME を Time オブジェクトに変換します。

Instance Methods

Signature Description
self[name, wtype = nil]

レジストリ値 name に value を書き込みます。

self[name, rtype] = value = nil
_dump
close

開かれているキーを閉じます。

create(subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)

Win32::Registry.create(self, subkey, desired, opt) と同じです。

created?

キーが新しく作成された場合，真を返します。 (⇒Win32::Registry.create)

delete(name)
delete_value(name)

レジストリ値 name を削除します。 (標準) レジストリ値を削除することはできません。

delete_key(name, recursive = false)

サブキー name とそのキーが持つすべての値を削除します。

num_keys
max_key_length
num_values
max_value_name_length
max_value_length
descriptor_length
wtime

キー情報の個々の値を返します。

disposition

キーの disposition 値を返します。 (REG_CREATED_NEW_KEY または REG_OPENED_EXISTING_KEY)

each {|name, type, value| ... }
each_value {|name, type, value| ... }

キーが持つレジストリ値を列挙します。

each_key {|subkey, wtime| ... }

キーのサブキーを列挙します。

flush

キーの全てのデータをレジストリファイルに書き込みます。

hkey
info

キー情報を以下の値の配列で返します:

  • num_keys サブキーの個数
  • max_key_length サブキー名の最大長
  • num_values 値の個数
  • max_value_name_length 値の名前の最大長
  • max_value_length 値の最大長
  • descriptor_length セキュリティ記述子の長さ
  • wtime 最終更新時刻 (FILETIME)
inspect
keyname

Win32::Registry.open または Win32::Registry.create に指定された subkey の値を返します。

keys
name
to_s

キーのフルパスを 'HKEY_CURRENT_USER\SOFTWARE\foo\bar' のような形で返します。

open(subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)

Win32::Registry.open(self, subkey, desired, opt) と同じです。

open?
opened?

キーがまだ閉じられていない場合，真を返します。

parent

親のキーを表す Win32::Registry オブジェクトを返します。 定義済キーでは nil を返します。

read(name, *rtype)

レジストリ値 name を読み，[ type, data ] の配列で返します。 name が nil の場合，(標準) レジストリ値が読み込まれます。

read_s(name)
read_i(name)
read_bin(name)

型がそれぞれ REG_SZ(read_s), REG_DWORD(read_i), REG_BINARY(read_bin) であるレジストリ値 name を読み，その値を返します。

read_s_expand(name)

型が REG_SZ または REG_EXPAND_SZ であるレジストリ値 name を読み， その値を返します。

write(name, type, data)

レジストリ値 name に型 type で data を書き込みます。 name が nil の場合，(標準) レジストリ値に書き込みます。

write_s(name, value)
write_i(name, value)
write_bin(name, value)

レジストリ値 name に value を書き込みます。

Constants

Signature Description
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA

それぞれの定義済キーを表す Win32::Registry オブジェクトです。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::HKEY_CLASSES_ROOT ::KEY_ALL_ACCESS ::MAX_KEY_LENGTH ::REG_BINARY ::REG_CREATED_NEW_KEY ::REG_FORCE_RESTORE ::REG_LEGAL_OPTION


module Win32::Registry::API

ancestors: Win32::Registry::API

Abstract

Module Functions

Signature Description
CloseKey(hkey)
CreateKey(hkey, name, opt, desired)
DeleteKey(hkey, name)
DeleteValue(hkey, name)
EnumKey(hkey, index)
EnumValue(hkey, index)
FlushKey(hkey)
OpenKey(hkey, name, opt, desired)
QueryInfoKey(hkey)
QueryValue(hkey, name)
SetValue(hkey, name, type, data, size)
check(result)
packdw(dw)
packqw(qw)
unpackdw(dw)
unpackqw(qw)

Constants

Signature Description
RegCloseKey
RegCreateKeyExA
RegDeleteKey
RegDeleteValue
RegEnumKeyExA
RegEnumValueA
RegFlushKey
RegOpenKeyExA
RegQueryInfoKey
RegQueryValueExA
RegSetValueExA


module Win32::Registry::Constants

ancestors: Win32::Registry::Constants

Abstract

詳細は以下の MSDN Library を参照してください。

  • Registry: http://msdn.microsoft.com/library/en-us/sysinfo/base/registry.asp

Constants

Signature Description
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_PERFORMANCE_DATA
HKEY_PERFORMANCE_TEXT
HKEY_PERFORMANCE_NLSTEXT
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA

定義済キー値。 これらは Integer で、Win32::Registry オブジェクトではありません。

STANDARD_RIGHTS_READ
STANDARD_RIGHTS_WRITE
KEY_QUERY_VALUE
KEY_SET_VALUE
KEY_CREATE_SUB_KEY
KEY_ENUMERATE_SUB_KEYS
KEY_NOTIFY
KEY_CREATE_LINK
KEY_READ
KEY_WRITE
KEY_EXECUTE
KEY_ALL_ACCESS

セキュリティアクセスマスク。

MAX_KEY_LENGTH
MAX_VALUE_LENGTH
REG_NONE
REG_SZ
REG_EXPAND_SZ
REG_BINARY
REG_DWORD
REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN
REG_LINK
REG_MULTI_SZ
REG_RESOURCE_LIST
REG_FULL_RESOURCE_DESCRIPTOR
REG_RESOURCE_REQUIREMENTS_LIST
REG_QWORD
REG_QWORD_LITTLE_ENDIAN

レジストリ値の型。

REG_CREATED_NEW_KEY
REG_OPENED_EXISTING_KEY

キーが新しく作られたか、既存キーが開かれたか。 Win32::Registry#disposition メソッドも参照してください。

REG_WHOLE_HIVE_VOLATILE
REG_REFRESH_HIVE
REG_NO_LAZY_FLUSH
REG_FORCE_RESTORE
REG_OPTION_RESERVED
REG_OPTION_NON_VOLATILE
REG_OPTION_VOLATILE
REG_OPTION_CREATE_LINK
REG_OPTION_BACKUP_RESTORE
REG_OPTION_OPEN_LINK
REG_LEGAL_OPTION


class Win32::Registry::Error

ancestors: Win32::Registry::Error < StandardError < Exception < Object < Kernel

Abstract

Instance Methods

Signature | Description
code |

Constants

Signature | Description
FormatMessageA |

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Win32::Registry::PredefinedKey

ancestors: Win32::Registry::PredefinedKey < Win32::Registry < Enumerable < Win32::Registry::Constants < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(hkey, keyname) |

Instance Methods

Signature | Description
class |
close |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint [] []= _dump create created? delete delete_key descriptor_length disposition each each_key flush hkey info inspect keyname keys name open open? opened? parent read read_bin read_s_expand write write_bin .create .expand_environ .new .time2wtime .type2name .wtime2time ::HKEY_CLASSES_ROOT ::KEY_ALL_ACCESS ::MAX_KEY_LENGTH ::REG_BINARY ::REG_CREATED_NEW_KEY ::REG_FORCE_RESTORE ::REG_LEGAL_OPTION


library win32/resolv

Abstract

win32/resolv は Win32 プラットフォームで名前解決に関する情報を取得する ためのライブラリです。

Classes/Modules

class Win32::Resolv

名前解決に関する情報を取得するためのクラスです。

Required Libraries

win32/registry

win32/registry は Win32 プラットフォームでレジストリをアクセスするための ライブラリです。Win32 API の呼び出しに Win32API を使います。


class Win32::Resolv

ancestors: Win32::Resolv < Object < Kernel

Abstract

名前解決に関する情報を取得するためのクラスです。

Module Functions

Signature | Description
get_hosts_path -> String | nil | hosts ファイルのパスを返します。ファイルが存在しない場合は nil を返します。
get_resolv_info -> [[String], [String]] | ドメイン名とネームサーバを配列の配列で返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library Win32API

Abstract

Win32 API を呼び出すためのライブラリです。

Classes/Modules

class Win32API


library win32ole

Abstract

Microsoft Windows で COM や ActiveX を扱うためのライブラリです。

  • http://homepage1.nifty.com/markey/ruby/win32ole/index.html
  • http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Win32OLE
  • http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/ruby-win32ole.html
  • Rubyist Magazine http://jp.rubyist.net/magazine/
  • Win32OLE 活用法【第 1 回】 Win32OLE ことはじめ http://jp.rubyist.net/magazine/?0003-Win32OLE
  • Win32OLE 活用法【第 2 回】 Excel http://jp.rubyist.net/magazine/?0004-Win32OLE
  • Win32OLE 活用法【第 3 回】 ADODB http://jp.rubyist.net/magazine/?0005-Win32OLE
  • Win32OLE 活用法【第 4 回】 Adobe Illustrator http://jp.rubyist.net/magazine/?0006-Win32OLE
  • Win32OLE 活用法【第 5 回】 Outlook http://jp.rubyist.net/magazine/?0007-Win32OLE
  • Win32OLE 活用法【第 6 回】 Web 自動巡回 http://jp.rubyist.net/magazine/?0008-Win32OLE
  • Win32OLE 活用法【第 7 回】ほかの言語での COM http://jp.rubyist.net/magazine/?0009-Win32OLE

Classes/Modules

class WIN32OLE | WIN32OLE objects represent OLE Automation object in Ruby.
module WIN32OLE::VARIANT |
class WIN32OLE_EVENT | WIN32OLE_EVENT objects controls OLE event.
class WIN32OLE_METHOD | WIN32OLE_METHOD objects represent OLE method information.
class WIN32OLE_PARAM | WIN32OLE_PARAM objects represent param information of the OLE method.
class WIN32OLE_TYPE | WIN32OLE_TYPE objects represent OLE type libarary information.
class WIN32OLE_VARIABLE | WIN32OLE_VARIABLE objects represent OLE variable information.

Exception Classes

class WIN32OLERuntimeError


class WIN32OLE

ancestors: WIN32OLE < Object < Kernel

Abstract

WIN32OLE objects represent OLE Automation object in Ruby.

WIN32OLE.new(server, [host]) -> WIN32OLE object

Returns a new WIN32OLE object(OLE Automation object). The first argument server specifies OLE Automation server. The first argument should be CLSID or PROGID. If second argument host specified, then returns OLE Automation object on host.

WIN32OLE.new('Excel.Application') # => Excel OLE Automation WIN32OLE object.
WIN32OLE.new('{00024500-0000-0000-C000-000000000046}') # => Excel OLE Automation WIN32OLE object.

Singleton Methods

Signature | Description
codepage | Returns current codepage.
codepage=(cp) | Sets current codepage.
connect(ole) -> WIN32OLE | Returns running OLE Automation object or WIN32OLE object from moniker. 1st argument should be OLE program id or class id or moniker.
const_load(ole, mod = WIN32OLE) | Defines the constants of OLE Automation server as mod's constants. The first argument is WIN32OLE object or type library name. If 2nd argument is omitted, the default is WIN32OLE. The first letter of Ruby's constant variable name is upper case, so constant variable name of WIN32OLE object is capitalized. For example, the 'xlTop' constant of Excel is changed to 'XlTop' in WIN32OLE. If the first letter of constant variabl is not [A-Z], then the constant is defined as CONSTANTS hash element.
new(server, [host]) -> WIN32OLE object | Returns a new WIN32OLE object(OLE Automation object). The first argument server specifies OLE Automation server. The first argument should be CLSID or PROGID. If second argument host specified, then returns OLE Automation object on host.
ole_free(aWIN32OLE) -> number | Invokes Release method of Dispatch interface of WIN32OLE object. You should not use this method because this method exists only for debugging WIN32OLE. The return value is reference counter of OLE object.
ole_reference_count(aWIN32OLE) -> number | Returns reference counter of Dispatch interface of WIN32OLE object. You should not use this method because this method exists only for debugging WIN32OLE.
ole_show_help(obj, helpcontext = nil) | Displays helpfile. The 1st argument specifies WIN32OLE_TYPE object or WIN32OLE_METHOD object or helpfile.

Instance Methods

Signature Description
self[property]

Returns property of OLE object.

self[property] = val
setproperty('property', [arg1, arg2,...] val)

Sets property of OLE object. When you want to set property with argument, you can use this method.

_getproperty(dispid, args, types)

Runs the early binding method to get property. The 1st argument specifies dispatch ID, the 2nd argument specifies the array of arguments, the 3rd argument specifies the array of the type of arguments.

_invoke(dispid, args, types)

Runs the early binding method. The 1st argument specifies dispatch ID, the 2nd argument specifies the array of arguments, the 3rd argument specifies the array of the type of arguments.

_setproperty(dispid, args, types)

Runs the early binding method to set property. The 1st argument specifies dispatch ID, the 2nd argument specifies the array of arguments, the 3rd argument specifies the array of the type of arguments.

each {|i|...}

Iterates over each item of OLE collection which has IEnumVARIANT interface.

invoke(method, [arg1,...]) -> return value of method.

Runs OLE method. The first argument specifies the method name of OLE Automation object. The others specify argument of the method. If you can not execute method directly, then use this method instead.

method_missing(id [,arg1, arg2, ...])

Calls WIN32OLE#invoke method.

ole_activex_initialize -> Qnil

Initialize WIN32OLE object(ActiveX Control) by calling IPersistMemory::InitNew.

ole_free

invokes Release method of Dispatch interface of WIN32OLE object. Usually, you do not need to call this method because Release method called automatically when WIN32OLE object garbaged.

ole_func_methods

Returns the array of WIN32OLE_METHOD object . The element of the array is functional method of WIN32OLE object.

ole_get_methods

Returns the array of WIN32OLE_METHOD object . The element of the array is property (gettable) of WIN32OLE object.

ole_method_help(method)

alias ole_method_help

ole_method_help(method)

alias ole_method_help

ole_methods

Returns the array of WIN32OLE_METHOD object. The element is OLE method of WIN32OLE object.

ole_obj_help

Returns WIN32OLE_TYPE object.

ole_put_methods

Returns the array of WIN32OLE_METHOD object . The element of the array is property (settable) of WIN32OLE object.

Constants

Signature Description
ARGV
CP_ACP
CP_MACCP
CP_OEMCP
CP_SYMBOL
CP_THREAD_ACP
CP_UTF7
CP_UTF8
LOCALE_SYSTEM_DEFAULT
LOCALE_USER_DEFAULT
VERSION

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


module WIN32OLE::VARIANT

ancestors: WIN32OLE::VARIANT

Abstract

Constants

Signature Description
VT_ARRAY
VT_BOOL
VT_BSTR
VT_BYREF
VT_CY
VT_DATE
VT_DISPATCH
VT_ERROR
VT_I1
VT_I2
VT_I4
VT_INT
VT_PTR
VT_R4
VT_R8
VT_UI1
VT_UI2
VT_UI4
VT_UINT
VT_UNKNOWN
VT_USERDEFINED
VT_VARIANT


class WIN32OLERuntimeError

ancestors: WIN32OLERuntimeError < RuntimeError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WIN32OLE_EVENT

ancestors: WIN32OLE_EVENT < Object < Kernel

Abstract

WIN32OLE_EVENT objects controls OLE event.

Singleton Methods

Signature | Description
message_loop | Translates and dispatches Windows message.
new(ole, event) -> WIN32OLE_EVENT | Returns OLE event object. The first argument specifies WIN32OLE object. The second argument specifies OLE event name.

Instance Methods

Signature | Description
on_event([event]) {...} | Defines the callback event. If argument is omitted, this method defines the callback of all events.
on_event_with_outargs([event]) {...} | Defines the callback of event. If you want modify argument in callback, you should use this method instead of WIN32OLE_EVENT#on_event.
unadvice |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WIN32OLE_METHOD

ancestors: WIN32OLE_METHOD < Object < Kernel

Abstract

WIN32OLE_METHOD objects represent OLE method information.

Singleton Methods

Signature | Description
new(ole_type, method) -> WIN32OLE_METHOD object | Returns a new WIN32OLE_METHOD object which represents the information about OLE method. The first argument ole_type specifies WIN32OLE_TYPE object. The second argument method specifies OLE method name defined OLE class which represents WIN32OLE_TYPE object.

Instance Methods

Signature | Description
dispid | Returns dispatch ID.
event? | Returns true if the method is event.
event_interface | Returns event interface name if the method is event.
helpcontext | Returns help context.
helpfile | Returns help file. If help file is not found, then the method returns nil.
helpstring | Returns help string of OLE method. If the help string is not found, then the method returns nil.
invkind | Returns the method invoke kind.
invoke_kind | Returns the method kind string. The string is "UNKNOWN" or "PROPERTY" or "PROPERTY" or "PROPERTYGET" or "PROPERTYPUT" or "PROPERTYPPUTREF" or "FUNC".
name | alias to_s
offset_vtbl | Returns the offset ov VTBL.
params | returns array of WIN32OLE_PARAM object corresponding with method parameters.
return_type | Returns string of return value type of method.
return_type_detail | Returns detail information of return value type of method. The information is array.
return_vtype | Returns number of return value type of method.
size_opt_params | Returns the size of optional parameters.
size_params | Returns the size of arguments of the method.
visible? | Returns true if the method is public.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WIN32OLE_PARAM

ancestors: WIN32OLE_PARAM < Object < Kernel

Abstract

WIN32OLE_PARAM objects represent param information of the OLE method.

WIN32OLE_PARAM#name

Returns name.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.name # => Filename

Instance Methods

Signature | Description
default | Returns default value. If the default value does not exist, this method returns nil.
input? | Returns true if the parameter is input.
name | alias to_s
ole_type | Returns OLE type of WIN32OLE_PARAM object(parameter of OLE method).
ole_type_detail | Returns detail information of type of argument.
optional? | Returns true if argument is optional.
output? | Returns true if argument is output.
retval? | Returns true if argument is return value.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


class WIN32OLE_TYPE

ancestors: WIN32OLE_TYPE < Object < Kernel

Abstract

WIN32OLE_TYPE objects represent OLE type libarary information.

WIN32OLE_TYPE.new(typelib, ole_class) -> WIN32OLE_TYPE object

Returns a new WIN32OLE_TYPE object. The first argument <i>typelib</i> specifies OLE type library name. The second argument specifies OLE class name.

WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
    # => WIN32OLE_TYPE object of Application class of Excel.

Singleton Methods

Signature | Description
new(typelib, ole_class) -> WIN32OLE_TYPE object | Returns a new WIN32OLE_TYPE object. The first argument typelib specifies OLE type library name. The second argument specifies OLE class name.
ole_classes(typelib) | Returns array of WIN32OLE_TYPE objects defined by the typelib type library.
progids | Returns array of ProgID.
typelibs | Returns array of type libraries.

Instance Methods

Signature | Description
guid -> GUID | Returns GUID.
helpcontext | Returns helpcontext. If helpcontext is not found, then returns nil.
helpfile | Returns helpfile path. If helpfile is not found, then returns nil.
helpstring -> String | Returns help string.
major_version | Returns major version.
minor_version -> Integer | Returns minor version.
name -> String | alias to_s
ole_methods -> [WIN32OLE_METHOD] | Returns array of WIN32OLE_METHOD objects which represent OLE method defined in OLE type library.
ole_type -> Class | returns type of OLE class.
progid -> String | Returns ProgID if it exists. If not found, then returns nil.
src_type -> Class | Returns source class when the OLE class is 'Alias'.
typekind -> Integer | Returns number which represents type.
variables | Returns array of WIN32OLE_VARIABLE objects which represent variables defined in OLE class.
visible -> bool | Returns true if the OLE class is public.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WIN32OLE_VARIABLE

ancestors: WIN32OLE_VARIABLE < Object < Kernel

Abstract

WIN32OLE_VARIABLE objects represent OLE variable information.

WIN32OLE_VARIABLE#name

Returns the name of variable.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.name}"
end

The result of above script is following:
  xlChart
  xlDialogSheet
  xlExcel4IntlMacroSheet
  xlExcel4MacroSheet
  xlWorksheet

Instance Methods

Signature | Description
name | alias to_s
ole_type | Returns OLE type string.
ole_type_detail | Returns detail information of type. The information is array of type.
value | Returns value if value is exists. If the value does not exist, this method returns nil.
variable_kind | Returns variable kind string.
varkind | Returns the number which represents variable kind.
visible? | Returns true if the variable is public.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library wsdl

Abstract

WSDL を扱うためのライブラリです。

このページは wsdl ライブラリのまとめのページであり、require 'wsdl' を実行しても エラーになることに注意して下さい。

Sub-Libraries

wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/operation_binding |
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/port_type |
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/cgiStubCreator |
wsdl/soap/classDefCreator |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/clientSkeltonCreator |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/driverCreator |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/mappingRegistryCreator |
wsdl/soap/methodDefCreator |
wsdl/soap/operation |
wsdl/soap/servantSkeltonCreator |
wsdl/soap/standaloneServerStubCreator |
wsdl/soap/wsdl2ruby |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
wsdl/xmlSchema/xsd2ruby |


library wsdl/binding

Abstract

Classes/Modules

class WSDL::Binding

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::Binding

ancestors: WSDL::Binding < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
name | 属性
operations | 属性
parse_attr(attr, value) |
parse_element(element) |
soapbinding | 属性
targetnamespace |
type | 属性

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/data

Abstract

Required Libraries

soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |

Added/Redefined Methods

WSDL::ArrayTypeAttrName

WSDL::BindingAttrName

WSDL::BindingName

WSDL::DefinitionsName

WSDL::DocumentationName

WSDL::ElementAttrName

WSDL::FaultName

WSDL::ImportName

WSDL::InputName

WSDL::LocationAttrName

WSDL::MessageAttrName

WSDL::MessageName

WSDL::NameAttrName

WSDL::NamespaceAttrName

WSDL::OperationName

WSDL::OutputName

WSDL::ParameterOrderAttrName

WSDL::PartName

WSDL::PortName

WSDL::PortTypeName

WSDL::SOAPAddressName

WSDL::SOAPBindingName

WSDL::SOAPBodyName

WSDL::SOAPFaultName

WSDL::SOAPHeaderName

WSDL::SOAPOperationName

WSDL::SchemaName

WSDL::ServiceName

WSDL::TargetNamespaceAttrName

WSDL::TypeAttrName

WSDL::TypesName


library wsdl/definitions

Abstract

Classes/Modules

class WSDL::Definitions

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


library wsdl/documentation

Abstract

Classes/Modules

class WSDL::Documentation

Required Libraries

wsdl/info


class WSDL::Documentation

ancestors: WSDL::Documentation < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/import

Abstract

Classes/Modules

class WSDL::Import

Required Libraries

soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::Import

ancestors: WSDL::Import < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
content | 属性
location | 属性
namespace | 属性
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/importer

Abstract

Classes/Modules

class WSDL::Importer

Required Libraries

soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::Importer

ancestors: WSDL::Importer < WSDL::XMLSchema::Importer < Object < Kernel

Abstract

Singleton Methods

Signature | Description
import(location, originalroot = nil) |

Private Instance Methods

Signature | Description
parse(content, location, originalroot) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint fetch import web_client .new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info

library wsdl/info

Abstract

Classes/Modules

class WSDL::Info


class WSDL::Info

ancestors: WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
id
id=

属性

inspect
parent
parent=

属性

parse_attr(attr, value)
parse_element(element)
parse_epilogue
root
root=

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/message

Abstract

Classes/Modules

class WSDL::Message

Required Libraries

wsdl/info


class WSDL::Message

ancestors: WSDL::Message < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
name | 属性
parse_attr(attr, value) |
parse_element(element) |
parts | 属性
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/operation

Abstract

Classes/Modules

class WSDL::Operation
class WSDL::Operation::NameInfo

Required Libraries

wsdl/info


class WSDL::Operation

ancestors: WSDL::Operation < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
fault | 属性
input | 属性
input_info |
inputname |
inputparts |
name | 属性
output | 属性
output_info |
outputname |
outputparts |
parameter_order | 属性
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |
type | 属性

Private Instance Methods

Signature | Description
sort_parts(parts) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


class WSDL::Operation::NameInfo

ancestors: WSDL::Operation::NameInfo < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(op_name, optype_name, parts) |

Instance Methods

Signature | Description
op_name | 属性
optype_name | 属性
parts | 属性

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/operation_binding

Abstract

Classes/Modules

class WSDL::OperationBinding

Required Libraries

wsdl/info


class WSDL::OperationBinding

ancestors: WSDL::OperationBinding < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
fault | 属性
find_operation |
input | 属性
name | 属性
output | 属性
parse_attr(attr, value) |
parse_element(element) |
porttype |
soapaction |
soapoperation | 属性
soapoperation_name |
soapoperation_style |
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/param

Abstract

Classes/Modules

class WSDL::Param

Required Libraries

wsdl/info


class WSDL::Param

ancestors: WSDL::Param < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
find_message |
message | 属性
name | 属性
parse_attr(attr, value) |
parse_element(element) |
soapbody | 属性
soapbody_use |
soapfault | 属性
soapheader | 属性
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/parser

Abstract

Classes/Modules

class WSDL::Parser |
class WSDL::Parser::ParseFrame | WSDL::Parser 内部でのみ使用するクラス

Exception Classes

class WSDL::Parser::AttributeConstraintError
class WSDL::Parser::ElementConstraintError
class WSDL::Parser::FormatDecodeError
class WSDL::Parser::ParseError
class WSDL::Parser::UnexpectedElementError
class WSDL::Parser::UnknownAttributeError
class WSDL::Parser::UnknownElementError

Required Libraries

soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::Parser

ancestors: WSDL::Parser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(opt = {}) |

Instance Methods

Signature | Description
characters(text) |
charset |
end_element(name) |
parse(string_or_readable) |
start_element(name, attrs) |

Private Instance Methods

Signature | Description
decode_tag(ns, name, attrs, parent) |
decode_tag_end(ns, node) |
decode_text(ns, text) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::AttributeConstraintError

ancestors: WSDL::Parser::AttributeConstraintError < WSDL::Parser::FormatDecodeError < WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::ElementConstraintError

ancestors: WSDL::Parser::ElementConstraintError < WSDL::Parser::FormatDecodeError < WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::FormatDecodeError

ancestors: WSDL::Parser::FormatDecodeError < WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::ParseError

ancestors: WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::ParseFrame

ancestors: WSDL::Parser::ParseFrame < Object < Kernel

Abstract

WSDL::Parser 内部でのみ使用するクラス

Singleton Methods

Signature | Description
new(ns, name, node) |

Instance Methods

Signature Description
name

属性

node
node=(node)

属性

ns

属性

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::UnexpectedElementError

ancestors: WSDL::Parser::UnexpectedElementError < WSDL::Parser::FormatDecodeError < WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::UnknownAttributeError

ancestors: WSDL::Parser::UnknownAttributeError < WSDL::Parser::FormatDecodeError < WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::Parser::UnknownElementError

ancestors: WSDL::Parser::UnknownElementError < WSDL::Parser::FormatDecodeError < WSDL::Parser::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/part

Abstract

Classes/Modules

class WSDL::Part

Required Libraries

wsdl/info


class WSDL::Part

ancestors: WSDL::Part < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
element | 属性
name | 属性
parse_attr(attr, value) |
parse_element(element) |
type | 属性

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/port

Abstract

Classes/Modules

class WSDL::Port

Required Libraries

wsdl/info


class WSDL::Port

ancestors: WSDL::Port < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
binding | 属性
find_binding |
inputoperation_map |
name | 属性
outputoperation_map |
parse_attr(attr, value) |
parse_element(element) |
porttype |
soap_address | 属性
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/port_type

Abstract

Classes/Modules

class WSDL::PortType

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::PortType

ancestors: WSDL::PortType < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
find_binding |
locations |
name | 属性
operations | 属性
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/service

Abstract

Classes/Modules

class WSDL::Service

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::Service

ancestors: WSDL::Service < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
name | 属性
parse_attr(attr, value) |
parse_element(element) |
ports | 属性
soap_address | 属性
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/address

Abstract

Classes/Modules

class WSDL::SOAP::Address

Required Libraries

wsdl/info


class WSDL::SOAP::Address

ancestors: WSDL::SOAP::Address < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
location |
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/binding

Abstract

Classes/Modules

class WSDL::SOAP::Binding

Required Libraries

wsdl/info


class WSDL::SOAP::Binding

ancestors: WSDL::SOAP::Binding < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |
style |
transport |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/body

Abstract

Classes/Modules

class WSDL::SOAP::Body

Required Libraries

wsdl/info


class WSDL::SOAP::Body

ancestors: WSDL::SOAP::Body < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
encodingstyle |
namespace |
parse_attr(attr, value) |
parse_element(element) |
parts |
use |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/cgiStubCreator

Abstract

Classes/Modules

class WSDL::SOAP::CGIStubCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/rpc/element |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/mappingRegistryCreator |
wsdl/soap/methodDefCreator |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::CGIStubCreator

ancestors: WSDL::SOAP::CGIStubCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
definitions |
dump(service_name) |

Private Instance Methods

Signature | Description
dump_porttype(name) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/classDefCreator

Abstract

Classes/Modules

class WSDL::SOAP::ClassDefCreator

Required Libraries

soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/codegen |
xsd/codegen/gensupport | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::SOAP::ClassDefCreator

ancestors: WSDL::SOAP::ClassDefCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
dump(type = nil) |

Private Instance Methods

Signature | Description
attribute_basetype(attr) |
basetype_class(type) |
define_attribute(c, attributes) |
dump_arraydef(complextype) |
dump_classdef(qname, typedef, qualified = false) |
dump_complextype |
dump_element |
dump_simpleclassdef(type_or_element) |
dump_simpletype |
dump_simpletypedef(qname, simpletype) |
element_basetype(ele) |
name_attribute(attribute) |
name_element(element) |

Constants

Signature | Description
DEFAULT_ITEM_NAME |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/classDefCreatorSupport

Abstract

Classes/Modules

module WSDL::SOAP::ClassDefCreatorSupport

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
xsd/codegen/gensupport | (uninitialized)


module WSDL::SOAP::ClassDefCreatorSupport

ancestors: WSDL::SOAP::ClassDefCreatorSupport < XSD::CodeGen::GenSupport

Abstract

Instance Methods

Signature | Description
basetype_mapped_class(name) |
create_class_name(qname) |
dq(ele) |
dqname(qname) |
dump_method_signature(operation) |
ndq(ele) |
sym(ele) |

Private Instance Methods

Signature | Description
add_at(base, str, pos) |
dump_inout_type(param) |
dump_inputparam(input) |


library wsdl/soap/clientSkeltonCreator

Abstract

Classes/Modules

class WSDL::SOAP::ClientSkeltonCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::ClientSkeltonCreator

ancestors: WSDL::SOAP::ClientSkeltonCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
definitions |
dump(service_name) |

Private Instance Methods

Signature | Description
dump_input_init(input) |
dump_operation(operation) |
dump_porttype(name) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/complexType

Abstract

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/element |
xsd/namedelements | (uninitialized)

Added/Redefined Methods

WSDL::XMLSchema::ComplexType#check_array_content

WSDL::XMLSchema::ComplexType#check_type

WSDL::XMLSchema::ComplexType#child_defined_complextype

WSDL::XMLSchema::ComplexType#child_type

WSDL::XMLSchema::ComplexType#compoundtype

WSDL::XMLSchema::ComplexType#content_arytype

WSDL::XMLSchema::ComplexType#element_simpletype

WSDL::XMLSchema::ComplexType#find_aryelement

WSDL::XMLSchema::ComplexType#find_arytype


library wsdl/soap/data

Abstract

Classes/Modules

module WSDL::SOAP

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/complexType |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/element |
xsd/namedelements | (uninitialized)
xsd/qname | (uninitialized)


module WSDL::SOAP

ancestors: WSDL::SOAP

Abstract

Constants

Signature | Description
EncodingStyleAttrName |
HeaderFaultName |
LocationAttrName |
MessageAttrName |
NameAttrName |
NamespaceAttrName |
PartAttrName |
PartsAttrName |
SOAPActionAttrName |
StyleAttrName |
TransportAttrName |
UseAttrName |


library wsdl/soap/definitions

Abstract

Classes/Modules

class WSDL::Definitions

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::Definitions

ancestors: WSDL::Definitions < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
array_complextype |
exception_complextype |
fault_complextype |
new |
parse_element(element) |
soap_rpc_complextypes |

Instance Methods

Signature Description
add_type(complextype)
binding(name)
bindings
collect_attributes
collect_complextypes
collect_elements
collect_faulttypes
collect_simpletypes
importedschema

属性

imports

属性

inspect
location
location=(val)
message(name)
messages
name

属性

parse_attr(attr, name)
parse_element(element)

WSDL::Info#parse_elementを呼び出そうとするが実装が無い

porttype
porttype_binding
porttypes
service
services
soap_rpc_complextypes(binding)
targetnamespace
targetnamespace=(targetnamespace)

属性

Private Instance Methods

Signature | Description
collect_fault_messages |
elements_from_message(message) |
op_bind_rpc?(op_bind) |
rpc_operation_complextypes(binding) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id parent parse_epilogue root


library wsdl/soap/driverCreator

Abstract

Classes/Modules

class WSDL::SOAP::DriverCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/rpc/element |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/mappingRegistryCreator |
wsdl/soap/methodDefCreator |
xsd/codegen |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::DriverCreator

ancestors: WSDL::SOAP::DriverCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
definitions |
dump(porttype = nil) |

Private Instance Methods

Signature | Description
dump_porttype(name) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/element

Abstract

Required Libraries

wsdl/info
wsdl/xmlSchema/element

Added/Redefined Methods

WSDL::XMLSchema::Element#attributes WSDL::XMLSchema::Element#map_as_array?


library wsdl/soap/fault

Abstract

Classes/Modules

class WSDL::SOAP::Fault

Required Libraries

wsdl/info


class WSDL::SOAP::Fault

ancestors: WSDL::SOAP::Fault < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
encodingstyle |
name |
namespace |
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |
use |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/header

Abstract

Classes/Modules

class WSDL::SOAP::Header

Required Libraries

wsdl/info


class WSDL::SOAP::Header

ancestors: WSDL::SOAP::Header < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
encodingstyle |
find_message |
find_part |
headerfault |
message |
namespace |
parse_attr(attr, value) |
parse_element(element) |
part |
targetnamespace |
use |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/headerfault

Abstract

Classes/Modules

class WSDL::SOAP::HeaderFault

Required Libraries

wsdl/info


class WSDL::SOAP::HeaderFault

ancestors: WSDL::SOAP::HeaderFault < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
encodingstyle |
message |
namespace |
parse_attr(attr, value) |
parse_element(element) |
part |
use |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/soap/mappingRegistryCreator

Abstract

Classes/Modules

class WSDL::SOAP::MappingRegistryCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::MappingRegistryCreator

ancestors: WSDL::SOAP::MappingRegistryCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
definitions |
dump(types) |

Private Instance Methods

Signature | Description
dump_array_typemap(definedtype) |
dump_struct_typemap(definedtype) |
dump_typemap(type) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/methodDefCreator

Abstract

Classes/Modules

class WSDL::SOAP::MethodDefCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/rpc/element |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::MethodDefCreator

ancestors: WSDL::SOAP::MethodDefCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
collect_documentparameter(operation) |
collect_rpcparameter(operation) |
definitions |
dump(porttype) |

Private Instance Methods

Signature | Description
cdr(ary) |
collect_type(type) |
documentdefinedtype(part) |
dump_method(operation, binding) |
ele2str(ele) |
elementqualified(part) |
param2str(params) |
param_set(io_type, name, type, ele = nil) |
rpcdefinedtype(part) |
type2str(type) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/operation

Abstract

Classes/Modules

class WSDL::SOAP::Operation
class WSDL::SOAP::Operation::OperationInfo

Required Libraries

wsdl/info


class WSDL::SOAP::Operation

ancestors: WSDL::SOAP::Operation < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
input_info |
operation_style |
output_info |
parse_attr(attr, value) |
parse_element(element) |
soapaction |
style |

Private Instance Methods

Signature | Description
param_info(name_info, param) |
parent_binding |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


class WSDL::SOAP::Operation::OperationInfo

ancestors: WSDL::SOAP::Operation::OperationInfo < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(style, op_name, optype_name, headerparts, bodyparts, faultpart, soapaction) |

Instance Methods

Signature | Description
bodyparts |
faultpart |
headerparts |
op_name |
optype_name |
soapaction |
style |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/soap/servantSkeltonCreator

Abstract

Classes/Modules

class WSDL::SOAP::ServantSkeltonCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
xsd/codegen |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::ServantSkeltonCreator

ancestors: WSDL::SOAP::ServantSkeltonCreator < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
definitions |
dump(porttype = nil) |

Private Instance Methods

Signature | Description
dump_porttype(name) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/soap/standaloneServerStubCreator

Abstract

Classes/Modules

class WSDL::SOAP::StandaloneServerStubCreator

Required Libraries

soap/baseData |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/rpc/element |
soap/soap |
wsdl/info |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/mappingRegistryCreator |
wsdl/soap/methodDefCreator |
xsd/codegen/gensupport | (uninitialized)


class WSDL::SOAP::StandaloneServerStubCreator

ancestors: WSDL::SOAP::StandaloneServerStubCreator

      < WSDL::SOAP::ClassDefCreatorSupport

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(definitions) |

Instance Methods

Signature | Description
definitions |
dump(service_name) |

Private Instance Methods

Signature | Description
dump_porttype(name) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_at basetype_mapped_class create_class_name dq dqname dump_inout_type dump_inputparam dump_method_signature ndq sym


library wsdl/soap/wsdl2ruby

Abstract

Classes/Modules

class WSDL::SOAP::WSDL2Ruby

Required Libraries

logger | ログを記録するためのライブラリです。
soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/rpc/element |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/cgiStubCreator |
wsdl/soap/classDefCreator |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/clientSkeltonCreator |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/driverCreator |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/mappingRegistryCreator |
wsdl/soap/methodDefCreator |
wsdl/soap/operation |
wsdl/soap/servantSkeltonCreator |
wsdl/soap/standaloneServerStubCreator |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/codegen |
xsd/codegen/gensupport | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::SOAP::WSDL2Ruby

ancestors: WSDL::SOAP::WSDL2Ruby < Object < Kernel

Abstract

Instance Methods

Signature Description
basedir
basedir=
location
location=
logger
logger=
opt
run

Private Instance Methods

Signature | Description
check_file(filename) |
create_cgi_stub(servicename) |
create_classdef |
create_client_skelton(servicename) |
create_driver(porttypename) |
create_file |
create_name(name) |
create_servant_skelton(porttypename) |
create_standalone_server_stub(servicename) |
import(location) |
new |
shbang |
write_file(filename) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library wsdl/types

Abstract

Classes/Modules

class WSDL::Types

Required Libraries

wsdl/info


class WSDL::Types

ancestors: WSDL::Types < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |
schemas | 属性

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/wsdl

Abstract

Classes/Modules

module WSDL

Exception Classes

class WSDL::Error

Required Libraries

xsd/qname

(uninitialized)


module WSDL

ancestors: WSDL

Abstract

Constants

Signature | Description
Namespace |
SOAPBindingNamespace |
Version | このライブラリのバージョンを表す定数。

Added Methods

Signature | Description | Library
ArrayTypeAttrName |  | wsdl/data
BindingAttrName |  | wsdl/data
BindingName |  | wsdl/data
DefinitionsName |  | wsdl/data
DocumentationName |  | wsdl/data
ElementAttrName |  | wsdl/data
FaultName |  | wsdl/data
ImportName |  | wsdl/data
InputName |  | wsdl/data
LocationAttrName |  | wsdl/data
MessageAttrName |  | wsdl/data
MessageName |  | wsdl/data
NameAttrName |  | wsdl/data
NamespaceAttrName |  | wsdl/data
OperationName |  | wsdl/data
OutputName |  | wsdl/data
ParameterOrderAttrName |  | wsdl/data
PartName |  | wsdl/data
PortName |  | wsdl/data
PortTypeName |  | wsdl/data
SOAPAddressName |  | wsdl/data
SOAPBindingName |  | wsdl/data
SOAPBodyName |  | wsdl/data
SOAPFaultName |  | wsdl/data
SOAPHeaderName |  | wsdl/data
SOAPOperationName |  | wsdl/data
SchemaName |  | wsdl/data
ServiceName |  | wsdl/data
TargetNamespaceAttrName |  | wsdl/data
TypeAttrName |  | wsdl/data
TypesName |  | wsdl/data


class WSDL::Error

ancestors: WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/xmlSchema/all

Abstract

Classes/Modules

class WSDL::XMLSchema::All

Required Libraries

wsdl/info


class WSDL::XMLSchema::All

ancestors: WSDL::XMLSchema::All < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
self << element |
elementformdefault |
elements |
maxoccurs |
minoccurs |
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/annotation

Abstract

Classes/Modules

class WSDL::XMLSchema::Annotation

Required Libraries

wsdl/info


class WSDL::XMLSchema::Annotation

ancestors: WSDL::XMLSchema::Annotation < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/any

Abstract

Classes/Modules

class WSDL::XMLSchema::Any

Required Libraries

wsdl/info


class WSDL::XMLSchema::Any

ancestors: WSDL::XMLSchema::Any < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
maxoccurs
maxoccurs=
minoccurs
minoccurs=
namespace
namespace=
parse_attr(attr, value)
parse_element(element)
process_contents
process_contents=
targetnamespace

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/attribute

Abstract

Classes/Modules

class WSDL::XMLSchema::Attribute

Required Libraries

wsdl/info


class WSDL::XMLSchema::Attribute

ancestors: WSDL::XMLSchema::Attribute < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
attr_reader_ref(symbol) |
new |

Instance Methods

Signature Description
arytype
arytype=
default
default=
fixed
fixed=
form
form=
local_simpletype
local_simpletype=
name
name=
parse_attr(attr, value)
parse_element(element)
ref
ref=
refelement
targetnamespace
type
type=
use
use=

Private Instance Methods

Signature | Description
directelement? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/choice

Abstract

Classes/Modules

class WSDL::XMLSchema::Choice

Required Libraries

wsdl/info


class WSDL::XMLSchema::Choice

ancestors: WSDL::XMLSchema::Choice < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
self << element |
elementformdefault |
elements |
maxoccurs |
minoccurs |
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/complexContent

Abstract

Classes/Modules

class WSDL::XMLSchema::ComplexContent

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::ComplexContent

ancestors: WSDL::XMLSchema::ComplexContent < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
attributes
base
base=
basetype
content
derivetype
elementformdefault
parse_attr(attr, value)
parse_element(element)
targetnamespace

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/complexType

Abstract

Classes/Modules

class WSDL::XMLSchema::ComplexType

Required Libraries

wsdl/info |
wsdl/xmlSchema/content |
wsdl/xmlSchema/element |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::ComplexType

ancestors: WSDL::XMLSchema::ComplexType < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(name = nil) |

Instance Methods

Signature Description
all_elements=(elements)
attributes
complexcontent
complexcontent=
content
each_element
elementformdefault
final
final=
find_element(name)
find_element_by_name(name)
mixed
mixed=
name
name=
parse_attr(attr, value)
parse_element(element)
sequence_elements=(elements)
simplecontent
simplecontent=
targetnamespace

Constants

Signature | Description
AnyAsElement |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root

Added Methods

Signature | Description | Library
check_array_content(content) |  | wsdl/soap/complexType
check_type |  | wsdl/soap/complexType
child_defined_complextype(name) |  | wsdl/soap/complexType
child_type(name = nil) |  | wsdl/soap/complexType
compoundtype |  | wsdl/soap/complexType
content_arytype |  | wsdl/soap/complexType
element_simpletype(element) |  | wsdl/soap/complexType
find_aryelement |  | wsdl/soap/complexType
find_arytype |  | wsdl/soap/complexType


library wsdl/xmlSchema/content

Abstract

Classes/Modules

class WSDL::XMLSchema::Content

Required Libraries

wsdl/info


class WSDL::XMLSchema::Content

ancestors: WSDL::XMLSchema::Content < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
self << content
contents
each
elements
final
final=
mixed
mixed=
parse_attr(attr, value)
parse_element(element)
parse_epilogue
targetnamespace
type
type=

Private Instance Methods

Signature | Description
update_elements |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent root


library wsdl/xmlSchema/data

Abstract

Classes/Modules

module WSDL::XMLSchema

Required Libraries

soap/httpconfigloader |
soap/property |
wsdl/info |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


module WSDL::XMLSchema

ancestors: WSDL::XMLSchema

Abstract

Constants

Signature Description
AllName
AnnotationName
AnyName
AttributeName
ChoiceName
ComplexContentName
ComplexTypeName
ElementName
EnumerationName
ExtensionName
ImportName
IncludeName
LengthName
PatternName
RestrictionName
SequenceName
SchemaName
SimpleContentName
SimpleTypeName
UniqueName
AttributeFormDefaultAttrName
BaseAttrName
DefaultAttrName
ElementFormDefaultAttrName
FinalAttrName
FixedAttrName
FormAttrName
IdAttrName
MaxOccursAttrName
MinOccursAttrName
MixedAttrName
NameAttrName
NamespaceAttrName
NillableAttrName
ProcessContentsAttrName
RefAttrName
SchemaLocationAttrName
TargetNamespaceAttrName
TypeAttrName
UseAttrName
ValueAttrName


library wsdl/xmlSchema/element

Abstract

Classes/Modules

class WSDL::XMLSchema::Element

Required Libraries

wsdl/info


class WSDL::XMLSchema::Element

ancestors: WSDL::XMLSchema::Element < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
attr_reader_ref(symbol) |
new(name = nil, type = nil) |

Instance Methods

Signature Description
constraint
constraint=
elementform
elementformdefault
form
form=
local_complextype
local_complextype=
local_simpletype
local_simpletype=
maxoccurs
maxoccurs=
minoccurs
minoccurs=
name
name=
nillable
nillable=
parse_attr(attr, value)
parse_element(element)
ref
ref=
refelement
targetnamespace
type
type=

Private Instance Methods

Signature | Description
directelement? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root

Added Methods

Signature Description Library


library wsdl/xmlSchema/enumeration

Abstract

Classes/Modules

class WSDL::XMLSchema::Enumeration

Required Libraries

wsdl/info


class WSDL::XMLSchema::Enumeration

ancestors: WSDL::XMLSchema::Enumeration < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_element(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_attr parse_epilogue root


library wsdl/xmlSchema/import

Abstract

Classes/Modules

class WSDL::XMLSchema::Import

Required Libraries

soap/httpconfigloader |
soap/property |
wsdl/info |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::XMLSchema::Import

ancestors: WSDL::XMLSchema::Import < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
content |
namespace |
parse_attr(attr, value) |
parse_element(element) |
schemalocation |

Private Instance Methods

Signature | Description
import(location) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/importer

Abstract

Classes/Modules

class WSDL::XMLSchema::Importer

Required Libraries

soap/httpconfigloader |
soap/property |
wsdl/info |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::XMLSchema::Importer

ancestors: WSDL::XMLSchema::Importer < Object < Kernel

Abstract

Singleton Methods

Signature | Description
import(location, originalroot = nil) |
new |

Instance Methods

Signature | Description
import(location, originalroot = nil) |

Private Instance Methods

Signature | Description
fetch(location) |
parse(content, location, originalroot) |
web_client |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/xmlSchema/include

Abstract

Classes/Modules

class WSDL::XMLSchema::Include

Required Libraries

soap/httpconfigloader |
soap/property |
wsdl/info |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::XMLSchema::Include

ancestors: WSDL::XMLSchema::Include < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
content |
parse_attr(attr, value) |
parse_element(element) |
schemalocation |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/length

Abstract

Classes/Modules

class WSDL::XMLSchema::Length

Required Libraries

wsdl/info


class WSDL::XMLSchema::Length

ancestors: WSDL::XMLSchema::Length < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/parser

Abstract

Classes/Modules

class WSDL::XMLSchema::ParseFrame
class WSDL::XMLSchema::Parser

Exception Classes

class WSDL::XMLSchema::AttributeConstraintError
class WSDL::XMLSchema::ElementConstraintError
class WSDL::XMLSchema::FormatDecodeError
class WSDL::XMLSchema::ParseError
class WSDL::XMLSchema::UnexpectedElementError
class WSDL::XMLSchema::UnknownAttributeError
class WSDL::XMLSchema::UnknownElementError

Required Libraries

soap/httpconfigloader |
soap/property |
wsdl/info |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::XMLSchema::AttributeConstraintError

ancestors: WSDL::XMLSchema::AttributeConstraintError < WSDL::XMLSchema::FormatDecodeError < WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::ElementConstraintError

ancestors: WSDL::XMLSchema::ElementConstraintError < WSDL::XMLSchema::FormatDecodeError < WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::FormatDecodeError

ancestors: WSDL::XMLSchema::FormatDecodeError < WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::ParseError

ancestors: WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::ParseFrame

ancestors: WSDL::XMLSchema::ParseFrame < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(ns, name, node) |

Instance Methods

Signature Description
name
node
node=(node)
ns

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::Parser

ancestors: WSDL::XMLSchema::Parser < XSD < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(opt = {}) |

Instance Methods

Signature | Description
characters(text) |
charset |
end_element(name) |
parse(string_or_readable) |
start_element(name, attrs) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_attr parse_element parse_epilogue root ::InstanceNamespace ::Namespace


class WSDL::XMLSchema::UnexpectedElementError

ancestors: WSDL::XMLSchema::UnexpectedElementError < WSDL::XMLSchema::FormatDecodeError < WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::UnknownAttributeError

ancestors: WSDL::XMLSchema::UnknownAttributeError < WSDL::XMLSchema::FormatDecodeError < WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class WSDL::XMLSchema::UnknownElementError

ancestors: WSDL::XMLSchema::UnknownElementError < WSDL::XMLSchema::FormatDecodeError < WSDL::XMLSchema::ParseError < WSDL::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


library wsdl/xmlSchema/pattern

Abstract

Classes/Modules

class WSDL::XMLSchema::Pattern

Required Libraries

wsdl/info


class WSDL::XMLSchema::Pattern

ancestors: WSDL::XMLSchema::Pattern < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/schema

Abstract

Classes/Modules

class WSDL::XMLSchema::Schema

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::Schema

ancestors: WSDL::XMLSchema::Schema < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |
parse_element(element) |

Instance Methods

Signature Description
attributeformdefault
attributeformdefault=(val)
attributes
collect_attributes
collect_complextypes
collect_elements
collect_simpletypes
complextypes
elementformdefault
elementformdefault=(val)
elements
importedschema
imports
location
location=(location)
parse_attr(attr, value)
parse_element(element)
simpletypes
targetnamespace

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/sequence

Abstract

Classes/Modules

class WSDL::XMLSchema::Sequence

Required Libraries

wsdl/info


class WSDL::XMLSchema::Sequence

ancestors: WSDL::XMLSchema::Sequence < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
self << |
elementformdefault |
elements |
maxoccurs |
minoccurs |
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/simpleContent

Abstract

Classes/Modules

class WSDL::XMLSchema::SimpleContent

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::SimpleContent

ancestors: WSDL::XMLSchema::SimpleContent < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
base |
check_lexical_format(value) |
extension |
parse_element(element) |
restriction |
targetnamespace |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_attr parse_epilogue root


library wsdl/xmlSchema/simpleExtension

Abstract

Classes/Modules

class WSDL::XMLSchema::SimpleExtension

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::SimpleExtension

ancestors: WSDL::XMLSchema::SimpleExtension < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
attributes |
base |
parse_attr(attr, value) |
parse_element(element) |
targetnamespace |
valid?(value) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/simpleRestriction

Abstract

Classes/Modules

class WSDL::XMLSchema::SimpleRestriction

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::SimpleRestriction

ancestors: WSDL::XMLSchema::SimpleRestriction < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature Description
base
enumeration
length
length=
parse_attr(attr, value)
parse_element(element)
pattern
pattern=
valid?(value)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/simpleType

Abstract

Classes/Modules

class WSDL::XMLSchema::SimpleType

Required Libraries

wsdl/info |
xsd/namedelements | (uninitialized)


class WSDL::XMLSchema::SimpleType

ancestors: WSDL::XMLSchema::SimpleType < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(name = nil) |

Instance Methods

Signature Description
base
check_lexical_format(value)
name
name=
parse_attr(attr, value)
parse_element(element)
restriction
targetnamespace

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/unique

Abstract

Classes/Modules

class WSDL::XMLSchema::Unique

Required Libraries

wsdl/info


class WSDL::XMLSchema::Unique

ancestors: WSDL::XMLSchema::Unique < WSDL::Info < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
parse_attr(attr, value) |
parse_element(element) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint id inspect parent parse_epilogue root


library wsdl/xmlSchema/xsd2ruby

Abstract

Classes/Modules

class WSDL::XMLSchema::XSD2Ruby

Required Libraries

soap/baseData |
soap/httpconfigloader |
soap/mapping |
soap/mapping/factory |
soap/mapping/mapping |
soap/mapping/registry |
soap/mapping/rubytypeFactory |
soap/mapping/typeMap |
soap/property |
soap/soap |
wsdl/binding |
wsdl/data |
wsdl/definitions |
wsdl/documentation |
wsdl/import |
wsdl/importer |
wsdl/info |
wsdl/message |
wsdl/operation |
wsdl/operationBinding | (uninitialized)
wsdl/param |
wsdl/parser |
wsdl/part |
wsdl/port |
wsdl/portType | (uninitialized)
wsdl/service |
wsdl/soap/address |
wsdl/soap/binding |
wsdl/soap/body |
wsdl/soap/classDefCreator |
wsdl/soap/classDefCreatorSupport |
wsdl/soap/complexType |
wsdl/soap/data |
wsdl/soap/definitions |
wsdl/soap/element |
wsdl/soap/fault |
wsdl/soap/header |
wsdl/soap/headerfault |
wsdl/soap/operation |
wsdl/types |
wsdl/wsdl |
wsdl/xmlSchema/all |
wsdl/xmlSchema/annotation |
wsdl/xmlSchema/any |
wsdl/xmlSchema/attribute |
wsdl/xmlSchema/choice |
wsdl/xmlSchema/complexContent |
wsdl/xmlSchema/complexType |
wsdl/xmlSchema/content |
wsdl/xmlSchema/data |
wsdl/xmlSchema/element |
wsdl/xmlSchema/enumeration |
wsdl/xmlSchema/import |
wsdl/xmlSchema/importer |
wsdl/xmlSchema/include |
wsdl/xmlSchema/length |
wsdl/xmlSchema/parser |
wsdl/xmlSchema/pattern |
wsdl/xmlSchema/schema |
wsdl/xmlSchema/sequence |
wsdl/xmlSchema/simpleContent |
wsdl/xmlSchema/simpleExtension |
wsdl/xmlSchema/simpleRestriction |
wsdl/xmlSchema/simpleType |
wsdl/xmlSchema/unique |
xsd/charset | (uninitialized)
xsd/codegen |
xsd/codegen/gensupport | (uninitialized)
xsd/datatypes |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


class WSDL::XMLSchema::XSD2Ruby

ancestors: WSDL::XMLSchema::XSD2Ruby < Object < Kernel

Abstract

Instance Methods

Signature Description
basedir
basedir=
location
location=
logger
logger=
opt
run

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


library xmlrpc

Abstract

XML-RPC を扱うためのライブラリです。

このページは xmlrpc ライブラリのまとめのページであり、require 'xmlrpc' を実行しても エラーになることに注意して下さい。

Author and Copyright

Copyright (C) 2001-2004 by Michael Neumann

Released under the same term of license as Ruby.

Overview

XMLRPC is a lightweight protocol that enables remote procedure calls over HTTP. It is defined at http://www.xmlrpc.com.

XMLRPC allows you to create simple distributed computing solutions that span computer languages. Its distinctive feature is its simplicity compared to other approaches like SOAP and CORBA.

The Ruby standard library package 'xmlrpc' enables you to create a server that implements remote procedures and a client that calls them. Very little code is required to achieve either of these.

Example

Try the following code. It calls a standard demonstration remote procedure.

require 'xmlrpc/client'
require 'pp'

server = XMLRPC::Client.new2("http://xmlrpc-c.sourceforge.net/api/sample.php")
result = server.call("sample.sumAndDifference", 5, 3)
pp result

Documentation

See http://www.ntecs.de/projects/xmlrpc4r. There is plenty of detail there to use the client and implement a server.

Features of XMLRPC for Ruby

* Extensions

  • Introspection
  • multiCall
  • optionally nil values and integers larger than 32 Bit

* Server

  • Standalone XML-RPC server
  • CGI-based (works with FastCGI)
  • Apache mod_ruby server
  • WEBrick servlet

* Client

  • synchronous/asynchronous calls
  • Basic HTTP-401 Authentification
  • HTTPS protocol (SSL)

* Parsers

  • NQXML (NQXMLStreamParser, NQXMLTreeParser)
  • Expat (XMLStreamParser, XMLTreeParser)
  • REXML (REXMLStreamParser)
  • xml-scan (XMLScanStreamParser)
  • Fastest parser is Expat's XMLStreamParser!

* General

  • possible to choose between XMLParser module (Expat wrapper) and REXML/NQXML (pure Ruby) parsers
  • Marshalling Ruby objects to Hashs and reconstruct them later from a Hash
  • SandStorm component architecture Client interface

Choosing a different XML Parser or XML Writer

The examples above all use the default parser (which is now since 1.8 REXMLStreamParser) and a default XML writer. If you want to use a different XML parser, then you have to call the <i>set_parser</i> method of XMLRPC::Client instances or instances of subclasses of XMLRPC::BasicServer or by editing xmlrpc/config.rb.

Client Example:

# ...
server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php")
server.set_parser(XMLRPC::XMLParser::XMLParser.new)
# ...

Server Example:

# ...
s = XMLRPC::CGIServer.new
s.set_parser(XMLRPC::XMLParser::XMLStreamParser.new)
# ...

or:

# ...
server = XMLRPC::Server.new(8080)
server.set_parser(XMLRPC::XMLParser::NQXMLParser.new)
# ...

Note that XMLStreamParser is incredible faster (and uses less memory) than any other parser and scales well for large documents. For example for a 0.5 MB XML document with many tags, XMLStreamParser is ~350 (!) times faster than NQXMLTreeParser and still ~18 times as fast as XMLTreeParser.

You can change the XML-writer by calling method <i>set_writer</i>.

参考

  • http://www.linux.or.jp/JF/JFdocs/XML-RPC-HOWTO/index.html
  • http://www.linux.or.jp/JF/JFdocs/XML-RPC-HOWTO/xmlrpc-howto-ruby.html
  • [XML-RPC] http://www.xmlrpc.com/spec
  • http://jp.rubyist.net/magazine/?0007-BundledLibraries

Sub-Libraries

xmlrpc/client | XML-RPC クライアントのためのライブラリです。
xmlrpc/config |
xmlrpc/datetime |
xmlrpc/server | XML-RPC サーバのためのライブラリです。


library xmlrpc/client

Abstract

XML-RPC クライアントのためのライブラリです。

require "xmlrpc/client"

# Make an object to represent the XML-RPC server.
server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php")

# Call the remote server and get our result
result = server.call("sample.sumAndDifference", 5, 3)

sum = result["sum"]
difference = result["difference"]

puts "Sum: #{sum}, Difference: #{difference}"

Client with XML-RPC fault-structure handling

There are two possible ways, of handling a fault-structure:

by catching a XMLRPC::FaultException exception

require "xmlrpc/client"

# Make an object to represent the XML-RPC server.
server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php")

begin
  # Call the remote server and get our result
  result = server.call("sample.sumAndDifference", 5, 3)

  sum = result["sum"]
  difference = result["difference"]

  puts "Sum: #{sum}, Difference: #{difference}"

rescue XMLRPC::FaultException => e
  puts "Error: "
  puts e.faultCode
  puts e.faultString
end

by calling "call2" which returns a boolean

require "xmlrpc/client"

# Make an object to represent the XML-RPC server.
server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php")

# Call the remote server and get our result
ok, result = server.call2("sample.sumAndDifference", 5, 3)

if ok
  sum = result["sum"]
  difference = result["difference"]

  puts "Sum: #{sum}, Difference: #{difference}"
else
  puts "Error: "
  puts result.faultCode
  puts result.faultString
end

Client using Proxy

You can create a +Proxy+ object onto which you can call methods. This way it looks nicer. Both forms, _call_ and _call2_ are supported through _proxy_ and <i>proxy2</i>. You can additionally give arguments to the Proxy, which will be given to each XML-RPC call using that Proxy.

require "xmlrpc/client"

# Make an object to represent the XML-RPC server.
server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php")

# Create a Proxy object
sample = server.proxy("sample")

# Call the remote server and get our result
result = sample.sumAndDifference(5,3)

sum = result["sum"]
difference = result["difference"]

puts "Sum: #{sum}, Difference: #{difference}"

Classes/Modules

class XMLRPC::Client | Class XMLRPC::Client provides remote procedure calls to a XML-RPC server.
class XMLRPC::Client::Proxy | Class XMLRPC::Client::Proxy makes XML-RPC calls look nicer!

Required Libraries

xmlrpc/datetime


class XMLRPC::Client

ancestors: XMLRPC::Client < Object < Kernel

Abstract

Class XMLRPC::Client provides remote procedure calls to a XML-RPC server.

After setting the connection-parameters with [[unknown:XMLRPC::Client.new]] which creates a new XMLRPC::Client instance, you can execute a remote procedure by sending the XMLRPC::Client#call or XMLRPC::Client#call2 message to this new instance. The given parameters indicate which method to call on the remote-side and of course the parameters for the remote procedure.

require "xmlrpc/client"

server = XMLRPC::Client.new("www.ruby-lang.org", "/RPC2", 80)
begin
  param = server.call("michael.add", 4, 5)
  puts "4 + 5 = #{param}"
rescue XMLRPC::FaultException => e
  puts "Error:"
  puts e.faultCode
  puts e.faultString
end

or

require "xmlrpc/client"

server = XMLRPC::Client.new("www.ruby-lang.org", "/RPC2", 80)
ok, param = server.call2("michael.add", 4, 5)
if ok then
  puts "4 + 5 = #{param}"
else
  puts "Error:"
  puts param.faultCode
  puts param.faultString
end

Singleton Methods

Signature Description
new(host=nil, path=nil, port=nil, proxy_host=nil, proxy_port=nil, user=nil, password=nil, use_ssl=false, timeout =nil)

Creates an object which represents the remote XML-RPC server on the given host host. If the server is CGI-based, path is the path to the CGI-script, which will be called, otherwise (in the case of a standalone server) path should be "/RPC2". port is the port on which the XML-RPC server listens. If proxy_host is given, then a proxy server listening at proxy_host is used. proxy_port is the port of the proxy server.

new2(uri, proxy=nil, timeout=nil)
new_from_uri(uri, proxy=nil, timeout=nil)
uri

URI specifying protocol (http or https), host, port, path, user and password. Example: https://user:password@host:port/path

proxy

Is of the form "host:port".

timeout

Defaults to 30.

new3(hash={})
new_from_hash(hash={})

Parameter hash has following case-insensitive keys:

  • host
  • path
  • port
  • proxy_host
  • proxy_port
  • user
  • password
  • use_ssl
  • timeout

Instance Methods

Signature Description
call(method, *args)

Invokes the method named method with the parameters given by args on the XML-RPC server. The parameter method is converted into a String and should be a valid XML-RPC method-name. Each parameter of args must be of one of the following types, where Hash, Struct and Array can contain any of these listed ((:types:)):

  • Fixnum, Bignum
  • TrueClass, FalseClass (true, false)
  • String, Symbol
  • Float
  • Hash, Struct
  • Array
  • Date, Time, XMLRPC::DateTime
  • XMLRPC::Base64
  • A Ruby object which class includes XMLRPC::Marshallable (only if Config::ENABLE_MARSHALLABLE is true). That object is converted into a hash, with one additional key/value pair "___class___" which contains the class name for restoring later that object.
call2(method, *args)

The difference between this method and [[unknown:call|XMLRPC::Client#call]] is, that this method do ((*not*)) raise a XMLRPC::FaultException exception. The method returns an array of two values. The first value indicates if the second value is a return-value (true) or an object of type XMLRPC::FaultException. Both are explained in [[unknown:call|XMLRPC::Client#call]].

call_async(...)
call2_async(...)
multicall_async(...)
multicall2_async(...)
proxy_async(...)
proxy2_async(...)

In contrast to corresponding methods without "_async", these can be called concurrently and use for each request a new connection, where the non-asynchronous counterparts use connection-alive (one connection for all requests) if possible.

cookie
cookie=()

Get and set the HTTP Cookie header.

http_header_extra

Access the via [[unknown:XMLRPC::Client#http_header_extra=]] assigned header.

http_header_extra=()

Set extra HTTP headers that are included in the request.

http_last_response

Returns the Net::HTTPResponse object of the last RPC.

multicall(*methods)

You can use this method to execute several methods on a XMLRPC server which supports the multi-call extension. Example:

multicall2(*methods)

Same as [[unknown:XMLRPC::Client#multicall]], but returns like [[unknown:XMLRPC::Client#call2]] two parameters instead of raising an XMLRPC::FaultException.

timeout
user
password

Return the corresponding attributes.

timeout=()
user=()
password=()

Set the corresponding attributes.

proxy(prefix, *args)

Returns an object of class XMLRPC::Client::Proxy, initialized with prefix and args. A proxy object returned by this method behaves like [[unknown:XMLRPC::Client#call]], i.e. a call on that object will raise a XMLRPC::FaultException when a fault-structure is returned by that call.

proxy2(prefix, *args)

Almost the same like XMLRPC::Client#proxy only that a call on the returned XMLRPC::Client::Proxy object behaves like [[unknown:XMLRPC::Client#call2]], i.e. a call on that object will return two parameters.

set_parser(parser)

Sets the XML parser to use for parsing XML documents. Should be an instance of a class from module XMLRPC::XMLParser. If this method is not called, then XMLRPC::Config::DEFAULT_PARSER is used.

set_writer(writer)

Sets the XML writer to use for generating XML output. Should be an instance of a class from module XMLRPC::XMLWriter. If this method is not called, then XMLRPC::Config::DEFAULT_WRITER is used.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class XMLRPC::Client::Proxy

ancestors: XMLRPC::Client::Proxy < XMLRPC::Client < Object < Kernel

Abstract

Class XMLRPC::Client::Proxy makes XML-RPC calls look nicer!

You can call any method onto objects of that class - the object handles method_missing and will forward the method call to a XML-RPC server. Don't use this class directly, but use instead method [[unknown:XMLRPC::Client#proxy]] or XMLRPC::Client#proxy2.

Every method call is forwarded to the XML-RPC server defined in XMLRPC::Client::Proxy.new.

Note: Inherited methods from class Object cannot be used as XML-RPC names, because they get around method_missing.

require "xmlrpc/client"

server = XMLRPC::Client.new("www.ruby-lang.org", "/RPC2", 80)

michael  = server.proxy("michael")
michael2 = server.proxy("michael", 4)

# both calls should return the same value '9'.
p michael.add(4,5)
p michael2.add(5)

Singleton Methods

Signature | Description
new(server, prefix, args=[], meth=:call, delim=".") | Creates an object which provides method_missing.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint call call2 call2_async cookie http_header_extra http_header_extra= http_last_response multicall multicall2 password password= proxy proxy2 set_parser set_writer .new2 .new3


library xmlrpc/config

Abstract

Classes/Modules

module XMLRPC::Config

Configuration file for XML-RPC for Ruby


module XMLRPC::Config

ancestors: XMLRPC::Config

Abstract

Configuration file for XML-RPC for Ruby

Constants

Signature Description
DEFAULT_PARSER
DEFAULT_WRITER
ENABLE_BIGINT

allows integers greater than 32-bit if true

ENABLE_INTROSPECTION

enable Introspection extension by default

ENABLE_MARSHALLING

enable marshalling ruby objects which include XMLRPC::Marshallable

ENABLE_MULTICALL

enable multiCall extension by default

ENABLE_NIL_CREATE
ENABLE_NIL_PARSER

enable <nil/> tag


library xmlrpc/datetime

Abstract

Classes/Modules

class XMLRPC::DateTime

This class is important to handle XMLRPC dateTime.iso8601 values, correcly, because normal UNIX-dates (class Date) only handle dates from year 1970 on, and class Time handles dates without the time component. XMLRPC::DateTime is able to store a XMLRPC dateTime.iso8601 value correctly.


class XMLRPC::DateTime

ancestors: XMLRPC::DateTime < Object < Kernel

Abstract

This class is important to handle XMLRPC dateTime.iso8601 values, correcly, because normal UNIX-dates (class Date) only handle dates from year 1970 on, and class Time handles dates without the time component. XMLRPC::DateTime is able to store a XMLRPC dateTime.iso8601 value correctly.

Singleton Methods

Signature | Description
new(year, month, day, hour, min, sec) | Creates a new XMLRPC::DateTime instance with the parameters year, month, day as date and hour, min, sec as time. Raises ArgumentError if a parameter is out of range, or year is not of type Integer.

Instance Methods

Signature Description
year
month
day
hour
min
sec

Return the value of the specified date/time component.

year=()
month=()
day=()
hour=()
min=()
sec=()

Set value as the new date/time component. Raises ArgumentError if value is out of range, or in the case of XMLRPC::DateTime#year= if value is not of type Integer.

mon

Alias for [[unknown:XMLRPC::DateTime#month]].

mon=()

Alias for [[unknown:XMLRPC::DateTime#month=]].

to_a

Returns all date/time components in an array. Returns [year, month, day, hour, min, sec].

to_date

Return a Date object of the date which self represents. The Date object do ((*not*)) contain the time component (only date).

to_time

Return a Time object of the date/time which self represents. If the (('year')) is below 1970, this method returns nil, because Time cannot handle years below 1970. The used timezone is GMT.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library xmlrpc/server

Abstract

XML-RPC サーバのためのライブラリです。

CGI-based Server

There are also two ways to define handler, the first is like C/PHP, the second like Java, of course both ways can be mixed:

C/PHP-like (handler functions)

require "xmlrpc/server"

s = XMLRPC::CGIServer.new

s.add_handler("sample.sumAndDifference") do |a,b|
  { "sum" => a + b, "difference" => a - b }
end

s.serve

Java-like (handler classes)

require "xmlrpc/server"

s = XMLRPC::CGIServer.new

class MyHandler
  def sumAndDifference(a, b)
    { "sum" => a + b, "difference" => a - b }
  end
end

# NOTE: Security Hole (read below)!!!
s.add_handler("sample", MyHandler.new)
s.serve

To return a fault-structure you have to raise an FaultException e.g.:

raise XMLRPC::FaultException.new(3, "division by Zero")
Security Note

From Brian Candler:

Above code sample has an extremely nasty security hole, in that you can now call
any method of 'MyHandler' remotely, including methods inherited from Object
and Kernel! For example, in the client code, you can use

  puts server.call("sample.send","`","ls")

(backtick being the method name for running system processes). Needless to
say, 'ls' can be replaced with something else.

The version which binds proc objects (or the version presented below in the next section)
doesn't have this problem, but people may be tempted to use the second version because it's
so nice and 'Rubyesque'. I think it needs a big red disclaimer.

From Michael:

A solution is to undef insecure methods or to use XMLRPC::iPIMethods as shown below:

class MyHandler
  def sumAndDifference(a, b)
    { "sum" => a + b, "difference" => a - b }
  end
end

# ... server initialization ...

s.add_handler(XMLRPC::iPIMethods("sample"), MyHandler.new)

# ...

This adds only public instance methods explicitly declared in class MyHandler (and not those inherited from any other class).

With interface declarations

Code sample from the book Ruby Developer's Guide:

require "xmlrpc/server"

class Num
  INTERFACE = XMLRPC::interface("num") {
    meth 'int add(int, int)', 'Add two numbers', 'add'
    meth 'int div(int, int)', 'Divide two numbers'
  }

  def add(a, b) a + b end
  def div(a, b) a / b end
end

s = XMLRPC::CGIServer.new
s.add_handler(Num::INTERFACE, Num.new)
s.serve

Standalone server

Same as CGI-based server, only that the line

server = XMLRPC::CGIServer.new

must be changed to

server = XMLRPC::Server.new(8080)

if you want a server listening on port 8080. The rest is the same.

Classes/Modules

class XMLRPC::BasicServer | Is the base class for all XML-RPC server-types (CGI, standalone). You can add handler and set a default handler. Do not use this server, as this is/should be an abstract class.
class XMLRPC::CGIServer | Implements a CGI-based XML-RPC server.
class XMLRPC::ModRubyServer | Implements a XML-RPC server, which works with Apache mod_ruby. Use it in the same way as CGIServer!
class XMLRPC::Server | Implements a standalone XML-RPC server. The method serve) is left if a SIGHUP is sent to the program.
class XMLRPC::WEBrickServlet | Implements a servlet for use with WEBrick, a pure Ruby (HTTP-) server framework.

Required Libraries

xmlrpc/datetime


class XMLRPC::BasicServer

ancestors: XMLRPC::BasicServer < Object < Kernel

Abstract

Is the base class for all XML-RPC server-types (CGI, standalone). You can add handler and set a default handler. Do not use this server, as this is/should be an abstract class.

How the method to call is found

The arity (number of accepted arguments) of a handler (method or Proc object) is compared to the given arguments submitted by the client for a RPC ((-Remote Procedure Call-)). A handler is only called if it accepts the number of arguments, otherwise the search for another handler will go on. When at the end no handler was found, the XMLRPC::BasicServer#set_default_handler will be called. With this technique it is possible to do overloading by number of parameters, but only for Proc handler, because you cannot define two methods of the same name in the same class.

Singleton Methods

Signature | Description
new(class_delim=".") | Creates a new XMLRPC::BasicServer instance, which should not be done, because XMLRPC::BasicServer is an abstract class. This method should be called from a subclass indirectly by a super call in the method initialize. The paramter class_delim is used in [[mXMLRPC::BasicServer#add_handler]] when an object is added as handler, to delimit the object-prefix and the method-name.

Instance Methods

Signature Description
add_handler(name, signature=nil, help=nil) { aBlock }

Adds aBlock to the list of handlers, with name as the name of the method. Parameters signature and help are used by the Introspection method if specified, where signature is either an Array containing strings each representing a type of it's signature (the first is the return value) or an Array of Arrays if the method has multiple signatures. Value type-names are "int, boolean, double, string, dateTime.iso8601, base64, array, struct".

add_handler(prefix, obj)

This is the second form of [[unknown:add_handler|XMLRPC::BasicServer#add_handler]]. To add an object write:

server.add_handler("michael", MyHandlerClass.new)

All public methods of MyHandlerClass are accessible to the XML-RPC clients by (('michael."name of method"')). This is where the class_delim in [[unknown:new|XMLRPC::BasicServer.new]] has it's role, a XML-RPC method-name is defined by prefix + class_delim + (('"name of method"')).

add_handler(interface, obj)

This is the third form of [[unknown:add_handler|XMLRPC::BasicServer#add_handler]].

add_introspection

Adds the introspection handlers "system.listMethods", "system.methodSignature" and "system.methodHelp", where only the first one works.

add_multicall

Adds the multi-call handler "system.multicall".

get_default_handler

Returns the default-handler, which is called when no handler for a method-name is found. It is a Proc object or nil.

get_service_hook

Returns the service-hook, which is called on each service request (RPC) unless it's nil.

set_default_handler(&handler)

Sets handler as the default-handler, which is called when no handler for a method-name is found. handler is a code-block. The default-handler is called with the (XML-RPC) method-name as first argument, and the other arguments are the parameters given by the client-call.

set_parser(parser)

Sets the XML parser to use for parsing XML documents. Should be an instance of a class from module XMLRPC::XMLParser. If this method is not called, then XMLRPC::Config::DEFAULT_PARSER is used.

set_service_hook(&handler)

A service-hook is called for each service request (RPC). You can use a service-hook for example to wrap existing methods and catch exceptions of them or convert values to values recognized by XMLRPC. You can disable it by passing nil as parameter handler .

set_writer(writer)

Sets the XML writer to use for generating XML output. Should be an instance of a class from module XMLRPC::XMLWriter. If this method is not called, then XMLRPC::Config::DEFAULT_WRITER is used.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class XMLRPC::CGIServer

ancestors: XMLRPC::CGIServer < XMLRPC::BasicServer < Object < Kernel

Abstract

Implements a CGI-based XML-RPC server.

require "xmlrpc/server"

s = XMLRPC::CGIServer.new

s.add_handler("michael.add") do |a,b|
  a + b
end

s.add_handler("michael.div") do |a,b|
  if b == 0
    raise XMLRPC::FaultException.new(1, "division by zero")
  else
    a / b
  end
end

s.set_default_handler do |name, *args|
  raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
                                   " or wrong number of parameters!")
end

s.serve

Singleton Methods

Signature | Description
new(*a) | Creates a new XMLRPC::CGIServer instance. All parameters given are by-passed to [[unknown:XMLRPC::BasicServer.new]]. You can only create ((*one*)) XMLRPC::CGIServer instance, because more than one makes no sense.

Instance Methods

Signature | Description
serve | Call this after you have added all you handlers to the server. This method processes a XML-RPC methodCall and sends the answer back to the client. Make sure that you don't write to standard-output in a handler, or in any other part of your program, this would case a CGI-based server to fail!

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_handler add_introspection add_multicall get_default_handler get_service_hook set_default_handler set_parser set_service_hook set_writer


class XMLRPC::ModRubyServer

ancestors: XMLRPC::ModRubyServer < XMLRPC::BasicServer < Object < Kernel

Abstract

Implements a XML-RPC server, which works with Apache mod_ruby. Use it in the same way as CGIServer!

Singleton Methods

Signature | Description
new(*args) |

Instance Methods

Signature | Description
serve |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_handler add_introspection add_multicall get_default_handler get_service_hook set_default_handler set_parser set_service_hook set_writer


class XMLRPC::Server

ancestors: XMLRPC::Server

      < XMLRPC::WEBrickServlet

      < XMLRPC::BasicServer

      < Object

      < Kernel

Abstract

Implements a standalone XML-RPC server. The method serve) is left if a SIGHUP is sent to the program.

require "xmlrpc/server"

s = XMLRPC::Server.new(8080)

s.add_handler("michael.add") do |a,b|
  a + b
end

s.add_handler("michael.div") do |a,b|
  if b == 0
    raise XMLRPC::FaultException.new(1, "division by zero")
  else
    a / b
  end
end

s.set_default_handler do |name, *args|
  raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
                                   " or wrong number of parameters!")
end

s.serve

Singleton Methods

Signature | Description
new(port=8080, host="127.0.0.1", maxConnections=4, stdlog=$stdout, audit=true, debug=true, *a) | Creates a new XMLRPC::Server instance, which is a XML-RPC server listening on port port and accepts requests for the host host, which is by default only the localhost. The server is not started, to start it you have to call XMLRPC::Server#serve.

Instance Methods

Signature | Description
serve | Call this after you have added all you handlers to the server. This method starts the server to listen for XML-RPC requests and answer them.
shutdown | Stops and shuts the server down.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_handler add_introspection add_multicall get_default_handler get_service_hook set_default_handler set_parser set_service_hook set_writer get_valid_ip set_valid_ip


class XMLRPC::WEBrickServlet

ancestors: XMLRPC::WEBrickServlet < XMLRPC::BasicServer < Object < Kernel

Abstract

Implements a servlet for use with WEBrick, a pure Ruby (HTTP-) server framework.

require "webrick"
require "xmlrpc/server"

s = XMLRPC::WEBrickServlet.new
s.add_handler("michael.add") do |a,b|
  a + b
end

s.add_handler("michael.div") do |a,b|
  if b == 0
    raise XMLRPC::FaultException.new(1, "division by zero")
  else
    a / b
  end
end

s.set_default_handler do |name, *args|
  raise XMLRPC::FaultException.new(-99, "Method #{name} missing" +
                                   " or wrong number of parameters!")
end

httpserver = WEBrick::HTTPServer.new(:Port => 8080)
httpserver.mount("/RPC2", s)
trap("HUP") { httpserver.shutdown }   # use 1 instead of "HUP" on Windows
httpserver.start

Instance Methods

Signature | Description
get_valid_ip | Return the via method XMLRPC::Server#set_valid_ip specified valid IP addresses.
set_valid_ip(*ip_addr) | Specifies the valid IP addresses that are allowed to connect to the server. Each IP is either a String or a Regexp.

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint add_handler add_introspection add_multicall get_default_handler get_service_hook set_default_handler set_parser set_service_hook set_writer .new


library xsd

Abstract

XSD を扱うライブラリです。

Sub-Libraries

xsd/charset | (uninitialized)
xsd/codegen |
xsd/codegen/gensupport | (uninitialized)
xsd/datatypes |
xsd/datatypes1999 |
xsd/namedelements | (uninitialized)
xsd/ns | (uninitialized)
xsd/qname | (uninitialized)
xsd/xmlparser |


library xsd/codegen

Abstract

Classes/Modules

class XSD::CodeGen::ClassDef
module XSD::CodeGen::CommentDef
module XSD::CodeGen::GenSupport
class XSD::CodeGen::MethodDef
class XSD::CodeGen::ModuleDef

Sub-Libraries

xsd/codegen/gensupport

(uninitialized)


class XSD::CodeGen::ClassDef

ancestors: XSD::CodeGen::ClassDef

      < XSD::CodeGen::GenSupport

      < XSD::CodeGen::ModuleDef

      < XSD::CodeGen::GenSupport

      < XSD::CodeGen::CommentDef

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(name, baseclass = nil) |

Instance Methods

Signature | Description
def_attr(attrname, writable = true, varname = nil) |
def_classvar(var, value) |
dump |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .#capitalize .#format .#keyword? .#safeconstname .#safeconstname? .#safemethodname .#safemethodname? .#safevarname .#safevarname? .#uncapitalize add_method def_code def_const def_method def_privatemethod def_protectedmethod def_require


module XSD::CodeGen::CommentDef

ancestors: XSD::CodeGen::CommentDef < XSD::CodeGen::GenSupport

Abstract

Singleton Methods

Signature | Description
new(name, baseclass = nil) |

Instance Methods

Signature Description
comment
comment=(comment)

Inherited Methods

.#capitalize .#format .#keyword? .#safeconstname .#safeconstname? .#safemethodname .#safemethodname? .#safevarname .#safevarname? .#uncapitalize


module XSD::CodeGen::GenSupport

ancestors: XSD::CodeGen::GenSupport

Abstract

Module Functions

Signature | Description
capitalize(target) |
format(str, indent = nil) |
keyword?(word) |
safeconstname(name) |
safeconstname?(name) |
safemethodname(name) |
safemethodname?(name) |
safevarname(name) |
safevarname?(name) |
uncapitalize(target) |


class XSD::CodeGen::MethodDef

ancestors: XSD::CodeGen::MethodDef

      < XSD::CodeGen::GenSupport

      < XSD::CodeGen::CommentDef

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(name, *params) |

Instance Methods

Signature Description
definition
definition=(definition)
dump

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint comment .#capitalize .#format .#keyword? .#safeconstname .#safeconstname? .#safemethodname .#safemethodname? .#safevarname .#safevarname? .#uncapitalize


class XSD::CodeGen::ModuleDef

ancestors: XSD::CodeGen::ModuleDef

      < XSD::CodeGen::GenSupport

      < XSD::CodeGen::CommentDef

      < XSD::CodeGen::GenSupport

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(name) |

Instance Methods

Signature | Description
add_method(m, visibility = :public) |
def_code(code) |
def_const(const, value) |
def_method(name, *params) { ... } |
def_privatemethod(name, *params) { ... } |
def_protectedmethod(name, *params) { ... } |
def_require(path) |
dump |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


library xsd/datatypes

Abstract

Classes/Modules

module XSD |
module XSD::Charset |
module XSD::FloatConstants |
class XSD::IconvCharset | require 'iconv'
module XSD::NS |
class XSD::NS::Assigner |
class XSD::NSDBase |
class XSD::NamedElements |
class XSD::QName |
class XSD::XSDAnySimpleType |
class XSD::XSDAnyURI |
class XSD::XSDBase64Binary |
class XSD::XSDBoolean |
class XSD::XSDByte |
class XSD::XSDDate |
class XSD::XSDDateTime |
module XSD::XSDDateTimeImpl |
class XSD::XSDDecimal |
class XSD::XSDDouble |
class XSD::XSDDuration |
class XSD::XSDFloat |
class XSD::XSDGDay |
class XSD::XSDGMonth |
class XSD::XSDGMonthDay |
class XSD::XSDGYear |
class XSD::XSDGYearMonth |
class XSD::XSDHexBinary |
class XSD::XSDInt |
class XSD::XSDInteger |
class XSD::XSDLong |
class XSD::XSDNegativeInteger |
class XSD::XSDNil |
class XSD::XSDNonNegativeInteger |
class XSD::XSDNonPositiveInteger |
class XSD::XSDNormalizedString |
class XSD::XSDPositiveInteger |
class XSD::XSDQName |
class XSD::XSDShort |
class XSD::XSDString |
class XSD::XSDTime |
class XSD::XSDUnsignedByte |
class XSD::XSDUnsignedInt |
class XSD::XSDUnsignedLong |
class XSD::XSDUnsignedShort |

Exception Classes

class XSD::Charset::CharsetConversionError
class XSD::Charset::CharsetError
class XSD::Charset::UnknownCharsetError
class XSD::Charset::XSDError
class XSD::Error
class XSD::NS::FormatError
class XSD::ValueSpaceError


module XSD

ancestors: XSD

Abstract

Constants

Signature | Description
InstanceNamespace |
Namespace |


module XSD::Charset

ancestors: XSD::Charset

Abstract

Module Functions

Signature Description
charset_label(encoding)
charset_str(label)
encoding
encoding=(encoding)
encoding_conv(str, enc_from, enc_to)
encoding_from_xml(str, charset)
encoding_to_xml(str, charset)
init
is_ces(str, code = $KCODE)
is_euc(str)
is_sjis(str)
is_us_ascii(str)
is_utf8(str)
xml_encoding_label


class XSD::Charset::CharsetConversionError

ancestors: XSD::Charset::CharsetConversionError < XSD::Charset::CharsetError < XSD::Charset::XSDError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::Charset::CharsetError

ancestors: XSD::Charset::CharsetError < XSD::Charset::XSDError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::Charset::UnknownCharsetError

ancestors: XSD::Charset::UnknownCharsetError < XSD::Charset::CharsetError < XSD::Charset::XSDError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::Charset::XSDError

ancestors: XSD::Charset::XSDError < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::Error

ancestors: XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


module XSD::FloatConstants

ancestors: XSD::FloatConstants

Abstract

Constants

Signature | Description
NEGATIVE_INF |
NaN |
POSITIVE_INF |


class XSD::IconvCharset

ancestors: XSD::IconvCharset < Object < Kernel

Abstract

require 'iconv'

Singleton Methods

Signature | Description
safe_iconv(to, from, str) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint .new


module XSD::NS

ancestors: XSD::NS

Abstract

Instance Methods

Signature | Description
assign(ns, tag = nil) |
assigned?(ns) |
assigned_tag?(tag) |
clone_ns |
compare(ns, name, rhs) |
default_namespace |
each_ns {|ns, tag| .... } |
initialize(tag2ns = {}) |
name(name) |
parse(elem) |
parse_local(elem) |


class XSD::NS::Assigner

ancestors: XSD::NS::Assigner < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
assign(ns) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class XSD::NS::FormatError

ancestors: XSD::NS::FormatError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::NSDBase

ancestors: XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
inherited(klass) |
new |
types |

Instance Methods

Signature Description
type
type=(type)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class XSD::NamedElements

ancestors: XSD::NamedElements < Enumerable < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
self + rhs |
self << rhs |
self[idx] |
concat(rhs) |
delete(rhs) |
dup |
each {|element| ...} |
empty? |
find_name(name) |
freeze |
keys |
size |

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class XSD::QName

ancestors: XSD::QName < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(namespace = nil, name = nil) |

Instance Methods

Signature Description
self == rhs
self === rhs
eql?(rhs)
dump
dup_name(name)
hash
inspect
match(rhs)
name
name=(name)
namespace
namespace=(namespace)
parse(str)
source
source=(source)
to_s

Inherited Methods

=~ __id__ __send__ _dump class clone dclone display enum_for equal? extend freeze frozen? initialize initialize_copy instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint


class XSD::ValueSpaceError

ancestors: XSD::ValueSpaceError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XSDAnySimpleType

ancestors: XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Instance Methods

Signature Description
check_lexical_format(value)
data
is_nil
is_nil=(bool)
set(value)
to_s

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types


class XSD::XSDAnyURI

ancestors: XSD::XSDAnyURI < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDBase64Binary

ancestors: XSD::XSDBase64Binary < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Instance Methods

Signature | Description
set_encoded(value) |
string |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDBoolean

ancestors: XSD::XSDBoolean < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDByte

ancestors: XSD::XSDByte

      < XSD::XSDShort

      < XSD::XSDInt

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDDate

ancestors: XSD::XSDDate < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDDateTime

ancestors: XSD::XSDDateTime < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


module XSD::XSDDateTimeImpl

ancestors: XSD::XSDDateTimeImpl

Abstract

Instance Methods

Signature | Description
_set(t) |
add_tz(s) |
of2tz(offset) |
to_date |
to_datetime |
to_obj(klass) |
to_time |
tz2of(str) |


class XSD::XSDDecimal

ancestors: XSD::XSDDecimal < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Instance Methods

Signature | Description
nonzero? |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDDouble

ancestors: XSD::XSDDouble < XSD::FloatConstants < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::NEGATIVE_INF ::NaN ::POSITIVE_INF type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDDuration

ancestors: XSD::XSDDuration < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Instance Methods

Signature Description
day
day=(day)
hour
hour=(hour)
min
min=(min)
month
month=(month)
sec
sec=(sec)
sign
sign=(sign)
year
year=(year)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDFloat

ancestors: XSD::XSDFloat < XSD::FloatConstants < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint ::NEGATIVE_INF ::NaN ::POSITIVE_INF type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDGDay

ancestors: XSD::XSDGDay < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDGMonth

ancestors: XSD::XSDGMonth < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDGMonthDay

ancestors: XSD::XSDGMonthDay < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDGYear

ancestors: XSD::XSDGYear < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDGYearMonth

ancestors: XSD::XSDGYearMonth < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDHexBinary

ancestors: XSD::XSDHexBinary < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Instance Methods

Signature | Description
set_encoded(value) |
string |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDInt

ancestors: XSD::XSDInt

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDInteger

ancestors: XSD::XSDInteger < XSD::XSDDecimal < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDLong

ancestors: XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDNegativeInteger

ancestors: XSD::XSDNegativeInteger

      < XSD::XSDNonPositiveInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDNil

ancestors: XSD::XSDNil < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDNonNegativeInteger

ancestors: XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDNonPositiveInteger

ancestors: XSD::XSDNonPositiveInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDNormalizedString

ancestors: XSD::XSDNormalizedString < XSD::XSDString < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDPositiveInteger

ancestors: XSD::XSDPositiveInteger

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDQName

ancestors: XSD::XSDQName < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDShort

ancestors: XSD::XSDShort

      < XSD::XSDInt

      < XSD::XSDLong

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDString

ancestors: XSD::XSDString < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s


class XSD::XSDTime

ancestors: XSD::XSDTime < XSD::XSDDateTimeImpl < XSD::XSDAnySimpleType < XSD < XSD::NSDBase < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s _set add_tz of2tz to_date to_datetime to_obj to_time tz2of


class XSD::XSDUnsignedByte

ancestors: XSD::XSDUnsignedByte

      < XSD::XSDUnsignedShort

      < XSD::XSDUnsignedInt

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDUnsignedInt

ancestors: XSD::XSDUnsignedInt

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDUnsignedLong

ancestors: XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


class XSD::XSDUnsignedShort

ancestors: XSD::XSDUnsignedShort

      < XSD::XSDUnsignedInt

      < XSD::XSDUnsignedLong

      < XSD::XSDNonNegativeInteger

      < XSD::XSDInteger

      < XSD::XSDDecimal

      < XSD::XSDAnySimpleType

      < XSD

      < XSD::NSDBase

      < Object

      < Kernel

Abstract

Singleton Methods

Signature | Description
new(value = nil) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str to_yaml to_yaml_properties to_yaml_style untaint type .inherited .types check_lexical_format data is_nil set to_s nonzero?


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes1999

library xsd/datatypes1999

Abstract


library xsd/xmlparser

Abstract

Classes/Modules

module XSD::XMLParser |
class XSD::XMLParser::Parser |
class XSD::XMLParser::REXMLParser | require 'rexml/streamlistener' require 'rexml/document'
class XSD::XMLParser::XMLParser | require 'xml/parser'
class XSD::XMLParser::XMLScanner | require 'xmlscan/scanner'

Exception Classes

class XSD::XMLParser::ElementConstraintError
class XSD::XMLParser::FormatDecodeError
class XSD::XMLParser::ParserError
class XSD::XMLParser::UnexpectedElementError
class XSD::XMLParser::UnknownAttributeError
class XSD::XMLParser::UnknownElementError


module XSD::XMLParser

ancestors: XSD::XMLParser

Abstract

Module Functions

Signature | Description
create_parser(host, opt) |
filter_ns(ns, attrs) |


class XSD::XMLParser::ElementConstraintError

ancestors: XSD::XMLParser::ElementConstraintError < XSD::XMLParser::FormatDecodeError < XSD::XMLParser::ParserError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::FormatDecodeError

ancestors: XSD::XMLParser::FormatDecodeError < XSD::XMLParser::ParserError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::Parser

ancestors: XSD::XMLParser::Parser < Object < Kernel

Abstract

Singleton Methods

Signature | Description
add_factory(factory) |
create_parser(host, opt = {}) |
factory |
new(host, opt = {}) |

Instance Methods

Signature Description
charset
charset=(charset)
parse(string_or_readable)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::ParserError

ancestors: XSD::XMLParser::ParserError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::REXMLParser

ancestors: XSD::XMLParser::REXMLParser < XSD::XMLParser::Parser < Object < Kernel

Abstract

require 'rexml/streamlistener' require 'rexml/document'

include REXML::StreamListener

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
do_parse(string_or_readable) |
epilogue |
tag_end(name) |
tag_start(name, attrs) |
text(text) |
xmldecl(version, encoding, standalone) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint charset parse .add_factory .create_parser .factory


class XSD::XMLParser::UnexpectedElementError

ancestors: XSD::XMLParser::UnexpectedElementError < XSD::XMLParser::FormatDecodeError < XSD::XMLParser::ParserError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::UnknownAttributeError

ancestors: XSD::XMLParser::UnknownAttributeError < XSD::XMLParser::FormatDecodeError < XSD::XMLParser::ParserError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::UnknownElementError

ancestors: XSD::XMLParser::UnknownElementError < XSD::XMLParser::FormatDecodeError < XSD::XMLParser::ParserError < XSD::Error < StandardError < Exception < Object < Kernel

Abstract

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class XSD::XMLParser::XMLParser

ancestors: XSD::XMLParser::XMLParser < XSD::XMLParser::Parser < Object < Kernel

Abstract

require 'xml/parser'

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
do_parse(string_or_readable) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint charset parse .add_factory .create_parser .factory


class XSD::XMLParser::XMLScanner

ancestors: XSD::XMLParser::XMLScanner < XSD::XMLParser::Parser < Object < Kernel

Abstract

require 'xmlscan/scanner'

include XMLScan::Visitor

Singleton Methods

Signature | Description
new |

Instance Methods

Signature | Description
do_parse(string_or_readable) |
on_attr_charref(code) |
on_attr_charref_hex(code) |
on_attr_entityref(ref) |
on_attr_value(str) |
on_attribute(name) |
on_chardata(str) |
on_charref(code) |
on_charref_hex(code) |
on_entityref(ref) |
on_etag(name) |
on_stag(name) |
on_stag_end(name) |
on_stag_end_empty(name) |
on_xmldecl_encoding(str) |
on_xmldecl_version(str) |
parse_error(msg) |
scanner_kcode=(charset) |
valid_error(msg) |
warning(msg) |
wellformed_error(msg) |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint charset parse .add_factory .create_parser .factory


library yaml

Abstract

構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。

例１: 構造化された配列

require 'yaml'

data = [ "Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)

str_l =<<EOT
---
- Taro san
- Jiro san
- Saburo san
EOT

p str_r == str_l #=> true

例２：構造化されたハッシュ

require 'yaml'
require 'date'

str_l =<<YAML_EOT
Tanaka Taro: { age: 35, birthday: 1970-01-01}
Suzuki Suneo: {
  age: 13,
  birthday: 1992-12-21
}
YAML_EOT

str_r = {}
str_r["Tanaka Taro"] = {
  "age" => 35,
  "birthday" => Date.new(1970, 1, 1)
}
str_r["Suzuki Suneo"] = {
  "age" => 13,
  "birthday" => Date.new(1992, 12, 21)
}

p str_r == YAML.load(str_l) #=> true

例３：構造化されたログ

require 'yaml'
require 'stringio'

strio_r = StringIO.new(<<EOT
---
time: 2008-02-25 17:03:12 +09:00
target: YAML
version: 4
log: |
  例を加えた。
  アブストラクトを修正した。
---
time: 2008-02-24 17:00:35 +09:00
target: YAML
version: 3
log: |
  アブストラクトを書いた。

EOT
)

YAML.load_stream(strio_r).documents.sort{|a, b| a["version"] <=> b["version"]}.each{|obj|
  printf "version %d\ntime %s\ntarget:%s\n%s\n", obj["version"], obj["time"], obj["target"], obj["log"]
}

Classes/Modules

module YAML | YAML (YAML Ain't Markup Language) を扱うモジュールです。
module YAML::BaseNode |
class YAML::Stream | YAMLドキュメントを複数保持することができるストリームクラスです。
class YAML::YPath | YAML ドキュメントから特定のデータを検索する機能を提供するYPathのクラスです。
class YAML::YamlNode |

Exception Classes

class YAML::Error | 意図しない入力がメソッドに与えられた時などに発生します。
class YAML::ParseError | 将来のために予約されています。現在は発生しません。
class YAML::TypeError | 意図しない入力がメソッドに与えられた時などに発生します。

Sub-Libraries

yaml/store

RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。

Added/Redefined Methods

Class#to_yaml Kernel#y Object#to_yaml Object#to_yaml_properties Object#to_yaml_style String#is_binary_data? String#is_complex_yaml? Struct.yaml_tag_class_name Struct.yaml_tag_read_class


module YAML

ancestors: YAML

Abstract

YAML (YAML Ain't Markup Language) を扱うモジュールです。

参考

* YAML Specification

  • http://www.yaml.org/spec/
  • http://www.yaml.org/type/

* YAML4R

  • http://yaml4r.sourceforge.net/
  • http://yaml4r.sourceforge.net/cookbook/
  • http://yaml4r.sourceforge.net/doc/

* Ruby with YAMLhttp://www.namikilab.tuat.ac.jp/~sasada/prog/yaml.html * Rubyist Magazinehttp://jp.rubyist.net/magazine/

  • プログラマーのための YAML 入門 (初級編)http://jp.rubyist.net/magazine/?0009-YAML
  • プログラマーのための YAML 入門 (中級編)http://jp.rubyist.net/magazine/?0010-YAML
  • プログラマーのための YAML 入門 (実践編)http://jp.rubyist.net/magazine/?0011-YAML
  • プログラマーのための YAML 入門 (検証編)http://jp.rubyist.net/magazine/?0012-YAML
  • プログラマーのための YAML 入門 (探索編)http://jp.rubyist.net/magazine/?0013-YAML

Module Functions

Signature Description
add_builtin_type(type_re) {|type, val| ...}

yaml.org,2002ドメインに属しているクラスをYAMLに追加し そのクラスを見つけたときの操作を指定します。

add_domain_type(domain, type_re) {|type, val| ...}

YAMLドメインに属しているクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。

add_private_type(type_re) {|type, val| ...}

プライベートタイプのクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。

add_ruby_type(type_re) {|type, val| ...}

rubyタイプのクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。

detect_implicit(val)

文字列のタイプを検知する

dump(obj, io = nil)

与えられた obj を YAML フォーマットに変換し、io に書き込みます。 io が与えられていない場合は、YAML フォーマットの文字列を返します。

dump_stream(*objs)

与えられた objs を順に YAML フォーマットに変換していき、一つの文字列にまとめたものを返します。

each_document(io) {|obj| ...}
load_documents(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をすべて順に読み込み Ruby のオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

each_node(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をすべて順に読み込み YAML::Syck::Mapオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

load(io)
load(str)

YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。 引数として IO オブジェクトと文字列を受け付けます。 io や 文字列が複数の YAML ドキュメントを含んでいても、最初のものしか Ruby のオブジェクトに変換しません。

load_file(file)

与えられた名前のファイルから YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。 ファイルが複数の YAML ドキュメントを含んでいても、 最初のものしか Ruby のオブジェクトに変換しません。

load_stream(io)

与えられた io から YAML フォーマットの文書を すべて順に読み込んで Ruby のオブジェクトに変換していき、 それらオブジェクトを含んだ YAML::Stream を返します。

object_maker(obj_class, val)

与えられたobj_class クラスに、valハッシュをインスタンス変数として追加し obj_classクラスのインスタンスを生成して返します。

parse(io)

与えられた io から YAML フォーマットの文書をパースし YAML::Syck::Nodeオブジェクトに変換します。 複数のドキュメントを読み込む場合は、YAML.#parse_documents を使用します。

parse_documents(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をパースし YAML::Syck::Nodeオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

parse_file(file_path)

file_pathのファイルから一つのYAMLドキュメントをパースし、 YAML::Syck::Nodeオブジェクトを返します。

quick_emit(oid, opts={}) {|obj| ...}
read_type_class(type, obj_class)
tagurize(val)
transfer
try_implicit(obj)

Constants

Signature | Description
DEFAULTS | YAMLのデフォルトの設定のハッシュです。 Ruby 1.8.3 以降では変更できません。


module YAML::BaseNode

ancestors: YAML::BaseNode

Abstract

Instance Methods

Signature | Description
self[*key] |
at(segment) |
children |
children_with_index |
emit |
match_path(ypath_str) |
match_segment(ypath, depth) |
search(ypath_str) |
select(ypath_str) |
select!(ypath_str) |


class YAML::Error

ancestors: YAML::Error < StandardError < Exception < Object < Kernel

Abstract

意図しない入力がメソッドに与えられた時などに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class YAML::ParseError

ancestors: YAML::ParseError < YAML::Error < StandardError < Exception < Object < Kernel

Abstract

将来のために予約されています。現在は発生しません。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class YAML::Stream

ancestors: YAML::Stream < Object < Kernel

Abstract

YAMLドキュメントを複数保持することができるストリームクラスです。

参考

* ((<Rubyist Magazine|URL:http://jp.rubyist.net/magazine/>))

  • ((<プログラマーのための YAML 入門 (中級編)|URL:http://jp.rubyist.net/magazine/?0010-YAML>))

Singleton Methods

Signature | Description
new(opts = {}) | ストリームを返します。ストリームはYAMLドキュメントを複数保持することができます。

Instance Methods

Signature | Description
self[i] | i番目のドキュメントを参照します。
add(doc) | オブジェクトをドキュメントに追加します。
documents | 現在のドキュメントを配列で返します。
edit(doc_num, doc) | doc_num番目のドキュメントをdocに変更します。 もし、doc_numが現在のドキュメント数より大きい場合は間にはnilが挿入されます。
emit(io = nil) | ストリームに含まれる各ドキュメントをIOにYAML形式で書き込みます。 io がnilの場合は文字列を返します。
options |

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class YAML::TypeError

ancestors: YAML::TypeError < StandardError < Exception < Object < Kernel

Abstract

意図しない入力がメソッドに与えられた時などに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class YAML::YPath

ancestors: YAML::YPath < Object < Kernel

Abstract

YAML ドキュメントから特定のデータを検索する機能を提供するYPathのクラスです。

使用例；"name" を含むセグメントを表示する。

require 'yaml'

YAML.parse_documents(DATA){|doc|
  doc.search('/*//name').each {|node|
    YAML::YPath.each_path(node){|u|
      p u.segments
    }
  }
}

__END__
cat:
 - name: taro
   age: 7
 - name: jiro
   age: 23
---
dog:
 shiba:
  - name: goro
    age: 3
  - name: rokuro
    age: 1
# end of sample

参考

* Rubyist Magazinehttp://jp.rubyist.net/magazine/

  • プログラマーのための YAML 入門 (探索編)http://jp.rubyist.net/magazine/?0013-YAML

Singleton Methods

Signature | Description
each_path(str) {|YPath.new(path)| ...} -> object |
new(str) -> YAML::YPath | YAML::YPath オブジェクトを返します。

Instance Methods

Signature Description
flags -> bool
flags=(val)

執筆者募集。 クラス変数にflags に対する参照、代入をおこなうためのメソッドです。

predicates -> String
predicates=(val)

執筆者募集。 クラス変数にpredicates に対する参照、代入をおこなうためのメソッドです。

segments -> String
segments=(val)

執筆者募集。 クラス変数にsegments に対する参照、代入をおこなうためのメソッドです。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class YAML::YamlNode

ancestors: YAML::YamlNode < YAML::BaseNode < Object < Kernel

Abstract

Singleton Methods

Signature | Description
new(type, val) |

Instance Methods

Signature Description
anchor
anchor=(val)
kind
kind=(val)
transform
transform=(val)
type_id
type_id=(val)
value
value=(val)

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint [] at children children_with_index emit match_path match_segment search select select!


library yaml/store

Abstract

RubyのオブジェクトをYAML形式の外部ファイルに格納するためのクラスです。

require "yaml/store"

db = YAML::Store.new("sample.yml")
db.transaction do
  db["hoge"] = {1 => 100, "bar" => 101}
end

Classes/Modules

class YAML::Store

PStore の YAML 版です。 Marshal.#dump したバイナリ形式の 代わりに YAML 形式でファイルに保存します。


class YAML::Store

ancestors: YAML::Store < PStore < Object < Kernel

Abstract

PStore の YAML 版です。 Marshal.#dump したバイナリ形式の 代わりに YAML 形式でファイルに保存します。

使い方は PStore とほとんど同じです。 インターフェースは Hash に似ています。

Singleton Methods

Signature | Description
new(*options) | YAML形式のファイルを読み込ませたい場合は、最初の引数にファイル名を文字列で指定します。 最後の引数がハッシュであった場合は、YAMLのデフォルトの設定を変更します。

Instance Methods

Signature | Description
self[name] -> object | ルートnameに対応する値を得ます。
self[name] = value | ルート name に対応する値 value を代入します。
abort -> () | データベースの読み書きを終了する。 transaction ブロックから抜けますが、データベースの変更は反映されません。
commit -> () | データベースの読み書きを終了します。
delete(name) -> object | nil | ルートnameに対応する値を削除します。
fetch(name, default = PStore::Error) -> object | ルートnameに対応する値を得る。
path -> String | データベースのファイル名を得ます。
root?(name) -> bool | ルート name がデータベースに格納されている場合に真を返します。
roots -> Array | ルートの集合を配列で返します。
transaction(read_only = false) -> () | トランザクションに入ります。このブロックの中でのみデータベースの読み書きができます。 読み込み専用のトランザクションが使用可能です。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint in_transaction


library zlib

Abstract

zlib を Ruby から使うための拡張ライブラリです。 gzip ファイルの読み書きもサポートします。

参考

標準添付ライブラリ紹介 【第 11 回】zlib

http://jp.rubyist.net/magazine/?0018-BundledLibraries

@see zlib(3)

Classes/Modules

module Zlib | zlib ライブラリに含まれている雑多な機能を提供するモジュール。 各モジュール関数の詳細は zlib.h を参照して下さい。
class Zlib::Deflate | 入力データを圧縮するストリームのクラスです。
class Zlib::GzipFile | gzip 形式の圧縮ファイルを扱う抽象クラス。 具体的な読み込み/書き込み操作は、それぞれサブクラスの Zlib::GzipReader, Zlib::GzipWriter で定義されています。
class Zlib::GzipReader | gzip 形式の圧縮ファイルを読み込むラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。
class Zlib::GzipWriter | gzip 形式の圧縮ファイルを書き出すラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。
class Zlib::Inflate | 入力データを展開するストリームのクラス。Zlib::Deflate と違い、 このクラスのインスタンスを複製 (clone, dup) することはできません。
class Zlib::ZStream | 圧縮データを扱うストリームを表す抽象クラスです。 具体的な圧縮/展開の操作は、それぞれサブクラスの Zlib::Deflate, Zlib::Inflate で定義されています。

Exception Classes

class Zlib::BufError | 出力バッファのサイズが不足している場合に発生します。
class Zlib::DataError | 入力データが壊れている場合などに発生します。
class Zlib::Error | ライブラリ zlib の発行する全ての例外のスーパークラスです。
class Zlib::GzipFile::CRCError | フッターに記録されている CRC 値と実際に展開したデータの CRC 値が 異なる時に発生します。
class Zlib::GzipFile::Error | gzip ファイルを処理している間にエラーが生じた時に発生する全ての例外の スーパークラスです。
class Zlib::GzipFile::LengthError | フッターに記録されているデータ長と実際に展開したデータの 長さが異なる時に発生します。
class Zlib::GzipFile::NoFooter | gzip ファイルにフッターが無い時に発生します。
class Zlib::MemError | メモリ不足である場合に発生します。
class Zlib::NeedDict | 展開に用いる辞書がしていされていない場合に発生します。
class Zlib::StreamEnd | 全ての入力データが処理済みで全ての出力が取り出し済みである場合に発生します。
class Zlib::StreamError | ストリームの状態が異常である場合や、圧縮レベルの指定が無効なもので ある場合に発生します。
class Zlib::VersionError | zlib ライブラリのバージョンがこのライブラリの想定しているバージョンと互換でない場合に発生します。


module Zlib

ancestors: Zlib

Abstract

zlib ライブラリに含まれている雑多な機能を提供するモジュール。 各モジュール関数の詳細は zlib.h を参照して下さい。

@see zlib(3)

Module Functions

Signature | Description
adler32(string = nil, adler = nil) -> Integer | string の Adler-32 チェックサムを計算し、adler を 更新した値を返します。string が省略された場合は Adler-32 チェックサムの初期値を返します。adler が 省略された場合は adler に初期値が与えらたものとして 計算します。
crc32(string = nil, crc = nil) -> Integer | string の CRC チェックサムを計算し、crc を 更新した値を返します。string が省略された場合は CRC チェックサムの初期値を返します。crc が 省略された場合は crc に初期値が与えらたものとして 計算します。
crc_table -> Array | CRC チェックサムの計算に用いるテーブルを配列で返します。
zlib_version -> String | zlib ライブラリのバージョンを表す文字列を返します。

Constants

Signature | Description
ASCII -> Fixnum | Zlib::ZStream#data_type の返す、データタイプを表す整数です。
BEST_COMPRESSION -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。
BEST_SPEED -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。
BINARY -> Fixnum | Zlib::ZStream#data_type の返す、データタイプを表す整数です。
DEFAULT_COMPRESSION -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。
DEFAULT_STRATEGY -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#params に渡す、 圧縮方法を表す整数です。
DEF_MEM_LEVEL -> Fixnum | Zlib::Deflate.new 等に渡す、memory level を表す整数です。
FILTERED -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#params に渡す、 圧縮方法を表す整数です。
FINISH -> Fixnum | Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。
FULL_FLUSH -> Fixnum | Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。
HUFFMAN_ONLY -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#params に渡す、 圧縮方法を表す整数です。
MAX_MEM_LEVEL -> Fixnum | Zlib::Deflate.new 等に渡す、memory level を表す整数です。
MAX_WBITS | Zlib::Deflate.new や Zlib::Inflate.new での windowBits のデフォルト値です。
NO_COMPRESSION -> Fixnum | Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。
NO_FLUSH -> Fixnum | Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。
OS_AMIGA -> Fixnum | OS の種類を表す定数です。
OS_ATARI -> Fixnum | OS の種類を表す定数です。
OS_CODE -> Fixnum | Zlib::GzipFile#os_code メソッドの返す値です。
OS_CPM -> Fixnum | OS の種類を表す定数です。
OS_MACOS -> Fixnum | OS の種類を表す定数です。
OS_MSDOS -> Fixnum | OS の種類を表す定数です。
OS_OS2 -> Fixnum | OS の種類を表す定数です。
OS_QDOS -> Fixnum | OS の種類を表す定数です。
OS_RISCOS -> Fixnum | OS の種類を表す定数です。
OS_TOPS20 -> Fixnum | OS の種類を表す定数です。
OS_UNIX -> Fixnum | OS の種類を表す定数です。
OS_UNKNOWN -> Fixnum | OS の種類を表す定数です。
OS_VMCMS -> Fixnum | OS の種類を表す定数です。
OS_VMS -> Fixnum | OS の種類を表す定数です。
OS_WIN32 -> Fixnum | OS の種類を表す定数です。
OS_ZSYSTEM -> Fixnum | OS の種類を表す定数です。
SYNC_FLUSH -> Fixnum | Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。
UNKNOWN -> Fixnum | Zlib::ZStream#data_type の返す、データタイプを表す整数です。
VERSION | Ruby/zlib のバージョンを表す文字列です。
ZLIB_VERSION -> String | zlib.h のバージョンを表す文字列です。


class Zlib::BufError

ancestors: Zlib::BufError < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

出力バッファのサイズが不足している場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::DataError

ancestors: Zlib::DataError < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

入力データが壊れている場合などに発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::Deflate

ancestors: Zlib::Deflate < Zlib::ZStream < Object < Kernel

Abstract

入力データを圧縮するストリームのクラスです。

Singleton Methods

Signature | Description
deflate(string, level = Zlib::DEFAULT_COMPRESSION) -> String | string を圧縮します。level の有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。
new(level = Zlib::DEFAULT_COMPRESSION, windowBits = Zlib::MAX_WBITS, memlevel = Zlib::DEF_MEM_LEVEL, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::Deflate | 圧縮ストリームを作成します。各引数の詳細は zlib.h を 参照して下さい。nil の場合はデフォルトの値を使用します。

Instance Methods

Signature | Description
self << string -> self | Zlib::Deflate#deflate と同じように string を 圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト そのものを返します。圧縮ストリームからの出力は、 出力バッファに保存されます。
deflate(string, flush = Zlib::NO_FLUSH) -> String | string を圧縮ストリームに入力します。処理後、ストリームからの 出力を返します。このメソッドを呼ぶと出力バッファ及び入力バッファは 空になります。string が nil の場合はストリームへの入力を 終了します。(Zlib::ZStream#finish と同じ)。 flush には Zlib::NO_FLUSH, Zlib::SYNC_FLUSH, Zlib::FULL_FLUSH, Zlib::FINISH のいずれかを指定します。 詳しくは zlib.h を参照して下さい。
finish -> String | 圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。
flush(flush = Zlib::SYNC_FLUSH) -> String | deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。
params(level, strategy) -> nil | 圧縮ストリームの設定を変更します。詳しくは zlib.h を 参照して下さい。設定の変更に伴うストリームからの出力は 出力バッファに保存されます。
set_dictionary(string) -> String | 圧縮に用いる辞書を指定します。string を返します。 このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint adler avail_in avail_out avail_out= close closed? data_type finished? flush_next_in flush_next_out reset total_in total_out


class Zlib::Error

ancestors: Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

ライブラリ zlib の発行する全ての例外のスーパークラスです。

以下の例外が Zlib::Error のサブクラスとして定義されています。 それぞれ zlib ライブラリ関数の返すエラーと対応しています。

* Zlib::StreamEnd
* Zlib::NeedDict
* Zlib::DataError
* Zlib::StreamError
* Zlib::MemError
* Zlib::BufError
* Zlib::VersionError

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::GzipFile

ancestors: Zlib::GzipFile < Object < Kernel

Abstract

gzip 形式の圧縮ファイルを扱う抽象クラス。 具体的な読み込み/書き込み操作は、それぞれサブクラスの Zlib::GzipReader, Zlib::GzipWriter で定義されています。

IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。

Singleton Methods

Signature | Description
new(args...) -> () | 直接使用しません。 通常、具体的な読み書きをおこなうためには、 Zlib::GzipReader.new もしくは、 Zlib::GzipWriter.new を使用します。
open(args...) {|gz| ... } -> () | 直接使用しません。 通常、具体的な読み書きをおこなうためには、 Zlib::GzipReader.open もしくは、Zlib::GzipWriter.open を使用します。
wrap(args...) {|gz| ... } -> () | 直接使用しません。 通常、具体的な読み書きをおこなうためには、 Zlib::GzipReader.wrap もしくは、Zlib::GzipWriter.wrap を使用します。

Instance Methods

Signature Description
close -> IO

GzipFile オブジェクトをクローズします。このメソッドは 関連付けられている IO オブジェクトの close メソッドを呼び出します。 関連付けられている IO オブジェクトを返します。

closed? -> bool
to_io -> IO

IO クラスの同名メソッドと同じ。

comment -> String | nil

gzip ファイルのヘッダーに記録されているコメントを返します。 コメントが存在しない場合は nil を返します。

crc -> Integer

圧縮されていないデータの CRC 値を返します。

finish -> IO

GzipFile オブジェクトをクローズします。Zlib::GzipFile#closeと違い、 このメソッドは関連付けられている IO オブジェクトの close メソッドを 呼び出しません。関連付けられている IO オブジェクトを返します。

level -> Integer

圧縮レベルを返します。

mtime -> Time

gzip ファイルのヘッダーに記録されている最終更新時間を返します。

orig_name -> String | nil

gzip ファイルのヘッダーに記録されている元ファイル名を返します。 ファイル名が記録されていない場合は nil を返します。

os_code -> Integer

gzip ファイルのヘッダーに記録されている OS コード番号を返します。

sync -> bool
sync=(flag)

IO クラスと同じ。flag が真の時、関連付けられている IO オブジェクトが flush メソッドを持っていなければなりません。 また、true にすると圧縮率が著しく低下します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::GzipFile::CRCError

ancestors: Zlib::GzipFile::CRCError < Zlib::GzipFile::Error < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

フッターに記録されている CRC 値と実際に展開したデータの CRC 値が 異なる時に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::GzipFile::Error

ancestors: Zlib::GzipFile::Error < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

gzip ファイルを処理している間にエラーが生じた時に発生する全ての例外の スーパークラスです。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::GzipFile::LengthError

ancestors: Zlib::GzipFile::LengthError < Zlib::GzipFile::Error < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

フッターに記録されているデータ長と実際に展開したデータの 長さが異なる時に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::GzipFile::NoFooter

ancestors: Zlib::GzipFile::NoFooter < Zlib::GzipFile::Error < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

gzip ファイルにフッターが無い時に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::GzipReader

ancestors: Zlib::GzipReader < Enumerable < Zlib::GzipFile < Object < Kernel

Abstract

gzip 形式の圧縮ファイルを読み込むラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。

require 'zlib'
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}
=end

Zlib::GzipReader.open('hoge.gz') {|gz|
  print gz.read
}

f = File.open('hoge.gz')
gz = Zlib::GzipReader.new(f)
print gz.read
gz.close

Singleton Methods

Signature Description
new(io) -> Zlib::GzipReader

io と関連付けられた GzipReader オブジェクトを作成します。

open(filename) -> Zlib::GzipReader
open(filename) {|gz| ... } -> object

filename で指定されるファイルを gzip ファイルとして オープンします。GzipReader オブジェクトを返します。 その他詳細は Zlib::GzipReader.new や Zlib::GzipReader.wrap と 同じです。

wrap(io) -> Zlib::GzipReader
wrap(io) {|gz| ... } -> object

io と関連付けられた GzipReader オブジェクトを作成します。

Instance Methods

Signature Description
each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self

IO クラスの同名メソッドIO#each, IO#each_lineと同じです。

each_byte {|byte| ... } -> nil

IO クラスの同名メソッドIO#each_byteと同じです。

eof -> bool
eof? -> bool

圧縮データの終端に達した場合真を返します。 フッターが読み込まれていなくても真を返すことに注意して下さい。

getc -> Fixnum | nil

IO クラスの同名メソッドIO#getcと同じです。

gets(rs = $/) -> String | nil

IO クラスの同名メソッドIO#getsと同じです。

lineno -> Fixnum | Bignum

IO クラスの同名メソッドIO#linenoと同じです。

lineno=(num) -> Integer

IO クラスの同名メソッドIO#lineno=と同じです。

pos -> Fixnum
tell -> Fixnum

現在までに展開したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。

read(length = nil) -> String | nil

IO クラスの同名メソッドIO#readと同じです。

readchar -> Fixnum

IO クラスの同名メソッドIO#readcharと同じです。

readline(rs = $/) -> String

IO クラスの同名メソッドIO#readlineと同じです。

readlines(rs = $/) -> Array

IO クラスの同名メソッドIO#readlinesと同じです。

rewind -> 0

ファイルポインタを Zlib::GzipReader.new を呼び出した直後の 時点に戻します。関連付けられている IO オブジェクトに seek メソッドが定義されている必要があります。

ungetc(char) -> nil

IO クラスの同名メソッド IO#ungetc と同じです。

unused -> String | nil

gzip フォーマットの解析のために読み込んだ余剰のデータを返します。 gzip ファイルが最後まで解析されていない場合は nil を返します。

Inherited Methods

all? any? collect count cycle detect drop drop_while each_cons each_slice each_with_index entries find_all find_index first grep group_by include? inject max max_by min min_by minmax minmax_by none? one? partition reject sort sort_by take take_while to_set zip == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint close closed? comment crc finish level mtime orig_name os_code sync


class Zlib::GzipWriter

ancestors: Zlib::GzipWriter < Zlib::GzipFile < Object < Kernel

Abstract

gzip 形式の圧縮ファイルを書き出すラッパークラスです。 IO クラスのインスタンス (又は IO クラスのインスタンスと同じメソッドを 持つオブジェクト) と関連付けて使用します。

Zlib::GzipWriter.open('hoge.gz') {|gz|
  gz.write 'jugemu jugemu gokou no surikire...'
}

f = File.open('hoge.gz', 'w')
gz = Zlib::GzipWriter.new(f)
gz.write 'jugemu jugemu gokou no surikire...'
gz.close

なお、Ruby の finalizer の制約のため、GzipWriter オブジェクトは必ず Zlib::GzipWriter#close 等を用いてクローズしてください。 そうしなければフッターを書き出すことができず、壊れた gzip ファイルを 生成してしまう可能性があります。

Singleton Methods

Signature Description
new(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter

io と関連付けられた GzipWriter オブジェクトを作成します。 level, strategy は Zlib::Deflate.new と同じです。 GzipWriter オブジェクトは io に gzip 形式のデータを 逐次ライトします。io には少なくとも、IO#write と 同じ動作をする write メソッドが定義されている必要があります。

open(filename, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
open(filename, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object

filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と 同じです。

wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object

io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。

Instance Methods

Signature Description
self << str -> self

str を出力します。str が文字列でない場合は to_s を用いて 文字列に変換します。

close -> File
finish -> File

フッターを書き出し、GzipWriter オブジェクトをクローズします。close と finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を 参照して下さい。

comment=(string) -> String

gzip ファイルのヘッダーに記録するコメントを指定します。

flush(flush = Zlib::SYNC_FLUSH) -> self

まだ書き出されていないデータをフラッシュします。

mtime=(time) -> Fixnum

gzip ファイルのヘッダーに記録する最終更新時間を指定します。

orig_name=(filename) -> String

gzip ファイルのヘッダーに記録する元ファイル名を指定します。

pos -> Fixnum
tell -> Fixnum

現在までに圧縮したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。

print(*str) -> nil

引数を自身に順に出力します。引数を省略した場合は、$_ を出力します。

printf(format, *args) -> nil

C 言語の printf と同じように、format に従い引数 を文字列に変換して、自身に出力します。

putc(ch) -> object

文字 ch を自身に出力します。

puts(*str) -> nil

各引数を自身に出力し、それぞれの後に改行を出力します。

write(str) -> Integer

自身に str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint closed? comment crc level mtime orig_name os_code sync


class Zlib::Inflate

ancestors: Zlib::Inflate < Zlib::ZStream < Object < Kernel

Abstract

入力データを展開するストリームのクラス。Zlib::Deflate と違い、 このクラスのインスタンスを複製 (clone, dup) することはできません。

Singleton Methods

Signature | Description
inflate(string) -> String | string を展開します。
new(window_bits = Zlib::MAX_WBITS) -> Zlib::Inflate | 展開ストリームを作成します。

Instance Methods

Signature | Description
self << string -> self | Zlib::Inflate#inflate と同じように string を 展開ストリームに入力しますが、Zlib::Inflate オブジェクト そのものを返します。展開ストリームからの出力は、 出力バッファに保存されます。
finish -> String | 展開ストリームを終了します。
inflate(string) -> String | string を展開ストリームに入力します。
set_dictionary(string) -> String | 展開に用いる辞書を指定します。string を返します。 このメソッドは Zlib::NeedDict 例外が発生した直後のみ 有効です。詳細は zlib.h を参照して下さい。
sync(string) -> bool | string を入力バッファの末尾に追加し、次の full flush point まで読み飛ばします。入力バッファ内に full flush point が存在しない場合は、入力バッファを空にし false を返します。 入力バッファ内に full flush point が見つかった場合は true を返し、残りのデータは入力バッファ内に保持されます。
sync_point? -> bool | What is this?

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint adler avail_in avail_out avail_out= close closed? data_type finished? flush_next_in flush_next_out reset total_in total_out


class Zlib::MemError

ancestors: Zlib::MemError < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

メモリ不足である場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::NeedDict

ancestors: Zlib::NeedDict < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

展開に用いる辞書がしていされていない場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::StreamEnd

ancestors: Zlib::StreamEnd < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

全ての入力データが処理済みで全ての出力が取り出し済みである場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::StreamError

ancestors: Zlib::StreamError < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

ストリームの状態が異常である場合や、圧縮レベルの指定が無効なもので ある場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::VersionError

ancestors: Zlib::VersionError < Zlib::Error < StandardError < Exception < Object < Kernel

Abstract

zlib ライブラリのバージョンがこのライブラリの想定しているバージョンと互換でない場合に発生します。

Inherited Methods

backtrace exception message set_backtrace .exception == === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_yaml to_yaml_properties to_yaml_style untaint


class Zlib::ZStream

ancestors: Zlib::ZStream < Object < Kernel

Abstract

圧縮データを扱うストリームを表す抽象クラスです。 具体的な圧縮/展開の操作は、それぞれサブクラスの Zlib::Deflate, Zlib::Inflate で定義されています。

Zlib::ZStream オブジェクトは、ストリーム (struct zstream) の 入力側 (next_in) と出力側 (next_out) にそれぞれ可変長の バッファを持ちます。以下、入力側のバッファを「入力バッファ」、 出力側のバッファを「出力バッファ」と呼びます。

Zlib::ZStream オブジェクトに入力されたデータは、一旦入力バッファの 末尾にストアされた後、ストリームからの出力がなくなるまで (処理後 avail_out > 0 となるまで) 入力バッファの先頭から順に処理されます。 処理の間、出力バッファは全出力を保持するために必要に応じて自動的に 確保・拡張されます。

いくつかのメソッドは、出力バッファ内のデータを取り出し、 String オブジェクトとして返します。

以上を図示すると次のようになります:

+================ an instance of Zlib::ZStream ================+
||                                                            ||
||     +--------+          +-------+          +--------+      ||
||  +--| output |<---------|zstream|<---------| input  |<--+  ||
||  |  | buffer |  next_out+-------+next_in   | buffer |   |  ||
||  |  +--------+                             +--------+   |  ||
||  |                                                      |  ||
+===|======================================================|===+
    |                                                      |
    v                                                      |
"output data"                                         "input data"

入力バッファの内容を処理している最中にエラーが発生した場合、 Zlib::Error のサブクラスの例外が発生します。その時、 入力/出力バッファは共に、エラーが発生した時点の状態をそのまま 保持します。

Singleton Methods

Signature | Description
new -> () | 直接使用しません。 通常、具体的な圧縮/展開を行う場合は、 Zlib::Deflate.new もしくは、Zlib::Inflate.new を使用します。

Instance Methods

Signature Description
adler -> Integer

adler-32 チェックサムを返します。

avail_in -> Integer

入力バッファに溜っているデータのバイト数を返します。通常は 0 です。

avail_out -> Integer

出力バッファの空き用量をバイト数で返します。 空きは必要な時に動的に確保されるため、通常は 0 です。

avail_out=(size) -> Integer

出力側のバッファに size バイトの空きを確保します。 すでに size バイト以上の空きがある場合、バッファは 縮められます。空きは必要な時に動的に確保されるため、通常 このメソッドを使う必要はありません。

close -> nil
end -> nil

ストリームを閉じます。 以後、このストリームにアクセスすることはできなくなります。

closed? -> bool
ended? -> bool

ストリームが閉じられている時に真を返します。

data_type -> Fixnum

ストリームに入力されたデータの形式を推測します。 返り値は Zlib::BINARY, Zlib::ASCII, Zlib::UNKNOWN の いずれかです。

finish -> String

ストリームへの入力を終了し、出力バッファをフラッシュします。 より具体的な振る舞いは Zlib::Deflate#finish, Zlib::Inflate#finish を参照して下さい。

finished? -> bool
stream_end? -> bool

ストリームへの入力が終了している時に真を返します。

flush_next_in -> String

入力バッファに残っているデータを強制的に取り出します。

flush_next_out -> String

出力バッファに残っているデータを強制的に取り出します。

reset -> nil

ストリームの状態をリセットします。 入力/出力バッファ内に残っていたデータは破棄されます。

total_in -> Integer

ストリームに入力されたデータの総バイト数を返します。

total_out -> Integer

ストリームの出力したデータの総バイト数を返します。

Inherited Methods

== === =~ __id__ __send__ _dump class clone dclone display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_eval instance_exec instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? marshal_dump marshal_load method method_missing methods nil? pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods public_methods remove_instance_variable respond_to? singleton_method_added singleton_method_removed singleton_method_undefined singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str to_yaml to_yaml_properties to_yaml_style untaint


ReFe

ReFeについては [[unknown:ReFe|URL:http://i.loveruby.net/ja/prog/refe.html]] をご覧ください。

Gems版

Gemsをお使いの方は、「((%gem install refe%))」でインストールできます。 ([ruby-list:41478])

Ruby リファレンスマニュアルの検索ツール ReFe のデータ構築について

最新 Ruby リファレンスマニュアル用に ReFe のデータを構築するには以下の 手順で行います。(詳細は ReFe の README を参照してください)

(1) [[URL:http://i.loveruby.net/ja/prog/refe.html]] から ReFe の基本セット

を取って来てインストールします。

    tar xvzf refe-x.x.x.tar.gz
    cd refe-x.x.x
    ruby setup.rb config
    ruby setup.rb setup
    (必要に応じて root になってください)
    ruby setup.rb install

(2) [[URL:http://www.ruby-lang.org/ja/man/man-rd-ja.tar.gz]]

にあるのが最新のリファレンスマニュアルの tarball です。
これを取得します。

(3) 取得した man-rd-ja.tar.gz を展開し、ReFeデータベースを構築します。

/usr/local/share/refe は適宜環境に応じて変更してください(変更した場合は
refe を実行するのに環境変数 REFE_DATA_DIR を設定する必要があります)

    gzip -dc man-rd-ja.tar.gz | tar xvf -
    cd man-rd-ja
    (必要に応じて root になってください)
    mkrefe_rubyrefm -d /usr/local/share/refe *.rd

/usr/local/share/refe 下に以下のディレクトリとファイルができます。

    class_document/        method_document/
    class_document_comp    method_document_comp

(4) 後は使うだけです。

refe IO puts
IO#puts
--- puts([obj[, ...]])

    各 obj を self に出力した後、改行します。
    引数の扱いは puts と同じです(詳細はこちらを参照し
    てください)。

    nil を返します。

ReFe の Emacs インタフェースのインストール方法

(1) refe.el を取って来て

/usr/local/share/emacs/site-lisp などの Emacs Lisp ライブラリの置き場所
に置きます。

(2) .emacs に以下を書いておきます。

(require 'refe)

(3) 引きたいメソッド名の位置に合わせて M-x refe を実行します。


マニュアルダウンロード

この[[unknown:リファレンスマニュアル|Rubyリファレンスマニュアル]]は以下からまとめてダウンロードできます。

HTML 形式 (2005-11-29版) * EUC

[[m:tar.bz2]],
[[unknown:zip|URL:http://www.ruby-lang.org/ja/man/archive/ruby-man-ja-html-20051129.zip]]

* UTF8

[[m:tar.bz2]],
[[unknown:zip|URL:http://www.ruby-lang.org/ja/man/archive/ruby-man-ja-utf8-html-20051129.zip]]

上記以外の形式などについては以下のページを参照してください。

* [[unknown:"HTML版 http://www.ruby-lang.org/ja/man/archive/"|URL:http://www.ruby-lang.org/ja/man/archive/]] * [[unknown:"Windows HTML Help版と分割HTML http://elbereth-hp.hp.infoseek.co.jp/ruby.html"|URL:http://elbereth-hp.hp.infoseek.co.jp/ruby.html]] * [[unknown:"Rubyドキュメント http://www.ruby-lang.org/ja/20020107.html"|URL:http://www.ruby-lang.org/ja/20020107.html]]

また、最新のRD形式のソースは以下からダウンロードできます。 毎時17分頃のチェックで変更があった時に更新されます。

* [[compile error: wrong method spec: "URL:http:#/www.ruby-lang.org/ja/man/man-rd-ja.tar.gz": m:URL:http:#/www.ruby-lang.org/ja/man/man-rd-ja.tar.gz]] (reject 以外) * [[compile error: wrong method spec: "URL:http:#/www.ruby-lang.org/ja/man/man-rd-ja-reject.tar.gz": m:URL:http:#/www.ruby-lang.org/ja/man/man-rd-ja-reject.tar.gz]] (reject のページのみ)

頭に(('### reject'))がついているページは[[unknown:man-rd-ja.tar.gz|URL:http://www.ruby-lang.org/ja/man/man-rd-ja.tar.gz]]に含まれないので、 RWikiで使う場合には [[unknown:man-rd-ja-reject.tar.gz|URL:http://www.ruby-lang.org/ja/man/man-rd-ja-reject.tar.gz]] を展開してman-rd-ja-reject/*.rdをman-rd-ja/直下に追加すると便利です。


Ruby用語集

A

AWK

エイホ(A)、ワインバーガー(W)、カーニハン(K)による 小型のスクリプト言語。

B

blade

ml archive (http://blade.nagaokaut.ac.jp/ruby/)

C

Coerce

数値の型変換を行うメソッド。数値計算のメソッドは自分の知らな いインスタンスが引数として渡された時にはcoerce メソッドを使って変換を行うように取り決められている。 coerceメソッドは引数として与えられた値(を変換し た値)と自分(必要ならば変換した値)のペアを返す。

Rubyのライブラリの数値型の変換順序は

Fixnum -> Bignum -> Rational -> Float -> Complex

になっている。

D

Data

CレベルのポインタをRubyオブジェクトとして見せるためのラッパー。 Cポインタと、mark関数、free関数から作る。Cを使ってRubyに機能 を追加しようとする人はぜひこのクラスの使い方をマスターする必 要がある。逆にいうとそういう予定のない人には用事がないクラス でもある。

defined?

いろいろなもの(式)が本当に定義されているかどうか調べてくれる 演算子。定義されていなければnil、定義されてい ればその式の種別を示す文字列を返す。defined?は メソッドのようにみえるがRubyの文法に組み込まれた演算子で、引 数の評価を行わない。よって

            defined? print("abc\n")

はなにも出力しない。

E

Eiffel

オブジェクト指向プログラミング言語。matzは昔この言語の作者の 本(Object-oriented Software Construction 邦訳「オブジェクト 指向入門」)を読んで目から鱗が落ちたらしい。その割にはRubyは Eiffelに似ていない。似ているのはブロックがendで 終るところと、rescueという予約語だけか。

end

ブロック構造を終える予約語。ある統計によればRubyを最初に見た 人の33%がこれを見てPascalを連想するという(嘘)。しかし、実際 にはbeginと対にならないこの形式はPascalというよりAdaやEiffel に近い。

RubyがCやPerlで慣れ親しんだ {}を使わなかったの は以下の理由である

* 単文・複文問題の回避

たとえばCでは

              if (a==b)
                 c();

に文を追加しようとして

              if (a==b)
                 c();
                 d();

などとするとややこしいバグの元になる。この問題はPascalにも存 在する。

* ぶらさがりelse問題の回避

上記と類似だが、

              if (a==b)
                 if (c==d) foo();
              else bar();

などと書いてしまうと面倒なことになる。上のプログラムは実は

              if (a==b) {
                 if (c==d) foo();
                 else bar();
              }

という意味である。

* 可読性の向上

異論はあるようだが、endという単語でブロックを閉じた方がプロ グラムが読みやすいと考えている人がいる。

* begin, caseの構文上の問題

正直言うと、matzはendという名前の変数を使おうとして痛い目に あったことが何度かある。そこで、一度は { }を使っ た文法にしようと検討したが、beginとcase の文法がきれいにまとまらずに断念した。実をいうとこれが最大の 理由であったりする。

ENV

環境変数をアクセスするためのHash と同様の動作をするオブジェクト。実際には特異メソッドを付加し たObjectクラスのイン スタンスである。このオブジェクトによって 環境変数を変更すると、 Rubyの子プロセスにも引き継がれる。

F

FAQ
Frequently Asked Questions

よくある質問とその答え集。 [[unknown:Ruby FAQ]]はまだまだ発展途上である。質問と答えは随時募集中。

G

goto

Rubyにないもの。gotoがないのはそれが「あるべきでないから」ではなく、 「実装するのが面倒だったから」である。 gotoの代りはcatch/throwや例外で実現する。

H

I

J

JARH
Just another Ruby hacker,

K

L

M

main

トップレベルでのself。 selfがないわけにはいかないので、ただそこにある ためだけの単なるObjectクラスのインスタンスであるが、 Objectクラスを操作するため、いくつかの特異メソッドを定義して ある。

定義されている特異メソッド

* private

* public

* include

matz

Rubyの作者。まつもと ゆきひろとも言う。 http://cmail.sourceforge.jp/ と4人の子供の父親でもある。

ミックスイン
Mix-in

アイスクリームにいろんなものをまぜて新しい味を作ること。転じ てモジュールをクラスに混ぜて機能を追加 すること。継承を参照。

Rubyでは多重継承を採用せず、is-aの関係のための継承と、機能の 共有のためのMix-inを用意している。これは多重継承を濫用すると 関係が混乱するというmatzの信念のためである。

N

O

P

Perl

何だったっけ？

POLS

Principle of least surprise

Python

Rubyのライバル。「年を経た蛇」。matzがPythonに満足していれば Rubyは生まれなかったであろう。一番気になっているのは名前の長 さ(6文字)である。

Q

R

RAA

Ruby Application Archive(http://www.ruby-lang.org/en/raa.html)

RCR

Ruby Change Request

RD

Ruby Document

Ruby

オブジェクト指向スクリプト言語。Rubyの名前は「Perlに続く (pearlは6月の誕生石、Rubyは7月の誕生石)」という程度の意味で 名付けられた。Rubyは別に何かの略ではない。

S

Sather

オブジェクト指向プログラミング言語。matzは EiffelよりもSatherが好きだ。しかし、 SatherもやっぱりRubyには全然似ていない。

self

レシーバを参照する式。なぜ selfかというと、メソッド を動詞と考えるとレシーバは主語に当たり、メソッドから見ると 自分であるからという説があるが、Rubyでは深 く考えず、単にSmalltalkを真似ただけ だ、という説が有力である。

Smalltalk

オブジェクト指向プログラミング言語。現在の オブジェクト指向と いうパラダイムの基礎を築いた言語。

super

オーバーライドしたメソッドから上位のメソッドを呼び出す方法。 引数を省略した時には呼び出し元のメソッドと同じ引数で呼び出さ れる。

* 問題:

引数として与えられた変数の値を変更した場合には、 superで元の値が渡るか、変更した値が渡るか。

              def foo(a)
                 print a
              end
              def self.foo(a)
                a=25
                super
              end
              foo(5)    # 5 or 25??

* 答え:

変更した値(25)。古いバージョンでは 5 を返すという仕様だった。現在 はこの問題自体にあまり意味がないかも知れない。

T

Thread

もとはThread of controlの略。一連の制御の流れのこと。Rubyでは 一つのプログラムの中に複数のスレッドが存在できる。

U

undef

メソッドを未定義状態にすること。継承 もMix-inもクラスにメソッドを追加するこ とだが、undefを使えばメソッドを取り除くことがで きる。ただし、クラスの実装に必要なメソッド(メソッド内部から 呼ばれているメソッド)を外してしまうと痛い目に遭う。

V

W

X

Y

Z

あ

浅い複製
Shallow copy

インスタンスの浅いコピー。 フィールド内のインスタンスは、参照をコピーするだけである。 例えば、配列に浅い複製を行った場合、配列はコピーされるが 配列内の要素が参照しているオブジェクトはコピーされない。 うっかり破壊的なメソッドを使ってしまうと思わぬ所に影響が 出る恐れがあるため、気をつける必要がある。 対義語 深い複製

イテレータ
Iterator

ブロック付きメソッド呼び出しのこと。 ブロック付きメソッドは当初繰り返し処理を行うために作られたため、 未だにイテレータと呼ぶことがある。 繰り返しを意図したメソッドをイテレータと呼ぶのはかまわないが、 ブロック付きメソッド呼び出し全般をイテレータと呼ぶと混乱の元 になるので気を付けるように。

インスタンス
Instance

オブジェクトのこと。オブジェクトがある クラスに所属することを強調する意味あいがあるらしい。オブジェ クトなんだかインスタンスなんだか混乱してオブジェクト指向に挫 折する人は多いと聞く。

インスタンス変数
Instance Variable

オブジェクトに固有の変数のこと。Rubyのインスタンス変数は識別 子の直前に@をつけたものであり、メソッドの中から しか参照できない。

オーバーライド
Override

再定義のこと。スーパークラスまた はincludeしているモジュールで定義され ているメソッドと同じ名前のメソッドを定義すること。オーバーラ イドした上位のメソッドは superを使って呼び出すこと ができる。

オブジェクト
Object

もののこと。「愛」は多分オブジェクトではな いが、「ラブレター」はオブジェクトである。あるものがものであ るか、そうでないかは多分に哲学的である。この辺がオブジェクト 指向は難しいといわれる原因かも知れない。コンピュータ業界では メモリ中の特定の空間のことをオブジェクトと呼ぶ人がいたりする 人がいる。困ったものだ。カプセル化、 抽象データ型参照。

オブジェクト指向

オブジェクトを基本にしたパラダイム。 英語の"Object-Oriented"という形容詞が、日本に来て名詞化した。 オブジェクトを考え方の中心に置けば、なんでも良いようにも思え るが、一般的には

* 継承

* カプセル化

* ポリモルフィズム

(あるいは動的結合)

が必要らしい。 なんでも解決できる「魔法」のように考える人もいるが、世の中そ んなに甘くない。誕生から20数年を経てようやっと実用的に使われ るようになった…んだろうな、多分。

オブジェクト指向設計
Object-Oriented Design

オブジェクトを基本にしたシステム設計

オブジェクト指向プログラミング
Object-Oriented Programming

オブジェクトを基本にしたプログラミング。

オブジェクト指向分析
Object-Oriented Analysis

オブジェクトを基本にしたシステム分析。

か

カプセル化
Encapsulation

データに対する直接的な操作はデータの型に付随する特定の手続き (メソッドと呼ぶ)からだけ行うことにより、 内部構造や処理のアルゴリズムを外部から隠してしまうこと。 抽象データ型参照。

Rubyはインスタンス変数はメソッドからしか参照できないので、カ プセル化が強制されているといえる。

環境変数
Environment Variable

親プロセスから子プロセスに対して受け渡される値。 ENVでアクセスされる。 子プロセスに渡るのは環境変数のコピーなので、子プロセスから親 プロセスに環境変数を使って情報を受け渡すことはできない。 親はなかなか子供に耳を傾けないものである。

関数
Function

厳密にいうとRubyに関数はない。しかし、レシーバを省略したメソッ ド呼び出しは外見が関数に似ているし、 selfやインスタンス変数など レシーバの情報を全く参照しない事実上の関数として働いていると いっても良いメソッドもある。だから厳密でない言い方としてそう いうメソッドを関数と呼ぶこともある。

そういう関数(的メソッド)は大抵レシーバを省略した形式でしか呼 び出せないように可視性がprivateに 設定してある。このようなメソッドの代表として モジュール関数がある。

クラスメソッド
Class Method

クラスのメソッド。全てのクラスのクラス Classで定義されている 全てのクラスで共有されているメソッドとクラスそれぞれが固有に持っている 特異メソッドとがあるが、そんな ことは大した問題ではない。 クラスメソッド内でのselfはクラスであるので勘違いしないように。

グローバル変数
Global Variable

プログラム全体から参照できる変数。危険。多用しないこと。

継承
Inheritance

先祖や親戚から受け継いだものに頼り切って、 自分では最低限のことしかしないこと。現実世界では嫌な奴。 転じて、あるクラスに機能を追加した新しいクラス を作ること。継承はis-aの関係を表現するのに有効である。たとえ ば、学生一般の性質を記述した「学生」クラスを継承して、実験に 苦しめられる「工学部生」クラスを作ることができる。is-aの関係 がなく、単に性質や機能を共有する場合にはMix-in を使うことが望ましいとされる。

さ

再定義
Redefinition

オーバーライドのこと。

辞書
Dictionary

項目からその定義を取り出すことができるもの。転じて ハッシュの別名。オブジェクト指向の起源と も呼べるSmalltalkにおいてハッシュに 相当するデータ構造が「辞書」と呼ばれていたせいで辞書という用 語になじんでいる一群の人々がいる。

初期化
Initialize

オブジェクト(あるいは「なにか」)を「使える」状態にすること。 インスタンスの初期化には Object#initialize メソッドを再定義する。クラスのメソッド Class#newのデフォルトの 定義は新たに生成したインスタンスに対して、 initializeを実行する。newへの 引数はそのままinitializeに渡される。また、 newがブロックとともに呼び出された時には initializeにそのブロックがそのまま与えられる。

ということはClass#new を再定義する必要はないはずだ。

スクリプト
Script

台本。転じて、インタープリタが解釈する比較的短いプログラムの こと。もちろん中には超大作の台本もある。

スクリプト言語
Script Language

スクリプトに従ってバッチ処理を行うイン タープリタのこと。人間も台本を読むという点においてスクリプト 言語である。

即値
Immediate Value

参照ではなく、実際の値が変数に格納さ れるもの。Rubyの現在の実装ではFixnum、Symbolとnil/true/falseだけが即 値である。しかし、Fixnumが即値でないRubyの実装があっても構わ ないし、モデル上全ての値がオブジェクトへの参照であると考えて も差し支えない。

ソート
Sort

順番に並べ替えること。Ruby は数え上げる事ができて (Enumerable がincludeされていて)、各要素に順序 が定義されて(<=> が定義されて)いれば、配列に限らずどん な複雑なオブジェクトの集まりもソートしてくれる。

た

大域脱出
Non-Local Exit

break, next, redo, retry, return などのメソッドの範囲内での脱出ではなく、捕捉されない限りメソッ ド呼び出しの階層を遡って中断するタイプのものを大域脱出と呼ぶ。 Rubyの大域脱出には、例外によるものとcatch/throwがある。

ほとんどの例外は(exitで発生するSystemExit を含めて rescue で捕捉できるが、捕捉することに意味がない例外 (例:メモリ割当に失敗した/インタプリタそのもののバグ)は 捕捉の対象にならない。

catch/throwはthrowされると指定されたタグと同じ タグを持つcatchまで一気にジャンプするものである。

ダイナミックローカル変数
Dynamic Local Variable

ローカル変数 の一種。Rubyのローカル変数はスコープが 静的に決まるためコンパイル時に変数が作成されるが、ダイナミックローカ ル変数は、実行の都度変数が作成される。ブロックの中で初めて代入された ローカル変数はダイナミックローカル変数となり、そのスコープはブロック の中だけとなる。これは、Thread 毎に独立した変数を持 つためにある。

抽象データ型
Abstract Data Type

データの構造とそのデータに対する操作をひとまとめにしたものを 抽象データ型と呼ぶ。抽象データに対する操作は必ずその操作を経 由する必要がある。結果、データ構造は外部からは直接参照されず、 内部構造の変更が外部に悪影響を及ぼさない。このことを カプセル化と呼ぶ。

定数
Constant

一度定義したら値を変えることができない変数。 でも、この定義は矛盾しているなあ。

動的結合
Dynamic Binding

操作の対象のデータ型に合わせて適切な手続き(メソッド)が実行時 に選択されること。プログラムの柔軟性を高める働きがある。 オブジェクト指向の要件のひとつ。 Rubyでは変数に型が無いので動的結合は必然である。

特異クラス
Singleton Class

ある特定のオブジェクトだけのための仮想的なクラス。

特異メソッド
Singleton Method

ある特定のオブジェクトにだけ定義されたメソッド。 メソッド参照。 特異メソッドは以下の場合に他のオブジェクトにも引き継がれる。

* Object#cloneした場合

* サブクラスを作った場合

特異メソッドで元のクラスのメソッドをオーバーライドした場合は もとのメソッドは super で呼び出すことができる。

ドキュメント
Document

matzの苦手なもの。彼は普段から「ソースがドキュメントだ。バグ も完全に記述されている」と主張しているが、誰も受け入れない。 当り前だ。

トップレベル
Top Level

クラス／モジュール定義の一番外側のコンテキスト。Rubyスクリプトはトップレベルの コンテキストから処理が始まる。

いきなり、 print "on Toplevel" というスクリプトを書いたとき、print メソッドはトップレベルから呼ばれている。

トップレベルの self は main を指す。

な

は

バイトオーダー
Byte Order

0x01020304という4バイトデータを1,2,3,4 と配置するか、4,3,2,1と配置するかということ。前 者をビッグエンディアン、後者を リトルエンディアンと呼ぶ。どちらが 良いかという論争は時のはじめから続いていてまだ結論が出ていない。

破壊的
Destructive

String#chop!, Array#concat などの メソッドは、レシーバの状態を変化させるので、 「破壊的な作用をする」という。 めったにコンピュータを壊すことはない。

ハッシュ
Hash

Rubyにおけるキーから値へのマッピングを表すデータ構造。 連想配列とか辞書とも呼ばれる。ハッシュがハッシュ と呼ばれるのはその実現に「ハッシュ表」と呼ばれるアルゴリズム が使われているからである。ハッシュというのは「切り刻む」とい う意味で、「ハッシュド・ビーフ」の「ハッシュ」である。

パラダイム
Paradigm

「考え方」の難しい表現。素直に分かりやすい言葉を使えばいいのに…。

ヒアドキュメント
Here Document

リテラル/ヒアドキュメント (行指向文字列リテラル) を参照してください。

ビックエンディアン
Big Endian

アメリカ大陸原住民…はインディアン。 こっちはエンディアンで語源はスウィフトの「ガリバー旅行記」に出て来る 卵を丸い端から食べる人たちである。 当然、尖った端から食べる人たちは リトルエンディアンである。 コンピュータ業界ではCPUなどがデータを並べる時の形式のひとつで、 ネットワーク族はビッグエンディアンを好むという。 バイトオーダー参照

ビルトインクラス
Built-In Class

Rubyインタプリタ組み込みでインスタンスの構造が 通常のオブジェクトと異なるクラス。 これらのクラスを継承したクラスを定義することはお勧めしない。 Rubyのビルトインクラスは Builtin libraries に列挙されている。

深い複製
deep copy

インスタンスの深いコピー。 フィールド内にインスタンスがある場合、 そのインスタンス専用にメモリのコピーを行う。 例えば、配列に深い複製を行った場合、配列をコピーし、 配列内の要素が参照しているオブジェクトもすべてコピーされる。 対義語 浅い複製 shallow copy

ブロック
Block

ループを構成したり、家や塀を建てたり、人を殴ったりするもの。

ブロック付きメソッド呼び出し

コードの集まり(ブロック)を受け取ることのできるメソッドを ブロック付きメソッド呼び出しと呼ぶ。

ブロック付きメソッドの中では yield を使って ブロックを実行することができる。

当然のことながら、与えられたブロックをどのように処理するかは メソッド側に委ねられている。ので、内部でブロックを評価しない メソッドにブロックを与えてもなにも起きない。エラーも起きない。

変数
Variable

オブジェクトにつける名札。Rubyの変数には グローバル変数、ローカル変数、インスタンス変数がある。 それと定数は値を変えることができないので、変数ではないが、 名札であるという点においては変数と同じである。

ポリモルフィズム
多態, Polymorphism

対象になるオブジェクトによって実際の操作が決定されること。 Rubyではレシーバのオブジェクトに応じ てメソッドが選択されることによって実現されている。

* 例

              obj = "abc"
              print obj.length, "\n"          # => 3
              obj = [1,2,3,4]
              print obj.length, "\n"          # => 4

ま

モジュール関数
Module Function

関数のように用いられるメソッドの中で、 モジュールのメソッドとしても、特異メソッドとしても定義されて いるものはモジュール関数と呼ばれる。例えば Mathモジュールのほとんどのメソッドは モジュール関数である。これらのメソッドは、例えば

Math.sqrt(2)

という形式でも

include Math sqrt(2)

という形式でも使えて便利である。

メソッド
Method

オブジェクトに対する操作。操作対象のオ ブジェクト(レシーバ)は self で参照できる。 Rubyの場合ビルトインクラスのオブジェクトを除けば、 オブジェクトの構造は動的に決まるので、 あるオブジェクトの性質はそのオブジェクトに定義されているメソッド によって決定される。

や

ら

リトルエンディアン
Little Endian

最初10人いて段々減っていく。コンピュータ業界ではデータを並べ る時の形式のひとつで、非常に大きなシェアを持つあるCPUメーカー はリトルエンディアンを好むという。バイトオーダー参照

例外
Exception

例外的な状況で発生するもの。例外が発生すると begin の rescue 節を使って明示的に捕捉されない限り、 呼び出し階層を遡ってプログラム(thread)の実行は中断される。例外の おかげでRubyプログラムはほとんどの場合例外的な状況についていちいち チェックせずにすむ。例外の発生した場所の情報は $@ に、 例外そのものに関する情報は $! に格納されている。

レシーバ
Receiver

メソッドの実行主体。メソッド呼び出し式の`.'の左 側にあるもの。メソッド内では self で参照できる。レシーバのインスタンス変数は @変数名という形式でアクセスできる。

連想配列
Associative Array

ハッシュの別名。ハッシュが任意のキーから 値を取り出すことができるので、「連想」と、またハッシュは添字 が数字でない配列とみなすことができるので「配列」と呼ぶらしい。 昔々は連想配列(連想記憶と呼ばれていた)はハードウェアによって 実現されるものだと考えられていたが、計算速度の向上や適切なア ルゴリズムの発見(「ハッシュ表」と呼ぶ。ハッシュの語源)により ソフトウェアのみによって実現されるようになった。

ローカル変数
Local Variable

ある範囲内でのみ参照可能な変数。その範囲をスコープと呼ぶ。 Rubyのスコープは

* プログラム全体

* クラス・モジュール定義

* メソッド定義

* ブロック

で、ブロックだけは外側のスコープのローカル変数もアクセスでき る。ローカル変数の有効範囲はスコープでの最初の代入が現れた場 所からスコープの終りまでである。有効範囲は静的に決まり、実際 に実行されるかどうかは関係ない。

わ

Symbol


このマニュアルのヘルプ

検索

右上に検索窓があります。メソッド名とクラス名を検索できます。 日本語の本文は検索できません。 検索キーワードは

String.size
Str.si
Str#s
Str si
size Str

などと入力してください。前方一致探索をします。

記号の説明

size -> Integer の「-> Integer」って何?

size メソッドは整数を返すという意味です。

Kernel.#require の .# って何?

「.#」はモジュール関数であることを表します。「Kernel.#require」は 「Kernel のモジュール関数である require 」という意味です。

String#size の # って何?

「#」はインスタンスメソッドであることを表します。

Dir.chdir の . って何?

「.」はクラスメソッドであることを表します。

p a #=> 1 の #=> って何?

「#=>」は標準出力に出力されるということを表しています。 「p a #=> 1 」は「p a」を実行すると標準出力に「1」が出力される という意味です。

返り値の型の詳細

返り値の型の仕様は以下のようになっています。

  • 真偽値を返す場合は「bool」です。
  • 返り値が不定の場合は、「-> ()」です。
  • 代入式の場合には省略されます。

複数の型の値を返すときは "|" を使って記述されています。

例:

CGI#[](name) -> String | [String]

x オブジェクトと nil で成功・失敗を表す場合は「x | nil」が 使われています。

お問い合わせ

間違いを見付けた場合は

  • http://redmine.ruby-lang.org/projects/show/rurema

へお願いします。

それ以外の意見などは

  • http://doc.loveruby.net/wiki/PublicComments.html

へお願いします。


オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル

  • Ruby オフィシャルサイト http://www.ruby-lang.org/ja/
  • version 1.8 対応(予定)リファレンス
  • 原著：まつもとゆきひろ
  • 最新版URL: http://www.ruby-lang.org/ja/documentation/

使用上の注意

リファレンスが完全に揃っているのは Ruby 1.8 の組み込みライブラリに関してのみです。 Ruby 1.8 の標準添付ライブラリに関して、本リファレンスは極めて不完全です。

目次

  • はじめに
  • コマンド
  • Rubyの起動
  • 環境変数

Ruby 言語仕様

Ruby でのオブジェクト:

  • オブジェクト
  • クラス

プロセスの実行:

  • Ruby プログラムの実行
  • 終了処理
  • スレッド
  • セキュリティモデル

Ruby の文法:

  • 字句構造
  • プログラム・文・式
  • 変数と定数
  • リテラル
  • 演算子式
  • 制御構造
  • メソッド呼び出し(super・ブロック付き・yield)
  • クラス／メソッドの定義

その他:

  • 正規表現
  • 手続きオブジェクトの挙動の詳細

組み込みライブラリ

  • Builtin libraries

標準添付ライブラリ

  • All libraries

その他

  • pack テンプレート文字列
  • sprintf フォーマット
  • Ruby用語集
  • Rubyで使われる記号の意味（正規表現の複雑な記号は除く）
  • 疑似BNFによるRubyの文法
  • 配布条件
  • このマニュアルのヘルプ


Ruby 1.8.7 Reference Manual > license

配布条件

思案中。


manual page

foo(1)という記述はマニュアルページの参照を示します(Unixでの話)。

$ man 1 foo

などとして参照します。

数字はセクション番号を示します。例えば * 1 コマンド * 2 システムコール * 3 ライブラリ関数 などと分類わけされています。各セクションの意味は intro(1) などに 説明がありますのでそちらも参照してください。

環境によってはシステムコールがライブラリ関数として実装されている 場合もあるので socket(2) が

$ man 2 socket

でなく

$ man 3 socket

の場合もあります。大抵セクションは省略して

$ man socket

として参照すれば良いでしょう。

詳細は man(1) を参照してください。

UNIX 環境を触れない人は * [[unknown:The Single UNIX(R) Specification V2|URL:http://www.unix-systems.org/single_unix_specification_v2/]] * [[unknown:JM Project|URL:http://www.linux.or.jp/JM/]] * [[unknown:jpman プロジェクト|URL:http://www.jp.freebsd.org/man-jp/]] * [[unknown:X Japanese Documentation Project|URL:http://xjman.dsl.gr.jp/]] * [[unknown:FreeBSD Hypertext Man Pages|URL:http://www.freebsd.org/cgi/man.cgi]] * [[unknown:The Open Group Base Specifications Issue 6 IEEE Std 1003.1-2001|URL:http://www.opengroup.org/onlinepubs/007904975/idx/index.html]] などを参照してください(この他にも情報があれば教えてください)。


Marshalフォーマット

2002-04-04 ドラフトのドラフトのドラフトの....

* フォーマットバージョン 4.8 (1.8仕様)を元に記述

# 2003-05-02 現在のフォーマットバージョンは以下
p Marshal.dump(Object.new).unpack("cc").join(".")
    => ruby 1.6.0 (2000-09-19) [i586-linux]
       "4.4"
    => ruby 1.6.1 (2000-09-27) [i586-linux]
       "4.4"
    => ruby 1.6.2 (2000-12-25) [i586-linux]
       "4.5"
    => ruby 1.6.3 (2001-03-19) [i586-linux]
       "4.5"
    => ruby 1.6.4 (2001-06-04) [i586-linux]
       "4.5"
    => ruby 1.6.5 (2001-09-19) [i586-linux]
       "4.6"
    => ruby 1.6.6 (2001-12-26) [i586-linux]
       "4.6"
    => ruby 1.6.7 (2002-03-01) [i586-linux]
       "4.6"
    => ruby 1.6.7 (2002-09-06) [i586-linux]
       "4.6"
    => ruby 1.7.3 (2002-09-06) [i586-linux]
       "4.7"
    => ruby 1.7.3 (2002-09-20) [i586-linux]
       "4.8"
    => ruby 1.8.0 (2003-08-03) [i586-linux]
       "4.8"

* 過去バージョンについても触れる。互換性についても * Ruby の Marshal のバグについてもここで触れる(?)

nil
true
false

それぞれ、'0', 'T', 'F'

p Marshal.dump(nil).unpack("x2 a*") # => ["0"]

インスタンス変数を設定しても dump されません。

class NilClass attr_accessor :foo end nil.foo = 1 p nil.foo # => 1 p Marshal.dump(nil).unpack("x2 a*") # => ["0"]

Fixnum

'i' に続けて Fixnum を表すデータ構造が続きます。

数値部分を表す形式(これは Fixnum に限らず他の箇所でも使われます)は、 数値 n に対して

形式 1: n == 0: 0 0 < n < 123: n + 5 -124 < n < 0: n - 5

という数値(1 byte)を格納します。5 を足したり引いたりするのは下記の 形式との区別のためです。

例:

p Marshal.dump(-1).unpack("x2 a*") # => "i\372"
p Marshal.dump(0).unpack("x2 a*")  # => "i\000"
p Marshal.dump(1).unpack("x2 a*")  # => "i\006"
p Marshal.dump(2).unpack("x2 a*")  # => "i\a"   ("i\007")

形式 1 の範囲を超える数値 N に対しては、以下の形式になります。

形式 2:

| len | n1 | n2 | n3 | n4 | <-1-> <- len -> byte bytes

len の値は -4 〜 -1, 1 〜 4 で。符号と後続のデータが n1 〜 n|len| ま であることを示します。

# もっとうまい式を... def foo(len, n1, n2 = 0, n3 = 0, n4 = 0)

case len when -3; n4 = 255 when -2; n3 = n4 = 255 when -1; n2 = n3 = n4 = 255 end

n = (0xffffff00 | n1) & (0xffff00ff | n2 * 0x100) & (0xff00ffff | n3 * 0x10000) & (0x00ffffff | n4 * 0x1000000) # p "%x" % n n = -((n ^ 0xffff_ffff) + 1) if len < 0 n end

p Marshal.dump(-125).unpack("x2 acC*") # => ["i", -1, 131]
p foo(-1, 131)
p Marshal.dump(-255).unpack("x2 acC*") # => ["i", -1, 1]
p foo(-1, 1)
p Marshal.dump(-256).unpack("x2 acC*") # => ["i", -1, 0]
p foo(-1, 0)
p Marshal.dump(-257).unpack("x2 acC*") # => ["i", -2, 255, 254]
p foo(-2, 255, 254)
p Marshal.dump(124).unpack("x2 acC*") # => ["i", 1, 124]
p foo(1, 124)
p Marshal.dump(256).unpack("x2 acC*") # => ["i", 2, 0, 1]
p foo(2, 0, 1)

インスタンス変数を設定しても dump されません。

class Fixnum attr_accessor :foo end 99.foo = 1 p 99.foo # => 1 p 999.foo # => nil p Marshal.dump(99).unpack("x2 ac") # => ["i", 104]

instance of the user class

'C': String, Regexp, Array, Hash のサブクラスのインスタンス変数

| 'C' | クラス名(Symbol)の dump | 親クラスのインスタンスの dump |

例 1:

class Foo < String # (or Regexp, Array, Hash) end p Marshal.dump(Foo.new("foo")).unpack("x2 a a c a3 aca*") # => ["C", ":", 8, "Foo", "\"", 8, "foo"] ^^^ (or '/', '[', '{')

例 2: インスタンス変数あり([[unknown:Marshalフォーマット/instance variable]] 参照)

class Foo < String # (or Regexp, Array, Hash) def initialize(obj) @foo = obj super(obj) end end p Marshal.dump(Foo.new("foo")).unpack("x2 a a a c a3 aca3 caca4 aca*") # => ["I", "C", ":", 8, "Foo", "\"", 8, "foo", 6, ":", 9, "@foo", "\"", 8, "foo"]

上記以外では、'o' になる。これは、実装上内部構造が異なるため ([[unknown:Marshalフォーマット/Object]] 参照)

例: class Foo end p Marshal.dump(Foo.new).unpack("x2 a a c a*") # => ["o", ":", 8, "Foo\000"]

'u'

_dump、_load を定義していれば 'u' になる。 インスタンス変数は dump されなくなるので、_dump/_load で対応する必要 がある。

| 'u' | クラス名(Symbol)の dump | _dump の結果の長さ(Fixnum形式) | | _dump が返す値 |

例: class Foo def self._load end def _dump(obj) "hogehoge" end end p Marshal.dump(Foo.new).unpack("x2 a aca3 c a*") # => ["u", ":", 8, "Foo", 13, "hogehoge"]

'U' ((<ruby 1.8 feature>))

marshal_dump、marshal_load を定義していれば 'U' になる。 インスタンス変数は dump されなくなるので、marshal_dump/marshal_load で対応する必要がある。

| 'U' | クラス名(Symbol)の dump | marshal_dump メソッドの戻り値の dump |

例: class Foo def marshal_dump "hogehoge" end def marshal_load(obj) end end p Marshal.dump(Foo.new).unpack("x2 a aca3 a c a*")

# => ["U", ":", 8, "Foo", "\"", 13, "hogehoge"]

Object

'o'

| 'o' | クラス名(Symbol)の dump | インスタンス変数の数(Fixnum形式) | | インスタンス変数名(Symbol) のdump(1) | 値(1) | : : | インスタンス変数名(Symbol) のdump(n) | 値(n) |

例 1: p Marshal.dump(Object.new).unpack("x2 a a c a*") # => ["o", ":", 11, "Object\000"]

例 2: インスタンス変数あり class Foo def initialize @foo = "foo" @bar = "bar" end end p Marshal.dump(Foo.new).unpack("x2 a a c a3 c aca4 aca3 aca4 aca3") # => ["o", ":", 8, "Foo", 7, ":", 9, "@bar", "\"", 8, "bar", ":", 9, "@foo", "\"", 8, "foo"]

Float

'f'

| 'f' | 数値列の長さ(Fixnum形式) | "%.16g" の文字列 |

例: p Marshal.dump(Math::PI).unpack("x2 a c a*") # => ["f", 22, "3.141592653589793"]

p Marshal.dump(0.0/0).unpack("x2 a c a*")  # => ["f", 8, "nan"]
p Marshal.dump(1.0/0).unpack("x2 a c a*")  # => ["f", 8, "inf"]
p Marshal.dump(-1.0/0).unpack("x2 a c a*") # => ["f", 9, "-inf"]
p Marshal.dump(-0.0).unpack("x2 a c a*")   # => ["f", 9, "-0"]

((-((<ruby 1.7 feature>)): version 1.6 では、nan などの出力は sprintf(3) に依存している。読み込みは現在のとこ ろ "nan", "inf", "-inf" 以外は strtod(3) に依存 している。-> 1.7 では、sprintf(3)/strtod(3) への依存はなくなった-))

Bignum

'l'

| 'l' | '+'/'-' | shortの個数(Fixnum形式) | ... |

例: p Marshal.dump(2**32).unpack("x2 a a c a*") # => ["l", "+", 8, "\000\000\000\000\001\000"]

# => ["l", "+", 8, "\000\000\001\000"] <- BUG: ruby version 1.6.3

String

'"' | '"' | 長さ(Fixnum形式) | 文字列 |

例: p Marshal.dump("hogehoge").unpack("x2 a c a*") # => ["\"", 13, "hogehoge"]

Regexp

'/'

| '/' | 長さ(Fixnum形式) | ソース文字列 | オプション |

オプションは、Regexp#optionsの結果 + 漢字コードのフラグ値。

例: p Marshal.dump(/(hoge)*/).unpack("x2 a c a7 c") # => ["/", 12, "(hoge)*", 0]

p Marshal.dump(/hogehoge/m).unpack("x2 a c a8 c") # => ["/", 13, "hogehoge", 4]

p Marshal.dump(/hogehoge/e).unpack("x2 a c a8 c")

# => ["/", 13, "hogehoge", 32]

Array

'['

| '[' | 要素数(Fixnum形式) | 要素の dump | ... |

例: p Marshal.dump(["hogehoge", /hogehoge/]).unpack("x2 a c aca8 aca*") # => ["[", 7, "\"", 13, "hogehoge", "/", 13, "hogehoge\000"]

Hash

'{'

| '{' | 要素数(Fixnum形式) | キーの dump | 値の dump | ... |

例: p Marshal.dump({"hogehoge", /hogehoge/}).unpack("x2 a c aca8 aca*") # => ["{", 6, "\"", 13, "hogehoge", "/", 13, "hogehoge\000"]

Hash with default value ( not Proc )

'}'

| '}' | 要素数(Fixnum形式) | キーの dump | 値の dump | ... | デフォルト値 |

例: h = Hash.new(true) h["foo"] = "bar" p Marshal.dump(h).unpack("x2 a c aca3 aca*") # => ["}", 6, "\"", 8, "foo", "\"", 8, "barT"]

デフォルトオブジェクトが Proc である Hash は dump できない

h = Hash.new { } Marshal.dump(h) => -:2:in `dump': cannot dump hash with default proc (TypeError)

Struct

'S': 構造体クラスのインスタンスのダンプ

| 'S' | クラス名(Symbol) の dump | メンバの数(Fixnum形式) | | メンバ名(Symbol) の dump | 値 | ... |

例: Struct.new("XXX", :foo, :bar) p Marshal.dump(Struct::XXX.new).unpack("x2 a ac a11 c aca3a aca3a") # => ["S", ":", 16, "Struct::XXX", 7, ":", 8, "foo", "0", ":", 8, "bar", "0"]

Class/Module (old format)

'M'

| 'M' | 長さ(Fixnum形式) | モジュール/クラス名 |

例: もはやこの形式を dump することはできないので load で例を示している。 class Mod end p Marshal.load([4,7, 'M', 3+5, 'Mod'].pack("ccaca*")) # => Mod

Class/Module

'c', 'm'

| 'c'/'m' | クラス名の長さ(Fixnum 形式) | クラス名 |

例: class Foo end p Marshal.dump(Foo).unpack("x2 a c a*") # => ["c", 8, "Foo"]

例 2: クラス/モジュールのインスタンス変数は dump されない

module Bar @bar = 1 end p Bar.instance_eval { @bar } Marshal.dump(Bar, open("/tmp/foo", "w")) # => 1

module Bar end p bar = Marshal.load(open("/tmp/foo")) p bar.instance_eval { @bar } # => nil

例 3: クラス変数は dump されない

module Baz @@baz = 1 def self.baz @@baz end end p Baz.baz Marshal.dump(Baz, open("/tmp/foo", "w")) # => 1

module Baz def self.baz @@baz end end p baz = Marshal.load(open("/tmp/foo")) baz.baz # => Baz -:3:in `baz': uninitialized class variable @@baz in Baz (NameError) from -:7

Symbol

':'

| ':' | シンボル名の長さ(Fixnum形式) | シンボル名 |

例: p Marshal.dump(:foo).unpack("x2 a c a*") # => [":", 8, "foo"]

Symbol (link)

';'

| ';' | Symbolの実態を指す番号(Fixnum形式) |

対応するシンボル名が既に dump/load されている場合に使用される。番号 は内部管理のもの。(dump/load 時に Symbol 管理用にハッシュテーブルが 作られる。そのレコード位置)

例: p Marshal.dump([:foo, :foo]).unpack("x2 ac aca3 aC*") # => ["[", 7, ":", 8, "foo", ";", 0]

p Marshal.dump([:foo, :foo, :bar, :bar]). unpack("x2 ac aca3 aC aca3 aC*") # => ["[", 9, ":", 8, "foo", ";", 0, ":", 8, "bar", ";", 6]

instance variable

'I': Object, Class, Module のインスタンス以外

| 'I' | オブジェクトの dump | インスタンス変数の数(Fixnum形式) | | インスタンス変数名(Symbol) のdump(1) | 値(1) | : : | インスタンス変数名(Symbol) のdump(n) | 値(n) |

Object のインスタンスはそれ自身がインスタンス変数の構造を持つので 別形式で dump される ([[unknown:Marshalフォーマット/Object]] 参照) この形式は、Array や String のインスタンス用。

例: obj = String.new obj.instance_eval { @foo = "bar" } p Marshal.dump(obj).unpack("x2 a ac c a c a4 aca*") # => ["I", "\"", 0, 6, ":", 9, "@foo", "\"", 8, "bar"]

クラスやモジュール(Class/Module のインスタンス)は、 インスタンス変数の情報を dump しない。 ([[unknown:Marshalフォーマット/"Class/Module"]] 参照)

link

'@'

| '@' | オブジェクトの実態を指す番号(Fixnum形式 |

対応するオブジェクトが既に dump/load されている場合に使用される。番 号は内部管理のもの。(dump/load 時に オブジェクト管理用にハッシュテー ブルが作られる。そのレコード位置)

例: obj = Object.new p Marshal.dump([obj, obj]).unpack("x2 ac aaca6c aca*") # => ["[", 7, "o", ":", 11, "Object", 0, "@", 6, ""]

ary = [] ary.push ary p Marshal.dump(ary).unpack("x2 acac")

# => ["[", 6, "@", 0]

Marshal のバグ

過去の ruby version 1.6 には、それぞれのバージョンで以下のバグがありま した。括弧()内の記述は本来の挙動(1.7 の振るまい)です。

<= 1.6.7

* クラスを clone したもののインスタンスはダンプできるが、ロー ドできない(無名クラスのオブジェクトになるのでダンプできない) * 無名 Module の include/extend により特異メソッドが定義された オブジェクトをダンプ、ロードできる(無名モジュールを include したオブジェクトはダンプできない)

1.6.6, 1.6.7

* インスタンス変数を持つ Array や String はダンプできるが、 ロードできない(ダンプ、ロードできる)

<= 1.6.5

* クラスを clone したもののインスタンスはダンプできるが、ロー ドすると変なオブジェクトができる(?) * 特異クラスは、特異でないクラスにダンプされる(特異クラスはダンプできない) * 無名クラスは、ダンプできるがロードできない(無名クラスはダンプできない)

<= 1.6.4

* モジュールはダンプできるがロードできない(ロードできる) * 無名モジュールは、ダンプできるがロードできない(無名モジュー ルはダンプできない)

<= 1.6.3

* Float をダンプしたときに保存する精度が低い

<= 1.6.2

* 正規表現の /m, /x オプションの有無がダンプ時に保存されない

1.6.2, 1.6.3

* 1.6.2, 1.6.3のみBignum をダンプしたものをロードできない この関連バグは他にもあったと思うが再現スクリプトが不明。

<= 1.6.1

* Range が終端を含むかどうかのフラグがダンプ時に保存されない

以下は、テストスクリプトです(要 RAA:RubyUnit)

# test for Marshal for ruby version 1.6
require 'rubyunit'

$version_dependent_behavior = true
# for test_userClass, test_userModule
module UserModule
  def foo
  end
end
class UserClass
  def foo
  end
end

class TestMarshal < RUNIT::TestCase

  def assert_no_dumpable(obj)
    ex = assert_exception(TypeError) {
      begin
        # Marshal.dump will cause TypeError or ArgumentError
        Marshal.dump obj
      rescue ArgumentError
        case $!.message
        when /can't dump anonymous/,
             /cannot dump hash with default proc/
          raise TypeError
        else
          raise "unknown error"
        end
      end
    }
  end
  def assert_dumpable_but_not_equal(obj)
    obj2 = Marshal.load(Marshal.dump(obj))
    assert(obj != obj2)
    assert_equals(obj.class, obj2.class)
  end
  def assert_dumpable_and_equal(obj)
    obj2 = Marshal.load(Marshal.dump(obj))
    assert_equals(obj, obj2)
    assert_equals(obj.class, obj2.class)

    # check values of instance variable
    ivars = obj.instance_variables
    ivars2 = obj2.instance_variables
    assert_equals(ivars, ivars2)
    while ivars.size != 0
      assert_equals(obj.instance_eval(ivars.shift),
                    obj2.instance_eval(ivars2.shift))
    end
  end

  def test_Object
    assert_dumpable_but_not_equal Object.new
  end

  # object with singleton method
  def test_Object_with_singleton_method
    obj = Object.new
    # On ruby version 1.6.0 - 1.6.2, cause parse error (nested method)
    class <<obj
      def foo
      end
    end

    # object has singleton method can't be dumped
    assert_no_dumpable obj
  end

  # object with singleton method (with named module)
  def test_Object_with_singleton_method2
    obj = Object.new
    # On ruby version 1.6.0 - 1.6.2, cause parse error (nested method)
    class <<obj
      include UserModule
    end

    # On ruby version 1.6.0 - 1.6.7, no consider the singleton
    # method with Mix-in.
    # On ruby version 1.7, dumpable object which is extended by
    # named module.
    assert_dumpable_but_not_equal obj
  end

  # object with singleton method (with anonymous module)
  def test_Object_with_singleton_method3
    obj = Object.new
    # On ruby version 1.6.0 - 1.6.2, cause parse error (nested method)
    class <<obj
      include Module.new
    end

    if $version_dependent_behavior and RUBY_VERSION <= "1.6.7"
      # On ruby version 1.6.0 - 1.6.7, no consider the singleton method with Mix-in.
      assert_dumpable_but_not_equal obj
    else
      # object has singleton method (with anonymous module) can't be dumped
      assert_no_dumpable obj
    end
  end

  # singleton class
  def test_singletonClass
    obj = Object.new
    # On ruby version 1.6.0 - 1.6.2, cause parse error (nested method)
    singleton_class = class <<obj
                        def foo
                        end
                        self
                      end

    # singleton class can't be dumped
    # On ruby version 1.6.0 - 1.6.5, singleton class be able to dumped
    # as normal class.
    if $version_dependent_behavior and RUBY_VERSION <= "1.6.5"
      assert_equals(Object, Marshal.load(Marshal.dump(singleton_class)))
    else
      assert_no_dumpable singleton_class
    end
  end

  def test_Array
    assert_dumpable_and_equal [1,"foo", :foo]
  end

  def test_Array_with_instance_variable
    ary = [1,"foo", :foo]
    ary.instance_eval{ @var = 1 }

    if $version_dependent_behavior and %w(1.6.6 1.6.7).member?(RUBY_VERSION)
      # On ruby version 1.6.6 - 1.6.7, Array(or String ...) has instance
      # variable is able to be dumped, but can't load it.
      dump = Marshal.dump(ary)
      ex = assert_exception(ArgumentError) {
        Marshal.load(dump)
      }
    else
      assert_dumpable_and_equal ary
    end
  end

  def test_Binding
    assert_no_dumpable binding
  end

  def test_Continuation
    assert_no_dumpable callcc {|c| c}
  end

  def test_Data
    # assert_fail("")
  end

  def test_Exception
    assert_dumpable_but_not_equal Exception.new("hoge")
  end

  def test_Dir
    assert_no_dumpable Dir.open("/")
  end

  def test_FalseClass
    assert_dumpable_and_equal false
  end

  def test_File__Stat
    assert_no_dumpable File.stat("/")
  end

  def test_Hash
    assert_dumpable_and_equal(1=>"1",2=>"2")

    # 1.7 feature.
    if $version_dependent_behavior and RUBY_VERSION >= '1.7.0'
      # On ruby version 1.7, hash with default Proc cannot be dumped.
      # see [ruby-dev:15417]
      assert_no_dumpable(Hash.new { })
    end
  end

  def test_IO
    assert_no_dumpable IO.new(0)
  end

  def test_File
    assert_no_dumpable File.open("/")
  end

  def test_MatchData
    assert_no_dumpable(/foo/ =~ "foo" && $~)
  end

  def test_Method
    assert_no_dumpable Object.method(:method)
  end

  def test_UnboundMethod
    assert_no_dumpable Object.instance_method(:id)
  end

  def test_Module
    # On ruby version 1.6.0 - 1.6.4, loaded module is not a module.
    if $version_dependent_behavior and RUBY_VERSION <= '1.6.4'
      dump = Marshal.dump Enumerable
      ex = assert_exception(TypeError) {
        Marshal.load dump
      }
      assert_matches(ex.message, /is not a module/)
    else
      assert_dumpable_and_equal Enumerable
    end
  end

  def test_userModule
    # On ruby version 1.6.0 - 1.6.4, loaded module is not a module.
    if $version_dependent_behavior and RUBY_VERSION <= '1.6.4'
      # same as test_Module
    else
      # Note: this module must be defineed for Marshal.load.
      assert_dumpable_and_equal(UserModule)
    end
  end

  def test_anonymousModule
    # On ruby version 1.6.0 - 1.6.4, anonymous class is able to be dumped,
    # but loaded object is not identical.
    if $version_dependent_behavior and RUBY_VERSION <= '1.6.4'
      dump = Marshal.dump(Module.new)
      ex = assert_exception(ArgumentError) {
        Marshal.load dump
      }
      assert_matches(ex.message, /can\'t retrieve anonymous class/)
    else
      assert_no_dumpable Module.new
    end
  end

  def test_Class
    assert_dumpable_and_equal Class
  end

  def test_userClass
    # Note: this class must be defineed for Marshal.load.
    assert_dumpable_and_equal(UserClass)
  end
  def test_anonymousClass
    # On ruby version 1.6.0 - 1.6.5, anonymous class able to be dumped,
    # but can't load it.
    if $version_dependent_behavior and RUBY_VERSION <= '1.6.5'
      dump = Marshal.dump(Class.new)
      ex = assert_exception(ArgumentError) {
        Marshal.load(dump)
      }
      assert_matches(ex.message, /can\'t retrieve anonymous class/)
    else
      assert_no_dumpable Class.new
    end
  end

  def test_clonedClass
    # On ruby version 1.6.0 - 1.6.7, instance of cloned class is able to
    # dumped, but loaded object is not identical.
    # see [ruby-dev:14961]
    if $version_dependent_behavior
      if RUBY_VERSION <= '1.6.5'
        obj = String.clone.new("foo")
        dump = Marshal.dump(obj)
        obj2 = Marshal.load dump
        assert(obj == obj2)
        assert(obj.class != obj2.class)
        assert(obj.class.inspect == obj2.class.inspect)
      elsif RUBY_VERSION <= '1.6.7'
        dump = Marshal.dump(String.clone.new("foo"))
        assert_exception(ArgumentError) {
          Marshal.load dump
        }
      else
        assert_no_dumpable String.clone.new("foo")
      end
    else
      # anonymous class can't be dumped
      assert_no_dumpable String.clone.new("foo")
    end
  end

  def test_Numeric
    # assert_fail("")
  end

  def test_Integer
    # assert_fail("")
  end

  def test_Fixnum
    assert_dumpable_and_equal 100
  end

  def test_Bignum
    # derived from Rubicon
    assert_dumpable_and_equal 123456789012345678901234567890
    assert_dumpable_and_equal -123**99
    if $version_dependent_behavior and %w(1.6.2 1.6.3).member?(RUBY_VERSION)
      dump = Marshal.dump 2**32
      ex = assert_exception(ArgumentError) {
        Marshal.load(dump)
      }
      assert_matches(ex.message, /marshal data too short/)
    else
      assert_dumpable_and_equal 2**32
    end
  end

  def test_Float
    assert_dumpable_and_equal 1.41421356

    # On ruby version 1.6.4, dumped format changed from "%.12g" to "%.16g"
    if $version_dependent_behavior and RUBY_VERSION <= '1.6.3'
      assert_dumpable_but_not_equal Math::PI
    else
      assert_dumpable_and_equal Math::PI
    end
  end

  def test_Proc
    assert_no_dumpable proc { }
  end

  def test_Process__Status
    assert_dumpable_and_equal system("true") && $?
  end

  def test_Range
    # Range#== is changed from 1.6.2
    # On ruby version 1.6.0 - 1.6.1, Range.new(1,2) != Range.new(1,2)
    # assert_dumpable_and_equal 1..2
    # assert_dumpable_and_equal 1...2

    obj = Marshal.load(Marshal.dump 1..2)
    assert_equals(1, obj.begin)
    assert_equals(2, obj.end)
    assert_equals(false, obj.exclude_end?)

    obj = Marshal.load(Marshal.dump 1...2)
    assert_equals(1, obj.begin)
    assert_equals(2, obj.end)

    # On ruby version 1.6.0 - 1.6.1, the attribute exclude_end? is not saved.
    if $version_dependent_behavior and RUBY_VERSION <= '1.6.1'
      assert_equals(false, obj.exclude_end?)
    else
      assert_equals(true, obj.exclude_end?)
    end
  end

  def test_Regexp
    # this test is no consider the /foo/p
    assert_dumpable_and_equal /foo/
    assert_dumpable_and_equal /foo/i
    assert_dumpable_and_equal /foo/m
    assert_dumpable_and_equal /foo/x
    assert_dumpable_and_equal /foo/e
    assert_dumpable_and_equal /foo/s
    assert_dumpable_and_equal /foo/u

    # On ruby version 1.6.0 - 1.6.2, Regexp#== is ignore the option.
    for obj in [/foo/, /foo/i, /foo/m, /foo/x, /foo/e, /foo/s, /foo/u]
      obj2 = Marshal.load(Marshal.dump obj)

      if $version_dependent_behavior and RUBY_VERSION <= '1.6.2' and
          %w(/foo/m /foo/x).member?(obj.inspect)
        # On ruby version 1.6.0 - 1.6.2,
        # //m options is not saved.
        assert_equals('/foo/', obj2.inspect)
      else
        assert_equals(obj.inspect, obj2.inspect)
      end
    end
  end

  def test_String
    assert_dumpable_and_equal "foo"
  end

  def test_Struct
    assert_dumpable_and_equal Struct.new("Foo", :foo, :bar)

    Object.const_set('Foo', Struct.new(:foo, :bar))
    assert_dumpable_and_equal Foo
  end

  def test_aStruct
    assert_dumpable_and_equal Struct.new("Bar", :foo, :bar).new("foo", "bar")

    # see [ruby-dev:14961]
  end

  def test_Symbol
    assert_dumpable_and_equal :foo
  end

  def test_Thread
    assert_no_dumpable Thread.new { sleep }
  end

  def test_ThreadGroup
    assert_no_dumpable ThreadGroup::Default
  end

  def test_Time
    assert_dumpable_and_equal Time.now
    assert_dumpable_and_equal Time.now.gmtime

    # time zone is not saved.
    assert_equals(false, Marshal.load(Marshal.dump(Time.now)).utc?)
    assert_equals(false, Marshal.load(Marshal.dump(Time.now.gmtime)).utc?)
  end

  def test_TrueClass
    assert_dumpable_and_equal true
  end

  def test_NilClass
    assert_dumpable_and_equal nil
  end
end


ruby 1.6 feature

ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

1.6.8 (2002-12-24) -> stable-snapshot

2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ ていました。現在は、このようなシステムでは、EWOULDBLOCK は、EAGAIN として定義されています。(これは 1.6.7 とは異なる挙動です)

p Errno::EAGAIN p Errno::EWOULDBLOCK

=> ruby 1.6.7 (2002-03-01) [i586-linux] Errno::EAGAIN Errno::EWOULDBLOCK

=> ruby 1.6.8 (2002-12-24) [i586-linux] Errno::EAGAIN -:2: uninitialized constant EWOULDBLOCK at Errno (NameError)

=> ruby 1.6.8 (2003-02-13) [i586-linux] Errno::EAGAIN Errno::EAGAIN

1.6.7 (2002-03-01) -> 1.6.8 (2002-12-24)

2002-10-02: Thread (cygwin)

Cygwin で、Thread の切替えが行われないことがありました。 ((<ruby-list:36058>)), ((<ruby-list:24637>))

2002-10-01: Socket (win)

Windows でのソケットの問題が1つ解決されたようです。(どのような問題かは 大本のメールがわかりませんでしたが、selectで読み込み可能になったのに 空配列が返されるという問題なのだそうです) ((<ruby-talk:40015>)), ((<ruby-win32:366>))

2002-09-12: Thread.status (?)

シグナルを trap でトラップしたときにスレッドの状態を保持していなかっ たためシグナルに割り込まれたスレッドの状態がおかしくなることがありま した((<ruby-talk:40337>)), ((<ruby-core:00019>))

2002-09-11: Queue#((<Queue/pop>))

Queue#pop に競合状態の問題がありました ((<ruby-dev:17223>))

2002-09-11: SizedQueue.new

引数に 0 以下を受けつけるバグが修正されました。

2002-09-05: ((<リテラル/式展開>))

stable snapshot で、一時期、式展開中のクォートは、バックスラッシュエ スケープが必要になっていましたが、この変更は元に戻りました。

p "#{ "" }"

=> ruby 1.6.7 (2002-03-01) [i586-linux] ""

=> -:1: warning: bad substitution in string ruby 1.6.7 (2002-09-12) [i586-linux] "#{ }"

=> ruby 1.6.7 (2002-09-25) [i586-linux] ""

これは1.7からのバックポートではありません。コメントの扱いなどは、1.7 とは異なります。(((<ruby 1.7 feature>)) の 2002-06-24 も参照)

p "#{ "" # comment }" => ruby 1.6.8 (2002-10-04) [i586-linux] "" => -:1: parse error ruby 1.7.3 (2002-10-04) [i586-linux]

SizedQueue#deq, #shift
SizedQueue#enq

追加(push, pop の別名)。これらが定義されていなかったため、enq などを 呼び出したときスーパークラス Queue の enq が実行されていました。

2002-09-11: ((<tempfile/Tempfile#size>))

追加 ((<ruby-dev:17221>))

2002-09-09

mswin32 版と mingw32 版の ruby で、1.6.6の頃から ruby の子プロセスに環境変数が渡らない バグがありました。((<ruby-dev:18236>))

2002-09-03

Bison を使用してコンパイルした Ruby で、複数回のライブラリロードを行 うときの速度が向上しました。(Bison を使用しない場合、ロードの都度明 示的に GC が実行されるためライブラリロードの実行速度が低下するのだそ うです) ((<ruby-dev:18145>))

2002-08-20 File.expand_path

Cygwin 1.3.x ((<ruby-bugs-ja:PR#299>))

p File.expand_path('file', 'c:/')

=> ruby 1.6.7 (2002-03-01) [i586-linux] /tmp/c:/file => ruby 1.6.7 (2002-08-21) [i586-linux] c:/file

2002-08-19 Thread (win)

Ruby のスレッドと Win32 の構造化例外（Win32 API からのコールバッ クを含む）を同時に使うと落ちてしまう不具合が修正されたのだそうです。 ((<ruby-win32:273>))

2002-08-12 Hash#==

Hash オブジェクトはデフォルト値 (((<Hash/default>))) も == で等しい ときに等しいとみなされるようになりました。

p Hash.new("foo") == Hash.new("bar")

=> ruby 1.6.7 (2002-03-01) [i586-linux] true => ruby 1.6.7 (2002-08-21) [i586-linux] false

# : 2002-08-01 IO#read, gets ..., etc. # # File::NONBLOCK を指定した IO の読み込みで EWOULDBLOCK が発生すると、 # 途中まで読んだデータが失われることがありました。 # ((<ruby-dev:17855>)) # ((-これはまだマージされてません。1.6に入るかも不明です。-))

2002-07-11 String#slice!

範囲外の文字列を指定したときに例外を返す場合がありましたが、常に nil を返すようになりました。(String#[]やString#slice と同じ結果を返すと いうことです)

p "foo".slice!("bar") # <- 以前からこちらは nil を返していた p "foo".slice!(5,10)

=> ruby 1.6.7 (2002-03-01) [i586-linux] nil -:2:in `slice!': index 5 out of string (IndexError) from -:2 => ruby 1.6.7 (2002-08-01) [i586-linux] nil nil

2002-07-05 String#split

最初の引数に nil を指定できるようになりました。((<ruby-talk:43513>)) この場合、$; を分割文字列として使用します。以前までは $; が有効にな るのは引数省略時だけでした。

$; = ":" p "a:b:c".split(nil) => -:2:in `split': bad separator (ArgumentError) from -:2 ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby 1.6.7 (2002-07-30) [i586-linux] ["a", "b", "c"]

2002-06-15 Dir.glob

リンクの切れたシンボリックリンクに対して、Dir.glob がマッチしません でした。

File.symlink("foo", "bar") p Dir.glob("bar") => ruby 1.6.7 (2002-03-01) [i586-linux] [] => ruby 1.6.7 (2002-08-01) [i586-linux] ["bar"]

2002-06-13 Hash[]

Hash[] で、キーとなる文字列を dup & freeze していませんでした。

a = "key" h = Hash[a,"val"] h.keys[0].upcase! p a => ruby 1.6.7 (2002-03-01) [i586-linux] "KEY" => -:3:in `upcase!': can't modify frozen string (TypeError) from -:3 ruby 1.6.7 (2002-08-01) [i586-linux]

2002-06-10 Fixnum#>>, <<

負の数に対して右シフトすると 0 になることがありました。 ((<ruby-bugs-ja:PR#247>))

負の数を引数にした左シフト(つまり右シフト)も同様におかしな挙動をして いました。((<ruby-bugs-ja:PR#248>))

p(-1 >> 31) => ruby 1.6.7 (2002-03-01) [i586-linux] 0 => ruby 1.6.7 (2002-08-01) [i586-linux] -1

p(-1 << -1) => ruby 1.6.7 (2002-03-01) [i586-linux] -2147483649 => ruby 1.6.7 (2002-08-01) [i586-linux] -1

2002-06-05
((<Math/Math.acosh>))
((<Math/Math.asinh>))
((<Math/Math.atanh>))

追加。

2002-06-03
String#[]=

インデックスとして指定した文字列がレシーバに含まれない場合に、何もせ ず右辺を返していました。

foo = "foo" p foo["bar"] = "baz" p foo

=> ruby 1.6.7 (2002-03-01) [i586-linux] "baz" "foo" => -:2:in `[]=': string not matched (IndexError) from -:2 ruby 1.6.7 (2002-07-30) [i586-linux]

2002-06-03 sprintf()

"%d" で引数を整数にするときに、((<組み込み関数/Integer>)) と同じ規則を 使用するようになりました。

p sprintf("%d", nil)

=> -:1:in `sprintf': no implicit conversion from nil (TypeError) from -:1 ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby 1.6.7 (2002-07-30) [i586-linux] "0"

2002-05-23 -* オプション(?)

以前まで、

#! ruby -*- mode: ruby -*-

のような Emacs の '-*-' 指定を使用したスクリプトのために -* 以降を無 視する(何もしないオプションとして認識)するようになっていましたが、こ の特別扱いはなくなりました。Emacs の '-*-' 指定は、2行目に書くように するべきです。((<ruby-dev:17193>))

ruby '-*' -v => ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby: invalid option -* (-h will show valid options)

2002-05-22 parsedate

バージョンアップ((<ruby-dev:17171>))

2002-05-22 -T オプション

ruby のコマンドラインオプション -T の後に空白を置かずに他のオプショ ンを続けると、-T以降のオプションが無効になっていました。-T の後は数 字以外が続いた場合、オプションとみなすようになりました(-0 オプション と同じ) ((<ruby-dev:17179>))

ruby -Tv # -v が無効 (ruby 1.6.7 (2002-03-01) [i586-linux])

=> ruby: No program input from stdin allowed in tainted mode (SecurityError)

=> ruby 1.6.7 (2002-07-30) [i586-linux]

2002-05-20 IO#close

双方向のパイプの dup を close_write するとエラーになっていました。 ((<ruby-dev:17155>))

open("|-","r+") {|f| if f f.dup.close_write else sleep 1 end }

=> ruby 1.6.7 (2002-03-01) [i586-linux] -:3:in `close_write': closing non-duplex IO for writing (IOError) from -:3 from -:1:in `open' from -:1

=> ruby 1.6.7 (2002-07-30) [i586-linux]

2002-05-02 Regexp.quote

# はバックスラッシュクォートするようになりました。これは、quote した 正規表現を //x に正しく埋め込めるようにするためです。 ((<ruby-bugs-ja:PR#231>))

p Regexp.quote("#")

p /a#{Regexp.quote("#")}b/x =~ "ab"

=> -:3: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-03-01) [i586-linux] "#" 0

=> -:3: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-07-30) [i586-linux] "\\#" nil

2002-04-29: rb_find_file()

$SAFE >= 4 で、絶対パス指定でない場合、SecurityError 例外が発生する ようになりました。

2002-04-26: Regexp.quote

((<ruby-bugs-ja:PR#231>))

p Regexp.quote("\t")

p /a#{Regexp.quote("\t")}b/x =~ "ab"

=> -:3: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-03-01) [i586-linux] "\t" 0

=> -:3: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-05-04) [i586-linux] "\\t" nil

2002-04-20: Regexp#inspect

/x フラグ付きの正規表現オブジェクトの inspect が改行を \n に変換して いました。((<ruby-bugs-ja:PR#225>))

p /a b/x

=> -:1: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-03-01) [i586-linux] /a\n b/x

=> -:1: warning: ambiguous first argument; make sure ruby 1.7.2 (2002-04-24) [i586-linux] /a b/x

2002-04-19: 終了処理

以下のスクリプトで 2 回シグナルを送らないと終了しない不具合が修正さ れました。((<ruby-bugs-ja:PR#223>))

trap(:TERM, "EXIT")

END{ puts "exit" }

Thread.start { Thread.stop } sleep

2002-04-17: Regexp#inspect

((<ruby-bugs-ja:PR#222>))

p %r{\/}

=> ruby 1.6.7 (2002-03-01) [i586-linux] /\\//

=> ruby 1.6.7 (2002-05-04) [i586-linux] /\//

2002-04-15: pack('U')

pack('U') を unpack('U') すると元に戻らないバグが修正されました。 (unpack は、バイト単位でなく文字単位の処理になりました) ((<ruby-bugs-ja:PR#220>))

p [128].pack("U") p [128].pack("U").unpack("U")

=> ruby 1.6.7 (2002-03-01) [i586-linux] "\302\200" [0]

=> ruby 1.6.7 (2002-05-04) [i586-linux] "\302\200" [128]

2002-04-11: IO#write

ソケットやパイプに対する EPIPE の検出に失敗することがありました。 ((<ruby-dev:16849>))

2002-04-11: ((<"cgi/session">)) (*ドキュメント未反映*)

support for multipart form.

2002-04-10: Object#((<Object/remove_instance_variable>))

指定したインスタンス変数が定義されていない場合例外 NameError を起こ すようになりました。((<ruby-bugs-ja:PR#216>))

Object.new.instance_eval { p remove_instance_variable :@foo } => ruby 1.6.7 (2002-03-01) [i586-linux] nil

=> -:2:in `remove_instance_variable': instance variable @foo not defined (NameError) ruby 1.6.7 (2002-04-10) [i586-linux]

2002-04-04: Integer#((<Integer/step>))

第二引数が 1 よりも小さい場合に 0 を指定したと見なされエラーになって いました。

1.step(2, 0.1) {|f| p f }

=> -:1:in `step': step cannot be 0 (ArgumentError) from -:1 ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby 1.6.7 (2002-04-10) [i586-linux] 1 1.1 : 1.9

2002-04-01: ((<組み込み変数/$~>))

$~ に nil を代入できないバグが修正されました。((<ruby-dev:16697>))

/foo/ =~ "foo" p $~ $~ = nil p $~ => ruby 1.6.7 (2002-03-01) [i586-linux] #<MatchData:0x401b1be4> -:3: wrong argument type nil (expected Match) (TypeError) ^^^^^ MatchData の間違い => ruby 1.6.7 (2002-04-04) [i586-linux] #<MatchData:0x401b1c98> nil

2002-03-25 ((<BasicSocket/BasicSocket.do_not_reverse_lookup>))

$SAFE > 3 で値を設定できなくなりました。 ((<ruby-dev:16554>))

2002-03-23 IO#((<IO/read>))

サイズが 0 で中身のあるファイル(Linux の /proc ファイルシステムでこ のような場合があります)が File#read などで読めないバグが修正されまし た。

p File.open("/proc/#$$/cmdline").read

=> ruby 1.6.7 (2002-03-01) [i586-linux] ""

=> ruby 1.6.7 (2002-03-29) [i586-linux] "ruby-1.6\000-v\000-"

2002-03-22 ((<Module/module_eval>))

((<Module/module_eval>)) のブロック内で定数やクラス変数のスコープが 変わることはなくなりました。((<ruby-dev:17876>))

class Foo FOO = 1 @@foo = 1 end

FOO = 2 @@foo = 2

Foo.module_eval { p FOO, @@foo }

=> ruby 1.6.7 (2002-03-01) [i586-linux] 1 1

=> ruby 1.6.7 (2002-03-29) [i586-linux] 2 2

2002-03-22 ((<"net/http">))

Net::HTTP.new がブロックなしのときに nil を返していました。 ((<ruby-bugs-ja:PR#214>))

net/protocol は削除される方向にあるようで、その準備時に エンバグしたそうです。

2002-03-20 ((<File/File.expand_path>))

メモリの解放洩れがありました。((<ruby-bugs:PR#276>))

2002-03-18 文字列リテラル

漢字コードの扱いが #{..} の中などで不完全な部分がありました。 ((<ruby-list:34478>))

#! ruby -Ks p a = "#{"表"}" => -:1: compile error in string expansion (SyntaxError) -:1: unterminated string meets end of file ruby 1.6.7 (2002-03-15) [i586-linux] => ruby 1.6.7 (2002-03-19) [i586-linux] "表"

#! ruby -Ks p %[評価] => -:2: parse error p %[評価] ^ ruby 1.6.7 (2002-03-15) [i586-linux]

=> ruby 1.6.7 (2002-03-19) [i586-linux] "評価"

2002-03-16 $~

正規表現マッチのメソッドが実際には内部でマッチを実行しない場合に $~ の状態をクリアしていませんでした。 ((<ruby-bugs-ja:PR#208>))

/foo/ =~ "foo" /foo/ =~ nil p $~

/foo/ =~ "foo" $_ = nil; ~"foo" p $~

/foo/ =~ "foo" "foo".index(/bar/, 4) p $~

/foo/ =~ "foo" "foo".rindex(/bar/, -4) p $~

=> ruby 1.6.7 (2002-03-06) [i586-linux] #<MatchData:0x401b1be4> #<MatchData:0x401b198c> #<MatchData:0x401b1644> #<MatchData:0x401b1414> => ruby 1.6.7 (2002-03-19) [i586-linux] nil nil nil nil

2002-03-14 拡張ライブラリの autoload

拡張ライブラリに対して autoload が効いていませんでした。((<ruby-dev:16379>))

autoload :Fcntl, "fcntl" require "fcntl"

=> -:2:in `require': uninitialized constant Fcntl (NameError) from -:2 ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby 1.6.7 (2002-03-15) [i586-linux]

2002-03-13 ((<getopts>))

refine. ((<ruby-dev:16193>)), ((<ruby-dev:16213>))

2002-03-11 正規表現中の 8 進コード

正規表現中の \nnn による 8 進記法で先頭が 0 の場合だけ、4桁を許して いました。((<ruby-bugs-ja:PR#207>))

p /\0001/ =~ "\0001" # equivalent to "\0" + "1" => -:1: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-03-01) [i586-linux] nil => -:1: warning: ambiguous first argument; make sure ruby 1.6.7 (2002-03-15) [i586-linux] 0

2002-03-11 trap

((<ruby-bugs-ja:PR#206>))

trap('EXIT','Foo') => -:1: [BUG] Segmentation fault ruby 1.6.7 (2002-03-01) [i586-linux] => ruby 1.6.7 (2002-03-15) [i586-linux]

2002-03-10 メソッドの戻り値

以下のメソッドの戻り値が正しくなりました。((<ruby-bugs-ja:PR#205>))

* ((<Enumerable/each_with_index>)) が self を返すようになった(以前は nil) * ((<Process/Process.setpgrp>)) が返す値が不定だった。 * ((<String/ljust>)), ((<String/rjust>)), ((<String/center>)) の結果に 変化がなくても常に dup した文字列を返すようになった

2002-03-08 class variable

((<ruby-talk:35122>))

class C class << self def test @@cv = 5 p @@cv end end

test end => -:5:in `test': uninitialized class variable @@cv in C (NameError) from -:9 ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby 1.6.6 (2001-12-26) [i586-linux] 5

2002-03-03 ((<Marshal/Marshal.load>))

Marshal.load が 1.7 のメソッド Proc#yield を呼んでいました。 ((<ruby-dev:16178>))

Marshal.load(Marshal.dump('foo'), proc {|o| p o}) => -:1:in `load': undefined method `yield' for #<Proc:0x401b1b30> (NameError) from -:1 ruby 1.6.7 (2002-03-01) [i586-linux]

=> ruby 1.6.6 (2001-12-26) [i586-linux] "foo"

1.6.6 (2001-12-26) -> 1.6.7 (2002-03-01)

2002-02-20 true/false/nil の特異メソッド定義

これら疑似変数に特異クラス定義形式で特異メソッドを定義できるようにな りました。

class <<true def foo "foo" end end p true.foo => -:1: no virtual class for true (TypeError) ruby 1.6.6 (2001-12-26) [i586-linux]

=> ruby 1.6.7 (2002-03-01) [i586-linux] "foo"

((<time>)), URI

追加されました。

Ruby/Tk

バグ修正、機能追加 ((<ruby-dev:16139>)),((<ruby-dev:16153>))。

数値リテラルの `_'

`_' を置ける場所の規則が見直され、String#hex などの数値変換メソッド の挙動と共に規則が統一されました。((<rubyist:1018>)), ((<ruby-dev:15684>)), ((<ruby-dev:15757>))

((<Module/include>))

モジュールが再帰的に include されないようになりました。

module Foo; end module Bar; include Foo; end module Foo; include Bar; end

p Foo.ancestors

=> ruby 1.6.6 (2001-12-26) [i586-linux] [Foo, Bar, Foo]

=> -:3:in `append_features': cyclic include detected (ArgumentError) from -:3:in `include' from -:3 ruby 1.6.6 (2002-01-28) [i586-linux]

メソッドの戻り値

以下のメソッドの戻り値が正しくなりました。 ((<ruby-bugs-ja:PR#182>)), ((<rubyist:1016>))

* Hash#default= が右辺を返すようになった(以前は self を返していた)。

* Dir#pos= が右辺を返すようになった(以前は self を返していた)。 (Dir#seek は、変わらず self を返します)

* Dir.glob がブロックを伴うとき nil を返すようになった(以前は false)

* IO#close がクローズ済みな IO に対して IOError を起こすようになった。

* IO#each_byte が self を返すようになった(以前は nil)

rb_define_module_under()

C 関数 rb_define_module_under() でモジュールを定義するときに同名の定 数が既に定義されていると失敗していました。((<ruby-talk:30203>))

Constants = 1 require 'syslog' p Syslog::Constants

=> -:2:in `require': Syslog::Fixnum is not a module (TypeError) from -:2 ruby 1.6.6 (2001-12-26) [i586-linux]

=> ruby 1.6.6 (2002-01-07) [i586-linux] Syslog::Constants

このバグにより 1.6.7 が近いうちにリリースされるかもしれません ((<ruby-talk:30387>))(やっぱそんなことはなかったようです。 これを見て、1.6.6 の stable-snapshot を使用している方は、2002/1/30 の以下の変更(ChangeLog)

* re.c (rb_reg_search): should set regs.allocated.

で、メモリリークが起こるようになってることに注意してください。 2002/2/13 以降の修正版で直ってます。っと一度ハマッたので書いておきま す)。

1.6.5 (2001-09-19) -> 1.6.6 (2001-09-19)

((<Syslog>))

追加されました。

CGI

Netscape(バージョンは？) のバグに対処しました ((<ruby-list:32089>))

Time#localtime
Time#gmtime

フリーズした Time オブジェクトに対して一度だけ呼び出しを許しました。

t = Time.new.freeze p t.gmtime p t.localtime

=> -:2:in `gmtime': can't modify frozen Time (TypeError) from -:2 ruby 1.6.5 (2001-09-19) [i586-linux]

=> ruby 1.6.5 (2001-11-01) [i586-linux] Mon Nov 05 18:08:34 UTC 2001 -:3:in `localtime': can't modify frozen Time (TypeError) from -:3

File::SEPARATOR
File::ALT_SEPARATOR
File::PATH_SEPARATOR
RUBY_PLATFORM
RUBY_RELEASE_DATE
RUBY_VERSION

これらは、freeze された文字列になりました。

p File::SEPARATOR.frozen?
p File::ALT_SEPARATOR.frozen?
p File::PATH_SEPARATOR.frozen?

=> ruby 1.6.5 (2001-09-19) [i586-linux] false false false

=> ruby 1.6.5 (2001-11-01) [i586-linux] true false # ここでは実行環境がLinuxなので ALT_SEPARATOR は nil true

Integer[nth]

大きな値のインデックスに対して例外が発生していました。 ((<ruby-bugs-ja:PR#114>))

p(-1[10000000000])

=> -:1:in `[]': bignum too big to convert into `int' (RangeError) from -:1 ruby 1.6.5 (2001-09-19) [i586-linux]

=> ruby 1.6.5 (2001-11-01) [i586-linux] 1

整数の負のインデックスに対して 0 を返すようにな・・・ってません。あれ？ ((<ruby-bugs-ja:PR#122>))

p(-1[-1])

=> ruby 1.6.5 (2001-09-19) [i586-linux] 1 => ruby 1.6.5 (2001-11-01) [i586-linux] 1

Numeric#remainder

((<ruby-bugs-ja:PR#110>))

p( 3.remainder(-3)) p(-3.remainder(3))

=> ruby 1.6.5 (2001-09-19) [i586-linux] 3 -3 => ruby 1.6.5 (2001-11-01) [i586-linux] 0 0

END { ... }

END ブロックの中の END ブロックが実行されていませんでした。 ((<ruby-bugs-ja:PR#107>))

END { p 1 END { p 2 } }

=> ruby 1.6.5 (2001-09-19) [i586-linux] 1

=> ruby 1.6.5 (2001-11-01) [i586-linux] 1 2

String#succ

((<ruby-talk:22557>))

p "***".succ
p "*".succ
p sprintf("%c", 255).succ
p sprintf("*%c", 255).succ
p sprintf("**%c", 255).succ

=> ruby 1.6.5 (2001-09-19) [i586-linux]
   "**+"
   "\001+"
   "\001\000"
   "\001+\000"
   "*+\000"

=> ruby 1.6.5 (2001-11-01) [i586-linux]
   "**+"
   "+"
   "\001\000"
   "+\000"
   "*+\000"
method_missing

以下が Segmentation Fault していました。((<ruby-dev:14942>))

Module.constants.each {|c| c = eval c if c.instance_of?(Class) p c c.instance_methods.each {|m| c.module_eval "undef #{m};" } c.module_eval {undef initialize} end }

=> ruby 1.6.5 (2001-09-19) [i586-linux] NotImplementedError MatchData Exception Numeric MatchData Segmentation fault

=> ruby 1.6.5 (2001-10-15) [i586-linux] MatchData NotImplementedError FloatDomainError LoadError Float Binding SignalException Module -:6:in `method_missing': stack level too deep (SystemStackError)

%q(...)

% 記法によるリテラル表記でその区切り文字として英数字を指定 できなくなりました。

p %q1..1

=> ruby 1.6.5 (2001-10-10) [i586-linux] ".." => -:1: unknown type of %string p %q1..1 ^ ruby 1.6.5 (2001-10-15) [i586-linux]

String#=~

String#=~ の呼出で両辺ともリテラルであったときに速度重視のためにメソッ ドコールを行わなくなりました。(実際は、前からこのようにしようとして いたがバグによりメソッドが呼び出されていた(しかもString#=~ でなく Regexp#=~))

class String def =~(arg) ["String#=~", self, arg] end end

class Regexp def =~(arg) ["Regexp#=~", self, arg] end end

p "foo" =~ /foo/ p "foo" =~ Regexp.new("foo")

=> -:2: warning: discarding old =~ -:8: warning: discarding old =~ ruby 1.6.5 (2001-09-19) [i586-linux] ["Regexp#=~", /foo/, "foo"] ["String#=~", "foo", /foo/]

=> -:2: warning: discarding old =~ -:8: warning: discarding old =~ ruby 1.6.5 (2001-10-10) [i586-linux] 0 ["String#=~", "foo", /foo/]

(((*組み込みのメソッドはこのような最適化が行われることがあるのでメソッ ドの再定義の効果が及ばないことがある点に注意*))というか、メソッドが 再定義されたかどうかで、最適化の on/off をしてほしいなあ)

class 定義

既にクラスが定義されていて、そのクラスと異なるスーパークラスを明示的 に指定して再定義したとき、指定したスーパークラスが反映されていません でした。((<ruby-bugs-ja:PR#87>))

class A p self.id end class A < String p self.id p self.superclass end

=> ruby 1.6.5 (2001-09-19) [i586-linux] 537760880 -:4: warning: already initialized constant A 537757180 Object => ruby 1.6.5 (2001-10-10) [i586-linux] 537760960 -:4: warning: already initialized constant A 537757200 String

%w(...)

配列リテラル %w(...) が構文解析器により文字列リテラルとして判断されて いたため、以下のようなコードで異常な状態になっていました。 ((<ruby-bugs-ja:PR#91>))

%w!a! "b" => -:1: tried to allocate too big memory (NoMemoryError) ruby 1.6.5 (2001-09-19) [i586-linux]

=> -:1: parse error %w!a! "b" ^ ruby 1.6.5 (2001-10-10) [i586-linux]

Thread

Thread#status が aborting 状態に対して "run" を返していたバグが修正 されました。また、Thread#priority = val が val でなく self を返して いました。((<rubyist:0820>)), ((<ruby-dev:14903>))

((<Marshal>))

無名のクラス／モジュールは dump できないようになりました。

p Marshal.dump(Class.new)

=> ruby 1.6.4 (2001-06-04) [i586-linux] "\004\005c\031#<Class 0lx401a6b44>"

=> -:1:in `dump': can't dump anonymous class #<Class 0lx401ab980> (ArgumentError) from -:1 ruby 1.6.5 (2001-10-05) [i586-linux]

UNIXSocket#addr

UNIXSocket#addr がゴミを返していました(BSD の場合？)。 ((<ruby-bugs-ja:PR#85>))

# server require 'socket' File.unlink("/tmp/sss") sock = UNIXServer.new("/tmp/sss").accept

# client require 'socket' sock = UNIXSocket.new("/tmp/sss").addr

=> ["AF_UNIX", "\031((\306\031(\010"]

=> ["AF_UNIX", ""]

???

((<ruby-talk:21722>))

class Ptr def initialize(obj) @obj = obj end def []=() @obj = obj end def []() @obj end end module Kernel def _ptr() Ptr.new(self) end end

def foo(int) int[] += 1 end x = 1._ptr foo(x) puts x[]

=> -:11: [BUG] Segmentation fault ruby 1.6.5 (2001-09-19) [i586-linux]

=> -:11:in `[]=': wrong # of arguments(1 for 0) (ArgumentError) from -:11:in `foo' from -:14 ruby 1.6.5 (2001-10-05) [i586-linux]

Subclass of String and Array

String, Array のサブクラスで特定のメソッドを呼ぶと、String, Array になっていました。

class Foo < String
end
p Foo.new("").class
p Foo.new("foo")[0,0].class              # String ???
p Foo.new("foo")[1,1].class
p Foo.new("foo").succ.class
p Foo.new("foo").reverse.class
p((Foo.new("foo") * 5).class)
p Foo.new("foo").gsub(/foo/, "bar").class
p Foo.new("foo").sub(/foo/, "bar").class
p Foo.new("foo").ljust(10).class
p Foo.new("foo").rjust(10).class
p Foo.new("foo").center(10).class

=> ruby 1.6.5 (2001-09-19) [i586-linux] Foo String String String String String String Foo String String String

=> ruby 1.6.5 (2001-10-05) [i586-linux] Foo String Foo Foo Foo Foo Foo Foo Foo Foo Foo

class Bar < Array end bar = Bar.new p bar.class p bar.push(1,2,3) p bar.class p bar[0,0].class # => Array ??? p bar[0,1].class p ((bar * 5).class)

=> -:9: warning: p (...) interpreted as method call ruby 1.6.5 (2001-09-19) [i586-linux] Bar [1, 2, 3] Bar Array Array Array => -:9: warning: p (...) interpreted as method call ruby 1.6.5 (2001-10-05) [i586-linux] Bar [1, 2, 3] Bar Array Bar Bar

1.6.4 (2001-06-04) -> 1.6.5 (2001-09-19)

$_, $~, if a..b

関数の中からThread#runを使うと、そのスレッドとスコープを共有する親スレッ ドの$_, $~が、子スレッドのもので上書きされてしまっていました。 ((<ruby-dev:14743>))

def foo(t) t.run end

t = Thread.start do
t = $_= "sub"
loop{Thread.stop;puts "sub:#$_"}
end

$_ = "main" t.run # => sub:sub puts "main:#$_" # => main:main foo(t) # => sub:sub puts "main:#$_" # => main:sub => ruby 1.6.4 (2001-06-04) [i586-linux] sub:sub main:main sub:sub main:sub => ruby 1.6.5 (2001-09-19) [i586-linux] sub:sub main:main sub:sub main:main

net/telnet

Net::Telnet が特定のホストへ接続後、動かない事がありました。 ((<ruby-list:31303>))

CGI#header

以下のようなスクリプトでTEXT_PLAINが"text/plain; charset=iso-8859-1" のように書き換えられていました。 ((<ruby-dev:14716>))

require 'cgi'

TEXT_PLAIN = "text/plain"

cgi = CGI.new print cgi.header("type" => TEXT_PLAIN, "charset" => "iso-8859-1") printf("TEXT_PLAIN: %s\n", TEXT_PLAIN)

=> ruby 1.6.4 (2001-06-04) [i586-linux] Content-Type: text/plain; charset=iso-8859-1 ^M TEXT_PLAIN: text/plain; charset=iso-8859-1 TEXT_PLAIN: text/plain

=> ruby 1.6.5 (2001-09-19) [i586-linux] Content-Type: text/plain; charset=iso-8859-1 ^M TEXT_PLAIN: text/plain

Dir.chdir

環境変数 HOME, LOGDIR のいずれも定義されていないとき引数なしの Dir.chdir で ArgumentError 例外を起こすようになりました

ENV['HOME'] = nil ENV['LOGDIR'] = nil Dir.chdir => -:3:in `chdir': Bad address (Errno::EFAULT) from -:3 ruby 1.6.4 (2001-08-26) [i586-linux] => -:3:in `chdir': HOME/LOGDIR not set (ArgumentError) from -:3 ruby 1.6.5 (2001-09-19) [i586-linux]

Dir.glob

以下のコードが無限ループになっていました。

Dir.mkdir("test?") rescue nil p Dir.glob("test?/*") => ruby 1.6.5 (2001-09-19) [i586-linux] []

jcode

バグがいくつか修正されました。((<ruby-list:31238>))

〜この間、空白期間〜

((<Dir>)).glob

Dir.glob("*/**/*")がサブディレクトリのファイルを二度返していました。 ((<ruby-dev:14576>))

Dir.mkdir('foo') rescue nil
Dir.mkdir('foo/bar') rescue nil
p Dir.glob('*/**/*')

=> ruby 1.6.4 (2001-06-04) [i586-linux] ["foo/bar", "foo/bar"]

=> ruby 1.6.4 (2001-08-26) [i586-linux] ["foo/bar"]

((<UnboundMethod>))#bind

モジュールの UnboundMethod オブジェクトを bind することができませんでした。 ((<rubyist:0728>))

module Foo def foo :foo end end

class Bar include Foo end

m = Foo.instance_method :foo p m.bind(Bar.new).call

=> ruby 1.6.4 (2001-06-04) [i586-linux] -:12:in `bind': first argument must be an instance of Foo (TypeError) from -:12

=> ruby 1.6.4 (2001-08-23) [i586-linux] :foo

組み込みクラスの置き換え

組み込みクラス／モジュール(を代入した定数)への代入を行ったときに警告を 出すようになりました。

Array = nil p Array => ruby 1.6.4 (2001-06-04) [i586-linux] nil

=> -:1: warning: already initialized constant Array ruby 1.6.4 (2001-08-23) [i586-linux] nil

((<Regexp>))

括弧の数より大きな数のバックリファレンスが何にでもマッチしていました。 ((<ruby-list:30975>))

p /(foo)\2/ =~ "foobar" => ruby 1.6.4 (2001-06-04) [i586-linux] 0 => ruby 1.6.4 (2001-08-23) [i586-linux] nil

((<TCPSocket>)).open

((<Cygwin>)) で ((<TCPSocket>)).open がタイミングによってエラー(Errno::EINVAL, EALREADY)になることがある問題に対処しました。(1.6.4 20010712以降) ((<ruby-talk:9939>)), ((<ruby-talk:16632>)), ((<ruby-list:24702>)), ((<ruby-list:27805>)), ((<ruby-list:30512>)) 等など

resolv, resolv-replace

追加。rubyで実装したリゾルバ(DNSの名前解決) とSocket関連のクラスでこ のライブラリを使用するためのライブラリです。

rubyで実装したリゾルバは、timeout の制御が効きます(つまり、名前解 決中にThreadが切替え可能ということです)

require 'resolv' p Resolv.new.getaddress("www.ruby-lang.org").to_s

=> /usr/local/lib/ruby/1.6/resolv.rb:160: warning: timeout (...) interpreted as method call /usr/local/lib/ruby/1.6/resolv.rb:55: warning: instance variable @initialized not initialized /usr/local/lib/ruby/1.6/resolv.rb:113: warning: instance variable @initialized not initialized /usr/local/lib/ruby/1.6/resolv.rb:392: warning: instance variable @initialized not initialized ruby 1.6.4 (2001-08-23) [i586-linux] "210.251.121.214"

((<Digest|digest>)) モジュール

SHA1, MD5 は Digest::SHA1, Digest::MD5 に置き換えられました。 Digest::SHA256, Digest::SHA384, Digest::SHA512, Digest::RMD160 も新たに追加されました。

require 'digest/md5' include Digest

md = MD5.new md << "abc" puts md

puts MD5.hexdigest("123")

((<Struct>))

フリーズされた構造体オブジェクトが変更できていました。また、$SAFE = 4 のときの変更を禁止するようにしました。((<ruby-talk:19167>))

cat = Struct.new("Cat", :name, :age, :life) a = cat.new("cat", 12, 7).freeze a.name = "dog" p a => ruby 1.6.4 (2001-06-04) [i586-linux] #<Struct::Cat name="dog", age=12, life=7> => ruby 1.6.4 (2001-08-06) [i586-linux] -:4:in `name=': can't modify frozen Struct (TypeError) from -:4

cat = Struct.new("Cat", :name, :age, :life) a = cat.new("cat", 12, 7) Thread.new do abort_on_exception = true $SAFE = 4 a.life -= 1 end.join p a.life => ruby 1.6.4 (2001-06-04) [i586-linux] 6 => ruby 1.6.4 (2001-08-06) [i586-linux] -:6:in `life=': Insecure: can't modify Struct (SecurityError) from -:3:in `join' from -:3

((<String>))#rindex

rindex に正規表現を渡したときの動作にバグがありました。((<ruby-dev:13843>)) (1.6.4 リリース後のバグです)

p "foobar".rindex(/b/) => ruby 1.6.4 (2001-06-04) [i586-linux] 3

=> ruby 1.6.4 (2001-06-19) [i386-freebsd5.0] nil

=> ruby 1.6.4 (2001-08-06) [i586-linux] 3

((<require|組み込み関数>))

requireに ~ で始まるファイル名を指定したとき、拡張子がついてな いとロードできなくなっていました。((<ruby-dev:13756>))

$ echo p __FILE__ > ~/a.rb $ ruby17 -v -r~/a -e0 ruby 1.7.1 (2001-07-03) [i686-linux] 0: No such file to load -- ~/a (LoadError) $ ruby16 -v -r~/a -e0 ruby 1.6.4 (2001-07-02) [i686-linux] 0: No such file to load -- ~/a (LoadError) $ ruby14 -v -r~/a -e0 ruby 1.4.6 (2000-08-16) [i686-linux] "/home/nobu/a.rb"

((<String>))#each_line

正しく汚染が伝搬していませんでした。((<ruby-dev:13755>))

"foo\nbar\n".taint.each_line {|v| p v.tainted?} => ruby 1.6.4 (2001-06-04) [i586-linux] false true => ruby 1.6.4 (2001-08-06) [i586-linux] true true

((<NKF|nkf>)).nkf

正しく汚染が伝搬していませんでした。((<ruby-dev:13754>))

require 'nkf' p NKF.nkf("-j", "a".taint).tainted?

=> ruby 1.6.4 (2001-06-04) [i586-linux] false => ruby 1.6.4 (2001-08-06) [i586-linux] true

ruby -x

オプション ((<Rubyの起動/-x[directory]>)) を指定したときにスクリ プトを実行せずに終了することがありました。((<ruby-dev:13752>))

attr_*

アクセサに余計な引数を渡してもエラーになりませんでした。 ((<ruby-dev:13748>))

class C def initialize @message = 'ok' end attr_reader :message end puts C.new.message(1,2,3)

=> ruby 1.6.4 (2001-06-04) [i586-linux] ok => ruby 1.6.4 (2001-08-06) [i586-linux] -:7:in `message': wrong # of arguments(3 for 0) (ArgumentError) from -:7

((<Readline|readline>)).completion_append_character
((<Readline|readline>)).completion_append_character=

追加。GNU Readline ライブラリの変数 (({rl_completion_append_character})) のアクセサ。(この変数は GNU readline 2.1 以降で使えます) ((<ruby-ext:01760>))

((<Socket::Constants>))

ソケット関連の定数のうち以下が新規に追加されました(システムに定義さ れている場合に限る)。

SO_PASSCRED SO_PEERCRED SO_RCVLOWAT SO_SNDLOWAT SO_RCVTIMEO SO_SNDTIMEO SO_SECURITY_AUTHENTICATION SO_SECURITY_ENCRYPTION_TRANSPORT SO_SECURITY_ENCRYPTION_NETWORK SO_BINDTODEVICE SO_ATTACH_FILTER SO_DETACH_FILTER SO_PEERNAME SO_TIMESTAMP

((<require|組み込み関数>)) / $LOAD_PATH

Changed to use a new algorithm to locate a library.

Now when requiring "foo", the following directories are searched for the library in the order listed.

$prefix/lib/ruby/site_ruby/$ver/foo.rb $prefix/lib/ruby/site_ruby/$ver/foo.so $prefix/lib/ruby/site_ruby/$ver/$arch/foo.rb $prefix/lib/ruby/site_ruby/$ver/$arch/foo.so $prefix/lib/ruby/site_ruby/foo.rb $prefix/lib/ruby/site_ruby/foo.so $prefix/lib/ruby/$ver/foo.rb $prefix/lib/ruby/$ver/foo.so $prefix/lib/ruby/$ver/$arch/foo.rb $prefix/lib/ruby/$ver/$arch/foo.so ./foo.rb ./foo.so

The previous behavior had a potential security risk because a foo.rb (if exists) in the current directory is located prior to a foo.so in $prefix/lib/ruby/site_ruby/$ver/$arch.

((<ruby-bugs:PR#140>)), ((<ruby-ext:01778>)), ((<ruby-dev:13659>))

sync
mutex_m

Fixed for obj.extend(Sync_m) and obj.extend(Mutex_m).((<ruby-dev:13463>))

$ ruby -v -rsocket -rmutex_m -e 's=TCPSocket.new("localhost",25); s.extend(Mutex_m)' ruby 1.6.4 (2001-06-04) [i386-linux] /usr/lib/ruby/1.6/mutex_m.rb:104:in `initialize': wrong # of arguments (0 for 1) (ArgumentError) from /usr/lib/ruby/1.6/mutex_m.rb:104:in `initialize' from /usr/lib/ruby/1.6/mutex_m.rb:50:in `mu_extended' from /usr/lib/ruby/1.6/mutex_m.rb:34:in `extend_object' from -e:1:in `extend' from -e:1

$SAFE / ((<load|組み込み関数>))

1 <= $SAFE <= 3 で、第二引数が true のとき汚染されたファイル名を 指定しても load() できてしまうバグが修正されました。((<ruby-dev:13481>))

$SAFE = 1 filename = "foo" filename.taint p load(filename, true)

=> ruby 1.6.4 (2001-06-04) [i586-linux] true

=> ruby 1.6.4 (2001-08-06) [i586-linux] -:4:in `load': Insecure operation - load (SecurityError) from -:4

((<Regexp>))

以下で、前者がマッチしませんでした。((<ruby-talk:16233>))

puts "OK 1" if /(.|a)bd/ =~ "cxbd" puts "OK 2" if /(a|.)bd/ =~ "cxbd"

=> ruby 1.6.4 (2001-06-04) [i586-linux] OK 2 => ruby 1.6.4 (2001-08-06) [i586-linux] OK 1 OK 2

((<Marshal>))

モジュールのロードの型チェックに誤りがありました。この変更によりdump フォーマットのマイナーバージョンが1あがりました

p Marshal.dump(Object.new).unpack("CC").join(".") => ruby 1.6.4 (2001-06-04) [i586-linux] "4.5" p Marshal.dump(Object.new).unpack("CC").join(".") => ruby 1.6.4 (2001-06-11) [i586-linux] "4.6"

$SAFE / ((<クラス／メソッドの定義/def>))

doc/NEWS には

Fixed so defining a new method is allowed under $SAFE == 4, which previously wasn't.

とあるけど実際にはできません。

$SAFE = 4; def a; end

=> -:1: Insecure operation `(null)' at level 4 (SecurityError) ruby 1.6.4 (2001-06-04) [i586-linux]

=> -:1: Insecure: can't define method (SecurityError) ruby 1.6.4 (2001-08-06) [i586-linux]

対応するChangeLogは以下のようです。

Tue Jun 5 15:16:06 2001 Yukihiro Matsumoto <matz@ruby-lang.org>

* eval.c (rb_add_method): should not call rb_secure(), for last_func may not be set.

差分は以下のようです。

@@ -227,10 +227,7 @@ rb_add_method(klass, mid, node, noex) NODE *body;

if (NIL_P(klass)) klass = rb_cObject;
-    if (klass == rb_cObject) {
-       rb_secure(4);
-    }
-    if (rb_safe_level() >= 4 && !OBJ_TAINTED(klass)) {
+    if (rb_safe_level() >= 4 && (klass == rb_cObject || !OBJ_TAINTED(klass))) {
rb_raise(rb_eSecurityError, "Insecure: can't define method");
}
if (OBJ_FROZEN(klass)) rb_error_frozen("class/module");

また今度調べ直します。

((<IO>))#ioctl

第二引数に Bignum も受け付けるようになりました(long int の範囲をカバー するため)

1.6.3 (2001-03-19) -> 1.6.4 (2001-06-04)

((<Hash>))#replace

ハッシュのイテレート中に、そのハッシュのある要素を削除して、 他のハッシュへreplaceするとAbortしていました。((<ruby-dev:13432>))

h = { 10 => 100, 20 => 200 } h2 = { }

h.each { |k, v|
if (k == 10)
h.delete(10)
h2.replace(h)  # => Abort core dumped
end
}

$SAFE / ((<File>)).unlink

File.unlink は引数が汚染されてなくても $SAFE >= 2 の環境下では 禁止するようになりました。((<ruby-dev:13426>))

touch foo ruby -v -e '$SAFE=2;File.unlink("foo")'

=> ruby 1.6.3 (2001-03-19) [i586-linux] => ruby 1.6.4 (2001-06-04) [i586-linux] -e:1:in `unlink': Insecure operation `unlink' at level 2 (SecurityError) from -e:1

((<Object>))#untaint

凍結したオブジェクトに対してuntaintできないようにしました。((<ruby-dev:13409>))

a = Object.new a.taint a.freeze a.untaint

=> ruby 1.6.3 (2001-03-19) [i586-linux] => ruby 1.6.4 (2001-06-04) [i586-linux] -:4:in `untaint': can't modify frozen object (TypeError) from -:4

ruby -T4

オプション ((<-T4|Rubyの起動/-T[level]>)) を指定したとき、ARGV を 変更できないためプログラムの実行ができませんでした。 ((<ruby-dev:13401>))

touch foo ruby-1.6.3 -v -T4 foo => ruby 1.6.3 (2001-03-19) [i586-linux] foo: Insecure: can't modify array (SecurityError)

((<Regexp>))

正規表現中の \1 .. \9 は常にバックリファレンスとして解釈されるように なりました(以前は対応する括弧があればバックリファレンス、なければ8進 の文字コードとして解釈されていました)。

正規表現で8進文字コードを指定するには \001 のように3桁で指定します。

また、対応する括弧のないバックリファレンスや対応する括弧が自身を含む バックリファレンスは常にマッチに失敗するようになりました。

p /(foo)\2/ =~ "foo\002" => ruby 1.6.3 (2001-03-19) [i586-linux] 0 => ruby 1.6.4 (2001-06-04) [i586-linux] 0 => ruby 1.6.4 (2001-08-23) [i586-linux] nil

(上記の通り 1.6.4 にはまだバグがありました 2001-08-23 あたりで修正さ れています ((<ruby-list:30975>)))

p /(foo\1)/ =~ "foo" => ruby 1.6.3 (2001-03-19) [i586-linux] 0 => ruby 1.6.4 (2001-06-04) [i586-linux] nil

汚染文字列の伝搬

以下は、すべて true を返すようになりました。((<ruby-dev:13340>))

# []=
s1 = "abc"
s2 = "cde".taint
s1[0]= s2
p s1.tainted?             # => false

# crypt s = "abc".taint p s.crypt("cd").tainted? # => false

# ljust s = "abc".taint p s.ljust(10).tainted? # => false

# rjust s = "abc".taint p s.rjust(10).tainted? # => false

# center s = "abc".taint p s.center(10).tainted? # => false

rb_yield_0()

C API から yield されたとき 1 つの引数が 1 要素の配列として渡されていました。 ((<ruby-dev:13299>))

class X include Enumerable

def each(&block) block.call(1,2) block.call(2,3) block.call(3,4) end end

x = X.new p x.to_a #=> [[1], [2], [3]]

# => ruby 1.6.3 (2001-03-19) [i586-linux] [[1], [2], [3]]

# => ruby 1.6.4 (2001-06-04) [i586-linux] [1, 2, 3]

$SAFE / alias

$SAFE = 4 のときグローバル変数のエイリアスを許さないようにしました。 ((<ruby-dev:13287>))

((<open3/Open3.popen3>))

終了したプロセスが at_exit を呼ばないようにしました。 (exit を exit! に修正) ((<ruby-dev:13170>))

((<SizedQueue>))#pop

以下のコードでデッドロックが起こらないようにしました。((<ruby-dev:13169>))

ruby -r thread -e 'q = SizedQueue.new(1); q.push(1);'\ -e 'Thread.new{sleep 1; q.pop}; q.push(1);'

((<SizedQueue>))#max=

maxが現在値より大きい時にその差の分だけ待ちスレッドを起こす処理 の判定に誤りがありました。((<ruby-dev:13170>))

((<Queue>))
((<SizedQueue>))

((<Thread>))#run を呼ぶ直前にスレッドが死んでいた場合に ((<ThreadError>)) が発生する問題に対処しました。((<ruby-dev:13194>))

Ctrl-C (Interrupt)が効かなくなる

((<ruby-dev:13195>))

th1 = Thread.start { begin Thread.stop ensure Thread.pass Thread.stop end } sleep 1

(確認できる限りでは ruby-1.7.0 (2001-05-17) 以降で治ってますが、 1.6 には取り込まれていません)

((<Array>))#&
((<Array>))#|
((<Array>))#uniq

結果の配列の要素が freeze され変更不可になっていました。((<ruby-list:29665>))

(%w(foo bar) & %w(foo baz))[0].upcase! => -:1:in `upcase!': can't modify frozen string (TypeError)

%w(foo bar bar baz).uniq[0].upcase! => -:1:in `upcase!': can't modify frozen string (TypeError)

((<shell>))

shell 0.6 が標準ライブラリとして新規に追加されました。 (ドキュメントが doc ディレクトリにあります)

((<forwardable>))

forwardable 1.1 が標準ライブラリとして新規に追加されました。 (ドキュメントが doc ディレクトリにあります)

((<irb>)) & irb-tools

irb と irb-tools がそれぞれ 0.7.4 と 0.7.1 にバージョンアップしました。

夏時間

夏時間の考慮に不備がありました(？) ((<ruby-bugs-ja:PR#46>))

env TZ=America/Managua ruby -e 'p Time.local(1998,12,1,0,59,59)' => Mon Nov 30 01:59:59 EST 1998 env TZ=America/Managua ruby -e 'p Time.local(1998,12,1,0,59,59).tv_sec' => 912409199

SIGINFO

4.4BSD のシグナル SIGINFO に対応しました。((<ruby-bugs-ja:PR#45>))

((<Thread>)).stop で SEGV

((<Thread>)).stop で SEGV することがありました。((<ruby-dev:13189>))

rescue 修飾

以下が 1.6.3 で parse error になっていたバグが修正されました。 ((<ruby-dev:13073>)), ((<ruby-dev:13292>))

raise "" rescue [] raise "" rescue (p "foo"; true) raise "" rescue -1 raise "" rescue (-1)

((<Thread>))

以下は dead lock にならなくなりました。

Thread.start { Thread.stop } sleep

=> deadlock 0x40199b58: 2:0 - -:1 deadlock 0x401a2528: 2:4 (main) - -:2 -:2:in `sleep': Thread: deadlock (fatal) from -:2 ruby 1.6.3 (2001-03-19) [i586-linux]

((<Module>))#const_defined?
((<Module>))#const_get
((<Module>))#const_set

これらのメソッドが定数以外にアクセス可能になっていたバグが修正されました ((<ruby-dev:13019>))

((<Marshal>)).dump

((<Float>)) を dump するときの精度が "%.12g" から "%.16g" になりました。 ((<ruby-list:29349>))

((<Fixnum>))#[]

sizeof(long) > sizeof(int) なシステムでのバグが修正されたようです。

正規表現

まれなバグが2件修正されました ((<ruby-talk:13658>)), ((<ruby-talk:13744>))

retry

以下が 1.6.3 で正常に機能しませんでした((<ruby-talk:13957>))

def WHILE(cond) return if not cond yield retry end

i=0 WHILE(i<3) { print i i+=1 }

ruby 1.6.2 (2000-12-25) [i586-linux] => 012

ruby 1.6.3 (2001-03-19) [i586-linux] => 0

ruby 1.6.4 (2001-05-02) [i586-linux] => 012

((<File::Stat>))#size

1G byte 以上のファイルに対して正しくファイルサイズを返していませんでした。

File.open("/tmp/1GB", "w") {|f| f.seek(2**30-1, 0) f.puts f.flush p f.stat.size }

# => ruby 1.6.3 (2001-04-03) [i586-linux] -1073741824 # => ruby 1.6.4 (2001-04-19) [i586-linux] 1073741824

((<Float>))#modulo, ((<Float>))#divmod

なんか修正されたみたいです ((<ruby-dev:12718>))

((<ObjectSpace>))#_id2ref

不正に例外を返す場合がありました。

malloc の再帰呼び出し問題

stdio が内部で malloc() を呼び出す場合、Thread と相性が悪かったことに対 処しました。(setvbuf() を使用することで malloc() が呼ばれるのを避けた) ((<ruby-dev:12795>))

((<File>))#flock

File#flock がロック済みの場合に false を返さず Errno::EACCES 例外を あげる場合がありました(flock()がないシステムの場合)

((<File::Stat>)).new(filename)

追加 ((<ruby-dev:12803>))

((<Bignum>))#% の計算誤り

% の計算に誤りが出ることがあるバグが(再度)修正されました

a = 677330545177305025495135714080 b = 14269972710765292560 p a % b #=> 0 p -a % b #=>

=> ruby 1.6.3 (2001-04-02) [i386-cygwin] 0 14269972710765292560

=> ruby 1.6.4 (2001-04-19) [i586-linux] 0 0

((<Marshal>))

Bignum を dump -> load した結果が元の値と異なる場合がありました。

これに関連する修正が 1.6.3 リリース後、3回ほど行われています。 stable-snapshot の ruby 1.6.3 (2001-03-22) 以降を使用してください。

Universal Naming Convention(UNC) のサポート(win32)

UNC 形式のパス名 (//host/share) がサポートされました。 バックスラッシュ(`(({\}))')ではなくスラッシュ(`(({/}))')を使います。 (元もとサポートされてたのがバグ修正された？？)

((<Dir>)).glob (win32)

カレントディレクトリ(./)に対するglobが失敗していました。 p Dir["./*.c"] => []

1.6.2 -> 1.6.3 (2001-03-19)

do .. end と { .. }

結合強度の違いがなくなっていたバグが修正されました。

1.6.0 から 1.6.2 までのバージョンでは、 method v { .. } method v do .. end の両者に違いがありませんでした。本来の挙動は((<メソッド呼び出し/イテレータ>)) に書かれた通りです。

((<Bignum>))#% の計算誤り

% の計算に誤りが出ることがあるバグが修正されました

ruby-1.6.2 -ve 'p 6800000000%4000000000' => ruby 1.6.2 (2000-12-25) [i586-linux] -1494967296

ruby-1.6.3 -ve 'p 6800000000%4000000000' => ruby 1.6.3 (2001-03-10) [i586-linux] 2800000000

特異メソッド定義

通常のメソッド定義と同様に rescue, ensure 節の指定が可能になりました

obj = Object.new def obj.foo rescue ensure end

((<String>))#count
((<String>))#delete
((<String>))#squeeze
((<String>))#tr
((<String>))#tr_s

'\-' で '-' を指定可能になりました(tr! 等、bang method も同様)。 以前は、文字列の先頭または末尾の'-'だけを'-'と見なしていました。

p "-".tr("a-z",  "+")  # => "-"
p "-".tr("-az",  "+")  # => "+"
p "-".tr("az-",  "+")  # => "+"
p "-".tr('a\-z', "+")  # => "+" # シングルクォート文字列であることに注意
p "-".tr("a\\-z", "+") # => "+" # "" では二重に\が必要

((<Regexp>))#==

すべてのオプションも同じならば同じと判断するようになりました。 以前は、漢字コード指定と /i (case-insensitive) の指定が同じで あれば同じと判断していました。

%q(), %w()

リテラルの終了文字(`)'など)をバックスラッシュエスケープ可能になりました。

((<Dir>)).glob

"**/" がシンボリックリンクを辿らなくなりました。

((<String>))#[]

"a"[1,2] が "" を返すようになりました。

p "a"[1,2] => ""

これは本来の挙動です。過去のバージョン(1.4.6など)もこの値を返していました。 1.6.0 以降 1.6.2 までは上記は (({nil})) になります。

(({p "a"[2,1]})) は、(({nil})) を返します。

((<Object>))#taint

((<freeze|Object>)) したオブジェクトに対して (({taint})) できなくなりました

obj = Object.new.freeze obj.taint => -:2:in `taint': can't modify frozen object (TypeError) from -:2


1.6.8から1.8.0への変更点(まとめ)

* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス／モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス／メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス／メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))

インタプリタの変更

((<組み込み変数/$defout>)) [obsolete]
((<組み込み変数/$deferr>)) [obsolete]
((<組み込み変数/$stdout>)) [change]
((<組み込み変数/$stderr>)) [change]
((<組み込み変数/$stdin>)) [change]

$stdout, $stderr は、$defout, $deferr の別名になり $defout, $deferr は ((<obsolete>)) になりました

$stdin は、普通のグローバル変数となりました(STDINをリダイレクトする 動作はなくなりました)

$defout や $deferr に代入を行うと警告がでます。 (注：1.6 に $deferr はありません) ((<ruby-dev:20961>))

$stdin にオブジェクトを代入すると標準入力からの入力メソッド(gets 等) はそのオブジェクトにメソッドを投げます。 (リダイレクトしなくなった点を除けば、1.6 とそれほど違いはないようです)

((<組み込み変数/$VERBOSE>))

三段階のレベルを持つようになりました。 * nil: 警告を出力しない (-W0 新しい警告レベル) * false: 重要な警告のみ出力 (-W1 デフォルト) * true: すべての警告を出力する (-W2 or -W or -v or -w or --verbose)

追加された -W オプションは $VERBOSE = nil の指定(-W0)を可能にします。

ruby interpreter [ruby] [change]

クラスの特異クラスの特異クラスは特異クラス自身であると定義されました ((<ruby-bugs-ja:313>))。なんだかよくわかりません(^^;

class << Object p [self.id, self] class << self p [self.id, self] end end => ruby 1.6.7 (2002-03-01) [i586-linux] [537771634, Class] [537742484, Class] => ruby 1.7.3 (2002-09-05) [i586-linux] [537771634, #<Class:Object>] [537771634, #<Class:Object>]

さらに、オブジェクトの特異クラスのスーパークラスの特異クラスと オブジェクトの特異クラスの特異クラスのスーパークラスは同じなのだそうです ((<ruby-bugs-ja:324>))。さあっぱりわかりません(^^;;

class << Object.new class << self.superclass p [self.id, self] end class << self p [self.superclass.id, self.superclass] end end => ruby 1.6.7 (2002-03-01) [i586-linux] [537771634, Class] [537771644, Class] => ruby 1.7.3 (2002-09-05) [i586-linux] [537771634, #<Class:Object>] [537771634, #<Class:Object>]

((<ruby-bugs-ja:336>)) のあたりでまた少し変わったかもしれません (2002-09-21 の ChangeLog 参照。まじめにおっかけるのに疲れたらしい ^^;;)

((<Proc/Proc.new>)) [change]
((<組み込み関数/lambda>)) [change]
((<組み込み関数/proc>)) [change]

以下のように変更されました。((<ruby-dev:20358>))

* Proc.new およびブロック引数で与えられる Proc は 引数チェックがゆるい。break が例外になる。

Proc.new {|a,b,c| p [a,b,c]}.call(1,2) => -:1: wrong # of arguments (2 for 3) (ArgumentError) from -:1:in `call' from -:1 ruby 1.6.8 (2002-12-24) [i586-linux] => ruby 1.8.0 (2003-06-21) [i586-linux] [1, 2, nil]

Proc.new { break }.call

=> ruby 1.6.8 (2002-12-24) [i586-linux]

=> -:1:in `call': break from proc-closure (LocalJumpError) from -:1 ruby 1.8.0 (2003-06-21) [i586-linux]

* lambda および proc が返す Proc は引数チェックが厳しい。 break は実行を中断する。

lambda {|a,b,c| p [a,b,c]}.call(1,2) => -:1: wrong # of arguments (2 for 3) (ArgumentError) from -:1:in `call' from -:1 ruby 1.6.8 (2002-12-24) [i586-linux] => -:1: wrong number of arguments (2 for 3) (ArgumentError) from -:1:in `call' from -:1 ruby 1.8.0 (2003-06-21) [i586-linux]

lambda { break }.call => ruby 1.6.8 (2002-12-24) [i586-linux] => ruby 1.8.0 (2003-06-21) [i586-linux]

以下のようにイテレータブロックと、Procをブロックとして引数で渡したと きの挙動が同じになっています。

def foo yield 1,2,3,4 end

foo {|a,b,c| p [a,b,c]; break }

foo( &proc {|a,b,c| p [a,b,c]; break } )

foo( &Proc.new {|a,b,c| p [a,b,c]; break } )

=> ruby 1.6.8 (2002-12-24) [i586-linux]
[1, 2, 3]
[1, 2, 3]
-:2: break from proc-closure (LocalJumpError)
=> ruby 1.8.0 (2003-06-21) [i586-linux]
[1, 2, 3]
[1, 2, 3]
[1, 2, 3]

((<yield|メソッド呼び出し/yield>))

ブロックパラメータの数が一つの場合、ブロックに複数の値を渡すと警告が 出るようになりました。

以前は |var| は一つの引数を受けるときと、複数の引数を受けるときの両 方で利用されていましたが、将来は「一つの引数を受ける」ことを意味する ようになります。((<ruby-dev:20358>))

defined? [compat]

属性代入、配列要素への代入に対して "method" でなく "assignment" を返 すようになりました。

((<リテラル/数値リテラル>)) [compat]

10進((*整数*))リテラルの prefix として 0d が追加されました。 8進リテラルの prefix として 0 以外に 0o が追加されました。

Integer(), String#to_i、String#oct もこの prefix を認識します。

((<メソッド引数の & 修飾|メソッド呼び出し/イテレータ>)) [compat]
((<Proc#to_proc|Proc/to_proc>)) [new]

メソッドに渡す引数に & を修飾した場合、渡すオブジェクトが to_proc を 持っていればそれを実行し、その結果をブロックとして渡すようになりまし た。以前は、& 修飾できるのは Proc, Method オブジェクト限定でした。 これに伴い Proc#to_proc が追加されました。

終了ステータス [compat]

raise SystemExit したときに終了ステータス 1 で終了するようになりました。 ((<ruby-dev:16776>))

((<"rescue/ensure on begin .. end while"|制御構造/while 修飾子>)) [compat]

rescue/ensure を持つ begin 式も while/until 修飾できるようになりまし た。

以前は、rescue/ensure を持つ while/until 修飾式は、通常の begin 式に while/until 修飾していると見なされ本体が必ず最初に実行されるという振 るまい(C の do ... while 構文と同じ)をしていませんでした。 ((<ruby-list:34618>))

((<"rescue/ensure on class/module"|クラス／メソッドの定義/クラス定義>)) [compat]

メソッド定義のほかにもクラス定義やモジュール定義にもrescue/ensureを つけられるようになりました。

[ruby] [compat]

内部のハッシュテーブルを使用することにより定数参照の速度を改善したそうです。 (ChangeLogの Tue Jun 5 16:15:58 2001 Yukihiro Matsumoto <matz@ruby-lang.org> に該当するようです)

break and next [compat]

break, next は、引数を指定することでイテレータや yield の値を返す ことができるようになりました。(この機能はまだ実験です)

break [n] はイテレータを終了させ、n がそのイテレータの戻り値になります。 next [n] はブロックを抜け、n が yield の戻り値になります。

to_str [compat]

to_str を定義したオブジェクトはより広範囲にStringとして振舞うように なりました。

文字列を引数に取るほとんどの組み込みメソッドは、to_str による暗黙の 型変換を試みます。

範囲演算子式中のリテラル [ruby] [change]

範囲演算子式中の単独の数値リテラルが (({$.})) と比較されるのは -e オプションによる1行スクリプトの中だけになりました。

rescue 節の例外クラスと発生した例外オブジェクトの比較 [ruby] [change]

発生した例外 $! と rescue 節の例外クラスとは ((<Module#===|Module/===>)) を使って比較するようになりました。

以前は kind_of? による比較なので基本的な動作に変わりはありませんが、 SystemCallError.=== は特別に errno が一致する例外を同じと見なすよう に再定義されました。これにより、例えば Errno::EWOULDBLOCK と Errno::EAGAIN が同じ意味(同じerrno)の場合にどちらを指定しても rescue できるようになりました。

その後、errno が一致する Errno::XXX オブジェクトは同一のオブジェクト になったのでこの変更の効果はなくなってますが、変更自体は残ってます。 (ユーザで例外クラスを定義するのに使えるかもしれません) ((<ruby-dev:19589>))

while, until, class, module, def の値 [ruby] [change]

while, until, class, module, def が式として値を返すようになりました。

class/module は最後に評価した式の結果を返します。def は nil を返し ます。while/until は、通常 nil を返しますが、break の引数により任意 の値を返すことができます。

多重代入 [change]

多重代入の規則を見直しました。

# # derived from sample/test.rb # a = *[]; p a # special case # def f; yield; end; f {|a| p a} # add (warning) # def r; return; end; a = r(); p a # a = nil; p a # def f; yield nil; end; f {|a| p a} # def r; return nil; end; a = r(); p a # a = 1; p a # def f; yield 1; end; f {|a| p a} # def r; return 1; end; a = r(); p a # a = []; p a # def f; yield []; end; f {|a| p a} # def r; return []; end; a = r(); p a # a = [1]; p a # def f; yield [1]; end; f {|a| p a} # def r; return [1]; end; a = r(); p a # a = [nil]; p a # def f; yield [nil]; end; f {|a| p a} # def r; return [nil]; end; a = r(); p a # a = [[]]; p a # def f; yield [[]]; end; f {|a| p a} # def r; return [[]]; end; a = r(); p a # a = [1,2]; p a # a = [*[]]; p a # def f; yield [*[]]; end; f {|a| p a} # def r; return [*[]]; end; a = r(); p a # a = [*[1]]; p a # def f; yield [*[1]]; end; f {|a| p a} # def r; return [*[1]]; end; a = r(); p a # a = [*[1,2]]; p a # def f; yield [*[1,2]]; end; f {|a| p a} # def r; return [*[1,2]]; end; a = r(); p a # # a = *nil; p a # def f; yield *nil; end; f {|a| p a} # def r; return *nil; end; a = r(); p a # a = *1; p a # def f; yield *1; end; f {|a| p a} # def r; return *1; end; a = r(); p a # a = *[]; p a # def f; yield *[]; end; f {|a| p a} # add (warning) # def r; return *[]; end; a = r(); p a # a = *[1]; p a # def f; yield *[1]; end; f {|a| p a} # def r; return *[1]; end; a = r(); p a # a = *[nil]; p a # def f; yield *[nil]; end; f {|a| p a} # def r; return *[nil]; end; a = r(); p a # a = *[[]]; p a # def f; yield *[[]]; end; f {|a| p a} # def r; return *[[]]; end; a = r(); p a # a = *[1,2]; p a # def f; yield *[1,2]; end; f {|a| p a} # add # def r; return *[1,2]; end; a = r(); p a # add # a = *[*[]]; p a # def f; yield *[*[]]; end; f {|a| p a} # add(warning) # def r; return *[*[]]; end; a = r(); p a # a = *[*[1]]; p a # def f; yield *[*[1]]; end; f {|a| p a} # def r; return *[*[1]]; end; a = r(); p a # a = *[*[1,2]]; p a # def r; return *[*[1,2]]; end; a = r(); p a # # *a = *[]; p a # special case # def f; yield; end; f {|*a| p a} # def r; return; end; *a = r(); p a # *a = nil; p a # def f; yield nil; end; f {|*a| p a} # def r; return nil; end; *a = r(); p a # *a = 1; p a # def f; yield 1; end; f {|*a| p a} # def r; return 1; end; *a = r(); p a # *a = []; p a # def f; yield []; end; f {|*a| p a} # def r; return []; end; *a = r(); p a # *a = [1]; p a # def f; yield [1]; end; f {|*a| p a} # def r; return [1]; end; *a = r(); p a # *a = [nil]; p a # def f; yield [nil]; end; f {|*a| p a} # def r; return [nil]; end; *a = r(); p a # *a = [[]]; p a # def f; yield [[]]; end; f {|*a| p a} # def r; return [[]]; end; *a = r(); p a # *a = [1,2]; p a # def f; yield [1,2]; end; f {|*a| p a} # def r; return [1,2]; end; *a = r(); p a # *a = [*[]]; p a # def f; yield [*[]]; end; f {|*a| p a} # def r; return [*[]]; end; *a = r(); p a # *a = [*[1]]; p a # def f; yield [*[1]]; end; f {|*a| p a} # def r; return [*[1]]; end; *a = r(); p a # *a = [*[1,2]]; p a # def f; yield [*[1,2]]; end; f {|*a| p a} # def r; return [*[1,2]]; end; *a = r(); p a # # *a = *nil; p a # def f; yield *nil; end; f {|*a| p a} # def r; return *nil; end; *a = r(); p a # *a = *1; p a # def f; yield *1; end; f {|*a| p a} # def r; return *1; end; *a = r(); p a # *a = *[]; p a # def f; yield *[]; end; f {|*a| p a} # def r; return *[]; end; *a = r(); p a # *a = *[1]; p a # def f; yield *[1]; end; f {|*a| p a} # def r; return *[1]; end; *a = r(); p a # *a = *[nil]; p a # def f; yield *[nil]; end; f {|*a| p a} # def r; return *[nil]; end; *a = r(); p a # *a = *[[]]; p a # def f; yield *[[]]; end; f {|*a| p a} # def r; return *[[]]; end; *a = r(); p a # *a = *[1,2]; p a # def f; yield *[1,2]; end; f {|*a| p a} # add # def r; return *[1,2]; end; *a = r(); p a # *a = *[*[]]; p a # def f; yield *[*[]]; end; f {|*a| p a} # def r; return *[*[]]; end; *a = r(); p a # *a = *[*[1]]; p a # def f; yield *[*[1]]; end; f {|*a| p a} # def r; return *[*[1]]; end; *a = r(); p a # *a = *[*[1,2]]; p a # def f; yield *[*[1,2]]; end; f {|*a| p a} # def r; return *[*[1,2]]; end; *a = r(); p a # # a,b,*c = *[]; p [a,b,c] # special case # def f; yield; end; f {|a,b,*c| p [a,b,c]} # def r; return; end; a,b,*c = r(); p [a,b,c] # a,b,*c = nil; p [a,b,c] # def f; yield nil; end; f {|a,b,*c| p [a,b,c]} # def r; return nil; end; a,b,*c = r(); p [a,b,c] # a,b,*c = 1; p [a,b,c] # def f; yield 1; end; f {|a,b,*c| p [a,b,c]} # def r; return 1; end; a,b,*c = r(); p [a,b,c] # a,b,*c = []; p [a,b,c] # def f; yield []; end; f {|a,b,*c| p [a,b,c]} # def r; return []; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [1]; p [a,b,c] # def f; yield [1]; end; f {|a,b,*c| p [a,b,c]} # def r; return [1]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [nil]; p [a,b,c] # def f; yield [nil]; end; f {|a,b,*c| p [a,b,c]} # def r; return [nil]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [[]]; p [a,b,c] # def f; yield [[]]; end; f {|a,b,*c| p [a,b,c]} # def r; return [[]]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [1,2]; p [a,b,c] # def f; yield [1,2]; end; f {|a,b,*c| p [a,b,c]} # add # def r; return [1,2]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [*[]]; p [a,b,c] # def f; yield [*[]]; end; f {|a,b,*c| p [a,b,c]} # def r; return [*[]]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [*[1]]; p [a,b,c] # def f; yield [*[1]]; end; f {|a,b,*c| p [a,b,c]} # def r; return [*[1]]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = [*[1,2]]; p [a,b,c] # def f; yield [*[1,2]]; end; f {|a,b,*c| p [a,b,c]} # def r; return [*[1,2]]; end; a,b,*c = r(); p [a,b,c] # # a,b,*c = *nil; p [a,b,c] # def f; yield *nil; end; f {|a,b,*c| p [a,b,c]} # def r; return *nil; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *1; p [a,b,c] # def f; yield *1; end; f {|a,b,*c| p [a,b,c]} # def r; return *1; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[]; p [a,b,c] # def f; yield *[]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[1]; p [a,b,c] # def f; yield *[1]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[1]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[nil]; p [a,b,c] # def f; yield *[nil]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[nil]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[[]]; p [a,b,c] # def f; yield *[[]]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[[]]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[1,2]; p [a,b,c] # def f; yield *[1,2]; end; f {|a,b,*c| p [a,b,c]} # add # def r; return *[1,2]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[*[]]; p [a,b,c] # def f; yield *[*[]]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[*[]]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[*[1]]; p [a,b,c] # def f; yield *[*[1]]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[*[1]]; end; a,b,*c = r(); p [a,b,c] # a,b,*c = *[*[1,2]]; p [a,b,c] # def f; yield *[*[1,2]]; end; f {|a,b,*c| p [a,b,c]} # def r; return *[*[1,2]]; end; a,b,*c = r(); p [a,b,c]

配列展開 [change]

以下の挙動を修正しました。 現在は、1要素の配列も正常に展開されます。

a = *[1] p a #=> [1]

=> ruby 1.6.8 (2002-12-24) [i586-linux] [1] => ruby 1.7.1 (2001-06-05) [i586-linux] 1

追加されたクラス／モジュール

((<Process::UID>)) [new]
((<Process::GID>)) [new]
((<Process::Sys>)) [new]
((<Signal>)) モジュール [new]
((<Process::Status>)) [new]
((<NoMethodError>)) [new]

((<Process::Status>)) の追加により、(({$?})) の値も整数からこのクラ スのインスタンスになりました。

クラス階層

((<File::Constants>))

File::Constants は、File クラスでなく IO クラスが include するように なりました。((<ruby-dev:20964>))

((<UnboundMethod>)) [compat]

UnboundMethod クラスは Method クラスのサブクラスではなくなりました。 UnboundMethod#call, UnboundMethod#unbind はなくなりました。 ((<ruby-core:00927>))

((<NameError>)) & ((<NoMethodError>)) [change]

NameError を StandardError のサブクラスに戻しました。 クラス階層は以下のようになりました。

NoMethodError < NameError < StandardError.

((<Interrupt>)) [change]

Interrupt は、((<SignalException>))のサブクラスになりました。 (1.6以前はExceptionのサブクラス)

追加されたメソッド

組み込み関数

((<組み込み関数/warn>)) [new]
((<組み込み変数/$deferr>)) [new]

追加

以前は、ruby インタプリタが出力する error/warning メッセージは STDERR 固定でしたが、$stderr に変更されました。($deferr はすぐに obsolete に なりました。$stderr を使ってください)

ARGF

((<ARGF/ARGF.path>)) [new]

追加 (ARGF.filename の別名) ((<ruby-dev:20197>))

Array

((<Array#transpose|Array/transpose>)) [new]

追加

((<Array#zip|Enumerable/zip>)) [new]
((<Enumerable#zip|Enumerable/zip>)) [new]

追加

((<Array#fetch|Array/fetch>)) [new]

追加

((<Array#insert|Array/insert>)) [new]

追加 ((<ruby-talk:14289>))

(({ary[n,0] = [other,...]})) と同じ(ただし self を返す)

Class

((<Class#allocate|Class/allocate>)) [new]

allocate と initialize の二つのメソッドでオブジェクトを 生成するようになりました。((<ruby-dev:14847>)) rb_define_alloc_func() も参照。

Dir

((<Dir#path|Dir/path>)) [new]

追加

ENV

((<ENV/ENV.clear>)) [new]
((<ENV/ENV.shift>)) [new]
((<ENV/ENV.invert>)) [new]
((<ENV/ENV.replace>)) [new]
((<ENV/ENV.update>)) [new]

((<Hash>)) との互換性のために定義されました。

Enumerable

((<Enumerable#partition|Enumerable/partition>)) [new]

追加

((<Enumerable#sort_by|Enumerable/sort_by>)) [new]

追加。((<ruby-dev:8986>))以降で提案された Schwartzian transform を行うための sort です。

((<Enumerable#all?|Enumerable/all?>)) [new]
((<Enumerable#any?|Enumerable/any?>)) [new]
((<Enumerable#inject|Enumerable/inject>)) [new]

追加

File

((<File/File.extname>)) [new]

追加。ファイル名の拡張子を返します。((<ruby-talk:37617>))

((<File/File.fnmatch>)) [new]
((<File/File.fnmatch?>)) [new]

追加

このメソッドで使用するフラグ FNM_NOESCAPE, FNM_PATHNAME, FNM_PERIOD, FNM_CASEFOLD も((<File::Constants>)) モジュールに定義されました。

((<File/File.lchmod>)) [new]
((<File/File.lchown>)) [new]

追加

File::Stat

((<File::Stat#rdev_major|File::Stat/rdev_major>)) [new]
((<File::Stat#rdev_minor|File::Stat/rdev_minor>)) [new]

追加

Float

((<Numeric#to_int|Numeric/to_int>)) [new]
((<Float#to_int|Numeric/to_int>)) [new]

追加。

Hash

((<Hash#merge|Hash/merge>)) [new]
((<Hash#merge!|Hash/merge!>)) [new]

追加。Hash#merge は、hash.dup.update と同じ。 Hash#merge! は、Hash#update の別名 ((<ruby-talk:59777>)), ((<ruby-dev:19463>))

((<Hash#default_proc|Hash/default_proc>)) [new]

追加 ((<ruby-dev:17966>))

IO

((<IO/IO.sysopen>)) [new]
((<Socket#sysaccept|Socket/sysaccept>)) [new]
((<TCPServer#sysaccept|TCPServer/sysaccept>)) [new]
((<UNIXServer#sysaccept|UNIXServer/sysaccept>)) [new]

追加

((<IO#sysseek|IO/sysseek>)) [new]

追加 ((<ruby-talk:21612>)), ((<ruby-talk:36703>))

((<IO#fsync|IO/fsync>)) [new]

追加

((<IO/IO.open>)) [new]

追加

((<IO/IO.for_fd>)) [new]

追加

((<IO/IO.read>)) [new]

追加。((<ruby-talk:9460>))が実装に至った経緯だと思う

LocalJumpError

((<LocalJumpError#exit_value|LocalJumpError/exit_value>)) [new]
((<LocalJumpError#reason|LocalJumpError/reason>)) [new]

追加

Marshal

((<Marshal/Object#marshal_load>)) [new]
((<Marshal/Object#marshal_dump>)) [new]

追加 ((<ruby-dev:21016>))

MatchData

((<MatchData#captures|MatchData/captures>)) [new]

追加。((<RCR#139>))

((<MatchData#select|MatchData/select>)) [new]

((<MatchData>)) は、Enumerable ではありませんが、Enumerable#select と同じメソッドが定義されました。

Math

((<Math/Math.erf>)) [new]
((<Math/Math.erfc>)) [new]

追加 ((<ruby-list:37753>))

((<Math/Math.acos>)) [new]
((<Math/Math.asin>)) [new]
((<Math/Math.atan>)) [new]
((<Math/Math.cosh>)) [new]
((<Math/Math.sinh>)) [new]
((<Math/Math.tanh>)) [new]
((<Math/Math.hypot>)) [new]

追加

Method

((<Method#==|Method/==>)) [new]

追加

Module

((<組み込み関数/autoload>)) [change]
((<組み込み関数/autoload?>)) [new]
((<Module#autoload|Module/autoload>)) [new]
((<Module#autoload?|Module/autoload>)) [new]

ネストしたクラス/モジュールに対する autoload 指定が可能になりました。 ((<ruby-dev:16159>)), ((<ruby-dev:16165>)) ((<ruby-dev:18103>)), ((<ruby-dev:19686>))

((<Module#const_missing|Module/const_missing>)) [new]

定義されていない定数を使用したときに const_missing という名のメソッドを 呼ぶようになりました。デフォルトでは NameError 例外を発生させます。 ((<ruby-core:00441>))

((<Module#private_method_defined?|Module/private_method_defined?>)) [new]
((<Module#protected_method_defined?|Module/protected_method_defined?>)) [new]
((<Module#public_method_defined?|Module/public_method_defined?>)) [new]
((<Object#methods|Object/methods>)) [change]
((<Module#instance_methods|Module/instance_methods>)) [change]

追加。変更(仕様の統一)

((<Module#include?|Module/include?>)) [new]

Added. ((<ruby-dev:13941>))

((<Module#included|Module/included>)) [new]

追加。Module#append_feature の後に呼ばれるhook

((<Module#method_removed|Module/method_removed>)) [new]
((<Module#method_undefined|Module/method_undefined>)) [new]

追加

NameError

((<NameError#name|NameError/name>)) [new]

追加

NilClass

((<NilClass#to_f|NilClass/to_f>)) [new]

追加

Numeric

((<Numeric#div|Numeric/div>)) [new]
((<Numeric#quo|Numeric/quo>)) [new]

追加 ((<ruby-dev:19423>))

((<ruby-dev:20962>))

* div - 整除(divmodの第一要素) * / - その数型でもっとも自然な商(異論はあるだろうけど) * quo - もっとも正確に近い商 * divmod - 整除と剰余

NoMethodError

((<NoMethodError#args|NoMethodError/args>)) [new]

追加

Object

((<Object#initialize_copy|Object/initialize_copy>)) [change]

追加

このメソッドは initialize と同様、自動的に private method になります。

((<Object#instance_variable_get|Object/instance_variable_get>)) [new]
((<Object#instance_variable_set|Object/instance_variable_set>)) [new]

追加

((<Object#object_id|Object/object_id>)) [new]

追加 (Object#id は、obsolete)

((<Object#singleton_method_removed|Object/singleton_method_removed>)) [new]
((<Object#singleton_method_undefined|Object/singleton_method_undefined>)) [new]

追加

Proc

((<Proc#binding|Proc/binding>)) [new]

追加

((<Proc#to_proc|Proc/to_proc>)) [new]

追加

# : ((<Precision>)).included [new] # # 追加(((<Module#included|Module>)) の再定義)

Process

((<Process/Process.initgroups>)) [new]

追加

((<Process/Process.groups>)) [new]
((<Process/Process.groups=>)) [new]
((<Process/Process.maxgroups>)) [new]
((<Process/Process.maxgroups=>)) [new]

追加

((<Process/Process.detach>)) [new]

追加

((<Process/Process.abort>)) [new]
((<Process/Process.exit>)) [new]

追加。関数 abort, exit と同じ。

((<Process/Process.waitall>)) [new]

追加

((<Process::Status#pid|Process::Status/pid>)) [new]

追加

Range

((<Range#step|Range/step>)) [new]

追加。step ごとの要素で繰り返します。

((<Range#include?|Range/include?>)) [new]
((<Range#member?|Range/member?>)) [new]

追加

Regexp

((<Regexp#to_s|Regexp/to_s>)) [new]

追加。((<ruby-dev:16909>))

これにより、
re1 = /hogehoge/i
re2 = /fugafuga/
re3 = / #{re1} | #{re2} /x
などと正規表現オブジェクトを正規表現に埋め込めるようになりました。

((<Regexp#options|Regexp/options>)) [new]

追加

Socket

((<Socket/Socket.pack_sockaddr_in>)) [new]
((<Socket/Socket.unpack_sockaddr_in>)) [new]

追加。ソケットアドレス構造体(INET domain)のpack/unpack。

((<Socket/Socket.pack_sockaddr_un>)) [new]
((<Socket/Socket.unpack_sockaddr_un>)) [new]

追加。ソケットアドレス構造体(UNIX domain)のpack/unpack。

((<UNIXSocket/UNIXSocket.pair>)) [new]
((<UNIXSocket/UNIXSocket.socketpair>)) [new]
((<UNIXSocket#recv_io|UNIXSocket/recv_io>)) [new]
((<UNIXSocket#send_io|UNIXSocket/send_io>)) [new]

追加

((<UNIXServer#listen|UNIXServer/listen>)) [new]
((<TCPServer#listen|TCPServer/listen>)) [new]

追加。Socket#((<Socket/listen>))と同じ。

String

((<String#match|String/match>)) [new]

追加 re.match(str) と同じ。

((<String#lstrip|String/lstrip>)) [new]
((<String#rstrip|String/rstrip>)) [new]
((<String#lstrip!|String/lstrip!>)) [new]
((<String#rstrip!|String/rstrip!>)) [new]

追加。左端あるいは右端の空白類を取り除きます。 rstrip は、右側の "\0" も取り除きます。

((<String#casecmp|String/casecmp>)) [new]
((<String#eql?|String/eql?>)) [change]

casecmp 追加。アルファベットの大小を無視した文字列比較。

eql? は、((<$=|組み込み変数>)) の値に関らず常にアルファベットの大小 を区別するようになりました。

((<String#insert|String/insert>)) [new]

追加

(({str[n, 0] = other})) と同じ(ただし self を返す)

Struct

((<Struct/each_pair>)) [new]

追加。

Symbol

((<Symbol/Symbol.all_symbols>)) [new]

追加 ((<ruby-dev:12921>))

SystemCallError

((<SystemCallError/SystemCallError.===>)) [new]

追加 (上記 「rescue 節の...」 を参照のこと) ((<ruby-dev:12670>))

((<SystemExit#status|SystemExit/status>)) [new]

追加

Thread

((<Thread#keys|Thread/keys>)) [new]

追加。Thread固有データのキーの配列を返します。

((<Thread#terminate|Thread/terminate>)) [new]

追加。Thread#kill と同じ。

((<Thread#group|Thread/group>)) [new]

追加

ThreadGroup

((<ThreadGroup#enclose|ThreadGroup/enclose>)) [new]
((<ThreadGroup#enclosed?|ThreadGroup/enclosed?>)) [new]

追加 ((<ruby-dev:20655>))

ThreadGroup への Thread 追加/削除を(freeze せずに)禁止します。

Time

((<Time#getgm|Time/getgm>)) [new]
((<Time#getlocal|Time/getlocal>)) [new]
((<Time#getutc|Time/getutc>)) [new]
((<Time#gmt_offset|Time/gmt_offset>)) [new]
((<Time#gmtoff|Time/gmtoff>)) [new]
((<Time#utc_offset|Time/utc_offset>)) [new]

追加

その他

((<Array#values_at|Array/values_at>)) [new]
((<Hash#values_at|Hash/values_at>)) [new]
((<ENV/ENV.values_at>)) [new]
((<MatchData#values_at|MatchData/values_at>)) [new]
((<aStruct#values_at|Struct/values_at>)) [new]

ruby 1.6 の ((<indexes|Array/indexes>)) は、values_at というメソッド 名になりました(ruby 1.7 では block なし ((<select|Array/select>)) が indexes の代わりでしたが、こちらも使用すると警告が出ます)。

((<Fixnum#to_sym|Fixnum/to_sym>)) [new]
((<String#to_sym|String/to_sym>)) [new]

追加(Symbol#intern はなくなった)

追加された定数

((<Float::DIG|Float/DIG>)) [new]
((<Float::EPSILON|Float/EPSILON>)) [new]
((<Float::MANT_DIG|Float/MANT_DIG>)) [new]
((<Float::MAX|Float/MAX>)) [new]
((<Float::MAX_10_EXP|Float/MAX_10_EXP>)) [new]
((<Float::MAX_EXP|Float/MAX_EXP>)) [new]
((<Float::MIN|Float/MIN>)) [new]
((<Float::MIN_10_EXP|Float/MIN_10_EXP>)) [new]
((<Float::MIN_EXP|Float/MIN_EXP>)) [new]
((<Float::RADIX|Float/RADIX>)) [new]
((<Float::ROUNDS|Float/ROUNDS>)) [new]

追加 ((<ruby-math:0773>))

((<Marshal::MAJOR_VERSION|Marshal/MAJOR_VERSION>)) [new]
((<Marshal::MINOR_VERSION|Marshal/MINOR_VERSION>)) [new]

追加。Marshal が出力するダンプフォーマットのバージョン番号です。 ((<ruby-dev:14172>))

拡張されたクラス／メソッド(互換性のある変更)

組み込み関数

((<組み込み関数/sprintf>)) [new]

"%p" が追加されました。inspect の結果が利用されます。((<RCR#69>))

((<組み込み関数/trap>)) [compat]

あるシグナルに対して、SIG_DFL や SIG_IGN が割り当てられていた場合、 文字列 "DEFAULT" や "IGNORE" を返すようになりました(以前は、nil を返 していました) ((<ruby-talk:67860>))

((<組み込み関数/system>)) [compat]
((<組み込み関数/exec>)) [compat]

第一引数が配列の場合、その一つ目の要素のファイルを環境変数PATHから 検索するようになりました。

また、msdosdjgpp・mswin32・mingw32・bccwin32でも、他のプラットフォームと 同様に、引数として配列が与えられた場合はシェルを経由しないようになりました。 以前は常にシェルを経由していました(win32系portは2003-01-04に変更)。 ((<ruby-dev:19107>))

((<組み込み関数/rand>)) [compat]

乱数生成のアルゴリズムに ((<Mersenne Twister|URL:http://www.math.keio.ac.jp/~matumoto/mt.html>)) を使用するようになりました。

((<組み込み関数/sprintf>))('%u') [compat]

sprintf の '%u' で、最上位ビットの繰り返しをあらわす ".." は、付加 されないようになりました。((<ruby-dev:16522>))

((<組み込み関数/abort>)) [compat]

終了メッセージを指定できるようになりました。

Array

((<Array#first|Array/first>)) [compat]
((<Array#last|Array/last>)) [compat]

省略可能な引数を追加

((<Array#push|Array/push>)) [compat]
((<Array#unshift|Array/unshift>)) [compat]
((<Array#insert|Array/insert>)) [compat]

引数が指定されない場合に、ArgumentError 例外が発生しなくなりました。 (何もせずに self を返すだけです)

((<Array#[]|Array/[]>)) [compat]
((<Array#[]=|Array/[]=>)) [compat]

配列のインデックスとして Symbol を指定した場合、Symbol#to_int を呼ば す、例外 ((<TypeError>)) が発生するようになりました。 ((<ruby-list:37217>))

((<Array/Array.new>)) [compat]
((<Array#fill|Array/fill>)) [compat]

ブロックの評価結果を fill する値として指定できるようになりました。ブ ロックは要素毎に評価されるので、下のような例では "val" が毎回生成さ れます。

((<Array/Array.new>)) [compat]

Array.new の引数に配列を渡すとそのコピーを生成するようになりました。

((<Array#pack|Array/pack>)) [compat]
((<String#unpack|String/unpack>)) [compat]

pack/unpack のテンプレートにコメントを記述できるようになりました。

((<Array#pack|Array/pack>)) [new]
((<String#unpack|String/unpack>)) [new]

64 bit 整数のテンプレート文字 Q/q が追加されました(Quad の意)。 Q は unsigned、q は、signed です。

((<Array#pack|Array/pack>)) [change]
((<String#unpack|String/unpack>)) [change]

Array#pack, String#unpack のテンプレート文字 "p", "P" は、nil と NULLポインタの相互変換を行うようになりました((<ruby-dev:13017>))。

Class

((<Class#inherited|Class/inherited>)) [change]

inherited メソッドはクラス定義式の終りに呼び出されるようになりました。 ((<ruby-bugs-ja:342>))

Dir

((<Dir/Dir.glob>)) [compat]

Dir.glob に第2引数(マッチの挙動を変更するフラグ)を指定できるようにな りました。Dir[] にはこのフラグは指定できません。

関連して定数 File::FNM_DOTMATCH (FNM_PERIOD の逆の意味)が追加されて います。

((<Dir/Dir.chdir>)) [compat]

ブロックを指定できるようになりました。

ENV

((<ENV>)) [change]

ENV が生成する文字列はすべて ((<Object/freeze>)) されるようになりました。 ((<ruby-talk:72732>))

ENV['environ'] = 'value' ENV['environ'].sub!(/value/, 'VALUE') p ENV['environ']

=> ruby 1.6.8 (2002-12-24) [i586-linux] "value"

この例のように sub! のような破壊的メソッドの効果がないため混乱すると いうのが理由です(ENVが返す文字列を変更しても環境変数自体に影響がない)。

=> -:2:in `sub!': can't modify frozen string (TypeError) from -:2 ruby 1.8.0 (2003-06-09) [i586-linux]

Hash

((<Hash#update|Hash/update>)) [compat]

ブロックを指定できるようになりました。重複したキーに対する振舞いを制 御できます。

((<Hash/Hash.new>)) [compat]

ハッシュのデフォルト値としてブロックを指定できるようになり ました。ブロックを指定すると空のハッシュ要素の参照に対して その都度ブロックを実行し、その結果を返します。 ブロックにはハッシュ自身と、ハッシュを参照したときのキーが渡されます

IO

((<IO/IO.new>)) [compat]

((<File/File.open>)) と同様に mode を数値(つまり、 ((<File::Constants>)) の定数) で指定できるようになりました。

((<IO#reopen|IO/reopen>)) [compat]

第二引数を省略したときレシーバのモードをそのまま引き継ぐようになりま した。以前は、第二引数のデフォルト値は "r" 固定でした。

((<IO#read|IO/read>)) [compat]
((<IO#sysread|IO/sysread>)) [compat]

IO#read, IO#sysread に第二引数追加(あらかじめ割り当てた読み込み用バッ ファの指定)

Method

((<Method#inspect|Method/inspect>)) [compat]

特異メソッドに対する出力形式がより意味のあるものになりました。 ((<ruby-bugs-ja:PR#193>))

Module

((<Module#undef_method|Module/undef_method>)) [compat]
((<Module#remove_method|Module/remove_method>)) [compat]

一度に複数のメソッドを指定できるようになりました。((<RCR#146>))

((<Module#method_added|Module/method_added>)) [compat]
((<Module#singleton_method_added|Module/singleton_method_added>)) [compat]

拡張ライブラリからメソッドが定義されたときも呼ばれるようになりました。 ((<ruby-talk:70471>))

((<Module/Module.new>)) [compat]
((<Class/Class.new>)) [compat]

Module.new, Class.new でブロックが与えられた場合、生成した モジュール/クラスのコンテキストでブロックを実行するように なりました。

Numeric

((<Numeric#step|Numeric/step>)) [compat]

((<Fixnum>)), ((<Integer>)) から移動しました。

Object

((<Object#singleton_methods|Object/singleton_methods>)) [compat]

省略可能な引数 all が追加されました。

((<Object#methods|Object/methods>)) [compat]
((<Object#public_methods|Object/public_methods>)) [compat]
((<Object#private_methods|Object/private_methods>)) [compat]
((<Object#protected_methods|Object/protected_methods>)) [compat]

スーパークラスのメソッドも探索するかどうかを引数で指定できるようにな りました。((<Module#instance_methods|Module/instance_methods>)) など と同じですが、過去との互換性のため引数のデフォルト値が Module のもの とは逆です。(Module#instance_methods などのデフォルト値は将来(1.8.1) 変更される予定のようです)

((<Object#methods|Object/methods>)) は引数が false の場合にそのオブ ジェクトの特異メソッドのリストを返します。つまり、 ((<Object#singleton_methods(false)|Object/singleton_methods>)) と同 じです。

1.7 の変更点も含めて仕様をまとめると

Object#methods, Module#instance_methods, Object#public_methods, Module#public_instance_methods, Object#private_methods, Module#private_instance_methods, Object#protected_methods, Module#protected_instance_methods Object#singleton_methods

* 引数が true の場合は、モジュールやスーパークラスを探索する。

* public_xxx, private_xxx, protected_xxx はそれぞれpublic, private, protected メソッドのみを返す。public_, private_, protected_ がつか ない、methods, instance_methods は、public メソッドと protected メソッドを返す。

* Object#methods(false) は Object#singleton_methods(false) と同じ。

* 将来これらのメソッドの引数のデフォルト値は true になる予定だが、 Module#xxx_instance_methods と Object#singleton_methods は現状デフォ ルト値が false(過去との互換のため。なお、省略したままだと警告が出る)。 デフォルトに頼らないようにするべき、1.6 で使用していたスクリプトを 書き換える場合は、false を明示的に指定する。

Proc

((<Proc#to_s|Proc/to_s>)) [compat]

Proc#to_s の結果にスクリプトのソースファイル名と行番号が付加されまし た。((<ruby-dev:17968>))

Regexp

((<Regexp#===|Regexp/===>)) [compat]

真偽値を返すようになりました。

((<Regexp/Regexp.last_match>)) [compat]

optional な引数が追加されました。

String

((<String/String.new>)) [compat]

String.new の引数を省略できるようになりました。

((<String/strip>)) [compat]
((<String/strip!>)) [compat]
((<String/rstrip>)) [compat]
((<String/rstrip!>)) [compat]

空白類だけでなく "\0" も strip するようになりました。((<ruby-talk:76659>))

((<String#scan|String/scan>)) [change]
((<String#split|String/split>)) [change]
((<String#sub|String/sub>)), ((<String#sub!|String/sub!>)) [change]
((<String#gsub|String/gsub>)), ((<String#gsub!|String/gsub!>)) [change]
((<String#~|String/~>)) [obsolete]
((<String#=~|String/=~>)) [obsolete]
((<組み込み変数/$;>)) [compat]
((<組み込み変数/$-F>)) [compat]
((<Rubyの起動/-F((*regexp*))>)) [compat]

pattern として正規表現でなく文字列を指定したとき、それを正規表現にコ ンパイルせず文字列そのものをパターンとして扱うようになりました。(よ り正確には、Regexp.compile(arg) でなく Regexp.compile(Regexp.quote(arg)) するようになりました)

((<String#~|String/~>)), ((<String#=~|String/=~>)) は、obsolete にな りました。(String#~ はここにあげた変更が反映された上で obsolete)

# str =~ arg だけは、arg が文字列のとき、 # Regexp.compile(Regexp.quote(arg)) =~ str と等価な str.index(arg) が # 実行されます(したがって、$~ は設定されません)。

$; の指定に正規表現が許されるようになりました。これに伴い、文字列以
外を設定しても例外 ((<TypeError>)) は発生しないようになりました。
((<ruby-talk:77381>))
((<String#center|String/center>)) [compat]
((<String#ljust|String/ljust>)) [compat]
((<String#rjust|String/rjust>)) [compat]

空白の代わりに詰め込む文字列を第二引数で指定できるようになりました。

((<String#[]|String/[]>)) [change]
((<String#[]=|String/[]=>)) [change]

第一引数が正規表現を渡す形式で、オプションの第二引数 idx が追加されました。 str[/re/, 0] は、str[/re/] と同じです。

Struct

((<Struct>)) [compat]

Struct が適切なハッシュ値を持つよう Struct#hash, Struct#eql? が定義 されました。((<ruby-bugs:PR#758>))

((<aStruct#inspect|Struct>)) [compat]

出力形式が少しだけ変わりました。

Socket

((<TCPSocket/TCPSocket.new>)) [compat]
((<TCPSocket/TCPSocket.open>)) [compat]

ローカル側アドレスを省略可能な第3,4引数で指定できるようになりました。

Thread

((<Thread#join|Thread/join>)) [compat]

スレッドを待ち合わせる時間を limit で指定できるようになりました。

((<Thread/Thread.list>)) [compat]
((<ThreadGroup#list|ThreadGroup/list>)) [compat]

終了中(aborting)のスレッドもリストに含まれるようになりました。 ((<rubyist:1282>))

Time

((<Time>)) [compat]

負の time_t を扱えるようになりました(OSがサポートしている場合に限る) p Time.at(-1) => Thu Jan 01 08:59:59 JST 1970

UnboundMethod

((<UnboundMethod#bind|UnboundMethod/bind>)) [compat]

UnboundMethod オブジェクトをそれが定義されたクラスのサブクラスへ bind しても良いことになりました。

その他

((<NameError/NameError.new>))(msg[, name]) [compat]
((<NoMethodError/NoMethodError.new>))(msg, name, args) [compat]
((<SystemCallError/SystemCallError.new>))(msg, err) [compat]
((<Errno::EXXX>)).new(msg) [compat]

内部の実装でインスタンス変数を初期化していなかったために warning が 出ていたのを修正しました。そして、new のパラメータでその値を指定でき るように変更されました。

((<SystemExit#initialize|SystemExit/SystemExit.new>)) [compat]

引数が追加されました。

((<String#to_i|String/to_i>)) [compat]
((<Integer#to_s|Integer/to_s>)) [compat]

引数に基数(2,8,10,16)を指定できるようになりました。 (2002-01-26: 引数が 0 のときは prefix で基数を判定する)

基数変換で、2, 8, 10, 16 進だけでなく、2 .. 36進数までの任意の基数へ の変換をサポートしました。((<ruby-dev:20021>))

# 別に影響ない変更なのでコメント # : ((<Class/Class.inherited>)) [compat] # # (注: Class#inherited ではありません) # # 以前は、クラスのサブクラスの定義を禁止するために定義されていましたが、 # (((<TypeError>))例外を発生させるメソッドとして定義されていました) こ # の役割は Class.new が担保するようになりました。そのため、 # Class.inherited メソッドの定義はなくなりました。 # # class SubClass < Class # end # # #=> -:1:in `inherited': can't make subclass of Class (TypeError) # from -:1 # ruby 1.7.1 (2001-06-12) [i586-linux] # # #=> -:1: can't make subclass of Class (TypeError) # ruby 1.7.1 (2001-07-31) [i586-linux]

変更されたクラス／メソッド(互換性のない変更)

組み込み関数

((<組み込み関数/Integer>))() [change]

数値や文字列以外のオブジェクトを整数に変換するときに to_i ではなく to_int を使用するようになりました。

((<組み込み関数/Float>))() [change]

Float() は、引数に nil を受け付けなくなりました。

p Float(nil)

=> ruby 1.6.7 (2002-03-01) [i586-linux] 0.0 => -:1:in `Float': cannot convert nil into Float (TypeError) from -:1 ruby 1.7.3 (2002-09-02) [i586-linux]

ARGF

((<ARGF#to_s|ARGF/to_s>)) [change]

結果は "ARGF" 固定になりました。ファイル名は ARGF.path で取得します。

ARGV

((<組み込み定数/ARGV>)) [change]

ARGV の各要素は freeze されるようになりました。

ruby -v -e 'p ARGV.collect {|v| v.frozen?}' a b c

=> ruby 1.6.8 (2002-12-24) [i586-linux] [false, false, false] => ruby 1.8.0 (2003-08-11) [i586-linux] [true, true, true]

Array

((<Array#sort!|Array/sort!>)) [change]

常にself返すようになりました。

将来にわたってこのことが保証されるわけではないそうです ((<ruby-dev:12506>))。

((<Array#reverse!|Array/reverse!>)) [change]

サイズが 1 以下の配列に対して以前は nil を返していましたが、self を 返すようになりました。((<String#reverse!|String/reverse!>)) の挙動と 同じです。((<ruby-dev:20135>))

((<Array#-|Array/->)) [change]

差を求めるときに重複した値は取り除かなくなりました。

Comparable

((<Comparable>)) [change]

obj#<=> が nil を返すような引数に対して、>, >=, <, <= が例外 ((<ArgumentError>)) を起こすようになりました。また、== は、nil を返 すようになりました。

((<Module/Module#>>)) [change]
((<Module/Module#<>)) [change]
((<Module/Module#<=>)) [change]

継承関係にないクラス同士の比較で nil を返すようになりました。 ((<ruby-dev:20190>))

# ((<Module/Module#<=>)) は、1.7 で nil を返すように変更されていました # が、その後、-1 に、その後再度 nil におさまりました。

((<String#<=>|String/<=>>)) [change]
((<Comparable>)) [change]

string <=> other は、((|other|)) が文字列でない場合、 ((|other|)).to_str と ((|other|)).<=> が定義されていれば (({0 - (other <=> string)})) の結果を返します。そうでなければ nil を返します。 ((<ruby-dev:19625>))

class Foo def to_str "foo" end def <=>(o) p "<=> called" self.to_str <=> o end end

p "foo" <=> Foo.new => ruby 1.6.8 (2002-12-24) [i586-linux] 0 => ruby 1.8.0 (2003-05-02) [i586-linux] "<=> called" 0

((<String#==|String/==>)) [change]
((<Numeric#==|Numeric/==>)) [change]

Comparable の変更と合わせて <=> が nil を返すとき == が nil を返すよ うになりました。((<ruby-dev:20759>))

Dir

((<Dir/Dir.open>)) [change]

ブロックを伴う場合((<File>)).openと同様に、ブロックの結果がメソッドの 戻り値になりました。(1.6以前は (({nil})) 固定)

((<Dir/Dir.glob>)) [change]

先行するバックスラッシュにより、ワイルドカードをエスケープ できるようになりました。 また、空白類に特殊な意味はなくなりました('\0'の効果は残っています)。

Enumerable

((<Enumerable#find|Enumerable/find>)) [change]

引数に文字列を指定できなくなりました。

また、要素が見つからなかった場合は、ifnone の結果を返すようになりました。

File

((<File/File.basename>)) [CHANGE]
((<File/File.dirname>)) [CHANGE]

File.dirname と File.basename の動作が ((<SUSv3|URL:http://www.unix-systems.org/version3/online.html>)) に従うようになりました。

((<ruby-dev:19548>)) [PATCH] file.c for ((<ruby-bugs-ja:PR#389>)) and ((<ruby-bugs-ja:PR#390>))

p File.dirname("foo/bar/") p File.dirname("foo//bar") => ruby 1.6.8 (2002-12-24) [i586-linux] "foo/bar" "foo/" => ruby 1.8.0 (2003-05-02) [i586-linux] "foo" "foo"

p File.basename("foo/bar/") p File.basename("foo//bar") ruby 1.6.7 (2002-03-19) [i386-linux] "" "bar" ruby 1.8.1 (2003-12-27) [i686-linux] "bar" "bar"

Float

((<Float#to_s|Float/to_s>)) [change]

最大の精度を示すためのフォーマットが "%.10g" から "%.16g" に変わりま した。(2003-03-20: その後、"%.15g" になりました ((<ruby-bugs-ja:PR#406>)))

Module

((<Module#include|Module/include>)) [change]

トップレベルの include は、第二引数に true を指定した load でロード されるスクリプトのもとではモジュールの機能を self に ((<Object/extend>)) するように変更されました。

((<Module#include|Module/include>)) [change], [experimental]

wrapper モジュールで評価される file (load(file, true)) 中で、トップ レベルの include を行ったとき、Module を include する対象が Object で なく、wrapper モジュールになりました。 つまり、load(file, true) で、file をロードしたときに file 中で include を実行していても呼び出し元に影響しなくなりました。

((*これは実験的な変更です*))

((<Module#include|Module/include>)) [change]
((<Object#extend|Object/extend>)) [change]

複数のモジュールを渡したときにインクルードされる順序が変更されました。 ((<ruby-dev:16035>)) extend も同様だそうです。((<ruby-dev:16183>))

一つ一つ include した場合とは逆順になります。

Object

((<Object#clone|Object/clone>)) [change]

Numeric など immutable なオブジェクトは clone できなくなりました。 ((<ruby-bugs-ja:PR#94>)), ((<rubyist:0831>))

Range

((<Range#max|Range/max>)) [change]
((<Range#min|Range/min>)) [change]
((<Range#include?|Range/include?>)) [change]
((<Range#member?|Range/member?>)) [change]

Range#max, Range#min, Range#include? が <=> メソッドによる範囲演算で 求められるようになりました。((<ruby-list:35253>)), ((<ruby-dev:17228>)) (2003-03-18: min, max は元に戻りました。((<ruby-dev:19837>)))

Range#member? は each を利用して全要素を参照し、実際にメンバが存在するか 確認します。(Enumerable#member? と同じ)

1.6 までは、max, min, member? include? は、Enumerable のメソッドで、 === は、Range のメソッドです。1.7 では、max, min, member?, include?, === はすべて Range のメソッドで、include? は === の別名になっていま す。(1.8 では、max, min は、Enumerable のメソッドに戻っています)

((<Range#each|Range/each>)) [change]

Range#each は各要素の succ メソッドを使用してイテレーションするよう になりました。

Regexp

((<Regexp/Regexp.new>)) [change]

第一引数に正規表現を与えた時に引数のオプションを無視し、元のオプショ ンを保持した複製を返すようになりました。

p Regexp.new(//is, Regexp::EXTENDED, "e")

=> ruby 1.6.8 (2003-08-03) [i586-linux] //xe => -:1: warning: flags and encoding ignored ruby 1.8.0 (2003-02-16) [i586-linux] //is

String

((<String#chomp|String/chomp>)) [change]
((<String#chomp!|String/chomp!>)) [change]
((<組み込み関数/chomp>)) [change]
((<組み込み関数/chomp!>)) [change]

$/ が "\n" (デフォルト)のとき、どの行末形式("\r\n", "\r", "\n" のいずれでも)でもそれらを取り除くようになりました。

ThreadGroup

((<ThreadGroup#freeze|ThreadGroup/freeze>)) [change]

freeze された ThreadGroup に Thread を追加/削除できなくなりました。

Time

((<Process/Process.times>)) [change]

((<Time/Time.times>)) から移動しました。 (Time.times も残っていますが、warningが出ます)

((<Time#to_a|Time/to_a>)) [change]
((<Time#zone|Time/zone>)) [change]

gmtime なタイムゾーンに対して"UTC"を返すようになりました (以前は環境依存。大抵の場合"GMT")

文法の変更

parser [compat]

数字で始まるグローバル変数は特殊変数 $1, $2, ... 以外に許されなくな りました。

[parser], [change]

`*' による配列展開が、多重代入の右辺で行われた場合、to_ary だけでな く、to_a も配列展開のための配列化に利用されるようになりました(ただし、 Object#to_a は対象外。Object#to_a は将来削除される予定です)。

[parser]

スコープ演算子 `::' を伴う定数代入を許すようになりました。
p Object::Foo = 1
また、"class Foo::Bar; end" という定義も可能になりました。

[parser]

(({.<digit>}))はFloatのリテラルではなくなりました。

[parser] [experimental]

実験的な修正のようです。

a = 1 p a / 5 => ruby 1.6.8 (2002-12-24) [i586-linux] 0 => ruby 1.8.0 (2003-03-12) [i586-linux] 0

a = 1 p a /5 => -:2: warning: ambiguous first argument; make sure -:2: unterminated regexp meets end of file ruby 1.6.8 (2002-12-24) [i586-linux] => ruby 1.8.0 (2003-03-12) [i586-linux] 0

[parser] [new]

シンボルの拡張表記法が採用されました。((<ruby-dev:18537>))

p :"foo#{"bar"}" p :'foo#{"bar"}' p %s{foo#{"bar"}}

=> ruby 1.7.3 (2002-11-14) [i586-linux] :foobar :"foo\#{\"bar\"}" :"foo\#{\"bar\"}"

rescue修飾式 [parser] [change]

rescue 修飾式の優先度が変わりました。これは、実験的なもののようです。 (1.8 リリースで残っているので正式採用のようです)

a = b rescue c

は、

(a = b) rescue c

でなく

a = (b rescue c)

と評価されます。

[parser] [compat]

メソッド定義の外での return の呼び出しはコンパイル時でなく実行時に エラーになるようになりました。

p :doing return => -:2: return appeared outside of method ruby 1.6.7 (2002-03-01) [i586-linux] => ruby 1.7.3 (2002-10-04) [i586-linux] :doing -:2: unexpected return

[parser] [compat]

ネストしたメソッド定義が許されるようになりました。

メソッド定義中での alias, undef も許可されました。

メソッド定義の外での super の呼び出しはコンパイル時でなく実行時に エラーになるようになりました。

おそらく、((<ruby-dev:16969>)) あたりが変更の理由なのではないかと思 います。((<ruby-dev:17882>))

((<%W()|リテラル/%記法>)) [parser]

%W(...) 配列リテラルが追加されました。%w() と異なりバックスラッシュ 記法や式展開が有効です。((<ruby-dev:15988>))

((<リテラル/式展開>)) [parser]

#{ ... } の式展開中に文字列のデリミタを含めて任意の ruby プログラム をそのまま書けるようになりました。以前も同じでしたが、よりルールが明 確になっているようです。つまり、式展開の中も外も同じ規則で、ruby プ ログラムはパースされます。((<ruby-dev:17422>))

[parser] [compat]

文字列リテラル中の行頭の __END__ は、スクリプトの終りとみなさなくな りました。((<ruby-dev:17513>))

# p " #__END__ #" p eval(%Q(p "\n__END__\n"))

((<?<whitespace>|リテラル/数値リテラル>)) [parser] [change]

?スペース、?改行、?TAB 等はリテラルとして無効になりました。必要なら ?\s, ?\n, ?\t 等を使用してください。(以下の例は前者がダブルクォート を使用していることに注意) ((<ruby-bugs-ja:PR#261>)), ((<ruby-dev:17446>))

[parser] [change]
((<String#to_f|String/to_f>)) [change]
((<組み込み関数/Float>))() [change]

文字列を浮動小数点数に変換する内部処理で、ライブラリ関数 strtod(3) に依存しなくなりました。ロケールやライブラリの独自拡張により動作が変 わることはなくなりました。

メソッド呼び出し [parser] [change]

メソッド名と括弧の間に空白があるとその括弧は引数を括る括弧ではなく 式の括弧と解釈するようになりました。 (ただし、p (1, 2) とすると空白があっても引数を括る括弧になる。 つまり、(おそらく)意図通りに動作する)

p (1+2)*3

条件式中の正規表現リテラル [parser] [change]

条件式中の正規表現リテラルは警告が出るようになりました。

$_ との正規表現マッチは、明示的に ~/re/ (単項の ((<Regexp/~>)) メソッ ド)などとすることが推奨されます。

正規表現

((<正規表現>)) [regexp]

正規表現 $ が改行の前だけでなく、常に文字列の末尾にもマッチするよう になりました。これは、perl や python と同じ挙動です。((<ruby-dev:20104>))

((<正規表現>)) [regexp]

((<ruby 1.8 feature/2003-05-01>)) の $ の変更と同様に、正規表現 \Z が改行の前だけでなく、常に文字列の末尾にもマッチするようになりました。 これは、perl や python と同じ挙動です。((<ruby-dev:20187>))

((<正規表現>)) [regexp]

文字クラス [] 内の [, ], - をエスケープなしで使用すると warning が出 るようになりました。((<ruby-dev:19868>))

Marshal

((<Marshal/Marshal.dump>)) [marshal] [change]

4.7->4.8 : ((<Marshal>)) [marshal] [change]

無名モジュールを include したオブジェクトがダンプできなくなりました。
((<ruby-dev:18186>))

名前付きモジュールを include したオブジェクトはダンプでき、include
したモジュールの情報をダンプフォーマットに保持するようになりました。

名前付きモジュールを include したオブジェクトはダンプでき、include
したモジュールの情報をダンプフォーマットに保持するようになりました。

4.6->4.7 : ((<Marshal>)) [marshal] [change]

Float のダンプが、sprintf(3) に依存しなくなりました。フォーマッ
トバージョンが 4.6 から 4.7 に上がっています。
(この後、strtod(3) の組み込みにより、読み込み時もシステムの strtod(3)
に依存しなくなっています)
((<Marshal>)) [bug]

構造体クラスのサブクラスをダンプしたものがロードできませんでした。 ((<ruby-bugs-ja:PR#104>))

S = Struct.new("S", :a) class C < S end p Marshal.load(Marshal.dump(C.new))

=> -:4: warning: instance variable __member__ not initialized -:4:in `dump': uninitialized struct (TypeError) from -:4 ruby 1.6.5 (2001-09-19) [i586-linux]

=> ruby 1.7.1 (2001-10-19) [i586-linux] #<C a=nil>

Windows 対応

((<File/File.link>)) [new]

Win32(Win2k以降のみ)でNTFS上でのハードリンクの作成(CreateHardLink)に 対応しました。

((<File/File.utime>)) [new]

Win32(NT系のみ)でディレクトリに対するutimeが出来るようになりました。

* DOSISHなプラットフォームでのドライブレター対応が強化されました。 * ((<Process/Process.pid>)) (win)

((<mswin32>))版 ruby と ((<MinGW>))版 ruby で拡張ライブラリのバイナ
リ互換を保つようになりました。Config::CONFIG['RUBY_SO_NAME'] が
msvcrt-ruby((|XX|)) に(DLL 名になります)、Config::CONFIG['sitearch'] (拡張
ライブラリの置き場所のパス要素)が "i386-msvcrt" に変更されました。
((<ruby-dev:17144>)), ((<ruby-dev:18047>))

Win32用の双方向パイプサポートのパッチが取り込まれたのだそうです
((<ruby-win32:185>))
((<Process/Process.kill>)) [compat]

ChangeLog によると win32 でも、シグナル 0 がサポートされたそうです。 多くの Unix で、シグナル 0 の送信は、プロセスの存在チェックに使用で きますので、それと同じ動作をするのだと思います。

ruby interpreter (win32, MinGW) [ruby] [change]

((<mswin32>))版 ruby と ((<MinGW>))版 ruby で拡張ライブラリのバイナ リ互換を保つようになりました。Config::CONFIG['RUBY_SO_NAME'] が msvcrt-ruby((|XX|)) に(DLL 名になります)、Config::CONFIG['sitearch'] (拡張 ライブラリの置き場所のパス要素)が "i386-msvcrt" に変更されました。 ((<ruby-dev:17144>)), ((<ruby-dev:18047>))

sitearch は、今回の件で新規追加されました(他の環境では CONFIG['arch'] と同じ)

((<Win32ネイティブ版>)) の脚注も参照

ENV["PATH"] [ruby], [bug?]

Windows などのプラットフォームで環境変数名 PATH (セキュリティチェッ ク時などに判断)の大文字と小文字を区別しないようになりました。 ((<ruby-dev:20374>))

双方向パイプ (win) [compat]

Win32用の双方向パイプサポートのパッチが取り込まれたのだそうです ((<ruby-win32:185>))

((<Process/Process.kill>)) [compat]

((<mswin32>)), ((<mingw32>)) でも、Process.kill(9, pid) でプロセスを 強制終了(TerminateProcess) できます。(Process.kill("KILL", pid) とは できないようです・・・2002-08-28 その後 "KILL" で指定できるようになっ たようです)

win32: map OS error to errno. [change]
cygwin

cygwinでは常にバイナリモードになりました(((<ruby-dev:19583>)))

((<File/File.dirname>)) [CHANGE]
((<File/File.expand_path>)) [CHANGE]
((<File/File.join>)) [CHANGE]

DOSISHなプラットフォームでのドライブレター対応が強化されました。 ((<DOSISH 対応>))を参照。

((<Process/Process.pid>)) (win) [change]

mswin32 版と mingw32 版で、ruby 内部はプロセスIDを常に正の値に変換して 扱うようになりました。 NT系のOSでは従来と違いはありませんが、Win9x系のOSでは、OSの保持する プロセスIDが負値なので、符号変換して扱うようになります。((<ruby-dev:18263>))

廃止された(される予定の)機能

((<組み込み変数/$defout>)) [obsolete]
((<組み込み変数/$deferr>)) [obsolete]

$stdout, $stderr を使用してください。

((<String#=~|String/=~>)) [obsolete]
((<String#~|String/~>)) [obsolete]

string =~ string に対して警告が出るようになりました。明示的に string =~ regexp あるいは regexp =~ string を使うことが推奨されます。 (1.8.1 以降使用できなくなるかもしれません) ((<ruby-list:37662>))

String#=~ の変更と同様にString#~ で警告が出るようになりました。 (1.8.1 以降使用できなくなるかもしれません)

((<Object#id|Object/id>))
((<Object#type|Object/type>)) [obsolete]

使うと警告が出るようになりました。代わりに Object#object_id, Object#class を使用してください。

((<Object#to_a|Object/to_a>)) [obsolete]

警告メッセージが出るようになりました。(((<obsolete>)) になるのだそうです)

((<Range#size|Range/size>)) [obsolete]
((<Range#length|Range/length>)) [obsolete]

このメソッドはなくなりました。 ((<ruby-talk:64479>)), ((<ruby-talk:72133>))

Range の要素数を得るには

p(("a".."z").to_a.size)

などとする必要があります。

((<Array/indexes>))
((<Array/indicies>))

(((<Array>)), ((<Hash>)), ((<ENV>))) のメソッド、indexes, indicies は values_at という名前に変わりました。

((<Array#filter|Array/filter>))

なくなりました。

Time.times

((<Process/Process.times>)) に移動しました。

NotImplementError [obsolete]

旧称は削除されました。((<NotImplementedError>))を使ってください

((<Proc#yield|Proc/yield>))

なくなりました。((<ruby-dev:20180>))

ライブラリ

((<tmpdir>)) [new]

テンポラリディレクトリを取得するためのライブラリが追加されました。 Windows などで利用されるライブラリは、/tmp をハードコードせずに(ま た 環境変数 TEMP などを参照せずに)このライブラリを使用するべきです。 (tempfile などが tmpdir を使用するようになりました。 ((*tmp*))dir と ((*temp*))file というのがまたなんとも・・・)

((<Timeout/Timeout.timeout>)) [lib] [new]
((<Timeout::Error|Timeout/Error>)) [lib] [new]

timeout に Timeout モジュールが定義されました。((<RCR#121>))

関数 ((<timeout/timeout>)) は、モジュール関数 Timeout.timeout の別名に、 例外 ((<TimeoutError>)) は Timout::Error の別名になりました。

((<erb>)) [lib] [new]

追加

((<"io/wait">)) [lib] [new]

追加

((<mkmf>)) [lib] [new]

新しい判定メソッド have_type(), check_sizeof() が追加されました。

((<pathname>)) [lib] [new]

追加

((<resolv>)) [lib] [compat]

Win32 に対応しました。

((<webrick>)) [lib] [new]

追加

((<openssl>)) [lib] [new]

追加

((<win32ole|WIN32OLE>)) [lib] [new]

追加

((<un>)) [lib] [new]

追加

((<csv>)) [lib], [new]

追加。

((<tk|tk>)) [lib], [change]

Ruby/Tk に多数の修正が入りました。((<ruby-list:37798>))

((<drb>)) [lib] [new]

dRuby 追加。((<ruby-dev:20363>))

((<rexml>)) [lib],[new]

追加

((<yaml|YAML>)) [new]

追加。YAML は、YAML Ain't Markup Language だそうです。 ((<URL:http://yaml4r.sourceforge.net/>)) ((<URL:http://yaml.org/>))

((<zlib>)) [lib] [new]

追加

((<bigdecimal>)) [lib] [new]

追加

((<"test/unit"|Test::Unit>)) [new]

Test::Unit 追加

((<"win32/registry">)) [new]

Win32でレジストリにアクセスするためのライブラリが追加されました。

((<profiler>)) [lib] [new]

追加。((<profile>)) の実体として分離されました。

((<open-uri>)) [lib] [new]

追加

((<set>)) [lib] [new]

追加

((<"net/ftp">)) [new]

メソッド set_socket 追加

((<dl>)) [lib] [new]

追加

添付ライブラリ [lib] [new]

以下のライブラリが新たに追加されました。 ((<iconv>)), ((<tsort>)), ((<StringIO>)), ((<strscan>)), ((<fileutils>)), racc/*

((<benchmark>)) [new]

added

Curses [lib] [compat]

Updated. New methods and constants for using the mouse, character attributes, colors and key codes have been added.

Complex#to_i [lib] [obsolete]
Complex#to_f [lib] [obsolete]
Complex#to_r [lib] [obsolete]

Complex#to_i, #to_f, #to_r はなくなりました。 ((<ruby-bugs-ja:PR#102>)), ((<rubyist:0879>))

((<gdbm>)) [lib] [change]
((<dbm>)) [lib] [change]
((<sdbm>)) [lib] [change]

((*ドキュメント未反映*)) ((<ruby-dev:16126>))

((<mkmf>)), extmk [lib] [compat]

extmk と mkmf をマージする作業が開始されました。extmk は mkmf を利用するようになりました。mkmf もこれに伴い変更が行われ ています。((<ruby-dev:18109>))

((<"net/ftp">)) [compat]

getbinaryfile() の第二引数(ローカルファイル名)が省略可能になりました。 メソッド get(), put(), binary(), binary = 追加

((<"net/http">)) [compat]

Net::HTTP のクラスメソッドで ((<URI>)) オブジェクトが使えるようになった。

Net::HTTP.get_print(URI.parse('http://www.ruby-lang.org/ja/'))

インスタンスメソッドでは使えないので注意。

((<readline>)) [change]

Readline.readline 実行中に Ctrl-C により中断した後でも、端末状態を 復帰するようにしました。((<ruby-dev:14574>))

拡張ライブラリAPI

rb_define_alloc_func() [api] [new]
rb_undef_alloc_func() [api] [new]

追加。((<Class/allocate>)) メソッドの定義に使用します。 ((<ruby-dev:19116>))

rb_enable_super() [api]
rb_disable_super() [api]

ChangeLog によると、これらの関数は必要なくなったようです。

(rb_enable_super() を呼ぶと warning が出ます)。以前は、拡張ライブラ
リのレベルで、rb_call_super() (Ruby の super にあたる) を呼ぶメソッ
ドは rb_enable_super() しておかなければなりませんでした。

STR2CSTR() [api] [new]

拡張ライブラリの API である STR2CSTR() は、与えられたオブジェクト が文字列でなくかつ to_str メソッドを持つ場合、内部で to_str を呼び 出して暗黙の型変換を行います。この場合、変換結果が保持する文字列ポ インタを返しますが、このAPIでは暗黙の型変換結果のオブジェクトがど こからも参照されないため、型変換結果が GC される可能性があります。 ((<ruby-dev:12731>))

version 1.7 以降では代わりに StringValuePtr() を使用します。こちら は、引数の参照先が暗黙の型変換の結果に置き換わるため変換結果が GC されません。(version 1.7 では、STR2CSTR() は、obsolete です)

もう一つ新しく StringValue() という API が用意されています。こちら は、引数が to_str による暗黙の型変換を期待する場合に使用します。 引数が文字列なら何もしません。 文字列を受け取るメソッドの最初の方で読んでおくと便利です。

なお、今のところ str2cstr() (Cポインタと文字列長を返す)の代わりに なる安全な API は用意されていません。(((<ruby-dev:15644>))で提案は ありました)

バグ修正

((<組み込み関数/load>)) [bug]

((<組み込み関数/load>)) がスレッドセーフになりました。((<ruby-dev:20490>))

((<組み込み関数/syscall>)) [bug]

第二引数以降に文字列か Fixnum しか受け付けないために、long の範囲の 数値を指定することができませんでした。((<ruby-talk:72257>))

syscall(1, 2**30)

=> -:1:in `syscall': wrong argument type Bignum (expected String) (TypeError) from -:1 ruby 1.6.8 (2002-12-24) [i586-linux]

((<組み込み関数/trap>)) [bug]
((<組み込み関数/trace_var>)) [bug]

第二引数に汚染された文字列を渡すと例外 ((<SecurityError>)) が 起こるようになりました。1.6 では、汚染された文字列をセーフレ ベル4で評価するようになっていました。 ((<ruby-list:32215>))

((<Array#collect|Array/collect>)) [bug]
((<Array#map|Array/map>)) [bug]

Array#collect がブロックを伴わない場合に self.dup を返していました。 そのため、Array 以外を返すことがありました((<ruby-list:30480>))。

Foo = Class.new Array

a = Foo.new p a.map.class p a.collect.class

=> ruby 1.7.1 (2001-06-12) [i586-linux] Array Foo

=> ruby 1.7.1 (2001-07-31) [i586-linux] Array Array

((<Bignum>)) [bug]

-2147483648 より小さい数値の2進、8進、16進の表記がおかしくなっていました ((<ruby-list:34828>))

p "%b" % -2147483648 p "%b" % -2147483649 p "%b" % -2147483650

=> ruby 1.6.7 (2002-03-01) [i586-linux] "..10000000000000000000000000000000" "..1" "..10"

=> ruby 1.7.2 (2002-04-11) [i586-linux] "..10000000000000000000000000000000" "..101111111111111111111111111111111" "..101111111111111111111111111111110"

((<File/File.open>)) [bug]

第2引数を数値(File::RDONLY|File::CREATとか)で指定した場合に限り、第3 引数を用いていましたが、第3引数が与えられれば常に有効にするように しました。 ((<ruby-bugs-ja:PR#54>))

((<IO>)) (win32) [bug]

mswin32・mingw32で、更新モード(w+,r+)でオープンされたファイルに対する 読み書きの切り替えがうまくいっていなかった問題が修正されました。 bccwin32にも同様の問題がありますが、こちらは未修正です。 ((<ruby-dev:19299>))

((<IO#putc|IO/putc>)) [bug]

出力メソッドのうち putc だけが write メソッドを使用していませんでした。 ((<ruby-dev:18038>))

IO#read, gets ..., etc. [bug]

File::NONBLOCK を指定した IO の読み込みで EWOULDBLOCK が発生すると、 途中まで読んだデータが失われることがありました。 ((<ruby-dev:17855>))

Thread を使ったプログラムで、ファイルからデータを読み込んでソケットに 書き出していると、ごく稀に Socket#write が Errno::EINTR になってしまう ことがありました。((<ruby-dev:17878>)), ((<ruby-core:00444>))

((<Proc>)) [bug]

$SAFE が、1 or 2 のとき 汚染された Proc は、ブロックにできなくなりました ((<ruby-dev:15682>)) ((-あらい 2003-08-06: できてる・・・？-))

$SAFE = 1 proc = proc {} proc.taint p proc.tainted? def foo(&b) p b.tainted? end foo(&proc)

=> ruby 1.6.8 (2003-08-03) [i586-linux] true true => ruby 1.8.0 (2003-08-04) [i586-linux] true true

((<String#split|String/split>)) [bug]

空文字列に対する split が空文字列を要素に持つ配列を返していました。

p "".split(//) p "".split(//, 0) p "".split(//, 1) => ruby 1.6.8 (2002-12-24) [i586-linux] [] [] [""] => ruby 1.8.0 (2003-07-25) [i586-linux] [] [] []

((<String#split|String/split>)) [bug]

以下の例のように、第一引数に ' ' (awk split)を指定してかつ、第二引数 を指定した場合に最後の要素の先頭に余分な空白が残っていました。

p "a b c".split(' ',3) => ruby 1.6.8 (2002-12-24) [i586-linux] ["a", "b", " c"] => ruby 1.8.0 (2003-07-03) [i586-linux] ["a", "b", "c"]

((<String#split|String/split>)) [bug]

String#split で第2引数が -1 のとき、空文字列に対して空文字列を要素と する配列を返すバグが修正されました。((<ruby-bugs-ja:PR#426>))

p "".split(//) p "".split(//, -1)

=> ruby 1.6.8 (2002-12-24) [i586-linux] [] [""] => ruby 1.8.0 (2003-04-25) [i586-linux] [] []

((<String#rindex|String/rindex>)) [bug]

文字コード \0 が文字列末尾にマッチしていました。

p "abc".rindex(0) p "abc".index(0) => ruby 1.6.8 (2002-12-24) [i586-linux] 3 nil => ruby 1.8.0 (2003-07-03) [i586-linux] nil nil

((<String#upto|String/upto>)) [bug]

String#upto の範囲チェックが辞書順だったバグが修正されました。 現在は、((<String/succ>)) の動作と一致します。

p(('a'..'aa').to_a) => ruby 1.6.8 (2002-12-24) [i586-linux] ["a"] => ruby 1.8.0 (2003-07-03) [i586-linux] ["a", "b", "c", ..., "y", "z", "aa"]

'a'.upto('aa') {|c| p c} => ruby 1.6.8 (2002-12-24) [i586-linux] "a" => ruby 1.8.0 (2003-07-03) [i586-linux] "a" "b" "c" : "y" "z" "aa"

以前の実装では以下が 'aa' を含まないとか

'a'.upto('b') {|c| p c} => ruby 1.6.8 (2002-12-24) [i586-linux] "a" "b" => ruby 1.8.0 (2003-07-03) [i586-linux] "a" "b"

以下の結果と順序関係が一致していませんでした。

p(('a'..'zz').to_a) => ruby 1.6.8 (2002-12-24) [i586-linux] ["a", "b", "c", ..., "x", "y", "z", "aa", ..., "zx", "zy", "zz"] => ruby 1.8.0 (2003-07-03) [i586-linux] ["a", "b", "c", ..., "x", "y", "z", "aa", ..., "zx", "zy", "zz"]

なお、<=> の順序は辞書順であることに注意する必要があります。 p 'a' < 'b' # => true p 'aa' < 'b' # => true

((<Thread#wakeup|Thread/wakeup>)) [bug]
((<Thread#run|Thread/run>)) [bug]

終了中(aborting)のスレッドに対して実行するとスレッドが生き返る バグが修正されました。 ((<rubyist:1282>))

[bug]

((<ruby-talk:73481>))

p 'mike stok' =~ /^(?i-mx:mike) (?i-mx:stok)$/ => ruby 1.6.8 (2002-12-24) [i586-linux] nil => ruby 1.8.0 (2003-06-16) [i586-linux] 0

((<ruby-talk:73549>))

p "Mike" =~ /(?-i)[Mm]ike/ => ruby 1.6.8 (2002-12-24) [i586-linux] nil => ruby 1.8.0 (2003-06-16) [i586-linux] 0

((<セキュリティモデル>)), ((<組み込み変数/$SAFE>)) [bug], [change]

((<終了処理>))直前に $SAFE が 0 になるように変更されました。 ((<ruby-core:01119>))

$SAFE = 1 END { p $SAFE } => ruby 1.6.8 (2002-12-24) [i586-linux] 1 => ruby 1.8.0 (2003-06-09) [i586-linux] 0

ruby interpreter [bug]

以下のバグが修正されました((<ruby-list:37677>)) (イテレータの中で block を他のメソッドに & で渡した時のそのメソッド の引数のコンテキストの扱い？)

def foo
p(block_given?)
p(block_given?,&proc)
p(yield,&proc)
end

foo { }

=> ruby 1.6.8 (2002-12-24) [i586-linux] true false -:4: [BUG] Segmentation fault ruby 1.6.8 (2002-12-24) [i586-linux]

=> ruby 1.6.8 (2003-05-15) [i586-linux] true false -:4:in `foo': no block given (LocalJumpError) from -:7

=> ruby 1.8.0 (2003-05-17) [i586-linux] true true nil

((<"||="|演算子式>)) [bug]

未定義の変数に対して ||= で値を代入したときに、グローバル変数で警告 が出ていました。また、クラス変数はエラーになっていました。 ((<ruby-dev:18278>))

local ||= 1
@instance ||= 1
$global ||= 1
@@class ||= 1

=> -:3: warning: global variable `$global' not initialized -:4: uninitialized class variable @@class in Object (NameError) ruby 1.6.7 (2002-03-01) [i586-linux] => ruby 1.7.3 (2002-09-13) [i586-linux]

large file [bug]

large file(サイズが 4G bytes 以上のファイル)を正しく扱うようになりま した(？) ((<ruby-talk:35316>)), ((<ruby-talk:35470>))

alias [bug]

グローバル変数のエイリアスが効いていませんでした。 ((<ruby-dev:14922>))

$g2 = 1 alias $g1 $g2 p [$g1, $g2] $g2 = 2 p [$g1, $g2] => ruby 1.6.5 (2001-09-19) [i586-linux] [1, 1] [1, 2]

=> ruby 1.7.1 (2001-10-19) [i586-linux] [1, 1] [2, 2]

サポートプラットフォームの追加

WindowsCE [platform]

((<WindowsCE>)) のサポートパッチが取り込まれました。

Borland C++ サポート [platform]

bcc で ruby インタプリタをコンパイルするためのパッチがマージされまし た。

((<VMS>)) support [platform]

((<VMS>)) のサポートパッチが取り込まれました。


ruby 1.8.1 feature

((<ruby 1.8 feature/"1.8.0 (2003-08-04) -> 1.8.1 (2003-12-25)">))をご覧ください。


ruby 1.8.2 feature

ruby 1.8.2 での ruby 1.8.1 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。 *単にバグを直しただけのものは収録しない。 *ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

*カテゴリ

  • [ruby]: ruby インタプリタの変更
  • [api]: 拡張ライブラリ API
  • [lib]: ライブラリ

*レベル

  • [bug]: バグ修正
  • [new]: 追加されたクラス／メソッドなど
  • [compat]: 変更されたクラス／メソッドなど
  • 互換性のある変更
  • only backward-compatibility
  • 影響の範囲が小さいと思われる変更
  • [change]: 変更されたクラス／メソッドなど(互換性のない変更)
  • [experimental]: 変更の中でも特に実験的なもの(将来再考して欲しいもの？)
  • [obsolete]: 廃止された(される予定の)機能
  • [platform]: 対応プラットフォームの追加

1.8.1 (2003-12-25) -> 1.8.2 (2004-12-25)

* cgi/session においてクライアントからセッション ID を指定できてしまうバグが

修正されました。

* cgi/session においてセッション情報を保存するファイル名にセッション ID が

使われるバグが修正されました。

* cgi の無限ループに陥る可能性のあるバグが修正されました。

((<URL:http://www.debian.org/security/2004/dsa-586>))

* 一連の core dumps バグが修正されました。

((<URL:http://jp.rubyist.net/magazine/?0002-RubyCore>))

* tk の変更点は

((<URL:http://jp.rubyist.net/magazine/?0003-RubyTkMovement>))
を参照して下さい。

* soap, wsdl の変更点は

((<URL:http://rrr.jin.gr.jp/projects/soap4r/wiki/Changes-ruby181_ruby182>))
を参照して下さい。

* rss, rdoc, yaml の変更点は収録していません。

日時未詳

CGI#server_port [lib] [bug]

常に 0 を返すバグが修正されました。

2004-12-19

OpenSSL::X509::Store#time= [lib] [new]
OpenSSL::X509::StoreContext#time= [lib] [new]

追加。

OpenSSL::X509::Name::RFC2253DN [lib] [new]

module for RFC2253 DN format.

OpenSSL::X509::Name.parse_rfc2253 [lib] [new]

new method to parse RFC2253 DN format.

2004-12-18

Object#id [ruby] [obsolete]

常に警告がでるようになりました。Object#object_id を使って下さい。

2004-12-17

CGI::Session#initialize [lib] [compat]

'no_hidden' オプションを指定できるようになりました。((<ruby-talk:123850>))

2004-12-16

Hash#eql? [ruby] [obsolete]
Hash#hash [ruby] [obsolete]

削除 ((<ruby-dev:25206>))?

2004-12-14

CGI::Session.initialize [lib] [change]

存在しないセッション ID がクライアントから送られてきた場合 例外を投げずに新しいセッションを作成するようになりました。 ((<ruby-list:40368>))

2004-12-09

eval('Foo #@ bar'.inspect) [ruby] [bug]

シンタックスエラーにならないように修正しました。 ((<ruby-core:03922>))

String#inspect [ruby] [bug]

式展開になる '#'がエスケープされるようになりました。 ((<ruby-core:03922>)) $ ruby1.8.1 -e "puts '# #{}'.inspect" "# #{}"

$ ruby1.8.2 -e "puts '# #{}'.inspect" "# \#{}"

String#dump [ruby] [bug]

式展開にならない '#'がエスケープされないようになりました。 ((<ruby-core:03922>)) $ ruby1.8.1 -e "puts '# #{}'.dump" "\# \#{}"

$ ruby1.8.2 -e "puts '# #{}'.dump" "# \#{}"

2004-12-08

rss/rss [lib] [obsolete]

#item=/#set_item and so on are obsolete.

2004-12-06

Hash#hash [ruby] [new]

追加

((<ruby-talk:122482>))

Hash#hash は 2004-12-16 に削除されました。 ((<ruby-dev:25206>))?

OpenSSL::PKey::RSA.public_encrypt [lib] [compat]
OpenSSL::PKey::RSA.public_decrypt [lib] [compat]
OpenSSL::PKey::RSA.private_encrypt [lib] [compat]
OpenSSL::PKey::RSA.private_decrypt [lib] [compat]

パディングを指定出来るようになりました。((<ruby-talk:122539>))。PKCS1_PADDING, SSLV23_PADDING, NO_PADDING and PKCS1_OAEP_PADDING under OpenSSL::PKey::RSA.

2004-12-05

OptionParser::Completion#complete [lib] [compat]

new parameter to direct case insensitiveness.

OptionParser#order! [lib] [change]

((<ruby-dev:25048>))

2004-12-04

NKF.guess [lib] [compat]

NKF.guess は NKF.guess2 の alias になりました。 従来のものを使いたい場合は NKF.guess1 を使って下さい。

2004-11-20

ext/nkf/nkf-utf8/ [lib] [new]

utf8 対応 nkf (nkf 2.x) の追加。

kconv [lib] [new]
Kconv.guess_old(str)
Kconv.toutf8(str)
Kconv.toutf16(str)
String#toutf8,
String#toutf16
String#iseuc
String#issjis
String#isutf8

2004-11-18

StringIO.new [lib] [compat]

StringIO.newの第二引数にIO.newと同様、Fixnum も指定できるようになりました。 ((<ruby-dev:24896>))

2004-11-16

Test::Unit::AutoRunner.options [lib] [compat]

add new option --exclude (-x). ((<ruby-dev:24865>))

CGI::Session.initialize [lib] [compat]

'sufix' オプションを設定できるようになりました。

2004-11-10

Array#pack [ruby] [change]

P 指定子以外では nil を 0 に変換しなくなりました。

$ ruby-1.8.1 -e 'p [nil].pack("L")' "\000\000\000\000" $ ruby-1.8.2 -e 'p [nil].pack("L")' -e:1:in `pack': cannot convert nil into Integer (TypeError) from -e:1 $ ruby-1.8.2 -e 'p [nil].pack("P")' "\000\000\000\000"

2004-10-27

CGI [lib] [bug]

無限ループに陥る可能性のあるバグを修正しました。 ((<URL:http://www.debian.org/security/2004/dsa-586>))

2004-10-21

PStore#transaction [lib] [compat]

PStore.new に指定したファイルがまだ存在しない場合に、PStore#transaction(true) を呼 び出しても例外 Errno::ENOENT が発生しなくなりました。((<ruby-dev:24561>))

2004-10-20

Proc#dup [new]

追加 ((<ruby-talk:116915>))

2004-10-19

ARGF [change]

コマンドライン引数に与えたファイルを読んだ後には標準入力を読まなくなりました。 ((<ruby-dev:24452>))

IO#gets [ruby] [bug]

"\377" を引数に受け取っても適切に振舞うようになりました。((<ruby-dev:24460>))

Dir.glob [change]

ブロックを渡したとき、false ではなく nil を返すようになりました。また、readdir しながらブロックを呼ぶのではなく、全部を配列に貯めてから each するようになりました。((<ruby-dev:24528>))

2004-10-18

WEBrick::HTTPRequest [lib] [new]

new methods. accept, accept_charset, accept_encoding, accept_language, content_length and content_type.

WEBrick::HTTPResponse#content_length= [lib] [new]
WEBrick::HTTPResponse#content_type= [lib] [new]
WEBrick::HTTPUtils.parse_qvalues [lib] [new]
WEBrick::HTTPServer#virtual_host [lib] [new]
WEBrick::HTTPServer#lookup_server [lib] [new]
WEBrick::HTTPServlet::FileHandler#get_servlet [lib] [new]

2004-09-03

Struct.new [ruby] [bug]

同じ名前で二度定義したときのバグを修正しました。((<ruby-dev:24210>))

2004-08-24

CGI::Session::FileStore#initialize [lib] [bug]

セッションを保存するファイル名にセッション ID が使われるバグを修正しました。

2004-08-23

OpenSSL::SSL#pending [lib] [new]

2004-08-14

FileUtils.copy_entry [lib] [new]
FileUtils::DryRun [lib] [new]

追加。

FileUtils.mv [lib] [compat]

mv が :force オプションを受け付けるようになりました。

2004-08-07

Zlib::GzipReader#read(0) [lib] [compat]

Zlib::GzipReader#read(0) が nil ではなく "" を返すようになりました。

2004-07-28

CGI::CGI_PARAMS [lib] [obsolete]
CGI::CGI_COOKIES [lib] [obsolete]

常に警告がでるようになりました。

2004-07-23

Net::IMAP#disconnected? [lib] [new]
CGI::Session::FileStore#update [lib] [compat]

セッションを保存するファイルの mode をデフォルトで 0600 に セットするようになりました。

2004-07-16

((<SystemExit#success?|SystemExit/success?>)) [ruby] [new]

追加。((<ruby-dev:23912>))

File::Stat#dev_major [ruby] [new]
File::Stat#dev_minor [ruby] [new]

((<ruby-core:03195>))

2004-07-05

Kernel#URI [lib] [new]

uri で追加。((<ruby-dev:23784>))

2004-07-01

OpenSSL::Cipher::Cipher#pkcs5_keyivgen [lib] [new]
OpenSSL::Cipher::Cipher#key_len= [lib] [new]

new methods.

OpenSSL::PKey::DH [lib] [new]
OpenSSL::PKey::DSA [lib] [new]

many new methods. p, p=, g, g=, pub_key, pub_key=, priv_key, priv_key=.

2004-07-01

PStore [lib] [change]

データベースの更新が成功したらバックアップファイルを残さず削除するようになりました。 ファイル名に "~" が付いたバックアップファイルは残されません。((<ruby-list:39102>))

2004-06-29

misc

$SAFEが保存されない問題を修正しました。((<ruby-dev:23829>))

2004-06-23

net/imap [lib] [new]

added new option --ssl

2004-06-16

object.c [ruby] [bug]

特異クラスが特異オブジェクトのクラスを継承していると見なされて いるバグを修正しました。((<ruby-dev:23690>))

$ ruby1.8.1 -e 'class X;end; x=X.new; class << x;p self < X; end' true

$ ruby1.8.2 -e 'class X;end; x=X.new; class << x;p self < X; end' nil

2004-06-04

IO#gets, $_ [ruby] [change]

gets の返り値が nil でも、$_ に nil がセットされるようになりました。 ((<ruby-dev:23663>))

2004-05-27

CSV.parse [lib] [change]

引数としてファイル名を受け付けなくなりました。 文字列が渡されると、それをパースすべき文字列だと解釈します。

CSV.parse("1,2\n3,r") #=> [['1', '2'], ['3', 'r']]

CSV::Row [lib] [obsolete]
CSV::Cell [lib] [obsolete]

CSV::Row と CSV::Cell が deprecated になりました。

CSV.open, CSV.parse, and CSV,generate

必要ならばユーザが binmode をセットしなければならなくなりました。

CSV.read [lib] [new]
CSV.readlines [lib] [new]

追加。

Marshal.dump [ruby] [bug]

特異メソッドを定義されていないオブジェクトを dump できない場合があったのを 修正しました。 ((<ruby-dev:22631>))

Marshal.dump [ruby] [bug]

特異クラス内のクラスを dump するとエラーになるようになりました。 ((<ruby-dev:22588>))

2004-05-16

DBM.open [lib] [compat]
DBM::READER [lib] [new]
DBM::WRITER [lib] [new]
DBM::WRCREAT [lib] [new]
DBM::NEWDB [lib] [new]

DBM.open に第3引数を追加し、DBM::READER, DBM::WRITER, DBM::WRCREAT, DBM::NEWDB を指定できるようになりました。 ((<ruby-dev:23520>))

2004-05-13

Net::Telnet#login [lib] [compat]

"options" でログインプロンプトとパスワードプロンプトのための正規表現を 指定できるようになりました。

String#unpack [ruby] [change]

Z* が最初の null までしかマッチしないようになりました。((<ruby-talk:98281>))

$ ruby1.8.1 -e 'p "abc\000def\000".unpack("Z*Z*")' ["abc\000def", ""]

$ ruby1.8.2 -e 'p "abc\000def\000".unpack("Z*Z*")' ["abc", "def"]

2004-05-10

superclass mismatch [ruby] [change]

親クラスの違う同じ名前のクラスを再定義した時 TypeError を投げるようになりました。 ((<ruby-list:39567>))

$ ruby-1.8.2 -e ' class Foo Bar = 1 end class Foo < String Baz = 2 end ' -e:6: superclass mismatch for class Foo (TypeError)

2004-04-19

Hash#== [change]
Hash#eql? [new]

Hash#== は内容が一致していれば真に、Hash#eql? は、さらに ハッシュのデフォルト値が同じ(==)なら真になるよう定義されました。

h1 = Hash.new("a")
h2 = Hash.new("a")
h3 = Hash.new("b")

p h1 == h2 p h1.eql?(h2)

p h1 == h3 p h1.eql?(h3)

# => ruby 1.8.1 (2003-12-25) [i586-linux] true false false false # => ruby 1.8.2 (2004-07-17) [i586-linux] true true true false # => ruby 1.9.0 (2004-07-17) [i586-linux] true true true false

((<ruby-talk:97559>))

Hash#eql? は 2004-12-16 に削除されました。 ((<ruby-dev:25206>))?

2004-04-16

String#== [lib] [change]

nil を返さず、常に false か true を返すようになりました。((<ruby-dev:23404>))

$ ruby1.8.1 -e 'p "a" == :a' nil

$ ruby1.8.2 -e 'p "a" == :a' false

2004-04-15

GDBM::READER [lib] [new]
GDBM::WRITER [lib] [new]
GDBM::WRCREAT [lib] [new]
GDBM::NEWDB [lib] [new]

GDBM に read only などで access できるようになりました。((<ruby-dev:23381>))

Process::Status#success? [ruby][new]

((<ruby-dev:23385>))

2004-04-11

ruby.c [ruby] [bug]

オプション --with-static-linked-ext 付きでコンパイルした時の、 -r オプションのエラーメッセージを修正。((<ruby-dev:23357>))

2004-03-8

WEBrick::Config::HTTP [lib] [change]

オプション :RequestHander は :RequestCallback に名前が変わりました。 オプション :ServerAlias が追加されました。

2004-02-24

OpenSSL::Config#each [lib] [new]
Dir.glob [ruby] [change]

File::FNM_DOTMATCH がセットされない限り Dir.glob('test/**/') は 'test/.test/' などに マッチしなくなりました。((<ruby-dev:23014>))

2004-02-20

irb [lib] [new]

-I オプションが使えるようになりました。((<ruby-list:39243>))

2004-02-18

StringScanner#peep [lib] [obsolete]

$VERVOSE が設定されている時に警告がでるようになりました。use #peek.

StringScanner#empty? [lib] [obsolete]

$VERVOSE が設定されている時に警告がでるようになりました。use #eos?.

StringScanner#clear [lib] [obsolete]

$VERVOSE が設定されている時に警告がでるようになりました。use #terminate.

StringScanner#getbyte [lib] [obsolete]

$VERVOSE が設定されている時に警告がでるようになりました。use #get_byte.

StringScanner#restsize [lib] [obsolete]

$VERVOSE が設定されている時に警告がでるようになりました。use #rest_size.

StringScanner#matchedsize [lib] [obsolete]

$VERVOSE が設定されている時に警告がでるようになりました。use #matched_size.

ScanError [lib] [obsolete]

use StringScanner::Error.

2004-02-10

((<String#~|String/~>)) [obsolete]
((<String#=~|String/=~>)) [obsolete]

String#~ は削除されました。また、str =~ str を実行すると例外 が発生するようになりました。 ((<ruby 1.8 feature/2003-07-19>)), ((<ruby 1.8 feature/2003-05-26>))、 ((<ruby-dev:22851>))

2004-02-09

File.fnmatch [ruby] [bug]

適切にマッチしないバグを修正しました。 ((<ruby-dev:22815>)) ((<ruby-dev:22819>))

2004-02-06

PrettyPrint#first? [lib] [obsolete]

2004-02-05

PrettyPrint#seplist [lib] [new]

2004-01-29

OpenSSL::X509::Name#add_entry [lib] [new]

2004-01-26

Regexp.new [ruby] [obsolete]

「{,m}」表記の場合と「{n,m}」の n,m が数字でない場合に警告を出力するようになりました。((<ruby-dev:22626>))

文字「}」がエスケープされていない場合に警告を出力するようになりました。 ((<ruby-dev:22627>))

2004-01-08

OpenSSL::PKey::DH#to_der [lib] [new]
OpenSSL::PKey::DSA#to_der [lib] [new]
OpenSSL::PKey::RSA#to_der [lib] [new]

2003-12-31

ARGF.each_byte [ruby] [compat]

nil ではなく ARGF を返すようになりました。((<ruby-dev:22465>))

2003-12-27

ruby -i.bak [ruby] [compat]

inplace edit mode で標準入力から読み込んだ時常に警告を 出力するようになりました。

2003-12-26

ARGF.read(nil)

引数に nil を許すようになりました。((<ruby-dev:22433>))


ruby 1.8.3 feature

*((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))

ruby 1.8.2 から ruby 1.8.3 までの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。 *単にバグを直しただけのものは収録しない。 *ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

* カテゴリ

  • [ruby]: ruby インタプリタの変更
  • [api]: 拡張ライブラリ API
  • [lib]: ライブラリ

* レベル

  • [bug]: バグ修正
  • [new]: 追加されたクラス／メソッドなど
  • [compat]: 変更されたクラス／メソッドなど
  • 互換性のある変更
  • only backward-compatibility
  • 影響の範囲が小さいと思われる変更もこちら
  • [change]: 変更されたクラス／メソッドなど(互換性のない変更)
  • [obsolete]: 廃止された(される予定の)機能
  • [platform]: 対応プラットフォームの追加

bundled libraryである(rubyの一部ではない)soap4rの変更点については、以下を参考にしてください。 soap4r-1.5.3がruby-1.8.2、soap4r-1.5.5がruby-1.8.3にbundleされています。

  • ((<URL:http://dev.ctor.org/soap4r/wiki/Changes-154>))
  • ((<URL:http://dev.ctor.org/soap4r/wiki/Changes-155>))

1.8.2 (2004-12-25) -> 1.8.3 (2005-09-21)

2005-09-19

FileUtils.remove_entry_secure [lib] [new]
FileUtils.remove_entry [lib] [new]
FileUtils.chmod_R [lib] [new]
FileUtils.chown [lib] [new]
FileUtils.chown_R [lib] [new]
FileUtils.commands [lib] [new]
FileUtils.options [lib] [new]
FileUtils.have_option? [lib] [new]
FileUtils.options_of [lib] [new]
FileUtils.collect_method [lib] [new]

追加。

FileUtils.rm_r [lib] [compat]
FileUtils.rm_rf [lib] [compat]
FileUtils.cd [lib] [compat]
FileUtils.cp_r [lib] [compat]

rm_f と rm_rf が :secure オプションを受け付けるようになりました。 cd が :noop オプションを受け付けなくなりました。 cp_r が :dereference_root オプションを受け付けるようになりました。

2005-09-16

File.join [ruby] [compat]

型チェックを厳密にするようになりました。

$ ruby-1.8.2 -e 'p File.join(1, 2)' "1/2" $ ruby-1.8.3 -e 'p File.join(1, 2)' -e:1:in `join': can't convert Fixnum into String (TypeError) from -e:1

2005-09-16

File.extname [ruby] [compat]

与えられた pathname がピリオドで終る場合、ピリオドではなく空の文字列を返すようになりました。

$ ruby-1.8.2 -e 'p File.extname("a.")' "." $ ruby-1.8.3 -e 'p File.extname("a.")' ""

2005-09-13

Logger#formatter [lib] [new]
Logger#formatter= [lib] [new]
Logger::Formatter [lib] [new]

追加。

2005-09-13

Net::HTTP

https での Proxy 認証をサポートするようになりました。

Net::HTTP.post_form(url, params) [lib] [new]
Net::HTTPHeader#content_length= [lib] [new]
Net::HTTPHeader#content_type [lib] [new]
Net::HTTPHeader#main_type [lib] [new]
Net::HTTPHeader#sub_type [lib] [new]
Net::HTTPHeader#type_params [lib] [new]
Net::HTTPHeader#content_type= [lib] [new]
Net::HTTPHeader#set_content_type [lib] [new]
Net::HTTPRequest#body(=) [lib] [new]
Net::HTTPRequest#body_stream(=) [lib] [new]

追加。

Net::HTTPHeader#each_capitalized [lib] [compat]
Net::HTTPHeader#each_capitalized_name [lib] [new]

Net::HTTPHeader#canonical_each は Net::HTTPHeader#each_capitalized に名前が変わりました。canonical_each も each_capitalized の別名とし て提供されます。

net/http [lib] [new]

WebDAV のメソッドをサポートするようになりました。 PROPPATCH, LOCK, UNLOCK, OPTIONS, PROPFIND, DELETE, MOVE, COPY, MKCOL。

Net::HTTPRequest#body_exist? [lib] [obsolete]
Net::HTTPResponse#response [lib] [obsolete]
Net::HTTPResponse#header [lib] [obsolete]
Net::HTTPResponse#read_header [lib] [obsolete]

obsolete になりました。VERBOSE モードの時、警告が出ます。

2005-09-10

OpenSSL::PKCS7::RecipientInfo [lib] [new]
OpenSSL::PKCS7::SignerInfo [lib] [compat]

新クラス、追加。OpenSSL::PKCS7::Signer が OpenSSL::PKCS7::SignerInfo に名前が変わりました。Signer も別名として 引続き提供されます。

2005-09-10

OpenSSL::Digest::SHA224
OpenSSL::Digest::SHA256
OpenSSL::Digest::SHA384
OpenSSL::Digest::SHA512

新クラス、追加。OpenSSL 0.9.8 以降とともにコンパイルされた時のみ。

2005-09-09

$SAFE [ruby] [compat]

メソッドが定義された時の $SAFE レベルを記憶するようになりました。 メソッドは定義された時の $SAFE レベルで実行されます。 $SAFE レベル 3 以上の環境下において定義されたメソッドを呼び出すことは、$SAFE レベル が 0 のとき 禁止されるようになりました。

$ cat mthd_taint.rb th = Thread.new{ $SAFE = 3 class Hoge def foo puts "safe level: #{$SAFE}" end end } th.join p $SAFE Hoge.new.foo

$ ruby-1.8.2 mthd_taint.rb 0 "safe level: 0" $ ruby-1.8.3 mthd_taint.rb 0 mthd_taint.rb:11:in `foo': calling insecure method: foo (SecurityError) from mthd_taint.rb:11

2005-09-09

String#* [ruby] [compat]
String#[] [ruby] [compat]

空文字にも taint が伝播するようになりました。((<ruby-dev:26900>)) ((<ruby-dev:27121>)) $ ruby-1.8.2 -e 'p ("x".taint * 0).tainted?' false $ ruby-1.8.3 -e 'p ("x".taint * 0).tainted?' true

$ ruby-1.8.2 -e 'p ("x".taint[1..-1]).tainted?' false $ ruby-1.8.3 -e 'p ("x".taint[1..-1]).tainted?' true

Range オブジェクトが taint されている場合、"string"[range] も taint されるようになりました。((<ruby-dev:27121>))

$ ruby-1.8.2 -e 'p ("x"[(0..-1).taint]).tainted?' false $ ruby-1.8.3 -e 'p ("x"[(0..-1).taint]).tainted?' true

2005-08-29

Time.parse [lib] [compat]

Time.parse が小数点以下の秒も扱えるようになりました。((<ruby-talk:153859>))

$ ruby-1.8.2 -r time -e 'p Time.parse("23 Aug 2005 19:00:01.1").to_f' 1124791201.0 $ ruby-1.8.3 -r time -e 'p Time.parse("23 Aug 2005 19:00:01.1").to_f' 1124791201.1

2005-08-20

Logger [lib] [bug]

ファイルをシフト時のレースコンディションが修正されました。

2005-08-07

WIN32OLE_EVENT#on_event [lib] [bug]

最後に定義したイベントハンドラが有効になるように修正しました。

2005-07-27

Dir#each [ruby] [bug]
Dir#entries [ruby] [bug]

1回メソッドを呼んでしまうと空になるバグを修正しました。

$ ruby-1.8.2 -e ' d = Dir.new("/") d.entries p d.entries ' [] $ ruby-1.8.3 -e ' d = Dir.new("/") d.entries p d.entries ' [".", "..", "dev", "home", "proc", "var", "tmp", "etc", "usr", "sbin", "bin", "boot"]

2005-07-11

正規表現 [ruby] [bug]

正規表現リテラル中で \c\\ 表記があるとパースエラーになるバグを修正しました。

$ cat r.rb p /[\c\\]/ =~ "\c\\" p /\c\\/ =~ "\c\\" $ ruby-1.8.2 r.rb r.rb:1: premature end of regular expression: /[\c\\]/ r.rb:2: invalid regular expression; '\' can't be last character: /\c\\/ $ ruby-1.8.3 r.rb 0 0

2005-06-30

Delegator [lib] [compat]

Delegator オブジェクトが生成された後に定義されたメソッドに関しても、適切に委譲するようになりました。 ((<ruby-talk:146776>)) ((<ruby-talk:146894>)) $ cat test_dlg.rb foo = Object.new foo2 = SimpleDelegator.new(foo) def foo.bar puts "bar" end foo2.bar $ ruby-1.8.2 -r delegate test_dlg.rb test_dlg.rb:6: undefined method `bar' for #<Object:0x4021b0a0> (NoMethodError) $ ruby-1.8.3 -r delegate test_dlg.rb bar

2005-06-20

DBM#closed? [lib] [new]
GDBM#closed? [lib] [new]
SDBM#closed? [lib] [new]

2005-06-16

Time.parse [lib] [compat]

うるう秒 "Fri Jan 1 08:59:60 +0900 1999" をサポートしている環境において、Time.parse が 適切に振舞うようになりました。

2005-06-08

Curses.insertln [lib] [new]
Curses::Window.insertln [lib] [new]

2005-06-08

ext/socket [lib] [compat]

拡張ライブラリ socket が AIX 上でコンパイルされるようになりました。((<ruby-list:40832>))

2005-06-07

Module#class_variable_get [ruby] [new]
Module#class_variable_set [ruby] [new]

クラスメソッドから((<変数と定数/クラス変数>))にアクセスするための ((<Module#class_variable_get|Module/class_variable_get>)) と ((<Module#class_variable_set|Module/class_variable_set>)) が 追加されました。((<ruby-talk:144741>))

class Fred @@foo = 99 def foo @@foo end end def Fred.foo @@foo = 101 #=> @@foo は Fred クラスのクラス変数ではない。 end def Fred.foo_foo class_variable_set(:@@foo, 101) # self が Fred クラス自身であることに注意。クラス変数 @@foo に値をセットする。 end Fred.foo # メソッドを呼んでも、Fred クラスのクラス変数 @@foo は変わらない。 p Fred.new.foo #=> 99

Fred.foo_foo # p Fred.new.foo #=> 101

2005-05-28

WEBrick::CGI::Socket#request_line [lib] [compat]

WEBrick を CGI 環境下で使う場合、 request_line メソッドは REQUEST_URI ヘッダがあればそちらを優先して使うようになりました。 ((<ruby-dev:26235>))

2005-05-27

mkmf [lib] [bug]

MSYS 環境下において、PATHの区切り値にセミコロンを使うよう修正しました。((<ruby-dev:26232>))

2005-05-24

getopts [lib] [obsolete]

getopts が deprecated になりました。deprecated であるという警告は、 オプションに -w を付けた時に出ます。((<ruby-dev:26201>))

2005-05-22

OpenSSL::SSL::SSLServer#intialize(svr, ctx, session_id=nil)

session_id を受け付けるようになりました。((<ruby-core:4663>))

2005-05-19

REXML::Encoding#decode_sjis [lib] [bug]
REXML::Encoding#encode_sjis [lib] [bug]

decode_sjis と encode_sjis が 逆に定義されていたバグを修正しました。((<ruby-core:4772>))

2005-05-16

singleton class [ruby] [change]

特異クラスは複製できなくなりました。((<ruby-talk:142749>))

$ ruby-1.8.3 -e 'class << "str"; self end.dup' -e:1:in `initialize_copy': can't copy singleton class (TypeError) from -e:1

2005-05-15

Pathname#unlink [lib] [compat]

ディレクトリへのシンボリックリンクも削除されるようになりました。((<ruby-core:4992>))

2005-05-14

NameError
SystemCallError
SystemExit

各例外クラスのインスタンスが生成される時に、親クラスのコンストラクタ である Exception#initialize が呼ばれるようになりました。((<ruby-talk:142593>)) ((<ruby-dev:26177>))

2005-05-11

break [ruby] [bug]

メソッドを越えて break が有効になるバグを修正しました。((<ruby-list:40818>)) $ cat brk.rb def stop(n) break if n == 2 end (1..5).each do |i| stop(i) puts i end $ ruby-1.8.2 brk.rb 1 $ ruby-1.8.3 brk.rb 1 brk.rb:2:in `stop': unexpected break (LocalJumpError) from brk.rb:6 from brk.rb:5

2005-05-11

WEBrick::CGI#[] [lib] [new]
WEBrick::CGI#logger [lib] [new]
WEBrick::CGI#config [lib] [new]

2005-05-01

ruby -s option [ruby] [bug]

オプション -s でアクセスできないグローバル変数ができてしまうバグを修正 しました。- を _ に変換してグローバル変数を定義するようになりました。- 以外の 記号がふくまれる場合は、例外 NameError を投げます。 $ ruby-1.8.2 -se 'puts global_variables.grep(/foo/)' -- --foo-bar $-foo-bar $ ruby-1.8.3 -se 'puts global_variables.grep(/foo/)' -- --foo-bar $_foo_bar

$ ruby-1.8.3 -se 'puts global_variables.grep(/foo/)' -- --foo\@bar -e: invalid name for global variable - --foo@bar (NameError)

2005-04-18

WIN32OLE.codepage [lib] [new]
WIN32OLE.codepage= [lib] [new]

2005-04-10

WIN32OLE#invoke [lib] [bug]

nil を VT_ERROR に変換して Invokeを呼び出して失敗するときには VT_EMPTYに変換して 再度 Invokeを呼び出すようにしました。

2005-04-09

rss [lib][new][compat]

複数のDublin Coreの要素を扱えるようになりました。

このためdc_#{Dublin Coreの要素名の複数形}というメソッドが導入されました。

互換性のために以前のdc_#{Dublin Coreの要素名の単数形}というメソッドも残されています。

2005-03-07

String#<=> [ruby][compat]

比較できないものを渡された時に false ではなく nil を返すようになりました。 ((<ruby-dev:25811>))

$ ruby-1.8.2 -e 'p "a" <=> 1' false $ ruby-1.8.3 -e 'p "a" <=> 1' nil

2005-03-06

HTTPHeader#get_fields [lib][new]
HTTPHeader#add_field [lib][new]

追加。((<ruby-list:40629>))

2005-02-23

local variable and method [ruby][bug]

レシーバを指定したメソッド呼び出しが、同名のローカル変数の有無によっ て影響されるバグが修正されました。 ((<ruby-dev:25737>)) ((<URL:http://yowaken.dip.jp/tdiary/20050220.html#p01>))

2005-02-17

Open3.popen3 [lib] [compat]

Open3.popen3実行後の$?.exitstatusが0になるように修正されました。

((<クラス／メソッドの定義/defined?>)) [ruby][bug]

(({defined?(@a = b)}))のような NODE_IASGN が nil ではなく "assignment" を返すようになりました。 ((<"[yarv-dev:418]"|URL:http://www.atdot.net/mla/yarv-dev/418>))

2005-02-17

Test::Unit::AutoRunner.run [lib] [change]

第一引数の意味が変わりました。

2005-02-14

OpenSSL::SSL::SSLSocket#post_connection_check [lib][new]

追加 ((<ruby-dev:25690>))

2005-02-13

ERB::Util.html_escape [lib] [compat]
ERB::Util.url_encode [lib] [compat]

モジュール関数としても使えるようになりました。((<ruby-dev:25687>))

2005-02-12

open-uri [lib] [new]

https をサポートするようになりました。

2005-02-11

URI::HTTP#proxy_open [lib][new]

(({:http_basic_authentication})) オプションの追加 ((<ruby-core:4416>))

OpenSSL::X509::Store#set_default_paths [lib][new]

追加 ((<ruby-dev:25670>))

2005-02-06

Resolv::DNS::Resource::TXT#strings [lib] [new]
Resolv::DNS::Message::MessageEncoder#put_string_list [lib] [new]
Resolv::DNS::Message::MessageDecoder#get_string_list [lib] [new]

追加。((<ruby-talk:129732>))

2005-02-04

RSS Parser/Maker [lib] [new]

((<Imageモジュール|URL:http://web.resource.org/rss/1.0/modules/image/>))のサポート

2005-02-03

RSS::Element#convert(value) [lib] [new]

valueのエンコーディングを変換するメソッドを公開。 valueのエンコーディングは要素の内部エンコーディングからoutput_encoding=で設定したエンコーディングへ変換されます。

StringIO [lib] [compat]

close, close_read, close_write が ((<IO>)) と同じように、 nil を返すようになりました。((<ruby-dev:25623>))

2005-01-29

Resolv::DNS::Resource::IN::SRV [lib] [new]

追加 (RFC2782)

2005-01-26

File#flock [ruby] [bug]

Windows 上での File#flock(File::LOCK_UN) が正しく理解されないバグが 修正されました。((<ruby-dev:25574>))

2005-01-25

RUBYOPT [ruby] [bug]

環境変数 RUBYOPT の -T オプションを適切に解釈するようになりました。 またハイフン - を省略できるようになりました。((<ruby-dev:25512>))

$ env RUBYOPT='Ke rnet/http' ruby -e 'p Net::HTTP' Net::HTTP

2005-01-17

WEBrick::Config::SSL [lib] [compat]

オプション :SSLEnable のデフォルトが false になりました。

WEBrick::HTTPUtils#escape_path [lib] [new]

2005-01-15

RSS::VERSION [lib]

0.1.2 -> 0.1.3

RSS::Parser [lib] [bug]

継承するとエラーになるバグを修正。 ((<ruby-talk:126104>))

2005-01-12

Class#superclass [ruby] [bug]

特異クラスのメソッド superclass が特異クラスを返すように修正されました。 ((<ruby-list:40519>))

2005-01-09

IO#read [obsolete]
IO#readpartial [new]

nonblocking IO に対する IO#read の挙動は ruby 1.9 以降で変化します ((<ruby-dev:25101>))。そのため、 ruby 1.8.3 以降では、VERBOSE モードの時に IO#read がノンブロッキングモードで データの読み込みに失敗して ((<Errno::EAGAIN|Errno::EXXX>)) エラーが発生した場合、 "nonblocking IO#read is obsolete" という警告が出るようになりました。 そして ruby 1.8 の nonblocking IO#read の移行先として ruby 1.8.3 に IO#((<IO/readpartial>)) が追加されました。 ((<ruby-dev:25430>)) ((<ruby-dev:25443>))

$ ruby -e 'sleep 1; print "hoge"' | ruby-1.8.2 -rio/nonblock -we '
io = IO.open(0)
io.nonblock = true
p io.read(4)'
-e:4:in `read': Resource temporarily unavailable (Errno::EAGAIN)
from -e:4

$ ruby -e 'sleep 1; print "hoge"' | ruby-1.8.3 -rio/nonblock -we '
io = IO.open(0)
io.nonblock = true
p io.read(4)'
-e:4: warning: nonblocking IO#read is obsolete; use IO#readpartial or IO#sysread
-e:4:in `read': Resource temporarily unavailable (Errno::EAGAIN)
from -e:4

$ ruby -e 'sleep 1; print "hoge"' | ruby-1.8.3 -rio/nonblock -we '
io = IO.open(0)
io.nonblock = true
p io.readpartial(4)'
"hoge"

$ ruby -e 'sleep 1; print "hoge"' | ruby-1.9 -rio/nonblock -we '
io = IO.open(0)
io.nonblock = true
p io.read(4)'
"hoge"

2005-01-05

srand(bignum) [compat]

srand が引数として unsigned long よりも大きな値も受け付けるようになりました。

rand(bignum) [bug]

負の ((<Bignum>)) を受け取っても 正の ((<Bignum>)) を返すようになりました。

2005-01-03

srand [compat]

引数を与えない場合、可能なら /dev/urandom を参照するようになりました。((<ruby-dev:25392>))


ruby 1.8.4 feature

ruby 1.8.4 での ruby 1.8.3 からの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。 *単にバグを直しただけのものは収録しない。 *ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

# * カテゴリ # * [ruby]: ruby インタプリタの変更 # * [api]: 拡張ライブラリ API # * [lib]: ライブラリ * レベル

  • [bug]: バグ修正
  • [new]: 追加されたクラス／メソッドなど
  • [compat]: 変更されたクラス／メソッドなど
  • 互換性のある変更
  • only backward-compatibility
  • 影響の範囲が小さいと思われる変更もこちら
  • [change]: 変更されたクラス／メソッドなど(互換性のない変更)
  • [obsolete]: 廃止された(される予定の)機能
  • [platform]: 対応プラットフォームの追加

目次

* ((<ruby 1.8.4 feature/Ruby本体>))

  • ((<ruby 1.8.4 feature/Symbol [bug]>))
  • ((<ruby 1.8.4 feature/Symbol [bug]>))
  • ((<ruby 1.8.4 feature/super [bug]>))
  • ((<ruby 1.8.4 feature/正規表現 [bug]>))
  • ((<ruby 1.8.4 feature/シグナル [bug]>))

* ((<ruby 1.8.4 feature/組み込みライブラリ>))

  • ((<ruby 1.8.4 feature/UnboundMethod#bind [bug]>))
  • ((<ruby 1.8.4 feature/set_trace_func [bug]>))
  • ((<ruby 1.8.4 feature/set_trace_func [change]>))
  • ((<ruby 1.8.4 feature/printf [bug]>))
  • ((<ruby 1.8.4 feature/Hash [bug]>))
  • ((<ruby 1.8.4 feature/test [bug]>))
  • ((<ruby 1.8.4 feature/File.identical? [new]>))
  • ((<ruby 1.8.4 feature/FileTest.identical? [new]>))
  • ((<ruby 1.8.4 feature/File.split [change]>))
  • ((<ruby 1.8.4 feature/File.basename [change]>))
  • ((<ruby 1.8.4 feature/File.dirname [change]>))
  • ((<ruby 1.8.4 feature/Dir.glob (Win全般) [bug]>))
  • ((<ruby 1.8.4 feature/File.basename (Win全般) [change]>))
  • ((<ruby 1.8.4 feature/File.dirname (Win全般) [bug]>))
  • ((<ruby 1.8.4 feature/File::Stat#pipe? [bug]>))
  • ((<ruby 1.8.4 feature/Array#fill [bug]>))
  • ((<ruby 1.8.4 feature/String#scan [bug]>))
  • ((<ruby 1.8.4 feature/File.join [bug]>))
  • ((<ruby 1.8.4 feature/Thread#pass [bug]>))
  • ((<ruby 1.8.4 feature/Module#const_missing [bug]>))
  • ((<ruby 1.8.4 feature/IO [bug]>))

* ((<ruby 1.8.4 feature/添付ライブラリ>))

  • ((<ruby 1.8.4 feature/"Ruby/Tk">))
  • ((<ruby 1.8.4 feature/REXML [compat]>))
  • ((<ruby 1.8.4 feature/TCPSocket#initialize [bug]>))
  • ((<ruby 1.8.4 feature/TCPServer#initialize [bug]>))
  • ((<ruby 1.8.4 feature/"optparse">))
  • ((<ruby 1.8.4 feature/"find">))
  • ((<ruby 1.8.4 feature/Iconv>))
  • ((<ruby 1.8.4 feature/WEBrick::Config::FileHandler [compat]>))
  • ((<ruby 1.8.4 feature/WEBrick>))
  • ((<ruby 1.8.4 feature/WEBrick::HTTPRequest#query_string= [new]>))
  • ((<ruby 1.8.4 feature/Readline [bug]>))
  • ((<ruby 1.8.4 feature/Syck [bug]>))
  • ((<ruby 1.8.4 feature/irb [bug]>))
  • ((<ruby 1.8.4 feature/RDoc [bug]>))
  • ((<ruby 1.8.4 feature/Win32API [bug]>))
  • ((<ruby 1.8.4 feature/Rinda [bug]>))
  • ((<ruby 1.8.4 feature/Iconv [compat]>))
  • ((<ruby 1.8.4 feature/cgi [bug]>))
  • ((<ruby 1.8.4 feature/DL [bug]>))
  • ((<ruby 1.8.4 feature/fileutils [bug]>))
  • ((<ruby 1.8.4 feature/extmk, mkmf [compat]>))
  • ((<ruby 1.8.4 feature/mkmf: find_executable() [compat]>))

* ((<ruby 1.8.4 feature/拡張ライブラリAPI>))

  • ((<ruby 1.8.4 feature/rb_funcall2() [bug]>))
  • ((<ruby 1.8.4 feature/rb_respond_to() [change]>))
  • ((<ruby 1.8.4 feature/rb_obj_respond_to() [new]>))

* ((<ruby 1.8.4 feature/プラットフォーム固有>))

  • ((<ruby 1.8.4 feature/bccwin32 [bug]>))
  • ((<ruby 1.8.4 feature/cygwin [bug]>))
  • ((<ruby 1.8.4 feature/BeOS [bug]>))
  • ((<ruby 1.8.4 feature/Sun [bug]>))
  • ((<ruby 1.8.4 feature/IA64 [bug]>))

Ruby本体

Symbol [bug]

# * parse.y (dsym): prohibit empty symbol literal by interpolation. # fixed: [ruby-talk:166529]

式展開で空のSymbolを作ることができたバグの修正。 ((<ruby-talk:166529>))

    p :""

    # => ruby 1.8.3 (2005-09-21) [i686-linux]
         -:1: empty symbol literal
    # => ruby 1.8.4 (2005-12-16) [i686-linux]
         -:1: empty symbol literal

    p :"#{""}"

    # => ruby 1.8.3 (2005-09-21) [i686-linux]
         :
    # => ruby 1.8.4 (2005-12-16) [i686-linux]
         -:1: empty symbol literal
Symbol [bug]

#Sat Oct 22 13:26:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check # if valid as a symbol name more strictly. [ruby-dev:27478] # # * test/ruby/test_symbol.rb: tests for [ruby-core:03573].

Symbolに適合する文字列を厳密にした。((<ruby-core:03573>)),((<ruby-dev:27478>))

    1) alias :"foo" :"bar"

        def bar; p "bar"; end
        alias :"foo" :"bar"
        foo

        # => ruby 1.8.4 (2005-12-22) [i686-linux]
             -:2: syntax error, unexpected tSTRING_CONTENT
                 alias :"foo" :"bar"
                            ^
             -:2: warning: unused literal ignored
        # => ruby 1.9.0 (2005-12-10) [i686-linux]
             "bar"

    2) Symbol#inspect sometimes returns invalid symbol representations:

        puts :"!".inspect
        puts :"=".inspect
        puts :"0".inspect
        puts :"$1".inspect
        puts :"@1".inspect
        puts :"@@1".inspect
        puts :"@".inspect
        puts :"@@".inspect

        # => ruby 1.8.3 (2005-09-21) [i686-linux]
             :!
             :=
             :0
             :$1
             :@1
             :@@1
             :@
             :@@
        # => ruby 1.8.4 (2005-12-22) [i686-linux]
             :"!"
             :"="
             :"0"
             :$1
             :"@1"
             :"@@1"
             :"@"
             :"@@"

    3) Symbol#inspect sometimes returns suboptimal symbol representations:
        puts :foo!.inspect
        puts :bar?.inspect

        # => ruby 1.8.3 (2005-09-21) [i686-linux]
             :"foo!"
             :"bar?"
        # => ruby 1.8.4 (2005-12-22) [i686-linux]
             :foo!
             :bar?

    4) :$- always treats next character literally:

        p eval(":$-\n") # => :"$-\n"
        p :$-( # => :"$-("
        p :$-  # => :"$- "
        p :$-#.object_id # => 3950350

        # => ruby 1.8.3 (2005-09-21) [i686-linux]
             :"$-\n"
             :"$-("
             :"$- "
             2631438

        # => ruby 1.8.4 (2005-12-22) [i686-linux]
             -:2: syntax error, unexpected '(', expecting $end

#Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * eval.c (rb_call_super): should call method_missing if super is # called from Kernel method. # # * eval.c (exec_under): frame during eval should preserve external # information.

super [bug]

Kernelのメソッド内でsuperを呼んだ時に、存在しないsuperclass にアクセスしようとするバグの修正。

module Kernel def foo super end end

foo

# => ruby 1.8.3 (2005-09-21) [i686-linux] -:3:in `foo': method `foo' called on terminated object (0xb7e06970) (NotImplementedError) from -:7 # => ruby 1.8.4 (2005-12-22) [i686-linux] -:3:in `foo'-:3: warning: too many arguments for format string : super: no superclass method `foo' (NoMethodError) from -:7

正規表現 [bug]

#Wed Oct 19 01:27:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * regex.c (re_compile_pattern): numeric literal inside character class # disabled succeeding backtrack. fixed: [ruby-list:41328]

文字コードの形で正規表現の文字クラスを指定すると、それ以降の
バックトラックが効かなくなるバグの修正。((<ruby-list:41328>))

    p(/^[a-z]+x[0-9]+$/ =~ "hogex111")
    p(/^[\x61-\x7a]+x[0-9]+$/ =~ "hogex111")

    # => ruby 1.8.3 (2005-09-21) [i686-linux]
         0
         nil
    # => ruby 1.8.4 (2005-12-22) [i686-linux]
         0
         0
シグナル [bug]

#Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * rubysig.h (CHECK_INTS): prevent signal handler to run during # critical section. [ruby-core:04039]

シグナルハンドラの実行はクリティカルセクションが終了するまで
遅延されるようになりました。((<ruby-core:04039>))

組み込みライブラリ

#Thu Dec 8 02:07:19 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * eval.c (umethod_bind): adjust invoking class for module method. # [ruby-dev:27964]

UnboundMethod#bind [bug]

UnboundMethod#bindされたモジュールのインスタンスメソッド中で superを使えなかったバグを修正しました。((<ruby-dev:27964>))

module Foo def initialize super end end

class Bar include Foo def initialize Foo.instance_method(:initialize).bind(self).call end end

Bar.new

# => ruby 1.8.3 (2005-09-21) [i686-linux] -:3:in `initialize': method `initialize' called on terminated object (0xb7dd2bec) (NotImplementedError) from -:10:in `initialize' from -:14 # => ruby 1.8.4 (2005-12-16) [i686-linux]

set_trace_func [bug]

#Thu Dec 8 00:40:52 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * eval.c (call_trace_func): klass parameter should be a # class/module that defines calling method. [ruby-talk:169307] #

クラスメソッドの実行時に、定義されたクラスではなくメタクラスが
traceに渡されていたバグの修正。((<ruby-talk:169307>))
set_trace_func [change]

#Mon Sep 26 22:32:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * eval.c (set_trace_func): add rb_secure(4) to prevent adding # tracing function.

$SAFE=4でtrace_funcの追加を禁止。
printf [bug]

#Wed Dec 7 15:31:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * sprintf.c (rb_str_format): integer overflow check added. # # * sprintf.c (GETASTER): ditto.

printfのフォーマット指定子にinteger overflowのバグがありました。
perl のそれとは違い、セキュリティバグはないそうです。
((<URL:http://www.rubyist.net/~matz/20051207.html#p01>))

    # ruby 1.8.4 (2005-12-01) [i686-linux]

    # ArgumentError
    printf("%2147483648$d\n")       # -e:1:in `printf': invalid index - -2147483648$ (ArgumentError)
    printf("%2147483649$d\n")       # -e:1:in `printf': invalid index - -2147483647$ (ArgumentError)
    printf("%4294967296$d\n")       # -e:1:in `printf': invalid index - 0$ (ArgumentError)

    # overflow
    printf("%4294967297$d\n", 1)    # 1
    printf("%4294967298$d\n", 1, 2) # 2

    # 1.8.4 では、上記例はすべて以下のエラーになります。
    # %xx$ に指定できる最大値は 2147483647 です。
    # -e:1:in `printf': width too big (ArgumentError)
Hash [bug]

#Wed Nov 23 03:40:49 2005 Guy Decoux <ts@moulon.inra.fr> # # * re.c (KR_REHASH): should cast to unsigned for 64bit CPU. # [ruby-core:06721]

sizeof(long) > sizeof(int) な環境で、ハッシュ関数のオーバー
フローのためにStringをキーとしたHashの検索が失敗していたバグの修正。
((<ruby-core:06721>))
test [bug]

#Wed Nov 23 01:22:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * file.c (test_identical): test if two files are identical. # # * file.c (rb_f_test): support DOSISH systems where st_ino is not # reliable. fixed: [ruby-core:06672] # # * win32.h, win32.c (rb_w32_osid): check the running platform.

i-nodeを持たないシステム(Windows等)でtest(?-, ...)が常にtrueを返し
ていたバグを修正。((<ruby-core:06672>))
File.identical? [new]
FileTest.identical? [new]

test(?-, ...) の代替メソッドとして追加。

File.split [change]
File.basename [change]
File.dirname [change]

#Tue Nov 22 14:46:57 2005 NAKAMURA Usaku <usa@ruby-lang.org> # # * file.c (rb_file_s_basename): skip slashes just after UNC top slashes. # # * test/ruby/test_path.rb (test_dirname, test_basename): follow new # spec. and add new tests.

UNCパスに対するFile.dirname・File.basename・File.splitの仕様
を変更した(UNCをサポートするプラットフォームのみ)。

  File.split("//aaa")      #=> old: ["//", "aaa"]  new:["//aaa", "/"]
  File.split("//aaa/")     #=> old: ["//", "aaa"]  new:["//aaa", "/"]
  File.split("//aaa/bbb")  #=> old:["//aaa", "bbb"]  new:["//aaa/bbb", "/"]
  File.split("//aaa/bbb/") #=> old:["//aaa", "bbb"]  new:["//aaa/bbb", "/"]
  File.split("///aaa")     #=> old:["//", "aaa"]  new:["//aaa", "/"]
Dir.glob (Win全般) [bug]

#Tue Nov 22 13:18:32 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * win32/win32.c (rb_w32_stat): Dir.chdir('//server/shared'); # p Dir.glob('*') should work on WinNT. (implemented our own # stat(2) on WinNT) [ruby-list:41552] [ruby-dev:27711] #

共有フォルダの共有名に対する Dir.glob が失敗していたのを修正。（こ
れはWinNT における、ランタイムライブラリの stat のバグだと思う）自
前で stat を実装することで回避した。((<ruby-list:41552>)),((<ruby-dev:27711>))
File.basename (Win全般) [change]

#Tue Nov 22 01:45:21 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * file.c (rb_file_s_basename): DOSISH_UNC is defined on cygwin but # DOSISH is not. fixed: [ruby-dev:27797]

不完全なUNCを分割しないようにした。((<ruby-dev:27797>))
File.dirname (Win全般) [bug]

#Fri Nov 18 17:26:06 2005 NAKAMURA Usaku <usa@ruby-lang.org> # # * file.c (rb_file_s_dirname): added checks for some patterns with drive # letter. fixed: [ruby-dev:27738] # # * test/ruby/test_path.rb (test_dirname): added tests for above # patterns.

ドライブレターを含むパスに対するFile.dirnameの問題を修正した
(ドライブレターをサポートするプラットフォームのみ)。((<ruby-dev:27738>))

  File.dirname("C:a/b")  #=> old: "C:a."  new: "C:a"
  File.dirname("C:a///") #=> old: "C:a///"  new: "C:a"
File::Stat#pipe? [bug]

#Fri Nov 18 12:18:02 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * win32/win32.h (S_IFIFO): r,w = IO.pipe; r.stat.pipe? now # returns true on VisualC++6.

VisualC++ 6 では S_IFIFO がなく _S_IFIFO しか定義されていないため、
パイプに対する stat.pipe? が false を返していたのを修正。
Array#fill [bug]

#Tue Nov 15 14:39:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * array.c (rb_ary_fill): should adjust array length correctly when # an array is expanded in the fill process. [ruby-core:06625]

Arrayに対してfillとpopを繰り返すとSEGVするバグを修正しました。((<ruby-core:06625>))
String#scan [bug]

#Thu Oct 27 16:45:31 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * string.c (scan_once): wrong condition to use mbclen2(). # [ruby-dev:27535]

String#scanで、全角文字に「*」(0回以上の繰り返し)を付けると、空
文字列にマッチしたときの次の文字が多バイト文字のときにマッチの
開始位置がずれることがあるバグの修正。((<ruby-dev:27535>))

# であってるのかな?

File.join [bug]

#Wed Oct 19 08:28:32 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * file.c (rb_file_join): elements may contain null pointer strings. # report and fixed by Lloyd Zusman (hippoman): [ruby-core:06326]

NULLポインタを持つStringを渡すとFile.joinがSEGVすることがあった
バグの修正。((<ruby-core:06326>))
Thread#pass [bug]

#Sun Oct 16 03:38:07 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * eval.c (load_wait): need not to call rb_thread_schedule() # explicitly. [ruby-core:04039] # # * eval.c (rb_thread_schedule): clear rb_thread_critical. # [ruby-core:04039]

Thread#passを呼ぶとThread.criticalがクリアされるようになりました。
((<ruby-core:04039>))
Module#const_missing [bug]

#Thu Sep 29 00:57:35 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * eval.c (ev_const_get), variable.c (rb_const_get_0): retry only when # autoload succeeded. # # * variable.c (rb_autoload_load): now return true if autoload # succeeded. fixed: [ruby-dev:27331]

const_missingが再定義されていて実行を継続した場合にSEGVする可能性
があったバグの修正。((<ruby-dev:27331>))
IO [bug]

#Wed Sep 28 08:12:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * io.c (read_buffered_data): check if reached EOF. fixed: [ruby-dev:27334]

Solaris(64bit?)などでEOF後にゴミを読み出すことがあったバグを修正。
((<ruby-dev:27334>))

添付ライブラリ

Ruby/Tk

* 対応バージョン

Tcl7.6/Tk4.2, Tcl/Tk8.0 〜 8.4.12, Tcl/Tk8.5a1 〜 a3

Tcl/Tk 拡張ライブラリについては

ActiveTcl8.4.12.0 またはそれ以前 ( beta 版 は ActiveTcl8.5.0.0b4 またはそれ以前 )

に含まれるものに対応しています．

対応している Tcl/Tk 拡張の種類とバージョンとは ext/tk/lib/tkextlib/SUPPPORT_STATUS または <installed lib dir>/tkextlib/SUPPORT_STATUS を参照してください．

ただし，Tcl/Tk 拡張のバージョンの記述は，対応を行った最新の ものを示していますので，記述された以前のバージョンであっても， 極端に古くない限りは対応できているはずです．

各ライブラリへの対応のための変更履歴は ext/tk/ChangeLog.tkextlib を参照してください．

* サンプルスクリプト

: ext/tk/sample/scrollframe.rb [new]

配置したウィジェットの表示範囲をスクロールすることが できるようなスクロールバー付きフレームウィジェットク ラスのサンプル兼ライブラリ

#Wed Dec 7 01:02:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> # # * ext/tk/README.macosx-aqua: [new document] tips to avoid the known # bug on platform specific dialogs of Tcl/Tk Aqua on MacOS X.

MacOS X 上で Aqua 版の Tcl/Tk を用いた際，Aqua 特有のダイアログ表示で
フリーズしてしまうという known bug の回避策を記載したドキュメント
(ext/tk/README.macosx-aqua) が追加されました．

#Wed Dec 7 01:02:04 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> # # * ext/tk/tcltklib.c: fix bug on switching threads and waiting on the # deleted interpreter on vwait and tkwait command.

削除された Tk インタープリタに対して vwait や tkwait での処理待ちを
終了せずに待ち続けてしまう可能性があるというバグを修正しました．

# # * ext/tk/lib/multi-tk.rb: kill the meaningless loop for the deleted Tk # interpreter.

MultiTkIp で生成した Tk インタープリタを削除した後も，
不要となったはずのスレッドが動き続けるバグを修正しました．

#Wed Nov 23 20:59:01 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> # # * ext/tk/lib/tk.rb: add Tk.pkgconfig_list and Tk.pkgconfig_get # [Tk8.5 feature]. # # * ext/tk/lib/tk/text.rb: supports new indices modifires on a Text # widget [Tk8.5 feature]. #

Tcl/Tk8.5a3 への対応のため，Tk.pkgconfig_list および Tk.pkgconfig_get
が追加されました．
同様に Tcl/Tk8.5a3 への対応のため，テキストウィジェット上のインデック
ス指定における新しい modifier である indices に対応しました．

# * ext/tk/lib/tk/virtevent.rb: add TkNamedVirtualEvent. #

Tcl/Tk 上で名前が規定されている仮想イベントの指定した仮想イベントオブ
ジェクトの生成を少し容易にするため，TkNamedVirtualEvent が別名として
定義されました．

# * ext/tk/lib/tk/event.rb: add :data key for virtual events [Tk8.5 # feature]. #

Tcl/Tk8.5 への対応のため，仮想イベントのイベント情報の一つである data
キーの情報を :data で指定できるようになりました．

#Fri Nov 18 17:35:09 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> # # * ext/tk/lib/multi-tk.rb: add restriction to access the entried # command table and manipulate other IPs (for reason of security). # Now, a IP object can be controlled by only its master IP or the # default IP. # # * ext/tk/lib/remote-tk.rb: add restriction to manipulate. # # * ext/tk/tcltklib.c (ip_is_slave_of_p): add TclTkIp#slave_of?(ip) # to check manipulability. #

セキュリティ上の問題を回避するため，MultiTkIp において IP オブジェクト
上での操作が許可されるのは，その操作を呼び出した環境 (スレッド) の IP
オブジェクトがデフォルトの IP オブジェクト (デフォルトのスレッドグルー
プに属するもの．require 'multi-tk' の際に生成される) であるか，操作し
ようとしている IP オブジェクトが自らの直接の slave IP であるかの場合に
限られるようになりました．

この修正により，IP オブジェクトの入手に成功することで，ある IP が権限
を持たないはずの他の IP を操作できてしまう危険を減少させます．ただし，
ObjectSpace にアクセスし，直接に TclTkIp オブジェクトを取り出して操作
されることは回避できませんので，ご注意ください。

# * ext/tk/lib/tk.rb: bug fix on handling of Tcl's namespaces. # # * ext/tk/lib/tk/namespace.rb: ditto. #

Tcl/Tk 上の namespace の扱いが正常に行えないというバグを修正しました．

#Wed Nov 2 20:14:53 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> # # * ext/tcltklib: merge into ext/tk and remove. #

Ruby のソース上で tcltklib と tk とを Ruby 1.9 系と同様に一体化しました．
これにより，tcltklib の生成に失敗した環境で，動くはずのない tk のライ
ブラリファイル群がインストールされてしまうことが避けられます．
今後はソースに含まれる tcltklib 関連のドキュメントを参照する場合には
ext/tk ディレクトリの下を見てください．

#Wed Nov 2 19:03:06 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> # # * ext/tcltklib/tcltklib.c (ip_rbUpdateObjCmd, # ip_rb_threadUpdateObjCmd): passed improper flags to DoOneEvent(). # # * ext/tk/tkutil.c: use rb_obj_respond_to() instead of rb_respond_to(). #

update 処理が不適切であるために，一部の環境で menubar のメニュー項目に
登録した処理が実行されない場合があるというバグ (ruby-1.8.3 で enbug し
ていたもの) を修正しました．

# * ext/tk/lib/tk.rb, ext/tk/lib/tk/canvas.rb, ext/tk/lib/tk/entry.rb, # ext/tk/lib/tk/frame.rb, ext/tk/lib/tk/image.rb, # ext/tk/lib/tk/itemconfig.rb, ext/tk/lib/tk/labelframe.rb, # ext/tk/lib/tk/listbox.rb, ext/tk/lib/tk/menu.rb, # ext/tk/lib/tk/radiobutton.rb, ext/tk/lib/tk/scale.rb, # ext/tk/lib/tk/spinbox.rb, ext/tk/lib/tk/text.rb, # ext/tk/lib/tk/toplevel.rb: improve conversion of option values. # # * ext/tk/lib/tkextlib/*: ditto. #

ウィジェットオブジェクトの属性参照をした場合に属性値として返すオブジェ
クトをより適切なものにするように改善しました．その方がより便利であろう
と思いますが，一部の属性において，返されるのが文字列であることを期待し
てスクリプトを書いている場合には修正が必要になる場合があります．

例えば bool 値を返す属性については true または false を返すようになり
ます．よって，戻り値が "1", "0" の文字列，あるいは 1, 0 の数値であるこ
とを期待している場合には修正が必要となります．本来，Tcl/Tk の真偽値は
他にも "true", "false", "yes", "no" などもありますので，値の真偽判定は
TkComm.bool (TkUtil.bool) メソッドを使って判定することを推奨します．

また，Tcl/Tk 上の変数が割り当てられている属性において，属性値として
Tcl/Tk 上の変数名の文字列ではなく TkVariable オブジェクトが返されるよ
うになります．返された値を別のウィジェットの属性値とするなどでそのまま
Tk インタープリタに渡している場合や TkVarAccess.new(val) で TkVariable
オブジェクト化している場合 (val である TkVariable オブジェクトがそのま
ま返されます) には互換性が保たれますが，返された値をそのまま文字列と比
較しているような場合には非互換となります．
REXML [compat]

#Fri Dec 9 23:31:02 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * lib/rexml/encoding.rb (encoding=): give priority to particular # conversion to iconv. [ruby-core:06520]

日本語のエンコーディング変換にiconvよりもnkfを優先して使用するようにし
ました。((<ruby-list:41325>)), ((<ruby-core:06520>))
TCPSocket#initialize [bug]
TCPServer#initialize [bug]

#Mon Nov 28 18:55:43 2005 NAKAMURA Usaku <usa@ruby-lang.org> # # * ext/socket/socket.c (init_inetsock_internal): remove setting # SO_REUSEADDR option on server socket on Cygwin. # fixed: [ruby-core:6765] ([ ruby-Bugs-2872 ]) #

Cygwinの場合のみ、使用中socketに対する再acceptがErrno::EADDRINUSE
例外になっていなかった。((<ruby-core:6765>)),((<ruby-bugs:2872>)),((<ruby-dev:27818>))
optparse

#Tue Nov 22 23:52:06 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * lib/optparse.rb: match incomplete (in current enconding) multibyte # string. http://inamode6.tokuhirom.dnsalias.org/show/1551

$KCODEで無効なマルチバイト文字列や、改行を含む文字列を引数に渡
すと切り捨てられていたバグの修正。

    require "optparse"

    puts "[#{ARGV * ', '}]"
    ARGV.options do |opt|
      opt.on("-n NODE") {|v| puts v }
      opt.parse!
    end

    >ruby -v -Ku a.rb -n 時間
    ruby 1.8.2 (2004-12-25) [i386-mswin32]
    [-n, 時間]
    時

    >ruby -v -Ku a.rb -n 時間
    ruby 1.8.4 (2005-12-16) [i686-linux]
    [-n, 時間]
    時間
find

#Tue Nov 15 23:46:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * lib/find.rb (Find::find): should not ignore symbolic links to # non-existing files. [ruby-talk:165866]

broken symbolic link(存在しないファイルに対するシンボリックリン
ク)も返すようになりました。((<ruby-talk:165866>))
Iconv

#Sun Nov 6 23:39:13 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * ext/iconv/iconv.c (Iconv::BrokenLibrary): exception when detected a # bug of underlying library.

errnoが正しくセットされなかったときの例外を追加(Windowsで
iconv.dllの使用するMSVC runtime DLLのバージョンが、ruby本体が使
用するものと一致していない場合も含む)

これはrubyやext/iconv自身のバグではなくて、実行時の環境に問題が
ある場合の回避策です。

#: OpenSSL #Wed Nov 23 07:26:44 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * ext/openssl/extconf.rb: check for X509V3_EXT_nconf_nid. # # * ext/openssl/ossl_x509ext.c (MakeX509ExtFactory): should use # OPENSSL_malloc to allocate X509V3_CTX. # # * ext/openssl/ossl_x509ext.c (ossl_x509extfactory_create_ext): use # X509V3_EXT_nconf_nid to avoid SEGV (and to build extensions which # values are placed in separate section). # # * test/openssl/test_x509ext.rb: new file. # # ？

#Tue Nov 01 10:50:17 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * ext/openssl/extconf.rb: should check ERR_peek_last_error(). # [ruby-dev:27597] # # * ext/openssl/ossl.c (ossl_raise): ditto. # # ？

#Mon Oct 31 05:49:23 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must # not be empty. [ruby-talk:161220] # # * test/openssl/test_cipher.rb: add test for Cipher#update(""). # # ？

#Wed Oct 12 12:52:57 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * ext/openssl/ossl.c (Init_openssl): should call # OpenSSL_add_ssl_algorithms(). # # ？

#: WEBrick #Mon Oct 31 05:37:20 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/webrick/httpservlet/cgihandler.rb # (WEBrick::HTTPServlet::CGIHandler#do_GET): the value of Set-Cookie: # header field should be splited into each cookie. [ruby-Bugs:2199] # # * lib/webrick/cookie.rb (WEBrick::Cookie.parse_set_cookie): new method # to parse the value of Set-Cookie: header field. # # * test/webrick/test_cookie.rb, test/webrick/test_cgi.rb, # test/webrick/webrick.cgi: add some test for cookie. # # ？

WEBrick::Config::FileHandler [compat]

#Fri Oct 14 16:57:32 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/webrick/config.rb (Config::FileHandler): :UserDir should be nil. # It is harmful to permit the access to ~/public_html by default. # suggested by Hiroyuki Iwatsuki.

WEBrick::Config::FileHandler[:UserDir]のデフォルト値が
"public_html"からnilになり、意図せずにユーザディレクトリ
(/~user/public_html)以下が公開されることがなくなりました。
[webrickja:148]
WEBrick

#Wed Sep 28 15:14:19 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/webrick/cgi.rb (WEBrick::CGI#start): req.query_string should # refer the value of QUERY_STRING. [ruby-list:41186]

WEBrick::CGI#startでreq.query_stringがオリジナルの
QUERY_STRINGを指すように。
WEBrick::HTTPRequest#query_string= [new]

#Wed Sep 28 15:14:19 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#query_string=): # add new method.

メソッド追加。
Readline [bug]

#Mon Oct 31 03:19:36 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * ext/readline/readline.c (readline_readline): type check. # [ruby-core:6089]

IO以外を$stdoutにセットするとreadlineでSEGVしていたバグの修正。((<ruby-core:6089>))
Syck [bug]

#Tue Dec 20 13:11:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * ext/syck/rubyext.c: fixed GC problem (backported HEAD 1.55 - 1.62) # [ruby-dev:27839] # # * ext/syck/syck.h (S_FREE): small hack. no need to check if pointer is # NULL or not before S_FREE. # # * st.c: uses malloc instead of xmalloc to avoid GC. syck uses st_insert # in gram.c to insert node from rb_syck_bad_anchor_handler into # SyckParser's hash table. if GC occurs in st_insert, it's not under # SyckParser's mark system yet. so RString can be released wrongly. # [ruby-dev:28057]

#Wed Oct 26 09:27:27 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * ext/syck/implicit.c (syck_type_id_to_uri): should return # newly allocated memory. otherwise, type_id will be freed # twice. [ruby-dev:27384] [ruby-core:6385]

syck のメモリバグを修正。((<ruby-dev:27384>)), ((<ruby-core:6385>)) ((<ruby-dev:27839>))
irb [bug]

#Tue Oct 25 15:32:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * lib/irb.rb (IRB::Irb::eval_input): handle prompts with newlines # in irb auto-indentation mode. [ruby-core:06358]

irbのプロンプトに改行文字が含まれているときにオートインデントが
ずれるバグの修正。((<ruby-core:06358>))
RDoc [bug]

#Tue Oct 25 02:12:08 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * lib/rdoc/markup/simple_markup.rb (SM::SimpleMarkup::LABEL_LIST_RE): # reduce redundant backtrack. [ruby-talk:161771]

正規表現のバックトラックが深くなりすぎて失敗することがあったバグを修正。
((<ruby-talk:161771>))
Win32API [bug]

#Mon Oct 24 20:49:45 2005 NAKAMURA Usaku <usa@ruby-lang.org> # # * ext/Win32API/lib/win32/resolv.rb (get_info): support multiple DNS. # fixed: [ruby-list:40058], [ruby-dev:27479] #

DNSを手動で複数設定した場合に正しく動作していなかったバグを修正。
((<ruby-list:40058>)), ((<ruby-dev:27496>))
Rinda [bug]

#Sun Oct 16 14:30:05 2005 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> # # * lib/rinda/rinda.rb (Rinda::Tuple#initialize): check remote hash # tuple. fixed: [ruby-list:41227] # # * test/rinda/test_rinda.rb: test it.

Hash全体がdumpできないオブジェクトとして扱われていました。
((<ruby-list:41227>))
Iconv [compat]

#Sat Oct 8 20:04:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * ext/iconv/charset_alias.rb: parse config.charset_alias file directly.

iconv/charset_alias において、Windows上でもencoding名の別名テー
ブルを生成するようにした。

iconv/charset_alias は、エンコーディング名のプラットフォームに
よる違いを吸収するためのユーティリティです。詳細は、((<iconv>)) 参照。
cgi [bug]

#Fri Oct 7 09:54:00 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * lib/cgi.rb (CGI::Cookie::parse): Cookies from Nokia devices may # not be parsed correctly. A patch from August Z. Flatby # (augustzf) in [ruby-Patches-2595]. [ruby-core:06183]

NOKIAの携帯(?)からのCookieを正しくパースできなかった問題の修正。
((<ruby-Patches:2595>)), ((<ruby-core:06183>))

# : xmlrpc

#Wed Oct 05 04:42:38 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/xmlrpc/server.rb (XMLRPC::Server#initialize): should mount the # servlet on "/". # # ？

#Wed Oct 05 03:59:09 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/xmlrpc/server.rb (XMLRPC::Server#serve): delete wrong call # of "join". # # ？

DL [bug]

#Thu Sep 29 10:26:18 2005 Tanaka Akira <akr@m17n.org> # # * ext/dl/dl.c (rb_io_to_ptr): abolish sizeof(FILE). # [ruby-dev:27317]

FILEが不完全型としてしか定義されない環境に対応。((<ruby-dev:27317>))
fileutils [bug]

#Sat Sep 24 08:38:07 2005 Minero Aoki <aamine@loveruby.net> # # * lib/fileutils.rb: fix visibility of FileUtils::NoWrite, Verbose, # DryRun (backported from trunk, rev 1.66). [ruby-core:05954] # # * test/fileutils/test_nowrite.rb: test it. # # * test/fileutils/test_dryrun.rb: new file. # # * test/fileutils/test_verbose.rb: new file.

FileUtils::NoWrite, Verbose, DryRun のメソッドが呼べなくなっていた
のを修正しました。((<ruby-core:05954>))
extmk, mkmf [compat]

#Sat Oct 22 23:54:07 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * ext/extmk.rb, lib/mkmf.rb (with_config): support --with-extension # options. [ruby-dev:27449] #

--with-extention オプション追加。((<ruby-dev:27449>))
mkmf: find_executable() [compat]

#Thu Sep 22 23:36:24 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * lib/mkmf.rb (find_executable0): default path if environment is not # set. [ruby-dev:27281]

実行ファイルを探索するときに環境変数 PATH がセットされてい
ない場合を考慮しました。((<ruby-dev:27281>))

PATH がセットされていない場合は、
  /usr/local/bin:/usr/ucb:/usr/bin:/bin
をPATHの代わりに利用してここからコマンドを探索します。

拡張ライブラリAPI

rb_funcall2() [bug]

#Thu Dec 1 00:50:33 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * eval.c (rb_funcall2): allow to call protected methods. # fixed: [ruby-dev:27890]

拡張ライブラリ(C言語)からRubyメソッドを呼ぶ関数
rb_funcall2() が (private メソッドを呼べるのに) protected メソッド
を呼べない不具合を修正しました。((<ruby-dev:27890>))
rb_respond_to() [change]

#Tue Oct 11 21:41:58 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * eval.c (rb_obj_respond_to): check if obj responds to the given # method with the given visibility. [ruby-dev:27408] # # * eval.c (rb_respond_to): conform to Object#respond_to?. [ruby-dev:27411]

rb_respond_to()をObject#respond_to?のデフォルトの動作と同じ(public
メソッドにしか反応しない)にした。((<ruby-dev:27411>))
rb_obj_respond_to() [new]

追加。rb_respond_to() と異なり可視性を指定できる。((<ruby-dev:27408>))

プラットフォーム固有

bccwin32 [bug]

#Mon Nov 28 13:08:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken # error message on bccwin32 + winsock)

bccwin32 で winsock のエラーを表示するとき、strerror の返すエラー
メッセージの途中に改行が入るために、ruby の出力するエラーメッセー
ジが壊れていたのを修正。
cygwin [bug]

#Sat Nov 26 19:57:45 2005 WATANABE Hirofumi <eban@ruby-lang.org> # # * dln.c (conv_to_posix_path): should initialize posix.

cygwin環境で、RUBYLIB環境変数が空だと、$LOAD_PATHにゴミが入る。
((<ruby-dev:27830>))
BeOS [bug]

#Fri Nov 11 07:44:18 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * configure.in: undef HAVE_LINK on BeOS. (link(2) always returns # EINVAL, and this causes error in test/fileutils.) # # * file.c: overwride chown(2) and fchown(2) on BeOS. (these functions # should not change user/group id if -1 is passed as corresponding # argument, and this causes error in test/fileutils too) # [ruby-dev:27672] # # * file.c (rb_file_s_link): checks HAVE_LINK.

BeOS でのいくつかのテスト失敗に対処。link(2) が定義されていながら
常に失敗するので test/fileutils が誤動作していたのに対処。BeOS に
は link(2) は存在しないと見なすようにした。chown、fchown に id と
して -1 を渡した場合は、POSIX 的には id を変更すべきでないが、BeOS
では (unsigned) -1 に変更してしまっていた。これに対処。((<ruby-dev:27672>))
Sun [bug]

#Mon Oct 31 17:34:46 2005 Yukihiro Matsumoto <matz@ruby-lang.org> # # * configure.in: use proper option for Sun linker. A patch from # Shinya Kuwamura <kuwa@labs.fujitsu.com>. [ruby-dev:27603] #

Sunのコンパイラで拡張ライブラリをリンクできなかった問題の修正。((<ruby-dev:27603>))
IA64 [bug]

#Wed Oct 26 09:04:51 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate # values have VALUE type. there is an environment where sizeof(VALUE) # != sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS # and received by 64bit integer (VALUE), upper bits may have garbage value. # [ruby-dev:27513]

IA64 で、Qtrue Qfalse Qnil が 64bit 整数でなく 32bit 整数として定
義されていたため、ANYARGS を通して Qtrue を渡し、VALUE で受けると、
サイズの違いから値が壊れることのあった問題を修正。((<ruby-dev:27513>))

# == 不要 # #Mon Nov 28 09:21:49 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> # # * lib/mkmf.rb (create_makefile): should not change sodir with # dir.gsub!. (bccwin32 failed to install third party exntesions) # [ruby-dev:27834] # #なんとなく不要かな？ # # EXTOUT を使わず、extconf.rb で外部拡張ライブラリをインストールする # 時に、make ターゲット名が意図せず改変されていたため、bccwin32 で拡 # 張ライブラリがインストールできなくなっていたのを修正。

#Sun Nov 27 00:56:13 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org> # # * lib/wsdl/xmlSchema/complexContent.rb: missing # ComplexContent#elementformdefault method. # # ？

#Tue Nov 8 15:32:27 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> # # * lib/drb/ssl.rb (DRb::SSLConfig#accept): fixed typo. # [ruby-dev:27560] [ruby-core:4627] # # ？

#Sat Oct 8 20:04:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * eval.c (Init_Binding): add Binding#dup method. [yarv-dev:666] # # メソッドの追加。不要。

#Sat Oct 8 20:04:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> # # * parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on # heap. [ruby-list:41199] # # Bison 2.0対応


ruby 1.8.5 feature

ruby 1.8.4 から ruby 1.8.5 までの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。 *単にバグを直しただけのものは収録しない。 *ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

* カテゴリ

  • [ruby]: ruby インタプリタの変更
  • [api]: 拡張ライブラリ API
  • [lib]: ライブラリ

* レベル

  • [bug]: バグ修正
  • [new]: 追加されたクラス／メソッドなど
  • [compat]: 変更されたクラス／メソッドなど
  • 互換性のある変更
  • only backward-compatibility
  • 影響の範囲が小さいと思われる変更もこちら
  • [change]: 変更されたクラス／メソッドなど(互換性のない変更)
  • [obsolete]: 廃止された(される予定の)機能
  • [platform]: 対応プラットフォームの追加

1.8.4 (2005-12-24) -> ((<stable-snapshot|URL:ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz>))

2006-06-18

BasicSocket#recv_nonblock [new]
UDPSocket#recvfrom_nonblock [new]

追加

2006-06-17

Pathname(path) [new]

pathname で追加

Kernel#pretty_inspect [new]

pp で追加

RSS::TaxonomyTopicModel [new]
RSS::TaxonomyTopicsModel [new]
RSS::Maker::TaxonomyTopicModel [new]
RSS::Maker::TaxonomyTopicsModel [new]

RSS Parser/RSS MakerがTaxonomyモジュールをサポートしました。

RSS::Maker xxx.new_yyy(&block) [compat]

maker.items.new_itemなどがブロックをとれるようになりました。((<ruby-talk:197284>))

今まで

item = maker.items.new_item item.xxx = yyy ...

と書いていたものが

maker.items.new_item |item| item.xxx = yyy ... end

と書けるようになりました。

RSS::RootElementMixin#to_xml [new]

こんな風にすると、RSS 1.0からRSS 2.0に変換できます。

rss10 = RSS::Parser.parse(File.read("1.0.rdf")) File.open("2.0.rss", "w") {|f| f.print(rss10.to_xml("2.0"))}

((<ruby-talk:197284>))

RSS::VERSION

"0.1.5"から"0.1.6"になりました。

2006-06-14

Process.getrlimit(resource) [new]
Process.setrlimit(resource, limit) [new]
Process.setrlimit(resource, cur_limit, max_limit) [new]
Process::RLIM_INFINITY
Process::RLIM_SAVED_MAX
Process::RLIM_SAVED_CUR
Process::RLIMIT_CORE
Process::RLIMIT_CPU
Process::RLIMIT_DATA
Process::RLIMIT_FSIZE
Process::RLIMIT_NOFILE
Process::RLIMIT_STACK
Process::RLIMIT_AS
Process::RLIMIT_MEMLOCK
Process::RLIMIT_NPROC
Process::RLIMIT_RSS
Process::RLIMIT_SBSIZE

追加 ((<ruby-dev:28729>))

2006-06-11

OptionParser#getopts [new]
tempfile の生成するテンポラリファイルの名前が <basename><pid>.<count> から <basename>.<pid>.<count> になりました ((<ruby-talk:196272>))

2006-06-07

configure --with-winsock2 [new]

mswin32版およびmingw32版で、従来のwinsock1に代わってwinsock2を利用する configureオプションが追加されました。

2006-06-02

#: IPSocket#recvfrom_nonblock [new] #: UNIXSocket#recvfrom_nonblock [new] : TCPServer#accept_nonblock [new] : UNIXServer#accept_nonblock [new]

((<ruby-core:7925>))

2006-05-22

IO#read_nonblock [new]
IO#write_nonblock [new]
Socket#connect_nonblock [new]
Socket#accept_nonblock [new]
Socket#recvfrom_nonblock [new]

((<ruby-core:7917>))

2006-02-21

File#link [bug]

mswin32版・mingw32版でFile#linkが動かなくなっていた不具合が修正されました。

2006-02-20

RbConfig [new]

((<rbconfig>)) が Config に加えて RbConfig を定義するようになりました。

2006-02-06

File#flock [bug]

cygwin版でRubyのスレッドが複数ある状態で、ロックせずにflock(File::LOCK_UN)すると 止まってしまっていたのが修正されました。

2006-02-04

File#flock [bug]

mswin32版でRubyのスレッドが複数ある状態で、ロックせずにflock(File::LOCK_UN)すると 止まってしまっていたのが修正されました。

2005-12-29

Thread [compat]

他から操作されない限り動き出さないにもかかわらず他から参照されていない thread は abort されるようになりました ((<ruby-dev:28154>))

参考

* ((<Changes in Ruby 1.8.5|URL:http://eigenclass.org/hiki.rb?ruby+1.8.5+changelog>))


ruby 1.9 feature

ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。

記号について(特に重要なものは大文字(主観))

* カテゴリ

  • [ruby]: ruby インタプリタの変更
  • [api]: 拡張ライブラリ API
  • [lib]: ライブラリ
  • [parser]: 文法の変更
  • [regexp]: 正規表現の機能拡張
  • [marshal]: Marshal ファイルのフォーマット変更

* レベル

  • [bug]: バグ修正
  • [new]: 追加されたクラス／メソッドなど
  • [compat]: 変更されたクラス／メソッドなど(互換性のある変更) (only backward-compatibility) (影響の範囲が小さいと思われる変更もこちら)
  • [change]: 変更されたクラス／メソッドなど(互換性のない変更)
  • [experimental]: 変更の中でも特に実験的なもの(将来再考して欲しいもの？)
  • [obsolete]: 廃止された(される予定の)機能
  • [platform]: 対応プラットフォームの追加

1.9.0

2006-09-16

Struct#inspect

2006-09-14

digest.rb
Digest::Base.file

2006-09-13

Hash#compare_by_identity
Hash#compare_by_identity?
Hash#identical
Hash#identical?

2006-09-12

Hash#compare_by_identity
Hash#compare_by_identity?

2006-09-11

Hash#identical
Hash#identical?

2006-08-31

Array#shuffle
Array#shuffle!

追加

2006-07-26

__send
__send!

追加

invoke_method
invoke_functional_method

削除

2006-07-21

Module#attr

オプショナル引数の assignable がなくなり、attr_reader 相当になりました [RCR#331]

2006-06-22

Module#name

無名モジュールに対しては nil を返すようになりました [ruby-talk:198440]

2006-06-17

BasicObject#invoke_method
BasicObject#invoke_functional_method

追加 ((<ruby-talk:197512>))

2006-06-13

IPsocket
TCPsocket
SOCKSsocket
TCPserver
UDPsocket
UNIXsocket
UNIXserver

削除

2006-06-11

__callee__ [new]
__method__ [new]

((<URL:http://www.dm4lab.to/~usa/ruby/d/200606a.html#id20060610_P1_7>))

Symbol#to_proc

2006-06-10

* 新機能

: BasicObject が導入されました [new]
: local という visibility および Module#local, Module#local_methods というメソッドが導入されました [new]

#: VIS_MASK が 16

: ancestors にモジュールが複数回挿入できるようになりました
: Math#log2 追加 ((<ruby-talk:191237>)) [new]
: Math#log にオプショナルな第2引数 base 追加 ((<ruby-talk:191308>)) [compat]
: Array#flatten, Array#flatten! がオプショナルな level 引数を受け取るようになりました [compat]
: String#unpack("M") で CRLF を単独の LF と同様に無視するようになりました ((<ruby-dev:28601>)) [compat]

* M17N

: 以下、ここでいう「1文字」は 1byte のことです
: String#ord という、１文字の文字列に対し、その文字のコードを返すメソッドが追加されました
: string[integer] が 1文字の String を返すようになりました
: string.slice(integer) が 1文字の String を返すようになりました
: ?c が 1文字の String を返すようになりました
: sprintf の %c が 1文字の String を受け付けるようになりました
: String#[]= が右辺の整数を受け付けなくなりました
: String#chr という先頭の１文字を返すメソッドが追加されました
: IO#getc が 1文字の String を返すようになりました

#: IO#readchar が 1文字の String を返すようになりました

: IO#ungetc が 1バイトの String を受け付けるになりました

#: ARGF.getc が 1文字の String を返すようになりました

* 多重代入、引数渡し

: 多重代入や yield の何かが変わりました
: Proc#yield が導入されました
: nil.yield が導入されました。no block given (LocalJumpError) という例外を生成します
: 仮引数で、* の後にも必須引数をとれるようになりました
: 実引数にいくつでも * を使えるようになりました
: [] メソッドの実引数で、通常のメソッド呼び出しの実引数に使える記法が全て使えるようになりました

* obsolete 要素、実験要素除去

: 実験中だった meth -> { ... } という -> が除去されました (lambda のかわりの -> { ... } は残っています)
: 実験中だった ;; が除去されました
: いくらか obsolete な構文が除去されました
: Values はなくなりました

* その他

: 文字列のハッシュに FNV-1a hash を使用するようになりました
: Regexp#initialize でリテラルの正規表現を変更できなくなりました
: $SAFE=4 では Regexp#initialize で taint でない正規表現を変更できなくなりました
: Dir で $SAFE のセキュリティ検査を行うようになりました
: メソッド呼出し時のセキュリティ検査の対象がひろがりました
: メソッドを alias した場合、メソッドの定義時の $SAFE に加えて現在の $SAFE も加味されるようになりました
: Bignum#pow で結果が大きすぎる場合にはすぐにエラーが出るようになりました ((<ruby-talk:187984>))
: set_trace_func のバグが修正されました ((<ruby-core:07928>))
: エラー表示で、true/false/nil が self の場合の表示が変わりました
: UnboundMethod#bind で生成したものでも Method#inspect でちゃんとなるようになりました ((<ruby-dev:28636>))
: 丸めエラー修正 ((<ruby-core:07896>))
: divmod 修正 ((<ruby-dev:28589>))
: jcode の String#tr_s 修正 ((<ruby-list:42090>))
: Solaris 対応修正 ((<ruby-dev:28443>)), ((<ruby-dev:28440>))
: rubygems がある場合には ri で考慮するようになりました
: スレッド死亡時のエラーメッセージをちゃんと表示するようスレッドスケジューリングが調整されました
: Socket.gethostbyname 修正 ((<ruby-core:07691>))
: strtod 精度改善 ((<ruby-dev:28619>)), ((<ruby-core:07796>))
: 新しい autoconf 対応
: RUNIT::Assert 独自の定義を RUNIT::AssertMixin に分離し、RUNIT::TestCase では RUNIT::Assert でなく RUNIT::AssertMixin を使うようになりました
: constification
: core dump bug fix ((<ruby-dev:28327>)), ((<ruby-dev:28632>)), ((<ruby-core:07833>)), ((<ruby-dev:28614>)), ((<ruby-dev:28585>)), ((<ruby-dev:28582>)), ((<ruby-talk:185438>)), ((<ruby-core:07414>))

((<URL:http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16833>))

((<URL:http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9+update+4>))

2006-05-22

accept

((<ruby-core:7917>))

2006-03-21

MatchData#[] [compat]

名前による参照 ((<ruby-dev:28446>))

2006-03-03

FileUtils.cp_r [lib] [compat]

remove_destination オプションの追加 ((<ruby-dev:28417>))

2006-02-15

instance_eval

((<ruby-core:7365>))

2006-02-03

Integer#upto [compat]
Integer#downto [compat]
Integer#doitems [compat]

ブロックがなければ enumerator を返す

Enumerable#group_by [new]
Enumerable#first [new]

追加

2006-01-26

((<BasicSocket/BasicSocket.do_not_reverse_lookup>)) [compat]

do_not_reverse_lookup のデフォルトが true になりました。

2006-01-10

((<GC/GC.stress>)) [new]
((<GC/GC.stress=>)) [new]

GC.stress = true とすると、GC を行えるすべての機会で GC を行います。

2005-12-15

sub [obsolete]
gsub [obsolete]
sub! [obsolete]
gsub! [obsolete]
chop [obsolete]
chop! [obsolete]
chomp [obsolete]
chomp! [obsolete]
split [obsolete]
scan [obsolete]

削除

2005-10-21

funcall [new]

fcall から改名

Module#instance_exec [new]
Module#module_exec [new]

追加

2005-09-16

((<Dir/Dir.glob>)) [compat]
((<Dir/Dir.[]>)) [compat]

Dir.glob に配列を渡して複数のパターンを指定できるようになりました。 また、Dir[] は、複数の引数を渡すことで複数のパターンを指定できるよう になりました。((<ruby-dev:27110>))

p Dir.glob(["f*","b*"]) # => ["foo", "bar"] p Dir["b*","b*"] # => ["foo", "bar"]

以前のバージョンでも、パターンを "\0" で区切ったり、{} パターンを使 用することで同様のことはできます。

p Dir.glob("f*\0b*") # => ["foo", "bar"] p Dir.glob("{f*,b*}") # => ["foo", "bar"]

2005-09-05

fcall [new]

追加

2005-08-30

Object#send, Object#__send__ [ruby][change]

レシーバを指定した呼び出しではprivateメソッドを呼び出せなくなりました。

2005-06-09

ENV.[]= [change]

ENV[key] = nil で要素を削除する機能は失われ、TypeError になるようになりました。

((<ruby-list:40865>))

2005-06-08

Array#nitems [compat]

Array#nitems にブロックを渡せるようになり、ブロックが真になる要素の個数を返すように なりました。

[1,2,3].nitems{|i| i % 2 != 0} #=> 2

((<ruby-talk:134083>))

2005-06-02

proc [ruby][parser][experimental]

以前のローカル変数に括弧を付けると call が呼び出される変更は取り消されて、 (({(expr)(args...)})) で (({expr.call(args...)})) が呼ばれるようになりました。 この機能は実験的なものです。

x = proc {|a| p a} (x)(7) # => 7

2005-05-08

Hash#hash [obsolete]
Hash#eql? [obsolete]

削除

((<ruby-dev:26132>))

2005-04-02

ENV.key [new]
ENV.index [obsolete]

((<ruby-dev:25974>))

2005-03-09

Ruby 2.0 ブロックローカル変数

((<URL:http://www.rubyist.net/~matz/20050309.html#p03>))

2005-03-04

Time.strptime [lib][new]
ParseDate.strptime [lib][new]

time ライブラリ, parsedate ライブラリに追加 ((<ruby-talk:132815>))

2005-03-04

1.9.0 からメソッドと括弧の間にスペースを入れると常に警告がでるようになっていましたが、 その警告はデバッグモード・冗長モードでしかでなくなりました。

% ruby -e 'p ("")'
""
% ruby -de 'p ("")'
-e:1: warning: (...) interpreted as grouped expression
""

2005-03-02

proc [ruby][experimental]

{|a| ...} や (do ... end) が proc として解釈されるようになりました。この機能は 実験的なものです。((<ruby-dev:25780>))

x = {|a| p a}
x.call(4) # => 4
x = (do |a| p a end)
x.call(9) # => 9

2005-02-04

RSS Parser/Maker [lib] [new]

((<Imageモジュール|URL:http://web.resource.org/rss/1.0/modules/image/>))のサポート

2005-02-03

RSS::Element#convert(value) [lib] [new]

valueのエンコーディングを変換するメソッドを公開。 valueのエンコーディングは要素の内部エンコーディングからoutput_encoding=で設定したエンコーディングへ変換されます。

2005-02-02

((<ripper/Ripper.slice>)) [ruby] [experimental]

追加。((<URL:http://i.loveruby.net/d/20050201.html#p02>))

2005-01-15

RSS::VERSION [lib]

0.1.2 -> 0.1.3

RSS::Parser [lib] [bug]

継承するとエラーになるバグを修正。 ((<ruby-talk:126104>))

2005-01-01

ARGF.readpartial [new]

追加 ((<ruby-dev:25381>))

FileUtils.copy_stream(src, dst) [lib] [compat]

src として ARGF も受け付けるようになりました。 ((<ruby-dev:25369>))

2004-12-26

Net::IMAP::PlainAuthenticator [lib] [new]

2004-12-14

FileUtils.chown [lib] [new]
FileUtils.chown_R [lib] [new]

2004-12-07

IO#read [change]

read(0) は常に "" を返すようになりました。 また、nonblocking mode でも動作が変わらなくなりました。 ((<ruby-dev:25101>))

Hash#hash [new]

追加 ((<ruby-talk:122482>))

2004-12-03

method(:y).to_proc.call{ p :ok }

Method#to_proc で作った ((<Proc>)) オブジェクトからメソッド y へと ブロックが引き渡されるようになりました。((<ruby-dev:25031>))

2004-11-14

Process.getrlimit(resource) [new]
Process.setrlimit(resource, cur_limit, max_limit) [new]
Process::RLIM_INFINITY
Process::RLIM_SAVED_MAX
Process::RLIM_SAVED_CUR
Process::RLIMIT_CORE
Process::RLIMIT_CPU
Process::RLIMIT_DATA
Process::RLIMIT_FSIZE
Process::RLIMIT_NOFILE
Process::RLIMIT_STACK
Process::RLIMIT_AS
Process::RLIMIT_MEMLOCK
Process::RLIMIT_NPROC
Process::RLIMIT_RSS
Process::RLIMIT_SBSIZE

追加 ((<ruby-dev:24834>))

((<ruby 1.8.5 feature>)): 1.8.5 に backport ((<ruby-dev:28729>))

2004-10-30

Array#[]= [change]

a[n,m]=nil は要素の削除ではなくなり、要素の並びを nil に入れ換えるようになりました。 ((<zw-kdoo(2004-10-24)|URL:http://yowaken.dip.jp/tdiary/20041024.html#c02>))

2004-10-20

Proc#dup [new]

追加 ((<ruby-talk:116915>))

require [change]

feature が $" に追加されるタイミングが load された後に変わりました。 ((<ruby-list:40085>))

2004-10-05

Array#index {|x| ... } [new]
Array#rindex {|x| ... } [new]

追加 ((<ruby-talk:113069>))

2004-09-26

Time#to_time [lib][new]
Time#to_date [lib][new]
Time#to_datetime [lib][new]
Date#to_time [lib][new]
Date#to_date [lib][new]
Date#to_datetime [lib][new]
DateTime#to_time [lib][new]
DateTime#to_date [lib][new]
DateTime#to_datetime [lib][new]

追加 ((<ruby-dev:24250>))

2004-09-22

KeyError [new]
Hash#key [new]
Hash#index [obsolete]

((<ruby-talk:113279>)) ((<URL:http://www.rubyist.net/~matz/20040922.html#p01>))

2004-09-20

Zlib::GzipReader#readpartial(maxlen[, outbuf]) [lib][new]

追加 ((<ruby-dev:24070>))

2004-09-13

ripper [new]

追加 ((<ruby-dev:24255>))

2004-08-27

StringIO#readpartial(maxlen[, outbuf]) [lib][new]

追加。((<ruby-dev:24061>))

2004-08-19

Binding#eval(expr[, fname[, lineno=1]]) [new]

追加。((<RCR#251>))

String#clear [new]

追加。((<ruby-dev:24104>))

2004-08-17

Process.daemon(nochdir=nil,noclose=nil) [new]

追加。((<ruby-dev:24030>))

2004-08-12

IO#readpartial(maxlen[, outbuf]) [new]

追加。((<ruby-dev:22945>)), ((<ruby-dev:23247>)), ((<ruby-dev:24055>))

2004-07-17

Regexp#match(str, [pos]) [compat]
String#match(re, [pos]) [compat]

省略可能な第二引数 pos が追加されました。マッチの開始位置を指定しま す。((<ruby-core:03203>)), ((<ruby-core:03205>))

p(/(.)/.match("foobar", 4).captures) # => ruby 1.9.0 (2004-07-17) [i586-linux] ["a"]

マッチ位置は文字列の先頭から数えられます。

p(/(.)/.match("foobar", 4).offset(0)) # => ruby 1.9.0 (2004-07-17) [i586-linux] [4, 5]

2004-07-16

File::Stat#dev_major [new]
File::Stat#dev_minor [new]

追加。((<ruby-core:03195>))

2004-07-14

Enumerable#max_by [new]
Enumerable#min_by [new]

ブロックの結果を大小比較し、その最大値、最小値を示す要素を返します。

p [1,2,3,4,5].max_by {|v| -v} # => ruby 1.9.0 (2004-07-17) [i586-linux] 1

p [1,2,3,4,5].min_by {|v| -v} # => ruby 1.9.0 (2004-07-17) [i586-linux] 5

2004-05-25

allow passing a block to a Proc [ruby] [change]

((<ruby-dev:23533>)) ((-よくわからない-))

2004-05-14

Time [marshal]

Marshal.dump により、タイムゾーンの情報を保持するようになりました。

2004-04-15

Dir.glob [bug]

三重以上入れ子になった { } が動くようになりました。 ((<ruby-dev:23376>))

p Dir.glob('{{{ruby}}}') #=> ruby 1.8.2 (2004-12-24) [i386-mswin32] [] #=> ruby 1.9.0 (2004-04-25) [i386-mswin32] ["ruby"]

Dir.glob [bug]

{ } の中で '{' や '}' や ',' をエスケープできるようになりました。 ((<ruby-dev:23376>))

p Dir.glob('{\,}') #=> ruby 1.8.2 (2004-12-24) [i386-mswin32] [] #=> ruby 1.9.0 (2004-04-25) [i386-mswin32] [","]

p Dir.glob('{\{}') #=> ruby 1.8.2 (2004-12-24) [i386-mswin32] [] #=> ruby 1.9.0 (2004-04-25) [i386-mswin32] ["{"]

2004-04-08

Iconv.list [lib] [compat]

((<ruby-dev:23063>))

2004-04-06

Kernel#open [ruby] [change]

可能なら最初の引数に対して to_open を呼ぶようになりました。

Exception#to_str [ruby] [obsolete]

2004-03-31

Array#pack [ruby] [change]

pack("U") 時に、ユニコードとして不適切な値が来ているときは RangeError を投げるようになりました。 ((<ruby-dev:23281>))

2004-03-24

Module#class_variable_get [ruby] [new]

2004-03-19

{sym: val} [ruby] [new]

{:sym => val} を {sym: val} のように書くことができるようになりました。

2004-03-12

File.fnmatch [change]

File::FNM_PATHNAME がセットされている場合、**/ が */ の繰り返しとして働くようになりました。 ((<ruby-dev:22901>))

File.fnmatch, Dir.glob [change]

Windows, DJGPP, EMX でも '\' をパスセパレータとして解釈せず、常にエスケープ文字として解釈するようになりました。 ((<ruby-dev:22974>)) ((<ruby-list:39337>))

WEBrick::Config::General [lib] [new]

オプション :DoNotReverseLookup 追加。

2004-03-10

((<組み込み変数/$-W>)) [ruby] [new]

追加

2004-03-07

Net::HTTPHeader#add_header [lib] [new]
Net::HTTPHeader#get_fields [lib] [new]
Net::HTTPHeader#content_length= [lib] [new]
Net::HTTPHeader#content_type [lib] [new]
Net::HTTPHeader#main_type [lib] [new]
Net::HTTPHeader#sub_type [lib] [new]
Net::HTTPHeader#type_params [lib] [new]
Net::HTTPHeader#content_type= [lib] [new]
Net::HTTPHeader#set_content_type [lib] [new]
Net::HTTPRequest#body(=) [lib] [new]
Net::HTTPRequest#body_stream(=) [lib] [new]

2004-03-05

net/http [lib] [new]

support WebDAV methods, PROPPATCH, LOCK, UNLOCK, OPTIONS, PROPFIND, DELETE, MOVE, COPY, MKCOL.

Net::HTTPResponse#response [lib] [obsolete]
Net::HTTPResponse#header [lib] [obsolete]
Net::HTTPResponse#read_header [lib] [obsolete]

2004-02-16

Iconv.list [lib] [new]
((<IO/IO.popen>)) [compat]

((<組み込み関数/system>)) 等と同様、第一引数に配列でコマンドを指定し た場合にシェルを経由せずに子プロセスを実行できるようになりました。 ((<ruby-dev:22877>))

((<組み込み関数/spawn>)) [new]
((<Process/Process.spawn>)) [new]

追加。((<ruby-dev:22877>))

((<組み込み関数/system>)) [change]

コマンドを実行できないときに例外が発生するようになりました。

p system("hogehoge")

# => ruby 1.8.2 (2004-07-17) [i586-linux] false # => ruby 1.9.0 (2004-07-17) [i586-linux] -:1:in `system': No such file or directory - hogehoge (Errno::ENOENT) from -:1

p system("/tmp")

# => ruby 1.8.2 (2004-07-17) [i586-linux] false # => ruby 1.9.0 (2004-07-17) [i586-linux] -:1:in `system': Permission denied - /tmp (Errno::EACCES) from -:1

シェルを経由する場合は、これまでどおりです。

p system("hogehoge ''") # => ruby 1.9.0 (2004-07-17) [i586-linux] sh: line 1: hogehoge: command not found false

2004-02-06

BasicSocket#do_not_reverse_lookup [new]
BasicSocket#do_not_reverse_lookup= [new]

個々のソケットごとに逆引きの設定ができるようになりました。 ((<ruby-core:2346>))

2004-01-29

File.fnmatch [ruby] [change]

Windows（のNT系列？）で File::FNM_CASEFOLD が指定された場合、全角英文字の大文字・小文字も区別しなくなりました。

Dir.glob [ruby] [change]

Windows, DJGPP, EMX では、常に大文字・小文字を区別しなくなりました。また、File::FNM_CASEFOLD は指定できなくなりました。 ((<ruby-dev:22761>))

2004-01-23

Array#pack [ruby] [compat]

U 以外のサイズのある整数指定子に大きな数を与えた場合 RangeError を 投げなくなりました。((<ruby-dev:22654>))

$ ruby -e 'p [2**32].pack("i")' "\000\000\000\000" $ ruby -e 'p [2**32].pack("U")' -e:1:in `pack': bignum too big to convert into `long' (RangeError) from -e:1

2004-01-22

((<組み込み定数/VERSION>)) [obsolete]
((<組み込み定数/RELEASE_DATE>)) [obsolete]
((<組み込み定数/PLATFORM>)) [obsolete]

削除されました。((<ruby-dev:22643>))

2004-01-17

NameError [ruby]

((<ruby-dev:22604>))

2004-01-14

SystemStackError [ruby] [change]

SystemStackError が StandardError ではなく Exception の直下になりました。 ((<ruby-talk:89782>))

2004-01-13

Pathname#world_readable? [lib] [new]
Pathname#world_writable? [lib] [new]
File::Stat#world_readable? [ruby] [new]
File::Stat#world_writable? [ruby] [new]

2004-01-12

File.world_readable? [ruby] [new]
File.world_writable? [ruby] [new]

2004-01-10

Dir#inspect [ruby] [new]

パスを含む "#<Dir:path>" というような文字列を返します。

((<ruby-dev:22562>))

2004-01-06

Logger#msg2str [lib] [change]

to_str を使わなくなりました。

2004-01-05

Dir.glob [ruby] [change]

Windowsで **/ がリパースポイントを辿らなくなりました。（シンボリックリンクと同じ扱い） ((<ruby-dev:22486>))

2004-01-02

File.fnmatch, Dir.glob [ruby] [change]

Windows, DJGPP, EMX でマルチバイト文字に対応しました。 ((<ruby-dev:22476>))

p File.fnmatch('?', 'あ') #=> ruby 1.8.2 (2004-12-24) [i386-mswin32] false #=> ruby 1.9.0 (2004-04-25) [i386-mswin32] true

p File.fnmatch('?T', 'サ') #=> ruby 1.8.2 (2004-12-24) [i386-mswin32] true #=> ruby 1.9.0 (2004-04-25) [i386-mswin32] false

参考

* ((<Changes in Ruby 1.9|URL:http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9>))


Ruby変更履歴

* ((<ruby 1.6 feature>)) * ((<ruby 1.7 feature>)) * ((<1.6.8から1.8.0への変更点(まとめ)>)) * ((<ruby 1.8 feature>)) * ((<ruby 1.8.2 feature>)) * ((<ruby 1.8.3 feature>)) * ((<ruby 1.8.4 feature>)) * ((<ruby 1.8.5 feature>)) * ((<ruby 1.9 feature>)) * ((<obsolete>)) * ((<DOSISH 対応>))


pack テンプレート文字列

以下にあげるものは、Array#pack、String#unpack のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字 を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」 を表すこともできます。

長さの意味はテンプレート文字により異なりますが大抵、

"iiii"

のように連続するテンプレート文字は

"i4"

と書き換えることができます。

テンプレート文字列中の空白類は無視されます。 また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな され無視されます。

整数のテンプレート文字のシステム依存性

各テンプレート文字の説明の中で、 short や long はシステムによらずそれぞれ 2, 4バイトサ イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま す。s, S, l, L に対しては直後に _ または ! を "s_" あるいは "s!" のように 続けることでシステム依存の short, long のサイズにすることもできます。

i, I (int)のサイズは常にシステム依存であり、n, N, v, V のサイズは常にシステム依存ではない(!をつけられない)ことに注意してください。

つまり、IO#ioctl などで C の構造体を渡すときのように、 システム依存のサイズとエンディアンに合わせる必要があるときには s!, S!, i!, I!, l!, L!, q!, Q! を用います。 また、ネットワークプロトコルやファイルフォーマットのように、 システムに依存しないデータを扱うときには n, N, v, V を用います。

まとめると以下のようになります。

エンディアン非依存、整数サイズ非依存 (ネットワークプロトコルなどに適切)
  n: big endian unsigned 16bit
  N: big endian unsigned 32bit
  v: little endian unsigned 16bit
  V: little endian unsigned 32bit
エンディアン依存、整数サイズ依存 (C の構造体などに適切)
  s!: signed short
  S!: unsigned short
  i!: signed int
  I!: unsigned int
  l!: signed long
  L!: unsigned long
  q!: signed long long
  Q!: unsigned long long
エンディアン依存、整数サイズ非依存 (C99 の stdint.h にある厳密な幅を持つ整数型に適切)
  s: int16_t
  S: uint16_t
  l: int32_t
  L: uint32_t

各テンプレート文字の説明

説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って 「Array#pack の説明 / String#unpack の説明」としています。

a

ASCII文字列(null文字を詰める/後続するnull文字やスペースを残す)

    ["abc"].pack("a")    # => "a"
    ["abc"].pack("a*")   # => "abc"
    ["abc"].pack("a4")   # => "abc\0"

    "abc\0".unpack("a4") # => ["abc\0"]
    "abc ".unpack("a4")  # => ["abc "]
A

ASCII文字列(スペースを詰める/後続するnull文字やスペースを削除)

    ["abc"].pack("A")    # => "a"
    ["abc"].pack("A*")   # => "abc"
    ["abc"].pack("A4")   # => "abc "

    "abc ".unpack("A4")  # => ["abc"]
    "abc\0".unpack("A4") # => ["abc"]
Z

null終端文字列(aと同じ / 後続するnull文字を削除)

    ["abc"].pack("Z")  # => "a"
    ["abc"].pack("Z*") # => "abc"
    ["abc"].pack("Z4") # => "abc\0"

    "abc\0".unpack("Z4") # => ["abc"]
    "abc ".unpack("Z4")  # => ["abc "]
b

ビットストリング(各バイトごとに下位ビットから上位ビット)

    "\377\000".unpack("b*") # => ["1111111100000000"]
    "\001\002".unpack("b*") # => ["1000000001000000"]
    "\001\002".unpack("b3") # => ["100"]

    ["1000000001000000"].pack("b*") # => "\001\002"
B

ビットストリング(各バイトごとに上位ビットから下位ビット)

    "\377\000".unpack("B*")  # => ["1111111100000000"]
    "\001\002".unpack("B*")  # => ["0000000100000010"]
    "\001\002".unpack("B9")  # => ["000000010"]
    "\001\002".unpack("B15") # => ["000000010000001"]

    ["0000000100000010"].pack("B*")  # => "\001\002"
    ["0000000100000010"].pack("B0")  # => ""
    ["0000000100000010"].pack("B1")  # => "\000"
    ["0000000100000010"].pack("B7")  # => "\000"
    ["0000000100000010"].pack("B8")  # => "\001"
    ["0000000100000010"].pack("B9")  # => "\001\000"
    ["0000000100000010"].pack("B14") # => "\001\000"
    ["0000000100000010"].pack("B15") # => "\001\002"
    ["0000000100000010"].pack("B16") # => "\001\002"
h

16進文字列(下位ニブルが先)

    "\x01\xfe".unpack("h*") # => ["10ef"]
    "\x01\xfe".unpack("h3") # => ["10e"]

    ["10ef"].pack("h*") # => "\001\376"
H

16進文字列(上位ニブルが先)

    "\x01\xfe".unpack("H*") # => ["01fe"]
    "\x01\xfe".unpack("H3") # => ["01f"]
    "~".unpack("H2")        # => ["7e"]

    ["01fe"].pack("H*") # => "\001\376"
    ["7e"].pack("H2")   # => "~"
c

char (8bit 符号つき整数)

    "\001\376".unpack("c*") # => [1, -2]

    [1, -2].pack("c*")  # => "\001\376"
    [1, 254].pack("c*") # => "\001\376"
C

unsigned char (8bit 符号なし整数)

    "\001\376".unpack("C*") # => [1, 254]

    [1, -2].pack("C*")  # => "\001\376"
    [1, 254].pack("C*") # => "\001\376"
s

short (16bit 符号つき整数, エンディアンに依存) (s! は 16bit でなく、short のサイズに依存)

リトルエンディアン:

    "\001\002\376\375".unpack("s*") # => [513, -514]

    [513, 65022].pack("s*") # => "\001\002\376\375"
    [513, -514].pack("s*")  # => "\001\002\376\375"

ビッグエンディアン:

    "\001\002\376\375".unpack("s*") # => [258, -259]

    [258, 65277].pack("s*") # => "\001\002\376\375"
    [258, -259].pack("s*")  # => "\001\002\376\375"
S

unsigned short (16bit 符号なし整数, エンディアンに依存) (S! は 16bit でなく、short のサイズに依存)

リトルエンディアン:

    "\001\002\376\375".unpack("S*") # => [513, 65022]

    [513, 65022].pack("s*") # => "\001\002\376\375"
    [513, -514].pack("s*")  # => "\001\002\376\375"

ビッグエンディアン:

    "\001\002\376\375".unpack("S*") # => [258, 65277]

    [258, 65277].pack("S*") # => "\001\002\376\375"
    [258, -259].pack("S*")  # => "\001\002\376\375"
i

int (符号つき整数, エンディアンと int のサイズに依存)

リトルエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("i*") # => [67305985, -50462977]

    [67305985, 4244504319].pack("i*") # => RangeError
    [67305985, -50462977].pack("i*")  # => "\001\002\003\004\377\376\375\374"

ビッグエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("i*") # => [16909060, -66052]

    [16909060, 4294901244].pack("i*") # => RangeError
    [16909060, -66052].pack("i*")     # => "\001\002\003\004\377\376\375\374"
I

unsigned int (符号なし整数, エンディアンと int のサイズに依存)

リトルエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("I*") # => [67305985, 4244504319]

    [67305985, 4244504319].pack("I*") # => "\001\002\003\004\377\376\375\374"
    [67305985, -50462977].pack("I*")  # => "\001\002\003\004\377\376\375\374"

ビッグエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("I*") # => [16909060, 4294901244]

    [16909060, 4294901244].pack("I*") # => "\001\002\003\004\377\376\375\374"
    [16909060, -66052].pack("I*")     # => "\001\002\003\004\377\376\375\374"
l

long (32bit 符号つき整数, エンディアンに依存) (l! は 32bit でなく、long のサイズに依存)

リトルエンディアン, 32bit long:

    "\001\002\003\004\377\376\375\374".unpack("l*") # => [67305985, -50462977]

    [67305985, 4244504319].pack("l*") # => RangeError
    [67305985, -50462977].pack("l*")  # => "\001\002\003\004\377\376\375\374"
L

unsigned long (32bit 符号なし整数, エンディアンに依存) (L! は 32bit でなく、long のサイズに依存)

リトルエンディアン, 32bit long:

    "\001\002\003\004\377\376\375\374".unpack("L*") # => [67305985, 4244504319]

    [67305985, 4244504319].pack("L*") # => "\001\002\003\004\377\376\375\374"
    [67305985, -50462977].pack("L*")  # => "\001\002\003\004\377\376\375\374"
q

long long (符号付き整数, エンディアンと long long のサイズに依存) (C で long long が扱えない場合には 64bit)

リトルエンディアン, 64bit long long:

    "\001\002\003\004\005\006\007\010\377\376\375\374\373\372\371\370".unpack("q*")
    # => [578437695752307201, -506097522914230529]

    [578437695752307201, -506097522914230529].pack("q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
    [578437695752307201, 17940646550795321087].pack("q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
Q

unsigned long long (符号なし整数, エンディアンと long long のサイズに依存) (C で long long が扱えない場合には 64bit)

リトルエンディアン, 64bit long long:

    "\001\002\003\004\005\006\007\010\377\376\375\374\373\372\371\370".unpack("Q*")
    # => [578437695752307201, 17940646550795321087]

    [578437695752307201, 17940646550795321087].pack("Q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
    [578437695752307201, -506097522914230529].pack("Q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
m

base64された文字列。60 オクテットごと(と最後)に改行コードが付加されます。

Base64は、3オクテット(8bits * 3 = 24bits)のバイナリコードをASCII文字の うちの65文字 ([A-Za-z0-9+/]の64文字とpaddingのための'=')だけを使用して 4オクテット(6bits * 4 = 24bits)の印字可能文字列に変換するエンコーディ ング法です。[RFC2045] で定義されています。

    [""].pack("m")             # => ""
    ["\0"].pack("m")           # => "AA==\n"
    ["\0\0"].pack("m")         # => "AAA=\n"
    ["\0\0\0"].pack("m")       # => "AAAA\n"
    ["\377"].pack("m")         # => "/w==\n"
    ["\377\377"].pack("m")     # => "//8=\n"
    ["\377\377\377"].pack("m") # => "////\n"

    ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"].pack("m")
    # => "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n"
    ["abcdefghijklmnopqrstuvwxyz"].pack("m3")
    # => "YWJj\nZGVm\nZ2hp\namts\nbW5v\ncHFy\nc3R1\ndnd4\neXo=\n"

    "".unpack("m")       # => [""]
    "AA==\n".unpack("m") # => ["\000"]
    "AA==".unpack("m")   # => ["\000"]

    "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n".unpack("m")
    # => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
    "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==\n".unpack("m")
    # => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
M

quoted-printable encoding された文字列

    ["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"

    "a b c\td =\n\ne=\n".unpack("M") # => ["a b c\td \ne"]
n

ネットワークバイトオーダー(ビッグエンディアン)のunsigned short (16bit 符号なし整数)

    [0,1,-1,32767,-32768,65535].pack("n*")
    # => "\000\000\000\001\377\377\177\377\200\000\377\377"

    "\000\000\000\001\377\377\177\377\200\000\377\377".unpack("n*")
    # => [0, 1, 65535, 32767, 32768, 65535]
N

ネットワークバイトオーダー(ビッグエンディアン)のunsigned long (32bit 符号なし整数)

    [0,1,-1].pack("N*") # => "\000\000\000\000\000\000\000\001\377\377\377\377"

    "\000\000\000\000\000\000\000\001\377\377\377\377".unpack("N*") # => [0, 1, 4294967295]
v

"VAX"バイトオーダー(リトルエンディアン)のunsigned short (16bit 符号なし整数)

    [0,1,-1,32767,-32768,65535].pack("v*")
    # => "\000\000\001\000\377\377\377\177\000\200\377\377"

    "\000\000\001\000\377\377\377\177\000\200\377\377".unpack("v*")
    # => [0, 1, 65535, 32767, 32768, 65535]
V

"VAX"バイトオーダー(リトルエンディアン)のunsigned long (32bit 符号なし整数)

    [0,1,-1].pack("V*") # => "\000\000\000\000\001\000\000\000\377\377\377\377"

    "\000\000\000\000\001\000\000\000\377\377\377\377".unpack("V*") # => [0, 1, 4294967295]
f

単精度浮動小数点数(機種依存)

IA-32 (x86) (IEEE754 単精度 リトルエンディアン):

    [1.0].pack("f")      # => "\000\000\200?"
    [0.0/0.0].pack("f")  # => "\000\000\300\377"      # NaN
    [1.0/0.0].pack("f")  # => "\000\000\200\177"      # +Inf
    [-1.0/0.0].pack("f") # => "\000\000\200\377"      # -Inf

SPARC (IEEE754 単精度 ビッグエンディアン):

    [1.0].pack("f")      # => "?\200\000\000"
    [0.0/0.0].pack("f")  # => "\177\377\377\377"      # NaN
    [1.0/0.0].pack("f")  # => "\177\200\000\000"      # +Inf
    [-1.0/0.0].pack("f") # => "\377\200\000\000"      # -Inf

VAX (NetBSD 3.0) (非IEEE754):

    [1.0].pack("f") # => "\200@\000\000"
d

倍精度浮動小数点数(機種依存)

IA-32 (IEEE754 倍精度 リトルエンディアン):

    [1.0].pack("d")      # => "\000\000\000\000\000\000\360?"
    [0.0/0.0].pack("d")  # => "\000\000\000\000\000\000\370\377"      # NaN
    [1.0/0.0].pack("d")  # => "\000\000\000\000\000\000\360\177"      # +Inf
    [-1.0/0.0].pack("d") # => "\000\000\000\000\000\000\360\377"      # -Inf

SPARC (IEEE754 倍精度 ビッグエンディアン):

    [1.0].pack("d")      # => "?\360\000\000\000\000\000\000"
    [0.0/0.0].pack("d")  # => "\177\377\377\377\377\377\377\377"      # NaN
    [1.0/0.0].pack("d")  # => "\177\360\000\000\000\000\000\000"      # +Inf
    [-1.0/0.0].pack("d") # => "\377\360\000\000\000\000\000\000"      # -Inf

VAX (NetBSD 3.0) (非IEEE754):

    [1.0].pack("d") # => "\200@\000\000\000\000\000\000"
e

リトルエンディアンの単精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("e") # => "\000\000\200?"

SPARC (IEEE754):

    [1.0].pack("e") # => "\000\000\200?"
E

リトルエンディアンの倍精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("E") # => "\000\000\000\000\000\000\360?"

SPARC (IEEE754):

    [1.0].pack("E") # => "\000\000\000\000\000\000\360?"
g

ビッグエンディアンの単精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("g") # => "?\200\000\000"

SPARC (IEEE754):

    [1.0].pack("g") # => "?\200\000\000"

IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。

    s = [v].pack("g").unpack("B*")[0][0,1]      # 符号
    e = [v].pack("g").unpack("B*")[0][1,8]      # 指数部
    f = [v].pack("g").unpack("B*")[0][9,23]     # 仮数部

そして、s, e, f の意味は以下の通りです。

    sgn = s == "0" ? +1.0 : -1.0
    exp = Integer("0b" + e)
    fra = Integer("0b" + f)
    if exp == 0
      if fra == 0
        sgn * 0                     # ±0 (positive/negative zero)
      else
        sgn * fra * 2**(-126-23)    # 非正規化数 (denormalized number)
      end
    elsif exp == 255
      if fra == 0
        sgn * Inf                   # ±∞ (positive/negative infinity)
      else
        NaN                         # 非数 (not a number)
      end
    else
      fra += 1 << 23                # ゲタ
      sgn * fra * 2**(exp-127-23)   # 正規化数 (normalized number)
    end
G

ビッグエンディアンの倍精度浮動小数点数(機種依存)

IA-32:

    [1.0].pack("G") # => "?\360\000\000\000\000\000\000"

SPARC:

    [1.0].pack("G") # => "?\360\000\000\000\000\000\000"

IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。

    s = [v].pack("G").unpack("B*")[0][0,1]    # 符号
    e = [v].pack("G").unpack("B*")[0][1,11]   # 指数部
    f = [v].pack("G").unpack("B*")[0][12,52]  # 仮数部

そして、s, e, f の意味は以下の通りです。

    sgn = s == "0" ? +1.0 : -1.0
    exp = Integer("0b" + e)
    fra = Integer("0b" + f)
    if exp == 0
      if fra == 0
        sgn * 0                     # ±0 (positive/negative zero)
      else
        sgn * fra * 2**(-1022-52)   # 非正規化数 (denormalized number)
      end
    elsif exp == 2047
      if fra == 0
        sgn * Inf                   # ±∞ (positive/negative infinity)
      else
        NaN                         # 非数 (not a number)
      end
    else
      fra += 1 << 52                # ゲタ
      sgn * fra * 2**(exp-1023-52)  # 正規化数 (normalized number)
    end
p

ナル終端の文字列へのポインタ

    [""].pack("p")             # => "\310\037\034\010"
    ["a", "b", "c"].pack("p3") # => " =\030\010\340^\030\010\360^\030\010"
    [nil].pack("p")            # => "\000\000\000\000"
P

構造体(固定長文字列)へのポインタ

    [nil].pack("P")    # => "\000\000\000\000"
    ["abc"].pack("P3") # => "x*\024\010"

    ["abc"].pack("P4") # => ArgumentError: too short buffer for P(3 for 4)
    [""].pack("P")     # => ArgumentError: too short buffer for P(0 for 1)
u

uuencodeされた文字列

    [""].pack("u")           # => ""
    ["a"].pack("u")          # => "!80``\n"
    ["abc"].pack("u")        # => "#86)C\n"
    ["abcd"].pack("u")       # => "$86)C9```\n"
    ["a"*45].pack("u")       # => "M86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A\n"
    ["a"*46].pack("u")       # => "M86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A\n!80``\n"
    ["abcdefghi"].pack("u6") # => "&86)C9&5F\n#9VAI\n"
U

UTF-8

    [0].pack("U")                               # => "\000"
    [1].pack("U")                               # => "\001"
    [0x7f].pack("U")                            # => "\177"
    [0x80].pack("U")                            # => "\302\200"
    [0x7fffffff].pack("U")                      # => "\375\277\277\277\277\277"
    [0x80000000].pack("U")                      # => RangeError
    [0,256,65536].pack("U3")                    # => "\000\304\200\360\220\200\200"

    "\000\304\200\360\220\200\200".unpack("U3") # => [0, 256, 65536]
    "\000\304\200\360\220\200\200".unpack("U")  # => [0]
    "\000\304\200\360\220\200\200".unpack("U*") # => [0, 256, 65536]
w

BER圧縮整数

1バイトあたり7ビットを使用して必要最小限のバイト数で任意サイズの 0以上の整数を表す数値表現。各バイトの最上位ビットはデータの最後 を除いて必ず1が立っている(つまり最上位ビットはどこまでデータがあ るかを示している)。

ISO/IEC 8825-1:1995 : Information technology−ASN.1 encoding rules : Specification of Basic Encoding Rules(BER) に定められる整数の符号化方法。

    [0].pack("w")             # => "\000"
    [1].pack("w")             # => "\001"
    [127].pack("w")           # => "\177"
    [128].pack("w")           # => "\201\000"
    [0x3fff].pack("w")        # => "\377\177"
    [0x4000].pack("w")        # => "\201\200\000"
    [0x3fffffff].pack("w")    # => "\203\377\377\377\177"
    [0x40000000].pack("w")    # => "\204\200\200\200\000"
    [0xffffffff].pack("w")    # => "\217\377\377\377\177"
    [0x100000000].pack("w")   # => "\220\200\200\200\000"

    "\0".unpack("w")          # => [0]
    "\0\201\0\1".unpack("w*") # => [0, 128, 1]

なお、BER圧縮整数でエンコードした結果は大小関係を保存しない。 たとえば、[0x3fff].pack("w") > [0x4000].pack("w") である。

x

ナルバイト/1バイト読み飛ばす

    [?a, ?b].pack("CxC")    # => "a\000b"
    [?a, ?b].pack("Cx3C")   # => "a\000\000\000b"

    "a\000b".unpack("CxC")  # => [97, 98]
    "a\377b".unpack("CxC")  # => [97, 98]
    "a\377b".unpack("Cx3C") # => ArgumentError: x outside of string
X

1バイト後退

    [?a, ?b, ?c].pack("CCXC") # => "ac"

    "abcdef".unpack("x*XC") # => [102]
@

絶対位置への移動

    [?a, ?b].pack("C @3 C") # => "a\000\000b"

    "a\000\000b".unpack("C @3 C") # => [97, 98]

使用例

以下、pack/unpack の使用例の一部です。

pack を使用しなくても同じことができる場合はその例も載せています。 pack は暗号になりやすい面があることを考慮し、pack を使いたくない人 に別解を示すためです。

数値(文字コード)の配列を文字列に変換する例
    [82, 117, 98, 121].pack("cccc")  # => "Ruby"
    [82, 117, 98, 121].pack("c4")    # => "Ruby"
    [82, 117, 98, 121].pack("c*")    # => "Ruby"

    s = ""
    [82, 117, 98, 121].each {|c| s << c}
    s    # => "Ruby"

    [82, 117, 98, 121].collect {|c| sprintf "%c", c}.join   # => "Ruby"

    [82, 117, 98, 121].inject("") {|s, c| s << c}    # => "Ruby"
文字列を数値(文字コード)の配列に変換する例
    "Ruby".unpack('C*')    # => [82, 117, 98, 121]

    a = []
    "Ruby".each_byte {|c| a << c}
    a    # => [82, 117, 98, 121]
"x" でナルバイトを埋めることができる
    [82, 117, 98, 121].pack("ccxxcc")    # => "Ru\000\000by"
"x" で文字を読み飛ばす事が出来る
    "Ru\0\0by".unpack('ccxxcc')    # => [82, 117, 98, 121]
Hexダンプを数値の配列に変換する例
    "61 62 63 64 65 66".delete(' ').to_a.pack('H*').unpack('C*')
    # => [97, 98, 99, 100, 101, 102]

    "61 62 63 64 65 66".split.collect {|c| c.hex}
    # => [97, 98, 99, 100, 101, 102]
バイナリと16進数のpackでは長さ指定は生成されるバイト数ではなく、ビットやニブルの個数を表す
    [0b01010010, 0b01110101, 0b01100010, 0b01111001].pack("C4")
    # => "Ruby"
    ["01010010011101010110001001111001"].pack("B32") # 8 bits * 4
    # => "Ruby"

    [0x52, 0x75, 0x62, 0x79].pack("C4")
    # => "Ruby"
    ["52756279"].pack("H8")  # 2 nybbles * 4
    # => "Ruby"
テンプレート文字'a'の長さ指定は1つの文字列だけに適用される
    ["RUBY", "u", "b", "y"].pack("a4")
    # => "RUBY"

    ["RUBY", "u", "b", "y"].pack("aaaa")
    # => "Ruby"

    ["RUBY", "u", "b", "y"].pack("a*aaa")
    # => "RUBYuby"
テンプレート文字"a"は、長さが足りない分をヌル文字で補う
    ["Ruby"].pack("a8")
    # => "Ruby\000\000\000\000"
リトルエンディアンとビッグエンディアン
    [1,2].pack("s2")
    # => "\000\001\000\002" # ビッグエンディアンのシステムでの出力
    # => "\001\000\002\000" # リトルエンディアンのシステムでの出力

    [1,2].pack("n2")
    # => "\000\001\000\002" # システムによらずビッグエンディアン

    [1,2].pack("v2")
    # => "\001\000\002\000" # システムによらずリトルエンディアン
ネットワークバイトオーダの signed long
      s = "\xff\xff\xff\xfe"
      n = s.unpack("N")[0]
      if n[31] == 1
        n = -((n ^ 0xffff_ffff) + 1)
      end
      n # => -2
ネットワークバイトオーダの signed long(その2)
      s = "\xff\xff\xff\xfe"
      n = s.unpack("N").pack("l").unpack("l")[0]
      n # => -2
IPアドレス
      require 'socket'
      Socket.gethostbyname("localhost")[3].unpack("C4").join(".")
      # => "127.0.0.1"

      "127.0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
      # => "\177\000\000\001"
sockaddr_in 構造体
      require 'socket'
      [Socket::AF_INET,
       Socket.getservbyname('echo'),
       127, 0, 0, 1].pack("s n C4 x8")
      # => "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"

pack/unpack を使う代わりに Socket.pack_sockaddr_in, Socket.unpack_sockaddr_in メソッドがあります。

'\0'終端文字列のアドレス

テンプレート文字 "p" や "P" は、C 言語レベルのインタフェースのた めにあります(例えば IO#ioctl)。

    ["foo"].pack("p")    # => "8\266\021\010"

結果の文字列はゴミに見えますが、実際は文字列"foo\0"を指すアドレ ス(のバイナリ表現)です。以下のようにすれば見慣れた表記で見ること が出来ます

    printf "%#010x\n", "8\266\021\010".unpack("L")[0] # => 0x0811b638

アドレスが指す先のオブジェクト(この例で "foo\0") は、pack の結 果が GC されるまではGCされないことが保証されています。

unpack("p"), unpack("P") は、pack の結果からしか unpack できません。

    ["foo"].pack("p").unpack("p") # => ["foo"]
    "8\266\021\010".unpack("p")
    # => -:1:in `unpack': no associated pointer (ArgumentError)
    #         from -:1

"p" や "P" は、nil を特別に扱い NULL ポインタとして解釈します。(以下は、32bitマシンで一般的な結果)

      [nil].pack("p")        # => "\000\000\000\000"
      "\0\0\0\0".unpack("p") # => [nil]
構造体のアドレス

例えば、

      struct {
        int   a;
        short b;
        long  c;
      } v = {1,2,3};

を表す文字列は

      v = [1,2,3].pack("i!s!l!")

です。(byte alignment の問題から実際は適当な padding が必要に なるかもしれません)

この構造体を指すアドレスは

      [v].pack("P")  # => "\300\265\021\010"

で得られます。

UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)

Little endian:

    ("Comments").unpack("U*").pack("v*") # => "C\000o\000m\000m\000e\000n\000t\000s\000"

Big endian:

    ("Comments").unpack("U*").pack("n*") # => "\000C\000o\000m\000m\000e\000n\000t\000s"


BeOS

マイクロカーネル、徹底したマルチスレッド、64bitジャーナリングファイルシステムなど、当時としては先進的な機能を備えたOS。複数の動画ファイルを同時にシームレスに再生できることがよく引き合いにだされ、マルチメディアOSとして売り込まれた。API が C++ であることも特長の一つである。

ファイルディスクリプタとソケットディスクリプタの統合がされるまえに Be 社が倒産してしまったため、現在の ruby ではソケットとスレッドが使えない。（Yellow TAB の出した Zeta だと動くのだろうか？あまり評判がよくないようだが）

インストール方法は((<こちら|URL:http://www.ruby-lang.org/ja/install.cgi?cmd=view;name=BeOS>))


Cygwin

Win32 上で ((<Unix>)) をエミュレートする環境。Windows 上でまさに Unix を使っているような感覚が味わえる。GNU ユーティリティのおかげで下手な商 用 Unix よりもある意味使いやすい。Cygwin環境でコンパイルされた実行ファ イルは (({cygwin1.dll})) がリンクされ、この DLL が Unix のシステムコー ル等をエミュレートしてくれる。

Cygwin を使う人にとって本当に必要な環境が Unix なのか Windows なのかは 謎。(何事も行き過ぎはよくない。中間こそが心地よいのかもしれない)

((<URL:http://cygwin.com/>)) を参照。

Cygwin版Rubyは、(({cygwin1.dll}))を必要とする反面、Unix版との互換性が 高いので、Unix用のスクリプトが変更なしに 動く可能性が高くて便利である。しかし、日本語パス名((-(({表}))や(({ソ}))のように2バイト目に(({\}))を含むもの-))が扱えないなど、 Cygwin 環境自体の制約を受ける。


DJGPP

16 bit OS である DOS上で 32 bit な環境を実現する DOS エクステンダとい う奴とそのコンパイル環境(という説明でいいのかな？)。かなり古い環境だが、 今も利用者はいるらしい。

((<URL:http://www.delorie.com/djgpp/>)) 参照。


DOSISH 対応

ruby version 1.7 では、DOSISH対応(DOS/Windows のパス名の扱いに対する変 更)が含まれています((-拡張ライブラリによる別実装として、 ((<RAA|URL:http://www.ruby-lang.org/en/raa.html>))に ((<RAA:DOSish>))があります -))。 (現在の)変更点を以下に示します。

なお、これらの変更は ((<mswin32>))版、((<mingw32>))版, ((<bccwin32>))版, ((<human68k>))版, ((<os2_emx>))版の Ruby にのみあてはまります。

とりあえずの目標として、

* \ も / と同様パスセパレータとして扱う * マルチバイトパス名への対応("表" など 2 byte 目が 0x5c(`\') である文字を正しく扱う) * UNC 対応(これ自体は1.6にも入っている) * ドライブレター対応

への対応が挙げられていますが、ドライブレター対応などの微妙な部分については現在もruby-listなどで議論が継続されています。 現時点では、Fileの各メソッドに対する\対応, マルチバイトパス名対応, UNC 対応が実装されています。((<ruby-dev:13817>)), ((<ruby-dev:14097>))

以下、各メソッドの挙動について...

File.dirname

パスセパレータとして従来の/に加えて\も認識するようになっています。 これに合わせて、マルチバイトで記述されたパス名への対応も行われています。

p File.dirname("C:\\foo\\bar")

=> ruby 1.6.4 (2001-06-04) [i586-mswin32] "."

=> ruby 1.7.1 (2001-08-16) [i586-mswin32] "C:\\foo"

p File.dirname("C:/foo")
p File.dirname("C:\\foo")
p File.dirname("C:foo")

=> ruby 1.6.4 (2001-06-04) [i586-mswin32] "C:" "." "."

=> ruby 1.7.1 (2001-08-16) [i586-mswin32] "C:" "C:" "."

=> ruby 1.8.0 (2003-01-06) [i386-mswin32] "C:/" "C:\\" "C:."

File.basename

パスセパレータとして従来の/に加えて\も認識するようになっています。 これに合わせて、マルチバイトで記述されたパス名への対応も行われています。

p File.basename("C:\\foo\\bar")

=> ruby 1.6.4 (2001-06-04) [i586-mswin32] "C:\\foo\\bar"

=> ruby 1.7.1 (2001-08-16) [i586-mswin32] "bar"

File.split

File.dirname と File.basename が変更されているので、File.split もそれに準じた 結果を返します。

File.expand_path

ドライブレター対応に関して、下記のような案が提示されています。

Dir.chdir("D:/")
p File.expand_path("C:foo", "C:/bar")
p File.expand_path("D:foo", "C:/bar")

=> ruby 1.6.4 (2001-06-04) [i586-mswin32] "C:/bar/C:foo" "C:/bar/D:foo"

=> ruby 1.8.0 (2003-01-06) [i386-mswin32] "C:/bar/foo" "D:/foo"

=> 新井案 ((<ruby-list:30970>)) "C:/bar/foo" (なんらかの例外)

File.join

ドライブレター対応に関して、下記のような案が提示されています。

p File.join("c:", "foo")
p File.join("c:/", "foo")
p File.join("c:.", "foo")
p File.join("c:", "/foo")

=> ruby 1.6.4 (2001-06-04) [i586-mswin32] "c:/foo" "c://foo" "c:./foo" "c://foo"

=> ruby 1.8.0 (2003-01-06) [i386-mswin32] "c:/foo" "c:/foo" "c:./foo" "c://foo"

=> 新井案 ((<ruby-list:31185>)) "c:./foo" "c:/foo" "c:./foo" "c:./foo"

File.fnmatch
Dir.glob
Dir[]


GNU

FSF (Free Software Foundation) が長い間かけて築き上げて来た OS。GNU ユー ティリティをふんだんに使って有名になるとこのブランド名がつくことがある。

GNU is Not Unix なので、敬意を表して ((<Unix>)) の括りから出すことにし た。((-そんなこと言ったら Linux もとか言われそう。でも書くことないんだ もの。当り前に動くし-))ここでは、GNU Hurd (カーネルの名前)で動く Ruby について主に触れる。

探してみたら、((<ruby-dev:6712>)), ((<ruby-dev:14603>)) にパッチの投稿 がある。きっと今でも動くに違いない。情報求む。

((<URL:http://www.gnu.org/>)) 参照


Mac

Mac 版の ruby の開発は止まってるらしい。((<Mac OS X>)) ではそのまま ruby をコンパイルできるらしい。 Mac のディレクトリセパレータは、":" らしい。OSXでは、"/"で指定しても通るようだ。テキストファイルの行末コー ドは CR らしい（通常CRのみです）。デバイスファイルは存在しないらしい・・・

HFS/HFS+では((<パス区切りはコロンを使います|URL:http://www.senko-corp.co.jp/alsoft/Askal2001/AskalBody_04.27.01.htm>))。改行コードは通常はCRのみです。Mac OS XではUNIXの世界も入り込んでいるので、古いライブラリで改行コードをCRに決め打ちしているものは正常に動かないこともあります。Mac OS Xの大抵のテキストエディタはCRでもCR+LFでもLFのみでも正しく改行されるようです。デバイスファイルは旧Mac OSには存在しません。RubyのコンパイルはMac OS XではDeveloper Toolをインストールしておけば通るはずです（コンパイラフラグにCFLAGS = -g -O2 -pipe -fno-common -no-cpp-precompと、-no-cpp-precompが必要になるかも知れません）。


Mac OS X

X は 10 の意。マックオーエステンと読むのが正しいのか、マックオーエスエッ クスと読むのが正しいのかはわからない。決して Mac で X Window System を 使えるようにするためのものではない(おそらく)。

マックオーエステンが正しいそうです。X Window Systemは((<純正の環境|URL:http://www.apple.co.jp/macosx/features/x11/index.html>))がありますが、あまり詳しくない人には使い勝手はよくありません。したがってデベロッパがX向けに何かを作ってもたぶん多くの人には見向きされません。Rubyを始めとしてBSDでも動くものは比較的手軽（デフォルトインストールでTerminalが入っています）に使うことができます。

RubyのコンパイルはMac OS XではDeveloper Toolをインストールしておけば通るはずです（コンパイラフラグにCFLAGS = -g -O2 -pipe -fno-common -no-cpp-precompと、-no-cpp-precompが必要になるかも知れません）。また、Mac OS X 10.3ではrubyが標準で添付されています。


MinGW

フリーソフトウェアだけで純粋な Win32 用実行ファイルを作るための コンパイル環境のことで、MinGW は Minimalist GNU on Windows の略です。 詳細は ((<URL:http://www.mingw.org/>)) を参照してください。

なお、この場合の「純粋な」は「msvcrt.dll を使ったアプリケーション」を指します。 MFC (Microsoft Foundation Classes) は使えません。

MinGW で作られた ruby は mingw32 版と呼ばれており、 ((<mswin32>)) 版とほとんど同じように動作します。

→((<Win32ネイティブ版>))


OS2

良く知らない。EMX というコンパイル環境(やはり gcc の port)があり、OS2 での ruby のコンパイルはこれを前提としているのかもしれない。本当によく は知らない。


Unix

ハッカーのおもちゃ。Unix か UNIX かはこだわりがあるらしい。ここでの Unix とは Unix そのものかあるいは互換 OS を指している。たまに ((<Cygwin>)) を含むことがある。

RubyはもともとUnix上で開発されてきており、機能的にもファイルシステム、 プロセスの扱いなどでUnix指向な部分がある。いうなれば、Unix版Rubyがすべての 基本と言えるかもしれない。


VMS

VAX や Alpha のOS。今は OpenVMS と呼ぶらしい。ruby のソースでは、ただ 1 箇所 ruby.c に

#ifdef VMS
    uid |= gid << 16;
    euid |= egid << 16;
#endif

という記述が存在する。(と書いた途端に version 1.7 でパッチが取り込まれ た。まともに対応されつつあるようです)

1.8.1からバイナリが公開されています。 ((<URL:http://www.geocities.jp/vmsruby/>)) を参照。

((<URL:http://www.openvms.compaq.com/>)) を参照。

以下も参照

((<URL:http://www.levitte.org/~ava/index.htmlx>))

((<URL:http://www.montagar.com/hobbyist/>))


Win32

32 ビットアーキテクチャ上で動作する Windows 95/98/Me/NT/2000/XP などを総称して Win32 システムと呼びます。 16 ビットアーキクチャの Windows 3.1 および MS-DOS では ((<DJGPP>)) 版 Ruby が動作します。

なお現在は Win64 システム (Alpha と IA64) も存在しますが、 Ruby の動作報告はまだありません。

Win32 用の Ruby は大きく分けると

  • ((<Cygwin>)) 版
  • ((<Win32ネイティブ版>)) Ruby

の二種類があります。

このマニュアルの本文で断りなく Win32 版と言うときは Win32 ネイティブ版を指すものとします。 Cygwin はそもそも Unix 互換レイヤを目指して開発されているので、 基本的に Unix の流儀のほうが通用します。 経験的にも、Cygwin 版は mswin32 版よりも Unix 版に近い挙動を示します。


Win32ネイティブ版

Win32 版 Ruby を Cygwin 版と比較すると以下の利点があります。

  • Cygwin DLL が必要ない
  • 微妙に高速 (特に I/O は速い)
  • 安定している

欠点は以下の通りです。

  • Unix 版との互換性が非常に低い (ある意味、当然)

この点については ((<Win32ネイティブ版Rubyの互換性問題>)) も参照してください。

現在 Win32 ネイティブな Ruby で広く配布されているものには、 Visual C++ で構築した ((<mswin32>)) 版と gcc でコンパイルした ((<MinGW>)) 版の 2 種類があります。 また ruby 1.7 からは Borland C++ (bcc) もサポートされました。 これを bccwin32 版と言います。

これらのバージョン間に大きな違いはなく、 Ruby レベルで違いがわかることはまずありません。 ただし Ruby 1.6 以前ではそれぞれで DLL 名が違うので、 拡張ライブラリは流用できません。 つまり VC++ でコンパイルした拡張ライブラリは mswin32 版の ruby でしか使えないということです。 この点は Ruby 1.8 以降では改善されました。


Ruby 1.8.7 Reference Manual > platform/WindowsCE

WindowsCE

--> ((<mswince>))


bccwin32

Borland C++ コンパイラで作られた Ruby のことを bccwin32 版という。 ruby version 1.7 からサポートされた。

msvcrt.dll を使うのか？とか、((<mswin32>))版との互換性はどの程度なのかと いったことは、各自で聞いてみてよう。


Ruby 1.8.7 Reference Manual > platform/emx

emx

--> ((<OS2>))


Human68k

シャープのX68000/X68030用OS。 2000年4月1日以降、IPL-ROMのイメージファイル、Human68k、Cコンパイラ等のシャープ製ソフトウェアが無償公開されたため、 本体を持っていない人でもエミュレータを使ってHuman68kに触れる事が可能となった。

RubyにおけるHuman68kのサポートは1998年4月17日から開始された(((<ChangeLog-1.8.0|"ruby-cvs:ruby/doc/ChangeLog-1.8.0?rev=HEAD">))参照)。 ((<DJGPP>))等と同様((<DOSISH|DOSISH 対応>))な環境(OS)の一つとして扱われる。

Rubyのバイナリ

* ((<URL:http://moonrock.jp/~don/software/>)) Ruby 1.6.4のコンパイル済みバイナリ。

参照

((<Human68k - Wikipedia|URL:http://ja.wikipedia.org/wiki/Human68k>))

WikipediaでのHuman68kの解説。

((<X68000 LIBRARY|URL:http://retropc.net/x68000/>))

ハードウェア、ソフトウェア、書籍、雑誌、などの情報を公開、また一部ソフトウェアの配布。 Human68kを含む無償公開ソフトウェアもここから入手可能。

((<XM6|URL:http://www.ipc-tokai.or.jp/~ytanaka/x680x0/xm6.shtml>))

X68000(Expert)のエミュレータ。


Ruby が動作するプラットフォーム

Ruby は様々な環境で動作するよう各方面の有志によって移植されています。 以下、Ruby の動作環境について OS や 開発環境で大別して説明します。

インストールやコンパイルに関しては、((<Ruby インストールガイド|URL:http://www.ruby-lang.org/~kazu/install-ja.cgi?cmd=view;name=top>))を参照。

* ((<Unix>)) * ((<Windows(Win32)|Win32>))

  • ((<Win32ネイティブ版>))
  • ((<mswin32>))
  • ((<MinGW>)), ((<mingw32>)))
  • ((<bccwin32>))
  • ((<Cygwin>))

* ((<Mac>))

  • ((<Mac OS X>))

* ((<BeOS>)) * MS-DOS

  • ((<DJGPP>))

* ((<OS2>)) (((<os2_emx>))), (((<emx>))) * ((<VMS>)) * ((<human68k>)) * ((<GNU>)) (((<GNU Hurd>))) * ((<WindowsCE>))

  • ((<mswince>))


Ruby 1.8.7 Reference Manual > platform/mingw32

mingw32

--> ((<MinGW>))


mswin32

VC++ で作られた ruby を mswin32版 と呼んでいる。

→((<Win32ネイティブ版>))


Win32ネイティブ版Rubyの互換性問題

((<Win32ネイティブ版>))Rubyは、できる限りUnix版と同等の動作をするように 意図して作られていますが、 OS自体の制限などにより、いくつかの非互換性があります。また、実装上の制限・ バグもいくつか残っているようです。

注意: このドキュメントは現状では不充分です。気づいたことのあるひとは どんどん書き足してください。((-書き始めてみたはいいけどきりがない？^^;--ひだか-))

プロセスの扱い

最も重要な違いとして、fork が動作しないことがあげられます。Unix向けに書かれている デーモン系のアプリケーションが動かないのはこれが原因であることが多いでしょう。

実行権限の扱い

setuid などのプロセスの実行権限に関するメソッドは、(NT環境であっても)期待した 動作はしません。

ファイルシステムの問題

Win32のファイルストリームにはテキストモードとバイナリモードの区別が存在します。 何も考えずに "w" などのモードでファイルに出力すると、\n → \r\n 変換が 起きるために、バイナリデータが破壊されるという問題が起きます。

File.chmod は読み出し許可・書き込み許可属性のみ操作できます。group/other に対する操作や実行許可の操作は無視されます。File.chownはエラーを返しませんが実際には何も行いません。

ドライブレター絡みで未だに幾つかの実装上の漏れがあります--((<DOSISH 対応>))。 また、同様に、-Ksを指定してあっても、日本語ファイル名の扱いで問題が発生する ことがあります。

シェルの違いによる問題

Win32 ネイティブ版では、通常は外部シェルとして command.com / cmd.exe が 使われます。そのため、Kernel#system メソッドなどでシェル経由で外部コマンドを 起動した場合、プロセス制御などの操作を利用することはできません。 ((-余談ですが、Cygwin bash から起動したら bash が使われたのではまりました。 こんなボケはぼくだけかも。。。-))

IO.popenの問題

"r+"・"w+"は使えません(1.6)。 また、"r"もうまく動かないことがあるようです(1.6のみ)。

1.7 系では解決している問題

* socket / select の併用時の問題? ((<URL:http://www.notwork.org/ipr/webrick/webrickja/0/13.html>))

Windows のメッセージハンドラとRubyスレッドの併用時の問題

VisualuRuby, FOX, ((<Apollo>)) などのWindows上でのGUIツールキットとRubyスレッドを 併用する場合、メッセージハンドラでスレッドを生成すると、 落ちます((<ruby-ext:1940>))。 1.6.8以降ではこの問題は解決されています。

IOとRubyスレッド併用時の問題

Win32ネイティブ版ではIO待ちはスレッドをブロックします。 現時点では適当な解決策もありません。

その他


mswince

((<WindowsCE>))上で動作する。

((<mswin32>))版と同様にVC++でコンパイルされ、ソースも共通部分が多い。

mips・sh3・sh4がサポートされている。


Ruby 1.8.7 Reference Manual > platform/os2_emx

os2_emx

--> ((<OS2>))


sprintf フォーマット

sprintf フォーマット

Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3) のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が ないこと、2進数の指示子(%b)が存在すること、sprintf のすべての方言をサ ポートしていないこと(%': 3桁区切り)などの違いがあります。

Ruby には整数の大きさに上限がないので、%b, %o, %x に負の数を与えると (左側に無限に1が続くとみなせるので) ..f のような表示をします。絶対値に符号を付けた形式 で出力するためには %+x、% x のように指定します。

以下は sprintf フォーマットの書式です。[] で囲まれた部分は省略可 能であることを示しています。

%[引数指定$][フラグ][幅][.精度]指示子

`%' 自身を出力するには `%%' とします。

以下それぞれの要素に関して説明します。

フラグ

フラグには #, +, ' '(スペース), -, 0 の5種類があります。

#

2進、8進、16進の指示子(b, o, x, X) ではそれぞれプレフィック スとして "0b", "0", "0x", "0X" を付加します。 C 言語とは異なり引数が 0 の場合にもプレフィックスが付加されます。

  p sprintf("%#b", 10) #=> "0b1010"
  p sprintf("%#o", 10) #=> "012"
  p sprintf("%#x", 10) #=> "0xa"
  p sprintf("%#X", 10) #=> "0XA"

浮動小数点数 (f, e, E, g, G) に対しては必ず出力に"."をつけます。

  p sprintf("%.0f", 10) #=> "10"
  p sprintf("%#.0f", 10) #=> "10."
  p sprintf("%.0e", 10) #=> "1e+01"
  p sprintf("%#.0e", 10) #=> "1.e+01"

また g, G では上記に加えて末尾の余分な0が残ります。

  p sprintf("%.05g", 10) #=> "10"
  p sprintf("%#.05g", 10) #=> "10.000"
+

出力文字列を符号付きにします。特に正の数では`+'が付加されます。 数値の指示子 (d, i, b, o, x, X, u, f, e, E, g, G) に対してだけ意味を持ちます。 また、特に b, o, x, X, u に対しては、負数に対して "-" を付加することを示します。

  p sprintf("%d", 1)   #=> "1"
  p sprintf("%+d", 1)  #=> "+1"

  p sprintf("%x", -1)  #=> "..f"  # ".." は無限に f が続くことを表している
  p sprintf("%+x", -1) #=> "-1"
' '(スペース)

`+' と同じですが正の符号 `+' の代わりに空白を用います。数値の指示子 (d, i, b, o, x, X, u, f, e, E, g, G) に対してだけ意味を持ちます。

  p sprintf("%d", 1)   #=> "1"
  p sprintf("%+d", 1)  #=> "+1"
  p sprintf("% d", 1)  #=> " 1"

  p sprintf("%x", -1)  #=> "..f"
  p sprintf("% x", 1)  #=> " 1"
  p sprintf("% x", -1) #=> "-1"
-

出力を左詰めにします幅の指定がなければ 意味がありません。

0

出力が右詰めの場合に余った部分に空白の代わりに "0" を詰めます。

数値の指示子の一部(d, i, b, o, x, X, u, f, g, G)に対し てだけ意味を持ちます(e, E には意味がない)

  p sprintf("%010d", 10)   #=> "0000000010"

`#' と一緒に指定した場合の出力は以下のようになります。

  p sprintf("%#010x", 10)  #=> "0x0000000a"
  p sprintf("%#010o", 10)  #=> "0000000012"
  p sprintf("%#010b", 10)  #=> "0b00001010"

これは、以下と同じです。

  p sprintf("%#10.8x", 10) #=> "0x0000000a"
  p sprintf("%#10.9o", 10) #=> "0000000012"
  p sprintf("%#10.8b", 10) #=> "0b00001010"

通常は、以下のようになります。

  p sprintf("%#10x", 10)   #=> "       0xa"
  p sprintf("%#10o", 10)   #=> "       012"
  p sprintf("%#10b", 10)   #=> "    0b1010"

幅

0以外の数字で始まる数字列は幅指定になります。幅は生成文字列の長さを示 します。後述の精度の値によらずこの幅分だ けの文字列が生成されます。

幅の指定はフラグで付与される " ", "+", "-", "0b", "0", "0x", "0X" の長さも考慮されます。

p sprintf("%+5d", 11)  #=> "  +11"
p sprintf("%+-5d", 11) #=> "+11  "
p sprintf("%+05d", 11) #=> "+0011"

幅は「最低限必要な幅」の指定になります。結果の文字列が指定した幅を超 える場合は幅の指定は無効になります。

幅として `*' を指定すると幅の値を引数から得ることになります。

p sprintf("%#05x", 10)    #=> "0x00a"
p sprintf("%#0*x", 5, 10) #=> "0x00a"

精度

"." の後に続く数字列は精度を表します("." のみの場合 ".0" と同じです)。精度は 整数の指示子 (d, i, b, o, x, X, u) に対しては、数値列部分の長さを意味します。

p sprintf("%10.5d", 1)  #=> "     00001"
p sprintf("%#10.5x", 1) #=> "   0x00001"
p sprintf("%+10.5x", 1) #=> "    +00001"

浮動小数点数の指示子 (f) に対しては小数部の桁数を意味します。

p sprintf("%10.5f", 1)   #=> "   1.00000"
p sprintf("%10.5f", 10)  #=> "  10.00000"

浮動小数点数の指示子 (e, E, g, G) に対しては有効桁数を意味します。

p sprintf("%10.5e", 1)   #=> "1.00000e+00"
p sprintf("%10.5e", 10)  #=> "1.00000e+01"
p sprintf("%10.5g",  10)  #=> "        10"
p sprintf("%#10.5G", 10)  #=> "    10.000"

文字列の指示子(s, p) に対しては引数の文字列のうち指定した数を超える分を切り捨てます。 幅と精度を同じ値にすれば、どのような引数に対してもその 長さだけの出力を行うことになります。

p sprintf("%10.2s", "foo")  #=> "        fo"

p sprintf("%5.5s", "foo")     #=> "  foo"
p sprintf("%5.5s", "foobar")  #=> "fooba"

精度として `*' を指定すると精度の値を引数から得ることになります。

p sprintf("%.5s", "foobar")    #=> "fooba"
p sprintf("%.*s", 5, "foobar") #=> "fooba"

指示子

指示子は引数の型の解釈を示します。指示子を省略することはできません。 指示子には大きく分けて

  • 文字列を表す指示子: c, s, p
  • 整数を表す指示子: d, i, u, b, o, x, X,
  • 浮動小数点数を表す指示子: f, g, e, E, G

があります

c

引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。 引数が数値以外のオブジェクトの場合 to_int メソッドによる変換を試みます。

  p sprintf("%c", 97)  #=> "a"

フラグ `-' と幅 の指定だけが意味を持ちます。

s

文字列を出力します。

引数が String オブジェクトでなければ to_s メソッドにより文字列化 したものを引数として扱います。

p

Object#inspect の結果を出力します。

  p sprintf("%s", /e+/)  #=> "(?-mix:e+)"
  p sprintf("%p", /e+/)  #=> "/e+/"
d
i

引数の数値を10進表現の整数として出力します。

引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に 変換されます。

  p sprintf("%d", -1) #=> "-1"
  p sprintf("%d", 3.1) #=> "3"
  p sprintf("%d", '0b1010') #=> "10"
u

引数の数値を符号なし整数とみなして10進表現の整数として出力します。

  p sprintf("%u", '0b1010') #=> "10"
  p sprintf("%u", -1) #=> "..4294967295" (warning)
b
o
x
X

整数をそれぞれ2進、8進、16進、16進(大文字)表現の文字列で出力します。

`#' フラグを指定すれば "0b", "0", "0x", "0X" を先頭に付加します。

`+', ` ' フラグがない場合、負の数には ".." が先頭(`#' フラグがあれば "0x" などの後)に付加されます。これは最上位桁の文字が無限に続くことを 意味し、2の補数表現で負の数を表しています。

   p sprintf("%#b", 10)    #=> "0b1010"
   p sprintf("%#o", 10)    #=> "012"
   p sprintf("%#x", 10)    #=> "0xa"

   # 負の数に対して ".." が付加されます
   p sprintf("%#b", -1)    #=> "0b..1"
   p sprintf("%#o", -1)    #=> "0..7"
   p sprintf("%#x", -1)    #=> "0x..f"

   p sprintf("%10x", -1)   #=> "       ..f"
   p sprintf("%-10x", -1)  #=> "..f       "

   # 「精度」を指定した場合、".." は付加されません
   p sprintf("%.10x", -1)  #=> "ffffffffff"
f
e
E
g
G

f は小数点表現(xxx.xxx)で数値を出力します。

e は指数表現(x.xxxe+xx)で数値を出力します。

g は 指数が -4 より小さいか精度以上の場合に e と同じ出力を、それ以 外では f と同じ出力を行います。ただし、小数部の末尾の0は取り除かれ ます。

大文字の指示子(E, G)は出力のアルファベットを大文字にします。

  p sprintf("%f", 1.0) #=> "1.000000"
  p sprintf("%e", 1.0) #=> "1.000000e+00"
  p sprintf("%g", 1.0) #=> "1"

  p sprintf("%f", 10.1) #=> "10.100000"
  p sprintf("%e", 10.1) #=> "1.010000e+01"
  p sprintf("%g", 10.1) #=> "10.1"

  p sprintf("%g", 10 ** 6)  #=> "1e+06"
  p sprintf("%g", 10 ** -5) #=> "1e-05"

精度の省略値は 6 です。

無限大、NaN(Not a Number) に対する出力は以下のとおりです。

  p sprintf("%f",  1.0/0)  #=> "inf"
  p sprintf("%f", -1.0/0)  #=> "-inf"
  p sprintf("%f",  0.0/0)  #=> "nan"

  p sprintf("%E",  1.0/0)  #=> "INF"
  p sprintf("%E", -1.0/0)  #=> "-INF"
  p sprintf("%E",  0.0/0)  #=> "NAN"

f, e, E, g, G に関しては sprintf(3) の結果を利用しています。従って出力結果は 実際にはシステムに依存することになります。

引数指定

利用頻度が低いので最後に説明します。

nth$

nth 番目の引数のフォーマットを行うことを示します。

  p sprintf("%d, %x, %o", 1, 2, 3) #=> "1, 2, 3"
  p sprintf("%3$d, %2$x, %1$o", 1, 2, 3) #=> "3, 2, 1"

  p sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"

状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使 用します。

  case ENV['LC_TIME']
  when /^ja_JP/
    fmt = "%1$d年%2$d月%3$d日"
  else
    fmt = "%2$02d/%03$2d/%1$02d"
  end

  p sprintf(fmt, 1, 4, 22) #=> "04/22/01"

"*" の後に指定することで幅や 精度を引数で指定することもできます。

  p sprintf("%5.2f", 1)              #=> " 1.00"
  p sprintf("%*.*f", 5, 2, 1)        #=> " 1.00"
  p sprintf("%1$*2$.*3$f", 1, 5, 2)  #=> " 1.00"


疑似BNFによるRubyの文法

以下に疑似BNFによるRubyの文法を示します。より詳しくは parse.y を 参照してください。sample/exyacc.rbを使うと規則だけを取り出せますので 活用しましょう。

((-このBNFはまだ完全に1.6対応していません。[[unknown:執筆者募集]]-))

PROGRAM         : COMPSTMT

COMPSTMT        : STMT (TERM EXPR)* [TERM]

STMT            : CALL do [`|' [BLOCK_VAR] `|'] COMPSTMT end
                | LHS `=' COMMAND [do [`|' [BLOCK_VAR] `|'] COMPSTMT end]
                | alias FNAME FNAME
                | undef (FNAME | SYMBOL)+
                | STMT if EXPR
                | STMT while EXPR
                | STMT unless EXPR
                | STMT until EXPR
                | STMT rescue STMT
                | `BEGIN' `{' COMPSTMT `}'
                | `END' `{' COMPSTMT `}'
                | EXPR

EXPR            : MLHS `=' MRHS
                | return CALL_ARGS
                | EXPR and EXPR
                | EXPR or EXPR
                | not EXPR
                | COMMAND
                | `!' COMMAND
                | ARG

CALL            : FUNCTION
                | COMMAND

COMMAND         : OPERATION CALL_ARGS
                | PRIMARY `.' FNAME CALL_ARGS
                | PRIMARY `::' FNAME CALL_ARGS
                | super CALL_ARGS
                | yield CALL_ARGS

FUNCTION        : OPERATION [`(' [CALL_ARGS] `)']
                | PRIMARY `.' FNAME `(' [CALL_ARGS] `)'
                | PRIMARY `::' FNAME `(' [CALL_ARGS] `)'
                | PRIMARY `.' FNAME
                | PRIMARY `::' FNAME
                | super [`(' [CALL_ARGS] `)']

ARG             : LHS `=' ARG
                | LHS OP_ASGN ARG
                | ARG `..' ARG
                | ARG `...' ARG
                | ARG `+' ARG
                | ARG `-' ARG
                | ARG `*' ARG
                | ARG `/' ARG
                | ARG `%' ARG
                | ARG `**' ARG
                | `+' ARG
                | `-' ARG
                | ARG `|' ARG
                | ARG `^' ARG
                | ARG `&' ARG
                | ARG `<=>' ARG
                | ARG `>' ARG
                | ARG `>=' ARG
                | ARG `<' ARG
                | ARG `<=' ARG
                | ARG `==' ARG
                | ARG `===' ARG
                | ARG `!=' ARG
                | ARG `=~' ARG
                | ARG `!~' ARG
                | `!' ARG
                | `~' ARG
                | ARG `<<' ARG
                | ARG `>>' ARG
                | ARG `&&' ARG
                | ARG `||' ARG
                | defined? ARG
                | PRIMARY

PRIMARY         : `(' COMPSTMT `)'
                | LITERAL
                | VARIABLE
                | PRIMARY `::' identifier
                | `::' identifier
                | PRIMARY `[' [ARGS] `]'
                | `[' [ARGS [`,']] `]'
                | `{' [(ARGS|ASSOCS) [`,']] `}'
                | return [`(' [CALL_ARGS] `)']
                | yield [`(' [CALL_ARGS] `)']
                | defined? `(' ARG `)'
                | FUNCTION
                | FUNCTION `{' [`|' [BLOCK_VAR] `|'] COMPSTMT `}'
                | if EXPR THEN
                  COMPSTMT
                  (elsif EXPR THEN COMPSTMT)*
                  [else COMPSTMT]
                  end
                | unless EXPR THEN
                  COMPSTMT
                  [else COMPSTMT]
                  end
                | while EXPR DO COMPSTMT end
                | until EXPR DO COMPSTMT end
                | case [EXPR]
                  (when WHEN_ARGS THEN COMPSTMT)+
                  [else COMPSTMT]
                  end
                | for BLOCK_VAR in EXPR DO
                  COMPSTMT
                  end
                | begin
                  COMPSTMT
                  [rescue [ARGS] [`=>' LHS] THEN COMPSTMT]+
                  [else COMPSTMT]
                  [ensure COMPSTMT]
                  end
                | class identifier [`<' identifier]
                  COMPSTMT
                  end
                | module identifier
                  COMPSTMT
                  end
                | def FNAME ARGDECL
                  COMPSTMT
                  [rescue [ARGS] [`=>' LHS] THEN COMPSTMT]+
                  [else COMPSTMT]
                  [ensure COMPSTMT]
                  end
                | def SINGLETON (`.'|`::') FNAME ARGDECL
                  COMPSTMT
                  end

WHEN_ARGS       : ARGS [`,' `*' ARG]
                | `*' ARG

THEN            : TERM
                | then
                | TERM then

DO              : TERM
                | do
                | TERM do

BLOCK_VAR       : LHS
                | MLHS

MLHS            : MLHS_ITEM `,' MLHS_ITEM [(`,' MLHS_ITEM)*] [`,' `*' [LHS]]
                | MLHS_ITEM `,' `*' [LHS]
                | MLHS_ITEM [(`,' MLHS_ITEM)*] `,'
                | `*' [LHS]
                | `(' MLHS `)'

MLHS_ITEM       : LHS
                | '(' MLHS ')'

LHS             : VARNAME
                | PRIMARY `[' [ARGS] `]'
                | PRIMARY `.' identifier

MRHS            : ARGS [`,' `*' ARG]
                | `*' ARG

CALL_ARGS       : ARGS
                | ARGS [`,' ASSOCS] [`,' `*' ARG] [`,' `&' ARG]
                | ASSOCS [`,' `*' ARG] [`,' `&' ARG]
                | `*' ARG [`,' `&' ARG]
                | `&' ARG
                | COMMAND

ARGS            : ARG (`,' ARG)*

ARGDECL         : `(' ARGLIST `)'
                | ARGLIST TERM

ARGLIST         : identifier(`,'identifier)*[`,'`*'[identifier]][`,'`&'identifier]
                | `*'identifier[`,'`&'identifier]
                | [`&'identifier]

SINGLETON       : VARNAME
                | self
                | nil
                | true
                | false
                | `(' EXPR `)'

ASSOCS          : ASSOC (`,' ASSOC)*

ASSOC           : ARG `=>' ARG

VARIABLE        : VARNAME
                | self
                | nil
                | true
                | false
                | __FILE__
                | __LINE__

LITERAL         : numeric
                | SYMBOL
                | STRING
                | HERE_DOC
                | WORDS
                | REGEXP

STRING          : LITERAL_STRING+

TERM            : `;'
                | `\n'

以下のものは字句解析機で解釈されます。

OP_ASGN         : `+=' | `-=' | `*=' | `/=' | `%=' | `**='
                | `&=' | `|=' | `^=' | `<<=' | `>>='
                | `&&=' | `||='

SYMBOL          : `:'FNAME
                | `:'`@'identifier
                | `:'`@@'identifier
                | `:'GLOBAL

FNAME           : OPERATION
                | `|' | `^' | `&' | `<=>' | `==' | `===' | `=~'
                | `>' | `>=' | `<' | `<='
                | `+' | `-' | `*' | `/' | `%' | `**'
                | `<<' | `>>' | `~' | ``'
                | `+@' | `-@' | `[]' | `[]='
                | __LINE__ | __FILE__  | BEGIN | END
                | alias | and | begin | break | case | class | def
                | defined | do | else | elsif | end | ensure | false
                | for | if | in | module | next | nil | not
                | or | redo | rescue | retry | return | self | super
                | then | true | undef | unless | until | when
                | while | yield

OPERATION       : identifier
                | identifier'!'
                | identifier'?'

VARNAME         : GLOBAL
                | `@'identifier
                | `@@'identifier
                | identifier

GLOBAL          : `$'identifier
                | `$'any_char
                | `$''-'any_char

LITERAL_STRING  : `"' any_char* `"'
                | `'' any_char* `''
                | ``' any_char* ``'
                | `%'(`Q'|`q'|`x')char any_char* char

HERE_DOC        : `<<'(identifier|STRING)
                  any_char*
                  identifier
                | `<<-'(identifier|STRING)
                  any_char*
                  space* identifier

WORDS           : `%'`w'char any_char* char

REGEXP          : `/' any_char* `/'[`i'|`m'|`x'|`o'|`e'|`s'|`u'|`n']
                | `%'`r' char any_char* char


メソッド呼び出し(super・ブロック付き・yield)

  • super
  • ブロック付きメソッド呼び出し
  • yield
  • ブロックパラメータの挙動

例:

foo.bar()
foo.bar
bar()
print "hello world\n"
print
Class.new
Class::new

文法:

[式  `.'] 識別子 [`(' 式 ... [`*' [式]],[`&' 式] `)']
[式 `::'] 識別子 [`(' 式 ... [`*' [式]],[`&' 式] `)']

メソッド呼び出し式はレシーバ(`.' の左側の式の値)のメソッドを呼び 出します。レシーバが指定されない時は self のメソッドを呼び出しま す。

`.' と `::' とはほぼ同じ意味です。但し、定数を表す場合は、 `::' を使わなければいけません(例: Math::PI)。逆に、

Klass::Foo

とした場合、常に定数と見なされるという制限があります。 `::' を、クラスメソッド呼び出しに使うという流儀がありますが、 この点は要注意です。大文字で始まるメソッド名を使用する場合は

Klass.Foo

と `.' を使うか、

Klass::Foo()

と括弧でメソッド呼び出しであることを明示する必要があります。

メソッド名には通常の識別子の他、識別子に ? または ! の続い たものが許されます。慣習として、述語(真偽値を返すメソッド)には ? を、同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッ ド(例: tr と tr!)には ! をつけるようになっています。

最後の引数の直前に * がついている場合、その引数の値が展開されて 渡されます。展開はメソッド to_a を経由して行なわれます。つまり:

foo(1,*[2,3,4])
foo(1,*[])

は、それぞれ

foo(1,2,3,4)
foo(1)

と同じです。

最後の引数の直前に & がついている場合、その引数で指定した手続き オブジェクト(Proc)やメソッドオブジェクト(Method)がブロック としてメソッドに渡されます。詳細は ブロック付きメソッド呼び出し を参照してください。

メソッド呼び出しの際、private なメソッドは関数形式(レシーバを省 略した形式)でしか呼び出すことができません。また protected なメソッ ドはそのメソッドを持つオブジェクトのメソッド定義式内でなければ呼び出せ ません。クラス／メソッドの定義/呼び出し制限 を参照して下さい。

super

例:

super
super(1,2,3)

文法:

super
super(式, ... )

super は現在のメソッドがオーバーライドしているメソッドを呼び出し ます。括弧と引数が省略された場合には現在のメソッドの引数がそのまま引き 渡されます。引数を渡さずにオーバーライドしたメソッドを呼び出すには super() と括弧を明示します。

例:

class Foo
  def foo(arg=nil)
    p arg
  end
end

class Bar < Foo
  def foo(arg)
    super(5)       # 5 を引数にして呼び出す
    super(arg)     # 5 を引数にして呼び出す
    super          # 5 を引数にして呼び出す super(arg) の略記法
    arg = 1
    super          # 1 を引数にして呼び出す super(arg) の略記法
    super()        # 引数なしで呼び出す
  end
end
Bar.new.foo 5

ブロック付きメソッド呼び出し

例:

[1,2,3].each do |i| print i*2, "\n" end
[1,2,3].each {|i| print i*2, "\n" }

文法:

method(arg1, arg2, ...)  do [`|' 式 ... `|'] 式 ... end
method(arg1, arg2, ...) `{' [`|' 式 ... `|'] 式 ... `}'
method(arg1, arg2, ..., `&' proc_object)

ブロック付きメソッドとは制御構造の抽象化のために用いられる メソッドです。最初はループの抽象化のために用いられていたため、 特にイテレータと呼ばれることもあります。 do ... end または { ... } で囲まれたコードの断片 (ブロックと呼ばれる)を後ろに付けてメソッドを呼び出すと、その メソッドの内部からブロックを評価できます。 ブロック付きメソッドを自分で定義するには yield 式を使います。

{ ... } の方が do ... end ブロックよりも強く結合します 次に例を挙げますが、このような違いが影響するコードは読み辛いので避けましょう:

foobar a, b do .. end   # foobarの引数はa, bの値とブロック
foobar a, b { .. }      # ブロックはメソッドbの引数、aの値とbの返り値とがfoobarの引数

ブロックの中で初めて代入された(宣言された)ローカル変数はその ブロックの中でだけ有効です。例えば:

foobar {
  i = 20                # ローカル変数 `i' が宣言された
   ...
}
print defined? i        # `i' はここでは未定義なので false
foobar a, b do
  i = 11                # まったく別の変数 i の宣言
   ...
end

以下は逆にブロック外でも有効な例です。

i = 10
[1,2,3].each do |m|
  p i * m               # いきなり i を使える
end

ブロックの部分だけを先に定義して変数に保存しておき、後からブロック付きメソッドに渡すことも出来ます。 それを実現するのが手続きオブジェクト(Proc)です。 それをブロックとして渡すにはブロック付きメソッドの最後の引数として `&' で修飾した手続きオブジェクトを渡 します。Proc の代わりにメソッドオブジェクト(Method)を渡す ことも出来ます。この場合、そのメソッドを呼ぶ手続きオブジェクトが生成さ れ渡されます。

# 1引数の手続き(その働きは引数をpで印字すること)を生成し、変数pobjに格納
pobj = proc {|v|
  p v
}

[1,2,3].each(&pobj) # 手続きオブジェクトをブロックの代わりに渡している
=> 1
   2
   3

to_proc メソッドを持つオブジェクトならば、`&' 修飾した引数として渡すことができます。デフォルトで Proc、Method オブジェ クトは共に to_proc メソッドを持ちます。to_proc はメソッド呼び出し時に実 行され、Proc オブジェクトを返すことが期待されます。

class Foo
  def to_proc
    Proc.new {|v| p v}
  end
end

[1,2,3].each(&Foo.new)

=> 1
   2
   3

ブロック付きメソッドの戻り値は、通常のメソッドと同様ですが、ブロックの中から 制御構造/break により中断された場合は nil を返します。

break に引数を指定した場合はその値がブロック付きメソッドの戻り値になります。

yield

自分で定義したブロック付きメソッドでブロックを呼び出すときに使います。 yield に渡された値はブロック記法において | と | の間にはさまれた 変数(ブロックの引数)に代入されます。

例:

yield data

文法:

yield `(' [式 [`,' 式 ... ]] `)'
yield [式 [`,' 式 ... ]]

引数をブロックの引数として渡してブロックを評価します。yield は イテレータを定義するために クラス／メソッドの定義/メソッド定義 内で使用します。

# ブロック付きメソッドの定義、
# その働きは与えられたブロック(手続き)に引数1, 2を渡して実行すること
def foo
  yield(1,2)
end

# fooに「2引数手続き、その働きは引数を配列に括ってpで印字する」というものを渡して実行させる
foo {|a,b|
  p [a, b]
}  # => [1, 2] (要するに p [1, 2] を実行した)

# 今度は「2引数手続き、その働きは足し算をしてpで印字する」というものを渡して実行させる
foo {|a, b|
  p a + b
}  # => 3 (要するに p 1 + 2 を実行した)

# 今度のブロック付きメソッドの働きは、
# 与えられたブロックに引数10を渡して起動し、続けざまに引数20を渡して起動し、
# さらに引数30を渡して起動すること
def bar
  yield 10
  yield 20
  yield 30
end

# barに「1引数手続き、その働きは引数に3を足してpで印字する」というものを渡して実行させる
bar {|v|
  p v + 3
}
# => 13
#    23
#    33 (同じブロックが3つのyieldで3回起動された。
#        具体的には p 10 + 3; p 20 + 3; p 30 + 3 を実行した)

# Array#eachの(粗製乱造の)類似品
def iich(arr) # 引数に配列を取る
  idx = 0
  while idx < arr.size
    yield(arr[idx]) # 引数の各要素毎に、その要素を引数にしてブロックを起動
    idx += 1
  end
end

sum = 0
iich([1, 4, 9, 16, 25]) {|elem|
  sum += elem
}
p sum # => 55

ブロック引数の代入は演算子式/多重代入と同じルールで行われます。 また yield を実行したメソッドにブロックが渡されていない (ブロック付きメソッド呼び出しではない)時は例外 LocalJumpError が発生します。

yield はブロック内で最後に評価した式の値を返します。また、 制御構造/next によりブロックの実行が中断された場合は nil を返します。

next に引数を指定した場合はその値が yield の戻り値になります。

ブロックパラメータの挙動

メソッド呼び出しと挙動が異なります。例えば引数の数が違っても例外が 発生しません。

ブロックパラメータの受渡しは、以下の点に関して将来変更されるかもしれま せん。現在は警告が出ます。

def foo
  yield 1,2,3
end

foo {|v| p v}

# => -:5: warning: multiple values for a block parameter (3 for 1)
     [1, 2, 3]

これは、

yield [1,2,3]

あるいは

foo {|*v| p v}

とするべきです。同様の多重代入

v = 1,2,3

は現在のところ警告は出ませんが使用しない方がよいでしょう。


クラス

クラスとオブジェクト

Ruby プログラムからはクラスもまたオブジェクトとして扱うことが でき、文による操作と合わせると以下の基本操作が可能です。

  • メソッドの存在を問い合わせる
  • メソッドを定義する
  • メソッドの定義を取り消す

モジュール

特異クラス


コマンド

Ruby では以下のコマンドが提供されます。

  • erb 埋め込みRuby処理ツール
  • [[unknown:irb]] Ruby の対話インタフェース
  • [[unknown:rdoc]] RDoc
  • [[unknown:ri]] RDoc で書かれた Ruby のドキュメントをコマンドラインから参照
  • [[unknown:ruby|Rubyの起動]] Ruby 本体
  • testrb ユニットテスト実行ツール

これらのコマンドは以下で説明される環境変数を参照します。

  • 環境変数


制御構造

条件分岐:

  • if
  • unless
  • case

繰り返し:

  • while
  • until
  • for
  • break
  • next
  • redo
  • retry

例外処理:

  • raise
  • begin

その他:

  • return
  • BEGIN
  • END

Rubyでは(Cなどとは異なり)制御構造は式であって、何らかの値を返すものが あります(返さないものもあります。値を返さない式を代入式の右辺に置くと parse error になります)。

RubyはC言語やPerlから引き継いだ制御構造を持ちますが、 その他にメソッド呼び出し(super・ブロック付き・yield)/ブロック付きメソッド呼び出しという 制御構造の抽象化を援助する機能があります。ブロック付きメソッド呼び出しは 繰り返しを始めとする制御構造をクラス設計者が定義する事が出来るものです.

条件分岐

if

例:

if age >= 12 then
  print "adult fee\n"
else
  print "child fee\n"
end
gender = if foo.gender == "male" then "male" else "female" end

文法:

if 式 [then]
  式 ...
[elsif 式 [then]
  式 ... ]
...
[else
  式 ... ]
end

条件式を評価した結果が真である時、then 以下の式を評価します。 if の条件式が偽であれば elsif の条件を評価します。 elsif 節は複数指定でき、全ての if および elsif の条件式が偽であったとき else 節があればその式が評価されます。

if 式は、条件が成立した節(あるいは else 節)の最後に評価し た式の結果を返します。else 節がなくいずれの条件も成り立たなけれ ば nil を返します。

Ruby では false または nil だけが偽で、それ以外は 0 や空文 字列も含め全て真です。

Ruby では if を繋げるのは elsif であり、else if (C のように)でも elif(sh のように)でもないことに注意してください。

また if の条件式が正規表現のリテラルである時には特別に

$_ =~ リテラル

であるかのように評価されます。

if 修飾子

例:

print "debug\n" if $DEBUG

文法:

式 if 式

右辺の条件が成立する時に、左辺の式を評価してその結果を返します。 条件が成立しなければ nil を返します。

unless

例:

unless baby?
  feed_meat
else
  feed_milk
end

文法:

unless 式 [then]
  式 ...
[else
  式 ... ]
end

unless は if と反対で、条件式が偽の時に then 以下の 式を評価します。unless 式にelsif を指定することはできませ ん。

unless 修飾子

例:

print "stop\n" unless valid(passwd)

文法:

式 unless 式

右辺の条件が成立しない時に、左辺の式を評価してその結果を返します。 条件が成立しなければ nil を返します。

case

例:

case $age
when 0 .. 2
  "baby"
when 3 .. 6
  "little child"
when 7 .. 12
  "child"
when 13 .. 18
  "youth"
else
  "adult"
end

文法:

case [式]
[when 式 [, 式] ...[, `*' 式] [then]
  式..]..
[when `*' 式 [then]
  式..]..
[else
  式..]
end

case は一つの式に対する一致判定による分岐を行います。when 節で指定された値と最初の式を評価した結果とを演算子 === を用いて 比較して、一致する場合には when 節の本体を評価します。

つまり、

case 式0
when 式1, 式2
  stmt1
when 式3, 式4
  stmt2
else
  stmt3
end

は以下の if 式とほぼ等価です。

_tmp = 式0
if 式1 === _tmp or 式2 === _tmp
  stmt1
elsif 式3 === _tmp or 式4 === _tmp
  stmt2
else
  stmt3
end

when 節の評価順序はこの上記 if 文に書き直した場合と同じです。つまり上 から順に(そして左から順に) === が評価されます。また「式0」は1回だけ評 価されます。

when 節の最後の式に `*' を前置すればその式は配列展開されます。

ary = [1,2,3]

case v
when *ary
 ..
end

は、

case v
when 1, 2, 3
 ..
end

と等価です。

また === がどのような条件で真になるかは、各クラスの === メソッ ドの動作についてのドキュメントを参照して下さい。

case の「式」を省略した場合、when の条件式が偽でない最初の 式を評価します。

foo = false
bar = true
quu = false

case
when foo then puts 'foo is true'
when bar then puts 'bar is true'
when quu then puts 'quu is true'
end
# "bar is true"と表示される

case は、条件が成立した when 節、(あるいは else 節) の最後に評価した式の結果を返します。いずれの条件も成り立たなければ nil を返します。

繰り返し

while

例:

ary = [0,2,4,8,16,32,64,128,256,512,1024]
i = 0
while i < ary.length
  print ary[i]
  i += 1
end

文法:

while 式 [do]
   ...
end

式を評価した値が真の間、本体を繰り返し実行します。 while は値を返しません。

while は nil を返します。また、引数を伴った break により while 式の戻り値をその値にすることもできます。

while 修飾子

例:

sleep(60) while io_not_ready?

文法:

式 while 式

右辺の式を評価した値が真の間、左辺を繰り返し実行します。

左辺の式が rescue 節も ensure 節もない begin である場合には、 それを最初に一回評価してから繰り返します。

rescue/ensure 節があっても、同様に解釈されます。

例:

send_request(data)
begin
  res = get_response()
end while res == 'Continue'

while 修飾した式は値を返しません。

while 修飾した式は nil を返します。 また、引数を伴った break により while 修飾した式の戻り値を その値にすることもできます。

until

例:

until f.eof?
  print f.gets
end

文法:

until 式 [do]
   ...
end

式を評価した値が真になるまで、本体を繰り返して実行します。 until は、値を返しません。

until は nil を返します。また、引数を伴った break により until 式の戻り値をその値にすることもできます。

until修飾子

例:

print(f.gets) until f.eof?

文法:

式 until 式

右辺の式を評価した値が真になるまで、左辺を繰り返して実行しま す。

左辺の式が rescue 節も ensure 節もない begin である場合には、 それを最初に一回評価してから繰り返します。

rescue/ensure 節があっても、同様に解釈されます

例:

send_request(data)
begin
  res = get_response()
end until res == 'OK'

until 修飾した式は値を返しません。

until 修飾した式は nil を返します。 また、引数を伴った break により until 修飾した式の戻り値をその値にすることもできます。

for

例:

for i in [1, 2, 3]
  print i*2, "\n"
end

文法:

for lhs ...  in 式 [do]
  式..
end

式を評価した結果のオブジェクトの各要素に対して本体を繰り返し て実行します。これは以下の式とほぼ等価です。

(式).each `{' `|' lhs..`|' 式.. `}'

「ほぼ」というのは、do ... endまたは{ }による ブロックは新しいローカル変数の有効範囲を導入するのに対し、 for文はローカル変数のスコープに影響を及ぼさない点が 異なるからです。

for は、in に指定したオブジェクトの each メソッドの戻り値を返します。

複数のループ変数指定は以下のような場合に使用します。

for i,j in [[1,2], [3,4], [5,6]]
  p [i,j]
end
=> [1, 2]
   [3, 4]
   [5, 6]

for や each で配列要素を複数個ずつ取得しながらループすることは できません。

for i,j in [1, 2, 3]
  p [i,j]
end

=> [1, nil]
   [2, nil]
   [3, nil]

# [1,2] [3,nil] を期待するかもしれないがそうはならない

代わりにそのようなメソッド(イテレータ)を定義する必要があります。 Array#each の例も参照してください。

class Array
  def each2
    i = 0
    while i < self.size
      yield self[i], self[i+1]
      i += 2
    end
  end
end

break

例:

i = 0
while i < 3
  print i, "\n"
  break
end

文法:

break

break val

break はもっとも内側のループを脱出します。ループとは

  • while
  • until
  • for
  • イテレータ

のいずれかを指します。C 言語と異なり、break はループを脱出する作 用だけを持ち、case を抜ける作用は持ちません。

break によりループを抜けた for やイテレータは nil を返します。 ただし、引数を指定した場合はループの戻り値はその引数になります。

next

例:

# 空行を捨てるcat
ARGF.each_line do |line|
  next if line.strip.empty?
  print line
end

文法:

next

next val

nextはもっとも内側のループの次の繰り返しにジャンプします。 イテレータでは、yield 呼び出しの脱出になります。

next により抜けた yield 式は nil を返します。 ただし、引数を指定した場合、yield 式の戻り値はその引数になります。

redo

例:

redo

文法:

redo

ループ条件のチェックを行なわず、現在の繰り返しをやり直します。

retry

例:

retry

文法:

retry

イテレータ、ブロックまたはfor文の中で使われた場合には、そのイテレータ を起動しなおします。イテレータの引数も再評価されます。

for i in 1..5
  retry if some_condition # i == 1 からやり直し
end

# ユーザ定義の "untilループ"
def UNTIL(cond)
  return if cond
  yield
  retry
end

retry は、ループ以外に後述の rescue 節でも使えます。この場 合は、begin 式を始めからもう一度実行します。retry を使うこ とである処理が成功するまで処理を繰り返すようなループを作ることができます。

begin
  do_something # exception raised
rescue
  # handles error
  retry  # restart from beginning
end

rescue 節やイテレータブロック、for 文以外で retry が用い られた場合には例外 LocalJumpError が発生します。 ((-あるいは、突然エラーになってインタプリタが終了します。 retry #=> -:1: retry outside of rescue clause-))

イテレータ呼び出しにおける break, next, redo, retry をまとめると以下のようになります。

def iter
 (a)
  :
 (b)
 yield
 (c)
  :
 (d)
end
iter { retry }   -> (a) へ飛ぶ
iter { redo  }   -> (b) へ飛ぶ
iter { next  }   -> (c) へ飛ぶ
iter { break }   -> (d) へ飛ぶ

(a) は、厳密には引数評価から始まります。(b) はブロック実行の直前を指し ています(yield の引数が再評価されるわけではない)。(d) は、メソッドの終 了です。

def iter(var = p("(a)"))
  p " : "
  yield
  p "(c)"
  p " : "
ensure
  p "(d)"
end
iter { p "(b)"; retry }     # => (a) .. (b)(d)(a) .. (b)(d)(a) ...
iter { p "(b)"; redo  }     # => (a) .. (b)(b)(b)(b) ...
iter { p "(b)"; next  }     # => (a) .. (b)(c) .. (d)
iter { p "(b)"; break }     # => (a)..(b)(d)

((-あらい 2002-01-13: ensure は大域脱出を捕まえるので retry が (d) に飛んでいるあまり良い例じゃないか-))

例外処理

raise

例:

raise "you lose"  # 例外 RuntimeError を発生させる
# 以下の二つは SyntaxError を発生させる
raise SyntaxError, "invalid syntax"
raise SyntaxError.new("invalid syntax")
raise             # 最後の例外の再発生

文法:

raise
raise messageまたはexception
raise error_type, message
raise error_type, message, traceback

例外を発生させます。第一の形式では直前の例外を再発生させます。 第二の形式では、引数が文字列であった場合、その文字列をメッセー ジとする RuntimeError 例外を発生させます。引数が例外 オブジェクトであった場合にはその例外を発生させます。第三の形式 では第一引数で指定された例外を、第二引数をメッセージとして発生さ せます。第四の形式の第三引数は $@または Kernel.#callerで得られる スタック情報で、例外が発生した場所を示します。

発生した例外は後述の begin 式の rescue 節で捕らえることができます。 その場合 rescue error_type => var の形式を使えば 例外オブジェクトを得られます。このオブジェクトは組み込み 変数 $! でも得られます。また例外が 発生したソースコード上の位置は変数 $@ に格納されます。

Kernel.#raise は Ruby の予約語ではなく、Kernel モジュールで 定義されている関数的メソッドです。

begin

例:

begin
  do_something
rescue
  recover
ensure
  must_to_do
end

文法:

begin
  式..
[rescue [error_type,..] [=> evar] [then]
  式..]..
[else
  式..]
[ensure
  式..]
end

本体の実行中に例外が発生した場合、rescue 節(複数指定できます)が 与えられていれば例外を捕捉できます。発生した例外と一致する rescue 節が存在する時には rescue 節の本体が実行されます。 発生した例外は $! を使って参照することができます。また、 指定されていれば変数 evar にも $! と同様に発生した例外が格 納されます。

begin
  raise "error message"
rescue => evar
  p $!
  p evar
end
# => #<RuntimeError: error message>
     #<RuntimeError: error message>

例外の一致判定は例外のクラスが rescue 節で指定したクラスと同じか またはサブクラスであるかどうか Object#kind_of? を用いて判 定されます。 例外の一致判定は Module#=== を用いて行われます。

error_type が省略された時は StandardError のサブクラスであ る全ての例外を捕捉します。Rubyの組み込み例外は(SystemExit や Interrupt のような脱出を目的としたものを除いて) StandardError のサブクラスです。

例外クラスのクラス階層については [[unknown:組み込みクラス／モジュール／例外クラス/例外クラス]] を参照してください。

rescue では error_type は通常の引数と同じように評価され、 そのいずれかが一致すれば本体が実行されます。error_type を評価し た値がクラスやモジュールでない場合には例外 TypeError が発生しま す。

省略可能な else 節は、本体の実行によって例外が発生しなかった場合 に評価されます。

ensure 節が存在する時は begin 式を終了する直前に必ず ensure 節の本体を評価します。

begin式全体の評価値は、本体／rescue節／else節のうち 最後に評価された文の値です。また各節において文が存在しなかったときの値 はnilです。いずれにしてもensure節の値は無視されます。

rescue修飾子

例:

open("nonexistent file") rescue STDERR.puts "Warning: #$!"

文法:

式1 rescue 式2

式1で例外が発生したとき、式2を評価します。 以下と同じ意味です。捕捉する例外クラスを指定することはできません。 (つまり、StandardError 例外クラスのサブクラスだけしか捕捉できません)

begin
  式1
rescue
  式2
end

rescue修飾子を伴う式の値は例外が発生しなければ式1、例外が発生すれば式2 です。ただし、大抵の場合、優先順位の都合により式全体を括弧で囲む必要が あります。

var = open("nonexistent file") rescue false
p var
=> nil      # 値を持たない変数 var が定義されただけ

var = (open("nonexistent file") rescue false)
p var
=> false

特にメソッドの引数に渡す場合は二重に括弧が必要となります。

p(open("nonexistent file") rescue false)
=> parse error

p((open("nonexistent file") rescue false))
=> false

rescue の優先度が変更され、この心配はなくなっています。

var = open("nonexistent file") rescue false
p var
=> false

p(open("nonexistent file") rescue false)
=> false

その他

return

例:

return
return 12
return 1,2,3

文法:

return [式[`,' 式 ... ]]

式の値を戻り値としてメソッドの実行を終了します。式が2つ以上 与えられた時には、それらを要素とする配列をメソッドの戻り値と します。式が省略された場合には nil を戻り値とします。

BEGIN

例:

BEGIN {
   ...
}

文法:

BEGIN '{' 文.. '}'

初期化ルーチンを登録します。BEGINブロックで指定した文は当該ファ イルのどの文が実行されるより前に実行されます。複数のBEGINが指定 された場合には指定された順に実行されます。

BEGINブロックはコンパイル時に登録されます。即ち一つの記述につき ただ一回だけ登録が行われます。

if false
  BEGIN { p "begin" }
end

# => "begin"

BEGINブロックは独立したローカル変数のスコープを導入するため、ロー カル変数を外部と共有できません。ブロックの外と情報を伝達するには定数や グローバル変数などを介する必要があります。

BEGIN { $foo, foo = true, true }
p $foo  # => true
p foo   # undefined local variable or method `foo' for main:Object (NameError)

BEGINはメソッド定義式中には書けません。parse error になります。

def foo
  BEGIN { p "begin" }
end
# => -:2: BEGIN in method

END

例:

END {
   ...
}

文法:

END '{' 文.. '}'

「後始末」ルーチンを登録します。END ブロックで指定した文はインタ プリタが終了する時に実行されます。Ruby の終了時処理について詳しくは 終了処理を参照してください。

複数の END ブロックを登録した場合は、登録したときと逆の順序で実 行されます。

END { p 1 }
END { p 2 }
END { p 3 }

# => 3
     2
     1

END ブロックは一つの記述につき最初の一回のみ有効です。たとえば以 下のようにループの中で実行しても複数の END ブロックが登録される わけではありません。そのような目的には Kernel.#at_exit を使 います。

5.times do |i|
  END { p i }
end
# => 0

END をメソッド定義式中に書くと警告が出ます 意図的にこのようなことを行いたい場合は Kernel.#at_exit を使 います。

def foo
  END { p "end" }
end
p foo

# => -:2: warning: END in method; use at_exit
     nil
     "end"

END は、BEGIN とは異なり実行時に後処理を登録します。したがっ て、以下の例では END ブロックは実行されません。

if false
  END { p "end" }
end

END や Kernel.#at_exit で登録した後処理を取り消すこと はできません。

END ブロックは BEGIN ブロックとは異なり周囲とスコープを共有し ます。すなわちイテレータと同様のスコープを持ちます。

END ブロックの中で発生した例外はその END ブロックを中断し ますが、すべての後始末ルーチンが実行されるよう、インタプリタは終了せず にメッセージだけを出力します。

例:

END { p "FOO" }
END { raise "bar"; p "BAR" }
END { raise "baz"; p "BAZ" }

=> baz (RuntimeError)
   bar (RuntimeError)
   "FOO"


クラス／メソッドの定義

  • クラス定義
  • 特異クラス定義
  • モジュール定義
  • メソッド定義
  • 演算子式の定義
  • メソッド定義のネスト
  • メソッドの評価
  • 特異メソッド定義
  • クラスメソッドの定義
  • 呼び出し制限

定義に関する操作:

  • alias
  • undef
  • defined?

クラス定義

例:

class Foo < Super
  def test
     :
  end
     :
end

文法:

class 識別子 [`<' superclass ]
  式..
end

文法:

class 識別子 [`<' superclass ]
  式..
[rescue [error_type,..] [=> evar] [then]
  式..]..
[else
  式..]
[ensure
  式..]
end

クラスを定義します。クラス名はアルファベットの大文字で始まる識別子です。 rescue/ensure 節を指定できます。

クラス定義は、識別子で指定した定数へのクラスの代入になります (Ruby では、クラスもオブジェクトの一つで Classクラスの インスタンスです)。

クラスが既に定義されているとき、さらに同じクラス名でクラス定義を書くとク ラスの定義の追加になります。ただし、元のクラスと異なるスーパークラスを 明示的に指定して定義すると、元のクラスとは異なる新たなクラスを同名で定 義することになります。このとき、クラス名の定数を上書きすることになるの で警告メッセージが出ます。

class Foo < Array
  def foo
  end
end

# 定義を追加(スーパークラス Array を明示的に指定しても同じ)
class Foo
  def bar
  end
end

# 別のクラスを定義(スーパークラスが異なるので)
class Foo < String
end
# => warning: already initialized constant Foo

クラス定義式の中は self がそのクラスであることと、 呼び出し制限のデフォルトが異なること以外 にトップレベルとの違いはありません。クラス定義式中には任意の式を書くこ とができクラス定義の際に実行されます。

クラス定義はネスト(入れ子)にして定義できます。以下の例で入れ子の外側の クラス Foo と内側のクラス Bar の間には、定数 Bar が Foo の中の定数 Foo::Bar であること以外、継承関係などの機能的な関連はまったくありません。

class Foo
  class Bar
  end
end

クラス Foo が既に定義されていれば、以下の書き方もできます。

class Foo
end

class Foo::Bar
end

クラスのネストは、意味的に関連するクラスを外側のクラス／モジュールでひ とまとまりにしたり、包含関係を表すために使用されます。

# 関連するクラスを Net というカテゴリにまとめる
# このような場合は外側は普通モジュールが利用される
# (Net のインスタンスがない。Net を include できるなどのため)
module Net
  class HTTP
  end
  class FTP
  end
end

obj = Net::HTTP.new

# あるいは

include Net
obj = HTTP.new

# 以下のような使い方は組み込みのクラスにも見られる
# 利用者は File::Constants を include することで、
# File::RDONLY などと書かずに直接 RDONLY と書くことができる。
class File
  module Constants
     RDONLY = 0
     WRONLY = 1
  end
  include Constants
end

File.open("foo", File::RDONLY)

# あるいは

include File::Constants
File.open("foo", RDONLY)

# 上記はあくまでも例である。実際の File.open ではより簡便な
# File.open("foo", "r") という形式が使われる

クラス定義式は、最後に評価した式の結果を返します。最後に評価した式 が値を返さない場合は nil を返します。

特異クラス定義

例:

obj = Object.new # obj = nil でも可
class << obj
  def test
     :
  end
     :
end

文法:

class `<<' expr
  式..
end

文法:

class `<<' expr
  式..
[rescue [error_type,..] [=> evar] [then]
  式..]..
[else
  式..]
[ensure
  式..]
end

クラス定義と同じ構文で特定のオブジェクトにメソッドやインスタンス変数を 定義/追加します。この構文の内部で定義したメソッドや定数は指定した オブジェクトに対してだけ有効になります。 Object#clone で生成したオブジェクトには引き継がれますが， Object#dup で生成したオブジェクトには引き継がれません．

rescue/ensure 節を指定できます。

特異クラス定義式は、最後に評価した式の結果を返します。最後に評価した式 が値を返さない場合は nil を返します。

モジュール定義

例:

module Foo
  def test
     :
  end
     :
end

文法:

module 識別子
  式..
end

文法:

module 識別子
  式..
[rescue [error_type,..] [=> evar] [then]
  式..]..
[else
  式..]
[ensure
  式..]
end

モジュールを定義します。モジュール名はアルファベットの大文字 で始まる識別子です。 rescue/ensure 節を指定できます。

モジュール定義は、識別子で指定した定数へのモジュールの代入になります。 Ruby では、モジュールもオブジェクトの一つで Module クラスのインスタンスです。 モジュールが既に定義されいるとき、さらに同じモジュール名でモジュール定 義を書くとモジュールの定義の追加になります。

モジュール定義式は、最後に評価した式の結果を返します。最後に評価した式 が値を返さない場合は nil を返します。

メソッド定義

例:

def fact(n)
  if n == 1 then
     1
  else
    n * fact(n-1)
  end
end

文法:

def メソッド名 [`(' [arg0 ['=' default0]] ... [`,' `*' rest_args] [',' '&' block_arg]`)']
  式.. (body)
[rescue [error_type,..] [=> evar] [then]
  式..]..
[else
  式..]
[ensure
  式..]
end

この定義のある場所にメソッドを定義します。すなわち、クラス/モジュール 定義中ならばそのクラス/モジュールのメソッドを定義します。トップレベル ならばどこからでも呼べるメソッドを定義します。このようなメソッドは結果 として他の言語における「関数」のように使えます。

例:

def hello    # 引数のないメソッド。
  puts "Hello, world!"
end

def foo(a, b)    # 引数のあるメソッド。括弧を省いてdef foo a, bとも
  a + 3 * b
end

メソッド名としては通常の識別子の他に、再定義可能な演算子(例: ==, +, - など 演算子式 を参照)も指定できます(演算子式の定義参照)。

例:

class Vector2D
  attr_accessor :x, :y   # インスタンス変数@x, @yに対応するゲッタとセッタを定義
  def initialize(x, y)   # コンストラクタ
    @x = x; @y = y   # @がつくのがインスタンス変数（メンバ変数）
  end
  def ==(other_vec)   # いわゆる演算子オーバーライド
    other_vec.x == @x && other_vec.y == @y
  end
  def +(other_vec)
    Vector2D.new(other_vec.x + @x, other_vec.y + @y)
  end
  ...
end
vec0 = Vector2D.new(10, 20); vec1 = Vector2D.new(20, 30)
p vec0 + vec1 == Vector2D.new(30, 50) #=> true

仮引数にデフォルト式が与えられた場合、メソッド呼び出しで実引数を省略し たときのデフォルト値になります。 ただし実引数との対応を取るため、i番目の引数にデフォルト値を指定したならば、 i+1番目以降でも全てデフォルト値を指定するか、可変長引数を利用しなければなりません（詳細は後述）。 デフォルト式の評価は呼び出し時にメソッド定義内のコンテキストで行われます。

例:

def foo(x, y = 1)    # 2番目の引数yにデフォルト値を指定
  10 * x + y
end
p foo(1, 5)  #=> 15
p foo(3)     #=> 31
p foo        #=> ArgumentError (wrong number of arguments)

$gvar = 3
def bar(x, y = $gvar)  # 確かに定義時には$gvar == 3だが
  10 * x + y
end
$gvar = 7
# 呼び出し時の$gvarの値が使われる
p bar(5)   #=> 57 (!= 53)

最後の仮引数の直前に * がある場合には残りの実引数はみな配列とし てこの引数に格納されます。 可変長引数などと呼ばれる機能です。

例:

def foo(x, *xs)
  puts "#{x} : #{xs.inspect}"   # Object#inspect は p のような詳細な内部表示
end
foo(1)        #=> 1 : []
foo(1, 2)     #=> 1 : [2]
foo(1, 2, 3)  #=> 1 : [2, 3]

def bar(x, *) # 残りの引数を単に無視したいとき
  puts "#{x}"
end
bar(1)        #=> 1
bar(1, 2)     #=> 1
bar(1, 2, 3)  #=> 1

最後の仮引数の直前に & があるとこのメソッドに与えられているブロッ クが手続きオブジェクト(Proc)としてこの引数に格納されます。これは、 イテレータを定義する方法の一つです。イテレータを定義する代表的な方法は yield を呼び出すことです。 他に Proc.new/Kernel.#proc を使う方法などもあります。 ブロックが与えられなかった場合のブロック引数の値はnilです。

例:

def foo(cnt, &block_arg)
  cnt.times { block_arg.call } # ブロックに収まったProcオブジェクトはcallで実行
end
foo(3) { print "Ruby! " } #=> Ruby! Ruby! Ruby!

メソッド定義において、仮引数はその種類毎に以下の順序でしか指定すること はできません。いずれも省略することは可能です。

  • デフォルト式のない引数(複数指定可)
  • デフォルト式のある引数(複数指定可)
  • * を伴う引数(1つだけ指定可)
  • & を伴う引数(1つだけ指定可)

例:

# すべて持つ
def foo(arg0, arg1, arg2 = 10, *rest, &block)
  block.call if block
  puts "#{arg0}: #{arg1}: #{arg2}?: #{rest.inspect}"
end
foo(1, 2, 3, 4, 5) { print "Args are " }  #=> Args are 1: 2: 3?: [4, 5]

例: イテレータの定義

# yield を使う
def foo
# block_given? は、メソッドがブロックを渡されて
# 呼ばれたかどうかを判定する組み込み関数
  if block_given?
    yield(1,2)
  end
end

# Proc.new を使う
def bar
  if block_given?
    Proc.new.call(1,2)    # proc.call(1,2) でも同じ(proc は組み込み関数)
  end
end

# 応用: 引数として Proc オブジェクトとブロックの
# 両方を受け付けるイテレータを定義する例
def foo(block = Proc.new)
  block.call(1,2)
end
foo(proc {|a,b| p [a,b]})
foo {|a,b| p [a,b]}

# ブロック引数を使う
def baz(&block)
  if block
    block.call(1,2)
  end
end

またメソッド実行時の例外を捕捉するために begin 式と同様 のrescue, else, ensure 節を指定できます。

メソッド定義式は、nil を返します。

演算子式の定義

演算子式において、「再定義可能な演算子」に分類された演算子の実装 はメソッドなので、定義することが可能です。

これらの演算子式を定義する例を以下に挙げます。

# 二項演算子
def +(other)                # obj + other
def -(other)                # obj - other

# 単項プラス/マイナス
def +@                      # +obj
def -@                      # -obj

# 要素代入
def foo=(value)             # obj.foo = value

# [] と []=
def [](key)                 # obj[key]
def []=(key, value)         # obj[key] = value
def []=(key, key2, value)   # obj[key, key2] = value

# バッククォート記法
def `(arg)                  # `arg` または %x(arg)

バッククォート記法の実装はメソッドなのでこのように再定義が可能です。普 通はこのメソッドを再定義するべきではありませんが、まれにOS(シェル)のコ マンド実行の挙動に不具合がある場合などに利用できます。

メソッド定義のネスト

ネスト可能です。ネストされた定義式は、 それを定義したメソッドが実行された時に定義されます。このことを除けば、 普通のメソッド定義式と同じです。以下の例を参照してください。

class Foo
  def foo
    def bar
      p :bar
    end
  end

  def Foo.method_added(name)
    puts "method \"#{name}\" was added"
  end
end
obj = Foo.new
obj.bar rescue nil # => undefined method `bar' for #<Foo:0x4019eda4>
obj.foo            # => method "bar" was added
obj.foo            # => warning: method redefined; discarding old bar
Foo.new.bar        # => :bar  (他のインスタンスでも定義済み)

メソッドの評価

メソッドが呼び出されると、以下の順で式が評価されます。

  • 指定されていれば引数のデフォルト式
  • メソッドの本体 body
  • 指定されていれば例外の発生の有無によりメソッド定義式の rescue 節または else 節
  • 指定されていれば ensure 節

引数のデフォルト式も含め、すべてそのメソッドのコンテキストで評価されます。

メソッドの戻り値は return に渡した値です。return が呼び出されなかった場合は、 body の最後の式の値を返します。 body の最後の式が値を返さない式の場合は nil を返します。

またメソッドは定義する前に呼び出すことはできません。例えば

foo          # <- foo は未定義
def foo
  print "foo\n"
end

は未定義メソッドの呼び出しで例外 NameError を発生させます。

特異メソッド定義

例:

def foo.test
  print "this is foo\n"
end

文法:

def 式 `.' 識別子 [`(' [引数 [`=' default]] ... [`,' `*' 引数 ]`)']
  式..
[rescue [error_type,..] [=> evar] [then]
  式..]..
[else
  式..]
[ensure
  式..]
end

特異メソッドとはクラスではなくある特定のオブジェクトに固有の メソッドです。特異メソッドの定義はネストできます。

クラスの特異メソッドはそのサブクラスにも継承されます。言い替 えればクラスの特異メソッドは他のオブジェクト指向システムにお けるクラスメソッドの働きをすることになります。

特異メソッド定義式は、nil を返します。

クラスメソッドの定義

Ruby におけるクラスメソッドとはクラスの特異メソッドのことです。Ruby で は、クラスもオブジェクトなので、普通のオブジェクトと同様に特異メソッド を定義できます。

したがって、何らかの方法でクラスオブジェクトにメソッドを定義すれば、そ れがクラスメソッドとなります。具体的には以下のようにして定義することが 出来ます(モジュールも同様です)。

# 特異メソッド方式。
class Hoge
  def Hoge.foo
  end
end

# クラス定義の外でも良い
def Hoge.bar
end

# 以下のようにすればクラス名が変わってもメソッド部の変更が不要
class Hoge
  def self.baz
    'To infinity and beyond!'
  end
end

# 特異クラス方式。複数のメソッドを一度に定義するとき向き
class << Hoge
  def bar
    'bar'
  end
end

# モジュールをクラスに extend すれば、モジュールのインスタンス
# メソッドがクラスメソッドになる
module Foo
  def foo
  end
end
class Hoge
  extend Foo
end

extend については、Object#extend を参照して ください。

呼び出し制限

メソッドは public、private、protected の三通りの 呼び出し制限を持ちます。

  • public に設定されたメソッドは制限なしに呼び出せます。
  • private に設定されたメソッドは関数形式でしか呼び出せません。
  • protected に設定されたメソッドは、そのメソッドを持つオブジェクト のメソッド定義式内でなければ呼び出せません。

例: protected の可視性

class Foo
  def foo
   p caller.last
  end
  protected :foo
end

obj = Foo.new

# そのままでは呼べない
obj.foo rescue nil    # => -:11 - private method `foo' called for #<Foo:0x401a1860> (NameError)

# クラス定義内でも呼べない
class Foo
  Foo.new.foo rescue nil # => -:15 - protected method `foo' called for #<Foo:0x4019eea8>
  # メソッド定義式内で呼べる
  def bar
    self.foo
  end
end
Foo.new.bar             # => ["-:21"]

# 特異メソッド定義式内でも呼べる
def obj.bar
  self.foo rescue nil
end
obj.bar                 # => ["-:27"]

デフォルトでは def 式がクラス定義の外(トップレベル)にあれば private、 クラス定義の中にあれば public に定義します。これは Module#public、Module#private、 Module#protected を用いて変更できます。ただし Object#initialize という名前のメソッドと Object#initialize_copy という名前のメソッド は定義する場所に関係なく常に private になります。

例:

def foo           # デフォルトは private
end

class C
  def bar         # デフォルトは public
  end

  def ok          # デフォルトは public
  end
  private :ok     # …だが、ここで private に変わる

  def initialize  # initialize は private
  end
end

private と protected は同じ目的(そのメソッドを隠し外から呼 べないようにする)で使用されますが、以下のような例では、private は使えず、protected を利用する必要があります。 正確には、private には関数を定義する目的があるが、呼び 出し制限の目的でも(ここに挙げた制限があるにもかかわらず) protected よりは private が使われることの方が多いようです。

class Foo
  def _val
    @val
  end
  protected :_val

  def op(other)

    # other も Foo のインスタンスを想定
    # _val が private だと関数形式でしか呼べないため
    # このように利用できない

    self._val + other._val
  end
end

定義に関する操作

alias

例:

alias foo bar
alias :foo :bar
alias $MATCH $&

文法:

alias 新メソッド名 旧メソッド名
alias 新グローバル変数名 旧グローバル変数名

メソッドあるいはグローバル変数に別名をつけます。メソッド名に は識別子そのものか Symbol を指定します(obj.method のよ うな式を書くことはできません)。alias の引数はメソッド 呼び出し等の一切の評価は行われません。

メソッドの定義内で別名を付けるにはModuleクラスのメソッド Module#alias_method を利用して下さい。

別名を付けられたメソッドは、その時点でのメソッド定義を引き継 ぎ、元のメソッドが再定義されても、再定義前の古いメソッドと同 じ働きをします。あるメソッドの動作を変え、再定義するメソッド で元のメソッドの結果を利用したいときなどに利用されます。

# メソッド foo を定義
def foo
  "foo"
end

# 別名を設定(メソッド定義の待避)
alias :_orig_foo :foo

# foo を再定義(元の定義を利用)
def foo
  _orig_foo * 2
end

p foo  # => "foofoo"

グローバル変数の alias を設定するとまったく同じ変数が定義されます。こ のことは一方の変数への代入は他方の変数にも反映されるようになることを意 味します。 添付ライブラリの importenv はこのことを利用して[[unknown:組み込み変数]] に英語名をつけます。

# 特殊な変数のエイリアスは一方の変更が他方に反映される
$_ = 1
alias $foo $_
$_ = 2
p [$foo, $_]   # => [2, 2]

$bar = 3
alias $foo $bar
$bar = 4
p [$foo, $bar] # => [4, 4]

ただし、正規表現の部分文字列に対応する変数 $1,$2, ... には別名を付けることができません。 また、インタプリタに対して重要な意味のあるグローバル変数 ([[unknown:組み込み変数]]を参照) を再定義すると動作に支障を来す場合があります。

alias 式は nil を返します。

undef

例:

undef bar

文法:

undef メソッド名[, メソッド名[, ...]]

メソッドの定義を取り消します。メソッド名には識別子そのもの か Symbol を指定します(obj.method のような式を書くことはできません)。 undef の引数はメソッド呼び出し等の一切の評価は行われません。

メソッドの定義内で定義を取り消すにはModuleクラスのメソッ ド Module#undef_method を利用して下 さい。

undef のより正確な動作は、メソッド名とメソッド定義との関係を取り除き、 そのメソッド名を特殊な定義と関連づけます。この状態のメソッドの呼び出しは 例えスーパークラスに同名のメソッドがあっても例外 NameError を発生させます。 (一方、メソッド Module#remove_method は、関係を取り除くだけです。この違いは重要です)。

alias による別名定義と undef による定義取り消しによってクラスのインタフェースを スーパークラスと独立に変更することができます。ただし、メソッドが self にメッセージを 送っている場合もあるので、よく注意しないと既存のメソッドが動作しなくなる可能性があります。

undef 式は nil を返します。

defined?

例:

defined? print
defined? File.print
defined?(foobar)
defined?($foobar)
defined?(@foobar)
defined?(Foobar)

文法:

defined? 式

式が定義されていなければ、偽を返します。定義されていれば式の種別 を表す文字列を返します。

定義されていないメソッド、undef されたメソッド、Module#remove_method により削除されたメソッドのいずれに対しても defined? は偽を返します。

特別な用法として以下があります。

defined? yield

yield の呼び出しが可能なら真(文字列 "yield")を返します。 Kernel.#block_given? と同様にメソッドがブロック付きで呼ばれたか を判断する方法になります。

defined? super

super の実行が可能なら真(文字列 "super")を返します。

defined? a = 1
p a # => nil

"assignment" を返します。実際に代入は行いませんがローカル変数は定義されます。

/(.)/ =~ "foo"
p defined? $&  # => "$&"
p defined? $1  # => "$1"
p defined? $2  # => nil

$&, $1, $2, などは直前のマッチの結果値が設定された場合だけ真を返します。

def Foo(a,b)
end
p defined? Foo       # => nil
p defined? Foo()     # => "method"
Foo = 1
p defined? Foo       # => "constant"

大文字で始まるメソッド名に対しては () を明示しなければ定数の判定 を行ってしまいます。

以下は、defined? が返す値の一覧です。

  • "super"
  • "method"
  • "yield"
  • "self"
  • "nil"
  • "true"
  • "false"
  • "assignment"
  • "local-variable"
  • "local-variable(in-block)"
  • "global-variable"
  • "instance-variable"
  • "constant"
  • "class variable"
  • "$&", "$`", "$1", "$2", ...
  • "expression"


環境変数

Rubyインタプリタは以下の環境変数を参照します。

RUBYOPT

Rubyインタプリタにデフォルトで渡すオプションを指定します。

 * sh系

      RUBYOPT='-Ke -rkconv'
      export RUBYOPT

  * csh系

      setenv RUBYOPT '-Ke -rkconv'

  * MS-DOS系

      set RUBYOPT=-Ke -rkconv
RUBYPATH

-S オプション指定時に、環境変数 PATH による Ruby スクリプトの探索に加えて、この環境変数で指定したディレクトリも 探索対象になります。(PATH の値よりも優先します)。 起動オプションの詳細に関してはRubyの起動 を参照してください。

  * sh系

      RUBYPATH=$HOME/ruby:/opt/ruby
      export RUBYPATH

  * csh系

      setenv RUBYPATH $HOME/ruby:/opt/ruby

  * MS-DOS系

      set RUBYPATH=%HOME%\ruby:\opt\ruby
RUBYLIB

Rubyライブラリの探索パス$:のデフォル ト値の前にこの環境変数の値を付け足します。

  * sh系

      RUBYLIB=$HOME/ruby/lib:/opt/ruby/lib
      export RUBYLIB

  * csh系

      setenv RUBYLIB $HOME/ruby/lib:/opt/ruby/lib

  * MS-DOS系

      set RUBYLIB=%HOME%\ruby\lib:\opt\ruby\lib
RUBYLIB_PREFIX

この環境変数は DJGPP版、Cygwin版、mswin32版、 mingw32版のrubyでのみ有効です。

この環境変数の値は、path1;path2 あるいは path1 path2 という形式で、 Rubyライブラリの探索パス$:の先頭部分 がpath1にマッチした場合に、これをpath2に置き換えます。 ((-現在の実装ではライブラリのパスの prefix を ruby.exe や ruby.dll のある位置から 相対的に求めるのでこの環境変数の必要性はなくなっています-))

  * MS-DOS系

      set RUBYLIB_PREFIX=/usr/local/lib/ruby;d:/ruby
RUBYSHELL

この環境変数は OS2版、mswin32版、mingw32版のrubyで のみ有効です。

Kernel.#system でコマンドを実行するときに使用するシェル を指定します。この環境変数が省略されていればCOMSPECの値を 使用します。

PATH

Kernel.#systemなどでコマンドを実行するときに検索するパスです。 設定されていないとき(nilのとき)は "/usr/local/bin:/usr/ucb:/usr/bin:/bin:." で検索されます。


Ruby プログラムの実行

Ruby プログラム

Ruby プログラムの実行は文の連なりの評価です。なんらかの形であたえられたプログラムテキストをコンパイルし、BEGIN 文があればそれを評価し、トップレベルの式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については 終了処理 を参照のこと)。

文

if

if 文は、まず条件式を評価し、その値が真ならば対応する本体を評価します。 偽ならば elsif 節の条件式を順番に評価し、その値が始めて真になった節の 本体を評価します。それらがすべて偽なら else 節の本体を評価します。

文全体の値は最後に実行した((*本体*))の値です。ただし評価された本体に 式がなかった場合、あるいはすべての条件式が偽でかつ else 節もなかった 場合は nil です。

until

if 修飾子

unless 修飾子

while

until

while 修飾子

until 修飾子

for

begin 〜 end

クラス定義文

クラスを定義します。 評価は(コンパイル時ではなく)実行時に行われます。

書式

class ClassName [< スーパークラス式]
  式
end

クラス定義文は評価されるとまずクラスを生成しようとします。スーパークラ ス式が指定されていたらそれを評価し、その値を上位クラスとする Class クラスのインスタンスを生成します。式が省略されていたら Object を 上位クラスとします。

一方、もし同名のクラスがすでにある場合はそれを使います。そのときスーパー クラス式が指定されており、その結果と得たクラスのスーパークラスが (equal? において) 違うときは新しいクラスを生成します。

クラスを得たら次にそれを定数「ClassName」に代入します。これによってク ラス名が決定されます。このとき同名の定数に Class のインスタンスでない ものが代入されている場合は例外 TypeError を発生します。

最後に新しいフレームを生成し、トップレベルブロックの self および class に定義を行おうとするクラスを設定して、そのフレーム上で定義文中の式を評 価します。クラス定義文の評価値を得ることはできません。

つまり Ruby では何度も「クラス定義の追加」をすることが可能です。

モジュール定義文

モジュールを定義します。 評価は(コンパイル時ではなく)実行時に行われます。

書式

module ModuleName
  本体
end

モジュール定義文は評価されるとまず新しい無名のモジュールを生成します。 ただしすでに ModuleName と名付けられたモジュールがある場合はそれを かわりに使います。このような場合は「モジュール定義の追加」をすること になります。

モジュールを得たら次にそれを定数 ModuleName に代入します。この定数が モジュールの名前になります。このとき同名の定数にモジュール以外が代入 されていた場合は例外 TypeError が発生します。

最後に、新しいフレームを生成し、そのトップレベルブロックの self および class にモジュール ModuleName を設定し、そのフレーム上で定義文中の式を 評価します。モジュール定義文の評価値は最後に評価した本体の式の値です。 本体に評価する式がない場合は nil になります。

特異クラス定義文

オブジェクトの特異クラスを定義します。 評価は(コンパイル時ではなく)実行時に行われます。

書式

class << EXPR
  本体
end

まず特異クラスを定義しようとするオブジェクトの式 EXPR を評価しま す。続いてそのオブジェクトの特異クラスを(まだ生成されていなければ)生成しま す。最後に、新しいフレームを生成し、トップレベルブロックの self および class に生成した特異クラスを設定し、そのフレーム上で定義文中の式を評価 します。

特異クラス定義文の評価値は、本体で最後に評価した式の値です。 評価する式がひとつもなければ nil になります。

ただし Fixnum Symbol のインスタンスおよび true false nil には特異クラスは 定義できません。

メソッド定義文

メソッドを定義します。 評価は(コンパイル時ではなく)実行時に行われます。

書式

def method_name(arg, argwithdefault=expr, *restarg, &block)
  本体
end

評価すると、実行中のブロックの class にメソッド本体を当該の名前で定義 します。もしすでにその class 自体に同名のメソッドが定義されている場合 は、古いメソッドを捨てて新しいメソッドの内容によって定義しなおします。

メソッド定義文の値は nil です。

特異メソッド定義式

オブジェクトの特異クラスにメソッドを定義します。 評価は(コンパイル時ではなく)実行時に行われます。

書式

def expr.method_name(arg, argwithdefault=expr, *restarg, &block)
  本体
end

まず最初に式 expr を評価します。続いてその値のオブジェクトの 特異クラスを (まだ作成されていなければ) 作成します。最後に、その特異 クラスにメソッド method_name を定義します。

特異メソッド定義文の評価値は nil です。

ただし Fixnum Symbol のインスタンスおよび true false nil には特異メソッド は定義できません。

BEGIN

コンパイル時に登録される (評価は実行の最初)

END

コンパイル時に登録される (評価は実行の最後)

メソッド

メソッドの呼び出し

まずレシーバ式を評価してレシーバとなるオブジェクトを得ます。レシーバ式 が省略された場合は呼び出しを行っているブロックのself がレシーバです。

続いて引数式を左から右の順番で評価し、レシーバに対してメソッドの検索を 行います。検索が失敗したら例外 NameError を発生、成功したらメソッ ドを実行します。

またメソッドを実行する際にはブロックを与えることが可能です。メソッドに 対してブロックを与えると、そのメソッドの実行中にyield が実行され たときにはじめてブロックが評価されます。yield されなかったときは ブロックは単に無視され、実行されません。

メソッドにブロックを与える場合、そのブロックはメソッドを呼び出す側のブ ロックの self と class を継承します。Module#module_eval/class_eval、 Object#instance_eval の三つだけが例外で、以下のように変更されます。

Module#module_eval, class_eval

self、class ともそのレシーバ

Object.instance_eval

self がそのレシーバ、class がそのレシーバの特異クラス

eval

eval の第二引数に Proc オブジェクトまたは Binding オブ ジェクトを与えたときは、その生成時のブロックのうえで文字列を評価します。

メソッドの実行

メソッドの実行はフレームのうえにひとつだけブロックがある状態で開始しま す。このブロックを以下、仮にトップレベルブロックと呼んでおきます。トッ プレベルブロックの self はレシーバで、class は定義されていません。

まず、省略不可能な引数が存在するなら、与えられた値をトップレベルブロッ クのローカル変数に代入します。

省略可能な引数が存在し、実際に省略されていたら、トップレベルブロック上 でデフォルト式を評価し、その値をトップレベルブロックのローカル変数に代 入します。実際には省略されなかったら、与えられた値を同じくローカル変数 に代入します。

*args の形のパラメータ指定があるなら、残りの引数すべてを配列とし てローカル変数に代入します。

さらに、ブロック引数 blockvar が存在するならば、メソッドに与えら れたブロックを Proc オブジェクト化してトップレベルブロック上のロー カル変数 blockvar に代入します。ブロックが与えられていないなら nil を代入します。

続いて本体が評価され、メソッドレベルの rescue 節または else 節が評価され、最後に ensure 節が評価されます。

メソッド全体の値は return に渡した値です。 return が呼び出されなかった場合は、本体/rescue/else の中で最後に評価した式の値です。その三つともすべてがカラだった場合は nil になります。

ブロック付きメソッド呼び出し

メソッドに対してブロックが与えられていたらそのメソッドをブロック付きメソッド と呼びます。ブロック付きメソッドからは yield によって与えられたブロックに実行 を移すことができます。

ブロック引数をとることができます。

break … ブロックがスタックフレーム上にあるなら、そのフレームのブロッ クの直後にジャンプします。ブロック付きメソッドを break して終了したらその値は nil です。スタックフレーム上にないなら例外 LocalJumpError を発生します。

next ブロックの終わりまでジャンプ

retry 複雑だ…

eval, instance_eval, module_eval

これなんだっけ

代入

代入とは、変数・定数のいずれかにオブジェクトを記憶させることを言います。 []= や属性代入のメソッド呼び出しも文法上は代入のように見えますが、 それはここで定義する代入ではありません。

変数には、何回でも、どんなオブジェクトでも代入することができます。定数 にも同様にあらゆるオブジェクトを代入することができますが、ただ一回しか 代入できません。つまりいったんオブジェクトを代入したらあとから記憶する オブジェクトを変更することはできません。これは記憶したオブジェクトそれ 自身が変化することを禁止するのではないことに注意してください。

多重代入

まだ

変数と定数

変数および定数はオブジェクトをひとつだけ記憶しておくことができます。 この、オブジェクトを記憶させる操作を「変数(定数)への代入」と言います。

変数および定数を評価すると、それが記憶しているオブジェクトを返します。 この操作を「変数(定数)の参照」と言います。

以下、種類別に変数／定数の代入と参照の挙動を述べます。

ローカル変数

ローカル変数はただひとつのブロックに所属します。ブロックとはコードのあ る範囲に対応する実行時の構造で、ネストが可能です。具体的にはブロック付き メソッド呼び出しや eval 系メソッドの実行にともなって生成されます。 ローカル変数は、所属するブロックおよびそのブロックの上にネストされた ブロックの中からのみ代入・参照できます。

またさらにブロックは特定の「フレーム」のうえに積まれ、そこに所属します。 別フレームのうえにあるローカル変数を参照することはできません。フレーム とは以下の文の実行開始時に生成される実行時の構造です。

  • プログラムテキストのトップレベル(ruby に渡したファイル名、-e、ロード)
  • メソッド実行
  • クラス／モジュール定義文
  • BEGIN および END 文

フレームが生成されると自動的にブロックもひとつ積まれますので、これらの 文の本体でもすぐにローカル変数を使うことができます。

ローカル変数の定義は、コンパイル時にそのフレーム中で定義されていない ローカル変数への代入をプログラムテキスト中に((*書くこと*))によって行 います。所属するブロックは代入が書かれている一番外側のブロックです。 このことからもわかるように、ローカル変数の定義はコンパイル時にすべて 完了します (eval 系メソッドは実行中にコンパイルをしていることに注意 してください)。定義された変数の初期値は nil です。

ローカル変数の定義および参照にあたっては、外側のブロックから順番に変数 を探します。この結果としてローカル変数のネスト (shadowing) はできません。 ただし上下関係にない複数のブロックに別々のローカル変数が存在することは ありえます。

また未定義の(つまりコード中に書かれていない)ローカル変数を参照すると、 Ruby は次にそれを self への(引数のない)メソッド呼び出しに解釈しようと します。メソッドの探索にも失敗したら例外 NameError を発生します。

呼び出しブロックの実行にあたっては、ブロックが引数をとることができま すが、これは実行しようとするブロック上での多重代入とみなされます。たと えば以下のコードのブロック実行開始時には、

some_iterator do |a,b|
  ....
end

次のような操作がまず実行されます。

a, b = <some_iterator から yield された値>

インスタンス変数

インスタンス変数はひとつのオブジェクトに所属し、そのオブジェクトを self とするブロックだけから代入、参照できます。定義は代入によっ て兼ね、未定義のインスタンス変数を参照すると nil を返します。

remove_instance_variable

クラス変数

クラス変数はひとつのクラスとそのサブクラス、およびそのインスタンスに所 属し、それらオブジェクトを self とするブロックだけから代入、参照できま す。定義は最初の代入によって行います。未定義のクラス変数を参照すると例 外 NameError が発生します。

クラス変数の継承と「継承止め」

グローバル変数

グローバル変数は全ての場所から代入、参照できます。 定義は最初の代入によって行い、未定義のグローバル変数を参照 すると nil を返します。

トレースできること(？)

定数

定数はクラス／モジュールに所属します。代入はメソッド以外のすべてで可能 で、最初の代入が定義を兼ねます。定数が所属するクラスは代入が行われたブ ロックの class です。また非常に特殊な例外としてメソッド Module#const_set によっても定義が可能です。さらに Module#remove_const を使うことで定義の取り消しが可能です。

すでに定義されている定数の再定義および代入はできません。実際には警告の みで代入が可能ですが、これは一時的な避難措置であり本来の仕様ではありま せん。従ってこれに依存したコードはできるだけ書かないようにすべきです。

参照可能な範囲は記法によって分かれます。

定数名のみの場合 (例： Const)

定数が所属するクラス、そのサブクラス、ネストしたクラスの フレームに書かれたコードから参照可能

フルパス指定の場合 (例： Mod::Cls::Const)

あらゆる場所から参照可能

また ::Const のように :: を前置した記法では Object::Const のみが参照可能です。

擬似変数

以下は、ローカル変数のように見えますが実際には予約語として処理され、 決まった値を返します。代入はできません。

self

記述されたブロックの self を返します。

nil

NilClass の唯一のインスタンス nil を返します。

true

TrueClass の唯一のインスタンス true を返します。

false

FalseClass の唯一のインスタンス false を返します。


Rubyの文法

* [[unknown:字句構造]]

  • [[unknown:字句構造/識別子]]
  • [[unknown:字句構造/コメント]]
  • [[unknown:字句構造/埋め込みドキュメント]]
  • [[unknown:字句構造/予約語]]

* [[unknown:プログラム]]

  • [[unknown:プログラム/式]]
  • [[unknown:プログラム/プログラムの終り]]

* [[unknown:変数と定数]]

  • [[unknown:変数と定数/ローカル変数]]
  • [[unknown:変数と定数/インスタンス変数]]
  • [[unknown:変数と定数/クラス変数]]
  • [[unknown:変数と定数/グローバル変数]]
  • [[unknown:変数と定数/疑似変数]]
  • [[unknown:変数と定数/定数]]
  • [[unknown:変数と定数/定数参照の優先順位]]

* [[unknown:リテラル]]

  • [[unknown:リテラル/数値リテラル]]
  • [[unknown:リテラル/文字列リテラル]]
  • [[unknown:リテラル/バックスラッシュ記法]]
  • [[unknown:リテラル/式展開]]
  • [[unknown:リテラル/コマンド出力]]
  • [[unknown:リテラル/ヒアドキュメント (行指向文字列リテラル)]]
  • [[unknown:リテラル/正規表現]]
  • [[unknown:リテラル/配列式]]
  • [[unknown:リテラル/ハッシュ式]]
  • [[unknown:リテラル/範囲オブジェクト]]
  • [[unknown:リテラル/シンボル]]
  • [[unknown:リテラル/%記法]]

* [[unknown:演算子式]]

  • [[unknown:演算子式/代入]]
  • [[unknown:演算子式/自己代入]]
  • [[unknown:演算子式/多重代入]]
  • [[unknown:演算子式/範囲式]]
  • [[unknown:演算子式/and]]
  • [[unknown:演算子式/or]]
  • [[unknown:演算子式/not]]
  • [[unknown:演算子式/条件演算子]]

* [[unknown:制御構造]]

  • [[unknown:制御構造/条件分岐]]
  • [[unknown:制御構造/if]]
  • [[unknown:制御構造/if 修飾子]]
  • [[unknown:制御構造/unless]]
  • [[unknown:制御構造/unless 修飾子]]
  • [[unknown:制御構造/case]]
  • [[unknown:制御構造/繰り返し]]
  • [[unknown:制御構造/while]]
  • [[unknown:制御構造/while 修飾子]]
  • [[unknown:制御構造/until]]
  • [[unknown:制御構造/until修飾子]]
  • [[unknown:制御構造/for]]
  • [[unknown:制御構造/break]]
  • [[unknown:制御構造/next]]
  • [[unknown:制御構造/redo]]
  • [[unknown:制御構造/retry]]
  • [[unknown:制御構造/例外処理]]
  • [[unknown:制御構造/raise]]
  • [[unknown:制御構造/begin]]
  • [[unknown:制御構造/rescue修飾子]]
  • [[unknown:制御構造/その他]]
  • [[unknown:制御構造/return]]
  • [[unknown:制御構造/BEGIN]]
  • [[unknown:制御構造/END]]

* [[unknown:メソッド呼び出し]]

  • [[unknown:メソッド呼び出し/super]]
  • [[unknown:メソッド呼び出し/ブロック付きメソッド呼び出し]]（[[unknown:メソッド呼び出し/イテレータ]]）
  • [[unknown:メソッド呼び出し/yield]]

* [[unknown:クラス／メソッドの定義]]

  • [[unknown:クラス／メソッドの定義/クラス定義]]
  • [[unknown:クラス／メソッドの定義/特異クラス定義]]
  • [[unknown:クラス／メソッドの定義/モジュール定義]]
  • [[unknown:クラス／メソッドの定義/メソッド定義]]
  • [[unknown:クラス／メソッドの定義/演算子式の定義]]
  • [[unknown:クラス／メソッドの定義/メソッド定義のネスト]]
  • [[unknown:クラス／メソッドの定義/メソッドの評価]]
  • [[unknown:クラス／メソッドの定義/特異メソッド定義]]
  • [[unknown:クラス／メソッドの定義/クラスメソッドの定義]]
  • [[unknown:クラス／メソッドの定義/呼び出し制限]]
  • [[unknown:クラス／メソッドの定義/定義に関する操作]]
  • [[unknown:クラス／メソッドの定義/alias]]
  • [[unknown:クラス／メソッドの定義/undef]]
  • [[unknown:クラス／メソッドの定義/defined?]]


はじめに

Rubyは手軽なオブジェクト指向プログラミングのためのインタプリタ言語です。 Rubyは(Perlのような)テキスト処理やシステム管理のための豊富な機能を持っています。 また、Rubyは単純で、分かりやすく、簡単に拡張できます。

もし、簡単なオブジェクト指向のための言語を求めていたり、 Perlは見にくいと感じていたり、 Lispの考え方は好きだがあの括弧の多さには困ると感じているなら、 Rubyはまさにぴったりです。

Rubyの特長は次の通りです。

インタプリタ

Rubyはインタプリタ言語ですので プログラムを実行するためにコンパイルする必要はありません。

変数に型が無い (動的型付け)

Rubyの変数はどのような型のデータも格納する事ができますので、 変数の型について心配する必要はありません。 半面、コンパイル時のチェックは弱くなります。

変数宣言が不要

Rubyでは変数を宣言無しで使う事ができます。 変数の種類(ローカル変数、グローバル変数、インスタンス変数など)は 変数名から知る事ができます。

単純な文法

Rubyの文法はEiffelからわずかに影響を受けた単純なものです。

ユーザによるメモリ管理が不要

Rubyはメモリ管理を自動的に行います。 どこからもアクセスされなくなったオブジェクトは インタプリタに組み込みのガーベージコレクタによって回収されます。

全てがオブジェクト

Rubyははじめから純粋なオブジェクト指向言語として設計されています。 整数のような基本的なデータ型をはじめとして、 全てのデータをオブジェクトとして統一的に取り扱えます。

クラス、継承、メソッド

Rubyは クラス、継承、メソッドのようなオブジェクト指向言語として基本的な機能は 当然持っています。

特異メソッド

ある特定のオブジェクトにメソッドを付加することができます。 たとえば、GUIのあるボタンを押された時の動作を メソッドとして記述するような使い方ができますし、 これを応用してプロトタイプベースの オブジェクト指向プログラミングも可能です(やりたければね)。

モジュールによるMix-in

Rubyは多重継承は複雑さの源であるという見地から、 意図的に多重継承を持っていませんが、 モジュールを使ってクラス階層を横断して実装を共有できます。 この機能を"Mix-in"と呼びます。

ブロック付きメソッド呼び出し(イテレータ)

制御構造の抽象化を援助するブロック付きメソッド呼び出しという機能があります。

クロージャ

手続きをオブジェクトとして扱う機能があります。 このオブジェクト化された手続きのことをクロージャと呼びます。

強力な文字列操作/正規表現

Perlをお手本とした強力な文字列操作や正規表現検索の機能があります。

多倍長整数

組み込みの多倍長整数機能がありますので、 メモリが許す限り、非常に大きな整数の演算もできます。 たとえば、400の階乗なども簡単に計算できます。

例外処理機能

例外処理機能は例外的な状況への対処が簡単に書けます。

OSへの直接アクセス

Rubyは(UNIXの)ほとんどのシステムコールの呼び出し機能を持っています。 Rubyだけでシステムプログラミングも可能です。

ダイナミックローディング

OSが許せば、オブジェクトファイルを実行時に読み込む機能が提供されます。


手続きオブジェクトの挙動の詳細

  • 手続きオブジェクトとは
  • 手続きを中断して値を返す
  • orphan な手続きオブジェクトの挙動
  • Proc オブジェクトをブロック付きメソッド呼び出しに使う
  • lambda と proc と Proc.new とイテレータの違い

手続きオブジェクトとは

手続きオブジェクトとはブロックをコンテキスト(ローカル変数のスコープやスタックフレーム)と ともにオブジェクトしたものです。Proc クラスのインスタンスとして実現されています。

ブロック内では、新たなスコープが導入されるとともに、外側のローカル変数を参照できます。 Proc オブジェクトがローカル変数のスコープを保持していることは以下の例で変数 var を 参照できていることからわかります。

例:

var = 1
$foo = Proc.new { var }
var = 2

def foo
  $foo.call
end

p foo       # => 2

手続きを中断して値を返す

手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call) へジャンプし値を返すには next を使います。break や return ではありません。

例:

 def foo
   f = Proc.new{
     next 1
     2
   }
 end

p foo().call       #=> 1

Proc オブジェクトをブロック付きメソッド呼び出しに使う

ブロック付きメソッドに対して Proc オブジェクトを `&' を指定して渡すと 呼び出しブロックのように動作します。 しかし、厳密には以下の違いがあります これらは、Proc オブジェクトが呼び出しブロックとして振舞う際の制限です。

# 問題なし
(1..5).each { break }

# LocalJumpError が発生します。
pr = Proc.new { break }
(1..5).each(&pr)

# each 再実行
pr = Proc.new { retry }
(1..5).each(&pr)

lambda と proc と Proc.new とイテレータの違い

Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、 生成された手続きオブジェクトはいくつかの場面で挙動が異なります。 lambda の生成する手続きオブジェクトのほうが よりメソッドに近い働きをするように設計されています。

Kernel.#proc は lambda と同じになります。 引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で生成されたそれと 同じにように振る舞います。

引数の扱い

lambda のほうがより厳密です。引数の数が違っていると（メソッドのように）エラーになります。 Proc.new は引数を多重代入に近い扱い方をします。

例:

b1 = Proc.new{|a,b,c|
  p a,b,c
}
b1.call(2, 4)
#=> 2
    4
    nil

b2 = lambda{|a,b,c|
  p a,b,c
}
b2.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)

メソッド呼び出し(super・ブロック付き・yield)/ブロックパラメータの挙動 も参照してください。

ジャンプ構文の挙動の違い

return と break は、lambda と Proc.new では挙動が異なります。 例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、 Proc.new では手続きオブジェクトを囲むメソッドを抜けます。

例:

def foo
  f = Proc.new { return :foo }
  f.call
  return
end

def bar
  f = lambda { return :bar }
  f.call
  return
end

def h
  yield
end

def hoge
  h{ return :hoge }
  nil
end

p foo()  #=> :foo
p bar()  #=> nil
p hoge() #=> :hoge

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたのと 同じメソッド内で行った場合の結果です。

               return                          next                        break
Proc.new   メソッドを抜ける            手続きオブジェクトを抜ける   例外が発生する
proc       手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
lambda     手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
イテレータ メソッドを抜ける            手続きオブジェクトを抜ける   メソッドを抜ける

orphan な手続きオブジェクトの挙動

Proc を生成したメソッドから脱出した後、手続きオブジェクトからの return, retry, break は例外 LocalJumpError を発生させます。 ただし、上でも説明した通り lambda で生成した手続きオブジェクトはメソッドと同じように振る舞う ことを意図されているため、例外 LocalJumpError は発生しません。

例:

def foo
  Proc.new { return }
end

foo.call
# => in `call': return from proc-closure (LocalJumpError)

def foo
  Proc.new { retry }
end

foo.call
# => in `call': retry from proc-closure (LocalJumpError)

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたメソッドを 脱出してから行った場合の結果です。

               return                          next                        break
Proc.new   例外が発生する              手続きオブジェクトを抜ける   例外が発生する
proc       手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
lambda     手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける


字句構造

  • 識別子
  • コメント
  • 埋め込みドキュメント
  • 予約語

Rubyの現在の実装はASCIIキャラクタセットを用いています。アル ファベットの大文字と小文字は区別されます。識別子と一部のリテ ラルの途中を除いては任意の場所に空白文字やコメントを置くこと ができます。空白文字とはスペース、タブ、垂直タブ、バックスペー ス、キャリッジリターン、ラインフィード、改ページです。改行は行が明らかに次の 行に継続する時だけ、空白文字として、それ以外では文の区切りと して解釈されます。

改行と認識されるのは、キャリッジリターン+ラインフィードかラインフィードです。

識別子

例:

foobar
ruby_is_simple

Rubyの識別子は英文字またはアンダースコア('_')か ら始まり、英文字、アンダースコア('_')または数字 からなります。識別子の長さに制限はありません。

コメント

例:

# this is a comment line

スクリプト言語の習慣にならい、文字列中や数値リテラル `?#' 以外の #から行末までをコメントと見なします。

埋め込みドキュメント

例:

=begin
the everything between a line beginning with `=begin' and
that with `=end' will be skipped by the interpreter.
=end

Rubyのソースコードにドキュメントを埋め込む事ができます。文が 始まる部分の行頭の=beginから、=endで始まる行までが 埋め込みドキュメントです。Ruby インタプリタとしては内容に縛りは かけませんが、通常は RD 形式でドキュメントを埋め込むことを 期待しています。

予約語

予約語は以下のものです。

BEGIN    class    ensure   nil      self     when
END      def      false    not      super    while
alias    defined? for      or       then     yield
and      do       if       redo     true
begin    else     in       rescue   undef
break    elsif    module   retry    unless
case     end      next     return   until

予約語はクラス名、変数名などに用いることはできません。ただし 接頭辞$, @、@@が先頭についたものは予約語 とは見なされません。また、def のあとやメソッド呼び出しの ピリオドのあとなどメソッド名であるとはっきり分かる場所では メソッド名として用いることができます。


リテラル

  • 数値リテラル
  • 文字列リテラル
  • バックスラッシュ記法
  • 式展開
  • コマンド出力
  • ヒアドキュメント (行指向文字列リテラル)
  • 正規表現リテラル
  • 配列式
  • ハッシュ式
  • 範囲オブジェクト
  • シンボル
  • %記法

数字の1や文字列"hello world"のようにRubyのプログラムの中に直接 記述できる値の事をリテラルといいます。

数値リテラル

123
0d123

整数

-123

符号つき整数 [[trap:Numeric]]

123.45

浮動小数点数 .1 など "." で始まる浮動小数点数は許されなくなりました。0.1 と書く必 要があります。

1.2e-3

浮動小数点数

0xffff

16進整数

0b1011

2進整数

0377
0o377

8進整数

?a

文字aのコード(97)

空白類を指定する場合は、?\s, ?\t などとする 必要があります。

?\C-a

コントロール a のコード(1)

?\M-a

メタ a のコード(225)

?\M-\C-a

メタ-コントロール a のコード(129)

? 表現では全てのバックスラッシュ記法が有効です。

文字コード以外の数値リテラルには、`_' を含めることができます。 ruby インタプリタは `_' を単に無視し、特別な解釈は何もしません。 これは、大きな数値の桁数がひと目でわかるように記述するのに便利です。 リテラルの最初と、最後には _ を書くことはできません。(リテラルの 前(符号(+,-)の直後を含む)に _を置くとローカル変数やメソッド呼び 出しと解釈されます)

1.6.7 から _ は、0x などの prefix の 直後にも書けなくなりました。また、_ を連続して書いてもエラーにな ります。他、細かい部分でこのあたりの規則は見直され統一されました。

1_000_000_000  => 1000000000
0xffff_ffff  => 0xffffffff

文字列リテラル

例:

"this is a string expression\n"
'this is a string expression\n'
%q!I said, "You said, 'She said it.'"!
%!I said, "You said, 'She said it.'"!
%Q('This is it.'\n)
"this is multi line
string"

文字列はダブルクォートまたはシングルクォートで囲まれています。 ダブルクォートで囲まれた文字列ではバックスラッシュ記法と式展開(後述)が有効になります。 シングルクォートで囲まれた文字列では、 \\ (バックスラッシュそのもの)と \' (シングルクォート) を除いて文字列の中身の解釈は行われません。 シングルクォートで囲まれた文字列では行末の \ は \ そのものとして解釈されます。

複数行にわたって書くこともできます。 この場合含まれる改行文字は常に\nになります。 実際のソースファイルの改行コードとは無関係です。

空白を間に挟んだ文字列リテラルは、コンパイル時に1つの文字列 リテラルと見倣されます。

p "foo" "bar"
=> "foobar"

%記法 による別形式の文字列表現もあります。

文字列式は評価されるたびに毎回新しい文字列オブジェクトを生成します。

バックスラッシュ記法

((-例えあなたが "\" がバックスラッシュに見えなかったとしてもこれはバックスラッ シュ記法です;-)-))

\t

タブ(0x09)

\n

改行(0x0a)

\r

キャリッジリターン(0x0d)

\f

改ページ(0x0c)

\b

バックスペース (0x08)

\a

ベル (0x07)

\e

エスケープ (0x1b)

\s

空白 (0x20)

\nnn

8 進数表記 (n は 0-7)

\xnn

16 進数表記 (n は 0-9,a-f)

\cx
\C-x

コントロール文字 (x は ASCII 文字)

\M-x

メタ x (c | 0x80)

\M-\C-x

メタ コントロール x

\x

文字 x そのもの

式展開

例:

($ruby = "RUBY"の場合)

   "my name is #{$ruby}" #=> "my name is RUBY"
   'my name is #{$ruby}' #=> "my name is #{$ruby}"

ダブルクォート(")で囲まれた文字列式、コマンド文 字列および正規表現の中では#{式}という形式で式 の内容(を文字列化したもの)を埋め込むことができます。式が変数 記号($,@)で始まる変数の場合には {}を省略して、#変数名という形式で も展開できます。文字#に続く文字が {,$,@でなければ、その まま文字#として解釈されます。明示的に式展開を止 めるには#の前にバックスラッシュを置きます。

式展開中の式は、ダブルクォートなども含めて Ruby の式をそのまま書くこと ができます。コメントも許されます。

p "#{ "string" # comment }"   # => "string"

式展開中のコメントは、# から } まででなく改行までです。上記の例は

p "#{ "string" # comment
  }"                          # => "string"

と書く必要があります。

コマンド出力

例:

`date`
%x{ date }

バッククォート(`)で囲まれた文字列は、ダブルクォー トで囲まれた文字列と同様にバックスラッシュ記法 の解釈と式展開 が行なわれた後、コマンドとして実行され、その標準出力が文字列 として与えられます。コマンドは評価されるたびに実行されます。 コマンドの終了ステータスを得るには、$? を 参照します。

%記法 による別形式のコマンド出力もあります。

ヒアドキュメント (行指向文字列リテラル)

文法:

<<[-]["'`]識別子["'`]
   ...
識別子

普通の文字列リテラルはデリミタ(", ', ` など)で囲まれた 文字列ですが、ヒアドキュメントは `<<識別子' を含む行の次の行から `識別 子' だけの行の直前までを文字列とする行指向のリテラルです。例えば、

print <<EOS      # 識別子 EOS までがリテラルになる
  the string
  next line
EOS

これは以下と同じです。

print "  the string\n  next line\n"

ヒアドキュメントでは、開始ラベル `<<識別子' が文法要素としての式 にあたります。これは、開始ラベルを使ってヒアドキュメント全体を引数に渡 したりレシーバにしたりすることができるということを意味します。

# 式の中に開始ラベルを書く
# method の第二引数には "    ヒアドキュメント\n" が渡される
method(arg1, <<LABEL, arg2)
    ヒアドキュメント
LABEL

# ヒアドキュメントをレシーバにメソッドを呼ぶ
p  <<LABEL.upcase
the lower case string
LABEL

# => "THE LOWER CASE STRING"

開始ラベルの次の行は常にヒアドキュメントとなります。例えば、以下のよう な記述は文法エラーになります

printf('%s%d',
       <<EOS,
       3055 * 2 / 5)   # <- この行はヒアドキュメントに含まれてしまう
This line is a here document.
EOS

開始ラベルを `<<-識別子' のように `-' を付けて書くことで終端 行をインデントすることができます。これ以外では、終端行に、余 分な空白やコメントさえも書くことはできません。

if need_define_foo
  eval <<-EOS   # '<<-' を使うと……
    def foo
      print "foo\n"
    end
  EOS
  #↑終端行をインデントできます。
end

一行に複数のヒアドキュメントを書くこともできます。

print <<FIRST, <<SECOND
   これは一つめのヒアドキュメントです。
   まだ一つめです。
FIRST
   この行からは二つめのヒアドキュメントです。
   この行で終わります。
SECOND

開始ラベル `<<識別子' の `識別子' を(""、''、``)のいずれかで囲む ことで、ヒアドキュメントとなる文字列リテラルの性質は対応する文字列リテ ラルと同じ扱いになります((-ただし、文字列中に " や ' はバックスラッシュ エスケープせずにそのまま書ける(エスケープする必要がない)。シングルクォー トで囲ったヒアドキュメントの場合、' をエスケープする必要がないというこ とは、\の特別扱いも必要ないということになる。つまり、シングルクォート で囲ったヒアドキュメントは完全に書いたままの文字列になる-))。以下の例 を参照してください。`識別子' がクォートで囲まれていないときはダブルクォー トでくくられているのと同じです。

# バックスラッシュ記法、式展開が有効
print <<"EOS"
The price is #{$price}.
EOS

# 上のものと同じ結果
print <<EOS
The price is #{$price}.
EOS

# 式展開はできない
print <<'EOS'
The price is #{$price}.
EOS

# コマンドを実行
print <<`EOC`
date
diff test.c.org test.c
EOC

文字列リテラルのそれぞれの性質に関しては 文字列リテラル、 式展開、 バックスラッシュ記法、 コマンド出力 を参照してください。

正規表現リテラル

例:

/^Ruby the OOPL/
/Ruby/i
/my name is #{myname}/o
%r|Ruby|

/で囲まれた文字列は正規表現です。正規表現として解釈される メタ文字については正規表現を参照してください。

終りの/の直後の文字は正規表現に対するオプションになります。 オプションの機能は以下の通りです。

i

正規表現はマッチ時に大文字小文字の区別を行わない

o

一番最初に正規表現の評価が行われた時に 一度だけ式展開を行う

x

正規表現中の空白(改行も含む)を無視する。また、バックスラッシュでエス ケープしない`#' から改行までをコメントとみなして無視する(ただ し、コメント中に / を含めると構文解析に失敗するので注意)

  /foo        # コメント
  bar/x

これは /foobar/ と同じ。

空白を含めるには \ のようにエスケープします。

m

複数行モード。正規表現 "." が改行にもマッチするようになる

Ruby は日本語化されているので、$KCODE の値に従って正 規表現中の日本語文字を正しく扱います。$KCODE = "n" の場合、日本 語文字を一切認識せずにバイト列として扱います。これはデフォルトの動作で す。

オプションとして n, e, s, u のいずれかを指定す ることで正規表現の文字コードを $KCODE の値に関係なく 個々の正規表現リテラルに指定することもできます。

%記法 による別形式の正規表現も指定できます。

正規表現の中では文字列と同じバックスラッシュ記法や 式展開も有効です。

正規表現リテラルはその中に式展開を含まなければ、何度評 価されても同一の正規表現オブジェクトを返します。 式展開を含む場合は評価のたびに(式展開の結果を元に)正規 表現がコンパイルされ正規表現オブジェクトが生成されます(ただし上記の o オプションを指定すれば、同一の正規表現オブジェクトを返します)

配列式

例:

[1, 2, 3]
%w(a b c)
%W(a b c)

文法:

`[' 式`,' ... `]'

それぞれの式を評価した結果を含む配列を返します。 配列はArrayクラスのインスタンスです。

要素が文字列リテラルの場合に限り、%記法 による別形式の 配列表現も指定できます。

配列式は評価されるたびに毎回新しい配列オブジェクトを生成します。

ハッシュ式

例:

{ 1 => 2, 2 => 4, 3 => 6}

文法:

`{' 式 `=>' 式 `,' ... `}'
`{' 式 `,' 式 `,' ... `}'

それぞれの式を評価した結果をキーと値とするハッシュオブジェク トを返します。ハッシュとは任意のオブジェクトをキー(添字)として持 つ配列で、Hashクラスのインスタンスです。

メソッドの引数の末尾に要素が1つ以上のハッシュを渡す場合は、{, }を省略することができます。ただし、obj[...] 形式のメソッ ド呼び出しと配列式では、要素全体がハッシュの場合に限り、 {, }を省略することができます。

例:

method(1,2,3=>4)      # method(1,2,{3=>4})
obj[1=>2,3=>4]        # obj[{1=>2,3=>4}]
[1=>2,3=>4]           # [{1=>2, 3=>4}]

ハッシュ式は評価されるたびに毎回新しいハッシュオブジェクトを生成します。

範囲オブジェクト

演算子式/範囲式を参照

範囲式はその両端が数値リテラルであれば、何度評価されても同じオブジェク トを返します。そうでなければ評価されるたびに新しい範囲オブジェクトを生 成します。

シンボル

例:

(シンボルの例)

      :class
      :lvar
      :method!
      :andthisis?
      :$gvar
      :@ivar
      :@@cvar
      :+

文法:

`:' 識別子
`:' 変数名
`:' 演算子

Symbolクラスのインスタンス。 ある文字列とSymbolオブジェクトは一対一に対応します。

Symbol リテラルに指定できる演算子はメソッドとして再定義できる演算子だ けです。演算子式 を参照して下さい。

以下の記法も使えます。

p :'foo-bar' #=> :"foo-bar"
p :"foo-bar" #=> :"foo-bar"
p %s{foo-bar} #=> :"foo-bar"

この記法では、任意のシンボルを定義することができます。 ただし、"\0" を含めることはできません。

:"..." の形式は、バックスラッシュ記法や 式展開が有効です。

シンボルは常に一意のオブジェクトで、(式展開を含んでいてもその結果が同 じ文字列であれば)何度評価されても同じオブジェクトを返します。

%記法

文字列リテラル、コマンド出力、正規表現リテラル、配列式、シンボルでは、 %で始まる形式の記法を用いることができます。 文字列や正規表現では、`"', `/' など(通常のリテラルの区切り文字)を要素 に含めたい場合にバックスラッシュの数をコードから減らす効果があります。 また配列式では文字列の配列を簡単に表現できます。それぞれ以下のように対 応します。

  • %!STRING! : ダブルクォート文字列
  • %Q!STRING! : 同上
  • %q!STRING! : シングルクォート文字列
  • %x!STRING! : コマンド出力
  • %r!STRING! : 正規表現
  • %w!STRING! : 要素が文字列の配列(空白区切り)
  • %W!STRING! : 要素が文字列の配列(空白区切り)。式展開、バックスラッシュ記法が有効
  • %s!STRING! : シンボル。式展開、バックスラッシュ記法は無効

!の部分には改行を含めた任意の非英数字を使うことができます。始ま りの区切り文字が括弧(`(',`[',`{',`<')である時には、終りの区切り文字は 対応する括弧になります。括弧を区切り文字にした場合、対応が取れていれば 区切り文字と同じ括弧を要素に含めることができます。

%(()) => "()"

配列式の%記法はシングルクォートで囲んだ文字列を空白文字で分割したのと 同じです。たとえば、

%w(foo bar baz)

は['foo', 'bar', 'baz']と等価です。

バックスラッシュを使って空白を要素に含むこともできます。

%w(foo\ bar baz)

=> ["foo bar", "baz"]

%W は、%w と同様ですが、ダブルクォートで囲んだ文字列のように、式展開、 バックスラッシュ記法が使用できます。空白による分割は式展開を評価する前 に行われます。

v = "c d"
%W(a\ b #{v}e\sf #{})

=> ["a b", "c de f", ""]


オブジェクト

オブジェクトとは

Ruby で扱える全ての値はオブジェクトです。 Ruby のオブジェクトに対して可能な操作はメソッド呼び出しのみです。 あるオブジェクトが反応できるメソッドは、 そのオブジェクトが所属するクラスによって一意に決定します。 所属するクラスはオブジェクト生成時に決まり、その後は特異クラスの導入以外、所属クラスが変わることはありません。 またオブジェクトは、特定のクラスに対比して、その「インスタンス」とも呼ばれます。

オブジェクトの生成は、一般には、別のオブジェクトのメソッドを呼び出すことによって行われます。

クラス

クラスは自身に所属するオブジェクトが反応できるメソッドを決定します。 所属するオブジェクトに対してあるメソッドを呼び出すことができるなら、 そのメソッドが「クラスに定義されている」と言います。 またメソッドはクラスとメソッド名によって一意に決定します。

クラスは必ずただひとつの「スーパークラス」を持ち、 スーパークラスであるメソッドが定義されていれば自クラスでもそのメソッドが同じ内容で定義されていることになります。 これを「継承」と呼びます。 継承は推移するので、スーパークラスのスーパークラスが持つメソッドもまた自クラスにおいて定義されていることになります。

モジュール

include

ちょっと特殊でクラスではない。しかし機能は同じ

メソッド

メソッドは実行することができます。その実行を開始することを通常「呼び出す」と言います。 また呼び出すときにはオブジェクトを渡すことができ、 そのオブジェクトを「引数」と呼びます。いくつの引数を受け取ることができるかはメソッドの定義時に決定し、 変更することはできません。


演算子式

  • 代入
  • 自己代入
  • 多重代入
  • 範囲式
  • 条件式としての範囲式
  • and
  • or
  • not
  • 条件演算子

例:

1+2*3/4

プログラミングの利便のために一部のメソッド呼び出しと制御構造は演算子形 式をとります。Rubyには以下にあげる演算子があります。

高い   ::
       []
       +(単項)  !  ~
       **
       -(単項)
       *  /  %
       +  -
       << >>
       &
       |  ^
       > >=  < <=
       <=> ==  === !=  =~  !~
       &&
       ||
       ..  ...
       ?:(条件演算子)
       =(+=, -= ... )
       not
低い   and or

左の「高い」「低い」は演算子の優先順位です。 例えば「&&」は「||」より優先順位が高いので、以下のように 解釈されます。

a && b || c   #=> (a && b) || c
a || b && c   #=>  a || (b && c)

ほとんどの演算子は特別な形式のメソッド呼び出しですが、一部の ものは言語に組み込みで、再定義できません。

再定義できる演算子(メソッド)

+@, -@ は単項演算子 +, - を表しメソッド定義 などではこの記法を利用します。

    |  ^  &  <=>  ==  ===  =~  >   >=  <   <=   <<  >>
    +  -  *  /    %   **   ~   +@  -@  []  []=  `

これらの演算子式の定義方法についてはクラス／メソッドの定義/演算子式の定義を参照してください。

再定義できない演算子(制御構造)

演算子の組合せである自己代入演算子と !=, !~ も再定義できません。

    =  ?:  ..  ...  !  not  &&  and  ||  or  ::

代入

例:

foo = bar
foo[0] = bar
foo.bar = baz

文法:

変数 '=' 式
定数 '=' 式
式`['expr..`]' '=' 式
式`.'識別子 '=' 式

代入式は変数などに値を設定するために用いられます。代入はロー カル変数や定数の宣言としても用いられます。代入式の左辺は以 下のいずれかでなければなりません。

変数
            変数 `=' 式

左辺値が変数の場合、式を評価した値が変数に代入されます。

配列参照
            式1`[' 式2 ... `]' `=' 式n

式1を評価して得られるオブジェクトに対しての、式 2 から式 n までを 引数とする []= メソッド呼び出しに変換されます。

例:

class C def initialize @ary = [0,1,2,3,4,5,6,7] end def [](i) @ary[i * 2] end def []=( i, v ) @ary[i * 2] = v end end c = C.new p c[3] # c.[]( 3 ) に変換され、その結果は 6 p c[3] = 1 # c.[]=(3,1) に変換され、その結果は 1

属性参照
            式1 `.' 識別子 `=' 式2

式 1 を評価して得られるオブジェクトに対して、 識別子= というメソッドを、式 2 を引数にして呼び出します。

例:

            class C
              def foo
                @foo
              end
              def foo=( v )
                @foo = v
              end
            end
            c = C.new
            c.foo = 5   # c.foo=( 5 ) のように変換される
            p c.foo     # => 5

属性は Module#attr を使って同じように定義できます。

例:

            class C
              attr :foo, true
            end
            c = C.new
            c.foo = 5   # c.foo=( 5 ) のように変換される
            p c.foo     # => 5

自己代入

例:

foo += 12       # foo = foo + 12
a ||= 1         # a が偽か未定義ならば1を代入。初期化時のイディオムの一種。

文法:

式1 op= 式2     # 式1は通常の代入の左辺のいずれか

op は以下のいずれかです。演算子と=の間にスペースを 空けてはいけません。

+, -, *, /, %, **, &, |, ^, <<, >>, &&, ||

この形式の代入は

式1 = 式1 op 式2

と評価されます。ただし、op が &&, || の場合には、

式1 op (式1 = 式2)

と評価されます。この違いは属性参照のときに

obj.foo ||= true

が、

obj.foo = obj.foo || true

でなく

obj.foo || (obj.foo = true)

と呼ばれることを示します。(obj.foo= は obj.foo の結果によって呼ばれな いかも知れません)

多重代入

例:

foo, bar, baz = 1, 2, 3
foo, = list()
foo, *rest = list2()

文法:

式 [`,' [式 `,' ... ] [`*' [式]]] = 式 [, 式 ... ][`*' 式]
`*' [式] = 式 [, 式 ... ][`*' 式]

多重代入は複数の式または配列から同時に代入を行います。左辺の 各式はそれぞれ代入可能でなければなりません。右辺の式が一つし か与えられなかった場合、式を評価した値は配列に変換されて、各 要素が左辺のそれぞれの式に代入されます。左辺の要素の数よりも 配列の要素の数の方が多い場合には、余った要素は無視されます。 配列の要素が足りない場合には対応する要素の無い左辺には nil が代入されます。

左辺の最後の式の直前に * がついていると、対応する 左辺のない余った要素が配列として代入されます。余った要素が 無い時には空の配列が代入されます。

例:

foo, bar = [1, 2]       # foo = 1; bar = 2
foo, bar = 1, 2         # foo = 1; bar = 2
foo, bar = 1            # foo = 1; bar = nil

foo, bar, baz = 1, 2    # foo = 1; bar = 2; baz = nil
foo, bar = 1, 2, 3      # foo = 1; bar = 2
foo      = 1, 2, 3      # foo = [1, 2, 3]
*foo     = 1, 2, 3      # foo = [1, 2, 3]
foo,*bar = 1, 2, 3      # foo = 1; bar = [2, 3]

多重代入は括弧により、ネストした配列の要素を代入することもできます。

(foo, bar), baz = [1, 2], 3       # foo = 1; bar = 2; baz = 3

特殊な形式の代入式も多重代入にすることができます。

class C
  def foo=( v )
    @foo = v
  end
  def []=(i,v)
    @bar = ["a", "b", "c"]
    @bar[i] = v
  end
end

obj = C.new
obj.foo, obj[2] = 1, 2     # @foo = 1; @bar = ["a", "b", 2]

左辺が `,' で終る場合や、`*' の直後の式を省略した場合にも 余った要素は無視されます。

例:

foo,*    = 1, 2, 3      # foo = 1
foo,     = 1, 2, 3      # foo = 1
*        = 1, 2, 3

特に最後の単体の `*' はメソッド呼び出しにおいて引数を完全に無視 したいときに使用できます。(メソッド呼び出しの引数の受け渡しは 多重代入とほぼ同じルールが適用されます)

例:

def foo(*)
end
foo(1,2,3)

多重代入の値は配列に変換された右辺です。

範囲式

例:

1 .. 20
/first/  ...  /second/

文法:

式1 `..' 式2
式1 ` ... ' 式2

条件式以外の場所では式1から式2までの範囲オブジェクトを返しま す。範囲オブジェクトはRangeクラス のインスタンスです。 ... で生成された範囲オブジェクトは 終端を含みません。

条件式としての範囲式

条件式として範囲式が用いられた場合には、状態を持つ sed や awk 由来の 特殊な条件式として振る舞います。

「..」の場合:

  1. 初期状態では式1だけを評価し、式1が真を返すまでは false を返します。
  2. 式1が真を返すと true を返します。式2が真なら初期状態に戻ります。
  3. この後は式2だけを評価し、式2が真を返すまで true を返します。
  4. 式2が真を返すと true を返したあと、初期状態に戻ります。

「...」の場合:

  1. 初期状態では式1だけを評価し、式1が真を返すまでは false を返します。
  2. 式1が真を返すと true を返します。
  3. この後は式2だけを評価し、式2が真を返すまで true を返します。
  4. 式2が真を返すと true を返したあと、初期状態に戻ります。

例:

# よくある使いかた

5.times{|n|
  if (n==2)..(n==3)
    p n
  end
}
#=> 2
    3

5.times{|n|
  if (n==2)...(n==3)
    p n
  end
}
#=> 2
    3

# 「..」と「...」の違いを示すためだけの例

5.times{|n|
  if (n==2)..(n==2)
    p n
  end
}
#=> 2

5.times{|n|
  if (n==2)...(n==2)
    p n
  end
}
#=> 2
    3
    4

and

例:

test && set
test and set

文法:

式 `&&' 式
式 `and' 式

まず、左辺を評価して、結果が真であった場合には右辺も評価しま す。and は同じ働きをする優先順位の低い演算子です。

and を伴う式をメソッドの引数に渡す場合は二重に括弧が必要となります。

p(true && false)    #=> false
p((true and false)) #=> false

or

例:

demo || die
demo or die

文法:

式 `||' 式
式 or 式

まず左辺を評価して、結果が偽であった場合には右辺も評価します。 or は同じ働きをする優先順位の低い演算子です。

or を伴う式をメソッドの引数に渡す場合は二重に括弧が必要となります。

p(false || true)    #=> true
p((false or true)) #=> true

not

例:

! me
not me
i != you

文法:

`!' 式
not 式

式の値が真である時偽を、偽である時真を返します。

式 `!=' 式

!(式 == 式)と同じ。

式 `!~' 式

!(式 =~ 式)と同じ。

not を伴う式をメソッドの引数に渡す場合は二重に括弧が必要となります。

p(! false)      #=> true
p((not false))  #=> true

条件演算子

例:

obj == 1 ? foo : bar

文法:

式1 ? 式2 : 式3

式1の結果によって式2または式3を返します。

if 式1 then 式2 else 式3 end

とまったく同じです。


プログラム・文・式

  • 式
  • プログラムの終り

プログラムは式を並べたものです。式と式の間はセミコロ ン(;)または改行で区切ります。ただし、バックスラッシュに続く改行は文 の区切りにならず、次の行へ継続します。

例:

print "hello world!\n"

式

例:

true
(1+2)*3
foo()
if test then ok else ng end

Ruby の式には、変数と定数、さまざまなリテラル、それらの 演算子式、if や while などの制御構造、メソッド呼び出し(super・ブロック付き・yield)、 クラス／メソッドの定義があります。

式は括弧によってグルーピングすることができます。

空の式 () は nil を返します。

Rubyの式には値を返す式と返さない式があります。

値を返さない式の例

while, until, while 修飾式, until 修飾式

また、メソッドの引数に指定できない式と指定できる式があります(このよう な式を「文」と呼び分ける場合があります)。

メソッドの引数に指定できない式の例

and, or, not

if/unless/rescue 修飾式, ...

メソッドの引数に指定できない式は、括弧によるグルーピングを行うことで普 通の式として使用することができます。

プログラムの終り

Rubyインタプリタはプログラムを読みこんでいる際に以下のものに出あうとそこ で読みこみを終了します。

  • ファイルの終り(文字列をevalしている場合は文字列の終り)
  • ^D(コントロールD) 、^Z(コントロールZ)
  • __END__のみの行(前後に空白があると認識されません)


正規表現

正規表現に関してはリテラル/正規表現リテラル、$&、 Regexp そして MatchData なども参照して下さい。

  • 正規表現記号
  • 後方参照
  • 文字クラス
  • バックトラック
  • サンプル

正規表現記号

以下は、ruby がサポートする正規表現記号(メタ文字)の一覧です。 (正規表現のオプションについてはリテラル/正規表現リテラルを参照してください)

  • \を伴わない英数字 はメタ文字ではない
  • \を伴う記号 はメタ文字ではない(`\*'は「繰り返し」でなく「アスタリスク」)

という規則があります。

以下の説明の中で「多バイト文字に対応した正規表現」とは、 $KCODE が設定されているか、あるいは明示的に漢字オプショ ン(リテラル/正規表現リテラルを参照)を指定するなどにより多バイト文字 にマッチし得る正規表現を指します。

^

行頭。文字列の先頭や改行文字の直後の位置にマッチします。

$

行末。文字列の末尾や改行文字の直前の位置にマッチします。改行自身は含 みません。

以前は、文字列末尾の改行に対して改行の前だけにマッチしていましたが、 常に文字列の末尾にもマッチするように変更されました。[[trap:Regexp]]

        p "\n".gsub(/$/, "o")
        => "o\n"  (1.6)
        => "o\no" (1.8) # 改行文字の前と文字列末尾の前で1回ずつ
.

改行を除く任意の 1 文字にマッチします。正規表現オプション m (複数行 モード。リテラル/正規表現リテラルを参照)では、改行を含む任意の 1 文字にマッチします。

多バイト文字に対応した正規表現では、その 1 文字(1 バイトでなく)とマッ チします。

        $KCODE = "sjis"          # 漢字コード指定、Unixなら"euc"
        p /..a./  =~ "あああaあ" # => 2 (文字列の3byte目からマッチ)
        p /..a./n =~ "あaあ"   # => 0 (一時的に漢字コードを"none"に指定)

また、不完全な多バイト文字の一部(その文字だけでは多バイト文字かバイ ナリかASCIIか判断が付かない場合)とはマッチしません。

        p /./e =~ "あ"[0,1]     # => nil
\w

英数字。[0-9A-Za-z_] と同じ。

多バイト文字に対応した正規表現では、日本語のいわゆる全角文字にもマッ チします。[0-9A-Za-z_０-９Ａ-Ｚａ-ｚ] とでも言えましょうか。

\W

非英数字。\w 以外の一文字。

\s

空白文字。[ \t\n\r\f] と同じ

\S

非空白文字。[ \t\n\r\f] 以外の一文字。

\d

数字。[0-9] と同じ。こちらはいわゆる全角文字には決してマッチしません。

\D

非数字

\A

文字列先頭。^ とは異なり改行の有無には影響しません。

\Z

文字列末尾。文字列が改行で終っていればその改行の直前にマッチします。

以前は、文字列末尾の改行に対して改行の前だけ にマッチしていましたが、常に文字列の末尾にもマッチするように変更され ました。[[trap:Regexp]]

        p "\n".gsub(/\Z/, "o")
        => "o\n"   (1.6)
        => "o\no"  (1.8) # 改行文字の前と文字列末尾の前で1回ずつ
\z

文字列末尾。$ や \Z とは異なり改行の有無には影響しません。

\b

文字クラス指定の外では語境界 (\w と \W のあいだにマッチ)。 文字クラス指定内ではバックスペース (0x08)。

\B

非語境界

\G

前回マッチした箇所(の直後)にマッチ (幅を持たない)。 初回だけは先頭位置にマッチします(\Aと同じ)。

String#scan や、String#gsub で使用できます。前回マッチし た場所の後からマッチさせたい場合に使用します。

簡単な(あまり役に立たない)例は以下。

        # 先頭から3桁ずつの数値を(数値が続く限り)取り出す。
        str = "123456 789"
        str.scan(/\G\d\d\d/) {|m| p m }
[ ]

文字クラス指定。文字クラスを参照。

*

直前の表現の 0 回以上の繰り返し。できるだけ長くマッチしようとする。

*?

量指定子(quantifiers)。 直前の表現の 0 回以上の繰り返し (最短一致)

        orig_str = "<b>Ruby</b> and <b>Perl</b>"
        p orig_str.gsub(/<b>(.*)<\/b>/, '<em>\1</em>')
        # => "<em>Ruby</b> and <b>Perl</em>"
        p orig_str.gsub(/<b>(.*?)<\/b>/, '<em>\1</em>')
        # => "<em>Ruby</em> and <em>Perl</em>"
+

量指定子(quantifiers)。 直前の表現の 1 回以上の繰り返し

+?

量指定子(quantifiers)。 直前の表現の 1 回以上の繰り返し (最短一致)

{m}
{m,}
{m,n}

範囲指定繰り返し制御(interval quantifier)。 それぞれ直前の正規表現の * m 回 * m 回以上 * m 回以上、最大 n 回 の繰り返し。{,n} や、{,} に対するマッチは必ず失敗する。

        str = "foofoofoo"
        p str[/(foo){1}/]   # => "foo"
        p str[/(foo){2,}/]  # => "foofoofoo"
        p str[/(foo){1,2}/] # => "foofoo"

正規表現 ?, *, + はそれぞれ {0,1}, {0,} {1,} と同じです。

{m}?
{m,}?
{m,n}?

範囲指定繰り返し制御(interval quantifier)。 それぞれ直前の正規表現の * m 回 * m 回以上 * m 回以上、最大 n 回 の繰り返し(最短一致)。

?

量指定子(quantifiers)。 直前の正規表現の 0 または 1 回の繰り返し。

        p /プリンター?は/s =~ "プリンタは"     # => 0 (0文字目からマッチ)
        p /プリンター?は/s =~ "プリンターは"   # => 0
        p /プリンター?は/s =~ "プリンターーは" # => nil
??

量指定子(quantifiers)。 直前の正規表現の 0 または 1 回の繰り返し(最短一致)

|

選択(alternative)。優先順位が低いので下の「グループ化」とあわせて使うことが多い。

        /ス(ー|ウ)プ/s =~ "スウプを一さじ"  # => 0 (0文字目からマッチ)
        /ス(ー|ウ)プ/s =~ "スープレックス"  # => 0
        /スー|ウプ/s   =~ "スウプを一さじ"  # => 2 (「スー」または「ウプ」)
        /スー|ウプ/s   =~ "スープレックス"  # => 0
( )

正規表現のグループ化。括弧の中の正規表現にマッチした文字列は後方参照 のために記憶されます。

\1, \2 ... \n

後方参照(back reference)。後方参照を参照。

(?# )

コメント。括弧の中の任意の文字列は無視されます。

(?: )

後方参照を伴わないグループ化。つまり、\1, \2 (あるいは、 $1, $2)などの対象にはならず、 単純なグループ化の用途で使用します。

        /(abc)/ =~ "abc"
        p $1
        => "abc"

        /(?:abc)/ =~ "abc"
        p $1
        => nil
(?= )

先読み(lookahead)。 パターンによる位置指定(幅を持たない)

        (?=re1)re2

という表現は、re1 と re2 両方にマッチするものにマッチする正規表現で す。

        re1(?=re2)

という表現は、後に re2 とマッチする文字列が続く、正規表現 re1 です。

        p /foo(?=bar)/ =~ "foobar"      # => 0
        p $&    # => "foo"   (bar の部分の情報はない)
(?! )

否定先読み(negative lookahead)。 パターンの否定による位置指定(幅を持たない)

        (?!re1)re2

という表現は、re1 にマッチしないが re2 にはマッチする正規表現です。

        # 000 を除く 3 桁の数字
        re = /(?!000)\d\d\d/
        p re =~ "000"   # => nil
        p re =~ "012"   # => 0
        p re =~ "123"   # => 0

        # C 言語の識別子 ([A-Za-z_] で始まり、[0-9A-Za-z_] が続く文字列)
        /\b(?![0-9])\w+\b/
(?> )

バックトラックを抑止する。

この表現はまだ試験実装中です。将来なくなる可能性もありますので、 そのつもりで使ってください。特に汎用ライブラリなどで使ってはいけません。

(?ixm-ixm)

正規表現中でのiオプション、xオプション、mオプションのon/off。オプショ ンについてはリテラル/正規表現リテラルを参照。

      re = /A(?i)a(?-i)A/
      p re =~ "AaA"         # => 0
      p re =~ "AAA"         # => 0
      p re =~ "AAa"         # => nil
(?ixm-ixm: )

括弧内のiオプション、xオプション、mオプションのon/off。括弧の範囲内 で設定

      re = /A(?i:a)A/
      p re =~ "AaA"         # => 0
      p re =~ "AAA"         # => 0
      p re =~ "AAa"         # => nil

後方参照

正規表現 \1 \2 ... \n は、後方参照です。n 番目の括弧(正規 表現 ( ) グルーピング)にマッチした文字列にマッチします。

/((foo)bar)\1\2/

は、

/((foo)bar)foobarfoo/

と同じです。

例:

re = /(foo|bar|baz)\1/
p re =~ 'foofoo'   # => 0
p re =~ 'barbar'   # => 0
p re =~ 'bazbaz'   # => 0
p re =~ 'foobar'   # => nil

対応する括弧は、後方参照よりも左側にないといけません。

対応する括弧の中に後方参照があれば常にマッチに失敗します。 また、対応する括弧がない 1 桁の後方参照も常にマッチに失敗します。

p /(\1)/ =~ "foofoofoo" # => nil
p /(foo)\2/ =~ "foo\2"  # => nil

2 桁以上の後方参照も指定できますが、バックスラッシュ記法 の \nnn (8進 nnn に対応する文字)と混同しないように注意する必要が あります。数値が 1 桁なら常に後方参照です。2 桁以上の指定では、対応す る括弧がなければ 8 進コードと見なされます。

また、逆に正規表現中に 8 進で 1 桁のコードを記述するには \01 など 0 で 始める必要があります(\0 という後方参照はないので曖昧になりません)。

p   /\1/ =~ "\1"   # => nil     # 対応する括弧のない後方参照
p  /\01/ =~ "\1"   # => 0       8 進コード
p  /\11/ =~ "\11"  # => 0       8 進コード

# 8 進コード (対応する括弧がないので)
p /(.)\10/ =~ "1\10" # => 0

# 後方参照 (対応する括弧があるので)
p /((((((((((.))))))))))\10/ =~ "aa"  # => 0

# 8 進コード(ただし、"\0" + "8" になっている
# \08 という 8 進コードはないので)
p /(.)\08/ =~ "1\0008" # => 0

# 後方参照に続けて数字を書きたいなら括弧でグループ化して区切る
# などするしかない。
p /(.)(\1)1/ =~ "111"   # => 0

文字クラス

正規表現 [ ] は、文字クラス指定です。[] 内に列挙したいずれかの一 文字にマッチします。

例えば、/[abc]/ は、"a", "b", "c" いずれか一文字にマッチします。 ASCIIコード順で連続する文字列は間に `-' を置いて /[a-c]/ のように書 くこともできます。また、先頭が `^' であれば指定した文字以外の一文字 とマッチします。

先頭以外にある `^' はその文字そのものとマッチします。また、先頭、末尾 にある `-' は、その文字そのものとマッチします。

p /[a^]/ =~ "^"   # => 0
p /[-a]/ =~ "-"   # => 0
p /[a-]/ =~ "-"   # => 0
p /[-]/ =~ "-"   # => 0

空の文字クラスはエラーになります。

p /[]/ =~ ""
p /[^]/ =~ "^"
# => invalid regular expression; empty character class: /[^]/

先頭(あるいは否定の "^" の直後)にある "]" は、文字クラスの終りではなく "]" そのものを表します。 このような "]" は、バックスラッシュエスケープを行うことが推奨されます。 エスケープしない "[" や "]" に対して警告が出るようになりました。

p /[]]/ =~ "]"       # => 0
p /[^]]/ =~ "]"      # => nil

"^", "-", "]" そして "\\"(バックスラッシュ)は、バックスラッシュでエス ケープして、その文字にマッチさせることができます。

p /[\^]/ =~ "^"   # => 0
p /[\-]/ =~ "-"   # => 0
p /[\]]/ =~ "]"   # => 0
p /[\\]/ =~ "\\"  # => 0

[] 内には文字列と同じバックスラッシュ記法と、 正規表現 \w, \W, \s, \S, \d, \D (これらは文字クラスの略記法です)が 使用できます。

文字クラスの中では . や * はバックスラッシュでエスケープする 必要はありません(しても構いません)。

否定による以下のような文字クラスは改行文字にもマッチすることに 注意してください(正規表現 \W,\D も同様)。

p /[^a-z]/ =~ "\n"    # => 0

文字クラスの中では以下の特殊な指定が使用できますが、この機能は将来に渡っ てサポートされるとは約束されていません(なのでここでは詳細は書きません 詳細を知りたい方は grep(1) 等のマニュアルを参照して ください)。

[:alnum:]  数字とアルファベット 0-9a-zA-Z
[:alpha:]  アルファベット a-zA-Z
[:blank:]  空白類
[:cntrl:]  コントロール文字
[:digit:]  数字
[:graph:]  空白を除く印字可能な可視文字
[:lower:]  小文字
[:print:]  可視文字
[:punct:]  記号
[:space:]  空白文字
[:upper:]  大文字
[:xdigit:] 16進文字

例: ("[]" を含めて "[:...:]" が1文字を表していることに注意。 文字クラスの "[]" ではない)

p /[[:alnum:]][[:cntrl:]]/ =~ "a\x01"  # => 0

注: 全角文字は考慮されません。正規表現が漢字にマッチするように指定さ れていても [:alpha:] などは、全角のアルファベットとはマッチしません。

p /[[:alpha:]]/e =~ "Ａ"        # => nil

バックトラック

(?> ) という特殊な括弧で正規表現をかこむと、その括弧の中の表現に マッチした部分ではバックトラックが起こりません。その意味を例を挙げて 見てみます。

例えば通常の正規表現では

p /(a*)ab/ === 'aaab'

はマッチします。その過程は以下のようになります。

  1. 正規表現 a* がインデックス 0 で a みっつにマッチする
  2. 正規表現 a がマッチに失敗
  3. 正規表現 a* がマッチした分を少し「あきらめさせて」、 a ふたつにマッチさせる (バックトラックする)
  4. 正規表現 a が a にマッチする
  5. 正規表現 b が b にマッチする

しかしこの正規表現の括弧を (?> ) に変えるとマッチしなくなります。 その過程は以下のようになります。

  1. 正規表現 a* がインデックス 0 で a みっつにマッチする
  2. 正規表現 a がマッチに失敗
  3. a* がマッチした分をすこし減らして試したいが、 抑止指定されているのですぐに失敗する
  4. 正規表現 a* がインデックス 1 で a ふたつにマッチする

以下同じように失敗して、最終的にマッチ全体が失敗します。

ひらたく言うと、通常の正規表現の基本が「欲張りマッチ」なのに対して、 (?> ) は一回取ったものは絶対に離さない「超欲張りマッチ」を行います。

サンプル

ここにあげるサンプルは流用しやすいように $re_ で始まるグローバル 変数に設定することにしている。

数値

浮動小数点数(整数も含む)

$re_float = /[-+]?(?:[0-9]+(\.[0-9]*)?|(\.[0-9]+))([eE][-+]?[0-9]+)?/

p $re_float =~ "1.23"    # => 0
p $&.to_f                # => 1.23
p $re_float =~ ".23"     # => 0
p $&.to_f                # => 0.23
p $re_float =~ "1.23e1"  # => 0
p $&.to_f                # => 12.3
p $re_float =~ "1.23e-1" # => 0
p $&.to_f                # => 0.123

数字を 3 桁ずつコンマで区切る

方法1: 戻り読みと先読みを利用する方法 (戻り読み(lookbehind)は Oniguruma が必要)

p "tone of 12345Hz".gsub(/(?<=\d)(?=(?:\d\d\d)+(?!\d))/, ',')
=> ruby 1.8.0 (2003-08-07) [i586-linux]
   "tone of 12,345Hz"

方法2: 先読みだけを利用する方法

p "tone of 12345Hz".gsub(/(\d)(?=(?:\d\d\d)+(?!\d))/, '\1,')
=> ruby 1.8.0 (2003-08-07) [i586-linux]
   "tone of 12,345Hz"

方法3: 先読みも利用しない方法

s = "tone of 12345Hz"
nil while s.gsub!(/(.*\d)(\d\d\d)/, '\1,\2')
p s
=> ruby 1.8.0 (2003-08-07) [i586-linux]
   "tone of 12,345Hz"


Rubyの起動

  • コマンドラインオプション
  • インタプリタ行の解釈

Rubyインタプリタの起動は以下の書式のコマンドラインにより行います。

ruby [ option ...] [ -- ] [ programfile ] [ argument ...]

ここで、option は後述のコマンドラインオプション のいずれかを指定します。-- は、オプション列の終りを明示するため に使用できます。programfile は、Ruby スクリプトを記述したファイ ルです。これを省略したり`-' を指定した場合には標準入力を Ruby ス クリプトとみなします。

programfile が `#!' で始まるファイルである場合、特殊な解釈 が行われます。詳細は後述のインタプリタ行の解釈 を参照 してください

argument に指定した文字列は組み込み定数 Kernel::ARGV の初 期値として設定されます。標準のシェルがワイルドカードを展開しない環境 (Win32)では、Ruby インタプリタが自前でワイルドカードを展開して Kernel::ARGV に設定します。この場合ワイルドカードとして `*', `?', `[]', `**/' が使用できます (Dir.glob と異なり `{..}' は使えません)。Win32 環境で、 ワイルドカード展開を抑止したい場合は引数をシングルクォート(') で括りま す。

コマンドラインオプション

Rubyインタプリタは以下のコマンドラインオプションを受け付けま す。基本的にPerlのものと良く似ています。

-0数字

入力レコードセパレータ($/)を8進数で指定します。

数字を指定しない場合はヌルキャラクタがセパレータになります ($/ = "\0" と同じ)。 数の後に他のスイッチがあっても構いません。

-00で, パラグラフモード($/=""と同じ), -0777で (そのコードを持つ文字は存在しないので)ファイルの内容を全部一度に読み 込むモード($/=nilと同じ)に設定できます。

-a

`-n'や`-p'とともに用いて, オートスプリットモードをONにします。 オートスプリットモードでは各ループの先頭で,

    $F = $_.split

が実行されます。`-n'か`-p'オプションが同時に指定されない限り, このオプションは意味を持ちません。

-C directory

スクリプト実行前に指定されたディレクトリに移動します。

-c

スクリプトの内部形式へのコンパイルのみを行い, 実行しません。コンパイル終 了後, 文法エラーが無ければ, "Syntax OK"と出力します。

--copyright

著作権表示をします。

-Kc

Rubyの処理する漢字コードを指定します。 Rubyは指定された文字 が `E'または`e'の場合は文字列やアクセスするファイルの内容の コードがEUCであると仮定します。同様に`S'または`s'の場合は SJIS、'U'または'u'の場合はUTF-8として処理します。 `N'は漢字を処理しません。デフォルトはN(NONE)です。

このオプションは将来文字コードの取扱いが変更された場合等には 変更される可能性があります。

-d
--debug

デバッグモードでスクリプトを実行します。$DEBUG を true にします。

-e script

コマンドラインからスクリプトを指定します。-eオ プションを付けた時には引数からスクリプトファイル名を取りませ ん。

-e オプションを複数指定した場合、各スクリプトの間に改行を 挟んで解釈します。

    以下は等価です。
    ruby -e "5.times do |i|" -e "puts i" -e "end"

    ruby -e "5.times do |i|
      puts i
    end"

    ruby -e "5.times do |i|; puts i; end"
-Fregexp

入力フィールドセパレータ($;)に regexp をセットします。

-h
--help

コマンドラインオプションの概要を表示します。

-i[extension]

引数で指定されたファイルの内容を置き換える(in-place edit)こ とを指定します。元のファイルは拡張子をつけた形で保存されます。 拡張子がなければ、バックアップは行われず、変更されたファイル だけが残ります。

例:

    % echo matz > /tmp/junk
    % cat /tmp/junk
    matz
    % ruby -p -i.bak -e '$_.upcase!' /tmp/junk
    % cat /tmp/junk
    MATZ
    % cat /tmp/junk.bak
    matz
-I directory

ファイルをロードするパスを指定(追加)します。指定されたディレ クトリはRubyの配列変数($:)に追加されます。

-l

行末の自動処理を行います。まず、$\ を $/ と同じ値に設定し, printでの出力 時に改行を付加するようにします。それから, -n フラグまたは-pフラグが指定されていると gets で読み込まれた各行の最後に対して String#chop!を行います。

-n

このフラグがセットされるとプログラム全体が sed -nやawk のように

    while gets
     ...
    end

で囲まれているように動作します.

-p

-nフラグとほぼ同じですが, 各ループの最後に変数 $_ の値を出力するようになります。

例:

    % echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
    MATZ
-r feature

スクリプト実行前に feature で指定されるライブラリを Kernel.#require します。 `-n'オプション、`-p'オプションとともに使う時に特に有効です。

-s

スクリプト名に続く, `-'で始まる引数を解釈して, 同名のグローバル変数に値 を設定します。`--'なる引数以降は解釈を行ないません。該当する引数は Kernel::ARGV から取り除かれます。

例:

    #! /usr/local/bin/ruby -s
    # prints "true" if invoked with `-xyz' switch.
    print "true\n" if $xyz
-S

スクリプト名が`/'で始まっていない場合, 環境変数 PATHの値を使ってスクリプトを探すことを指定しま す。 これは、#!をサポートしていないマシンで、 #! による実行をエミュレートするために、以下の ようにして使うことができます:

    #!/bin/sh
    exec ruby -S -x $0 "$@"
    #! ruby

システムは最初の行により、スクリプトを/bin/sh に渡します。/bin/shは2行目を実行しRubyインタプリタを起動します。 Rubyインタプリタは-x オプションにより`#!'で始まり, "ruby"という文字列を含む行までを 読み飛ばします。

システムによっては $0は必ずしもフルパスを含まな いので、`-S'を用いてRubyに必要に応じてスクリプトを探すように 指示する必要があります。

-T[level]

不純度チェックを行います。level を指定すると安全度レベルをその レベルに設定します。level 省略時は 1 を指定したのと同じです。 CGIプログラムなどでは-T1 程度を指定しておく方が良いでしょう。 $SAFE に指定したレベルがセットされます。

-v
--verbose

冗長モード。起動時にバージョンの表示を行い, 組み込み変数 $VERBOSEをtrueにセットします。この変数がtrueで ある時, いくつかのメソッドは実行時に冗長なメッセージを出力し ます。`-v'オプションが指定されて, それ以外の引数がない時には バージョンを表示した後, 実行を終了します(標準入力からのスク リプトを待たない).

--version

Rubyのバージョンを表示します。

-w

バージョンの表示を行う事無く冗長モードになります。

-W[level]

冗長モードを三段階のレベルで指定します。それぞれ以下の通りです。

     * -W0: 警告を出力しない
     * -W1: 重要な警告のみ出力(デフォルト)
     * -W2 or -W: すべての警告を出力する

組み込み変数 $VERBOSE はそれぞれ nil, false, true に設定されます。

-x[directory]

メッセージ中のスクリプトを取り出して実行します。スクリプトを 読み込む時に、`#!'で始まり, "ruby"という文字列を含む行までを 読み飛ばします。スクリプトの終りはEOF(ファイル の終り), ^D(コントロールD), ^Z(コ ントロールZ)または予約語__END__で指定されます。

ディレクトリ名を指定すると、スクリプト実行前に指定されたディ レクトリに移動します。

-y
--yydebug

コンパイラデバッグモード。スクリプトを内部表現にコンパイルす る時の構文解析の過程を表示します。この表示は非常に冗長なので, コンパイラそのものをデバッグする人以外には必要ないと思います。

インタプリタ行の解釈

コマンドラインに指定したスクリプトが `#!' で始まるファイルで、そ の行に `ruby' という文字列を含まない場合、OSに代わって `#!' に続く文字列をコマンドラインとみなしてそのインタプリタを起 動します。このときコマンドラインで指定した引数はそのインタプリタに渡さ れます。

例えば、以下のシェルスクリプトを ruby で実行すると sh を起動します。

#!/bin/sh -vx
echo "$@"

この行に `ruby' という文字列が含まれる場合は、その文字列よ り左側は無視され、右側に `-'で始まる語があればオプションとして解 釈します。

ここで指定したオプションは、コマンドラインでの指定に追加されます。これ はそのスクリプトで指定すべきオプションを埋め込むために使います。例えば 以下の行で始まるスクリプトはコマンドラインに -Ke オプションを指 定したのと同じ効果になります。

#! ruby -Ke


セキュリティモデル

RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。

Rubyのセキュリティモデルは「オブジェクトの汚染」と「セーフレベル」という 仕組みによってなりたっています。

オブジェクトの汚染

Rubyではオブジェクトは「汚染されている」とみなされることがあります。この しくみは大きく分けて二つの使われ方をします。

ひとつ目は、信用できない入力をもとに作られたオブジェクトを「汚染されてい る」とみなし、「危険な操作」の引数として使えないようにすることです。悪意 あるデータによって、プログラムが意図しない動作をする事を防ぐことを目的と しています。

もうひとつは、信用しているオブジェクト(汚染されていないオブジェクト)を 信用できないプログラムから守るという使い方です。セーフレベル4で汚染されて いないオブジェクトへの操作が大幅に制限されるのはこの事を意図しています。

オブジェクトの汚染に関連するメソッド

Object#taint

オブジェクトを汚染する

Object#tainted?

オブジェクトが汚染されている場合に真を返す

Object#untaint

オブジェクトの汚染を取り除く

セーフレベル

各スレッドは固有の「セーフレベル」を持っています。セーフレベルが高くなるほ ど、行える操作は制限されます。セーフレベルはスレッドローカル変数 $SAFE で 設定します。

[ruby-list:37415]

$SAFE に関するルール

  • プログラム開始時の$SAFEの値は0
  • 各スレッドは作られた時点での親スレッドの$SAFEの値を引き継ぐ
      $SAFE = 1
      th = Thread.new{
        p $SAFE #=> 1
        $SAFE = 3
      }
      th.join
      p $SAFE #=> 1
  • $SAFE の値を現在の値より小さく変更する事はできない
      $ ruby -e '$SAFE = 1; $SAFE = 0'
      -e:1: tried to downgrade safe level from 1 to 0 (SecurityError)

原則として、各セキュリティレベルにはそれ以下のセキュリティレベルの制限も 適用されます。たとえばレベル1で許されない操作はレベル2でも行えません。

レベル 0

デフォルトのセーフレベルです。

汚染されるオブジェクト

  • IOや環境変数、コマンドライン引数(ARGV)から得られた文字列
$ ruby -e 'p ARGV[0].tainted?' hoge
true

環境変数PATHだけは例外で、値に危険なパスを含む場合のみ汚染されます。

ここでは危険なパスとは誰でも変更／書き込みが可能なパスをいいます。 ルートディレクトリから階層が順番にチェックされ、一箇所でも誰でも 変更可能な個所があればそのパスは危険とみなされます。

禁止される操作

  • 特になし

レベル 1

信用しているプログラムで信用できないデータを処理する為のレベルです。 CGI等でユーザからの入力を処理するのに適しています。

汚染されるオブジェクト

  • レベル0と同様

禁止される操作

  • 汚染された文字列を引数とした以下の操作
  • Dir, IO, File, FileTest のメソッド呼び出し
          $ ruby -e '$SAFE = 1; open(ARGV[0])' hoge
          -e:1:in `initialize': Insecure operation - initialize (SecurityError)
                  from -e:1
  • ファイルテスト演算子の使用、ファイルの更新時刻比較
  • 外部コマンド実行 (Kernel.#system, Kernel.#exec, Kernel.#`)
  • Kernel.#eval (レベル 4の説明も参照)
  • トップレベルへの Kernel.#load (第二引数を指定してラップすれば実行可能)
  • Kernel.#require
  • Kernel.#trap

レベル 2

汚染されるオブジェクト

  • レベル1と同様

禁止される操作

レベル1の制限に加え、以下の操作が禁止されます。

  • Dir.chdir Dir.chroot Dir.mkdir Dir.rmdir
  • File.chown File.chmod File.umask File.truncate File#lstat File#chmod File#chown File.delete File.unlink File#truncate File#flock および FileTest モジュールのメソッド
  • IO#ioctl, IO#fcntl
  • Process.fork Process.#setpgid Process.#setsid Process.#setpriority Process.#egid= Process.#kill
  • 危険なパスからの Kernel.#load
  • 汚染された文字列を引数にしての Kernel.#load (ラップされていても)
  • Kernel.#syscall
  • Kernel.#exit!
  • Kernel.#trap

レベル 3

生成される全てのオブジェクトが汚染されます。レベル4でプログラムを実行す る環境を作り上げるのに適しています。

汚染されるオブジェクト

  • 生成される全てのオブジェクト

禁止される操作

レベル2の制限に加え、以下の操作が禁止されます。

  • Object#untaint

レベル 4

信用することのできないプログラムを実行するためのレベルです。

レベル4は信頼できないプログラムによる危険な操作をほぼ全て検出できますが、 完全な安全性は保証されません。

このレベルではレベル3では禁止されている「汚染された文字列のeval」が許可 されています。(Kernel.#eval で実行すると危険な操作は全て禁止されているからです。)

汚染されるオブジェクト

  • レベル3と同様

禁止される操作

レベル3の制限(上記のとおりevalは除く)に加え、以下の操作が禁止されます。

  • Object#taint
  • トップレベルの定義の変更(Kernel.#autoload, Kernel.#load, Module#include)
  • 既存のメソッドの再定義
  • Object クラスの定義の変更
  • 汚染されていないクラスやモジュールの定義の変更およびクラス変数の変更
  • 汚染されていないオブジェクトの状態の変更
  • グローバル変数の変更
  • 汚染されていない IO や File を使用する処理
  • IO への出力
  • プログラムの終了(Kernel.#exit, Kernel.#abort) (なお out of memory でも fatal にならない)
  • 他のスレッドに影響が出る Thread クラスの操作および他のスレッドの Thread#[]
  • ObjectSpace.#_id2ref
  • ObjectSpace.#each_object
  • 環境変数の変更
  • Kernel.#srand

セーフレベルに関するその他の詳細

  • requireは$SAFE = 0で実行される
  • Level 1以上では起動時に以下の違いがある
      * 環境変数 RUBYLIB を $: に加えない
      * カレントディレクトリを $: に加えない
      * 環境変数 RUBYOPT を処理しない
      * 以下のスイッチを使用できない
        -s -S -e -r -i -I -x
        (スクリプトがsetgid, setuidされている時も同様)
      * 標準入力からのプログラム読み込みを行わない
        (スクリプトがsetgid, setuidされている時も同様)
  • setuid, setgid されたスクリプトは $SAFE = 1 以上で実行される。
  • Proc はその時点でのセーフレベルを記憶する。 その Proc オブジェクトが call されると、記憶していたセーフレベルで実行される。
  • 汚染された Method オブジェクトが call されるとレベル4で実行される。
  • 汚染された文字列を第二引数に指定して Kernel.#trap/Kernel.#trace_var を 実行するとその時点で例外 SecurityError が発生する。
  • レベル4以上では out of memory でも fatal にならない。
  • 実装の都合上 Fixnum, Symbol, true, false, nil は汚染されない。 なお Bignum, Float は汚染されることは注意が必要。

使用例

一旦高くした$SAFEレベルを低く変更する事はできませんが、以下のようにスレッ ドを使うことで、プログラムの一部だけを高いセーフレベルで実行することが可 能です。

例:

def safe(level)
  result = nil
  Thread.start {
    $SAFE = level
    result = yield
  }.join
  result
end

safe(4) { puts "hello" }    # $SAFEなので例外
puts "world"                # 外側は影響を受けない

拡張ライブラリでの扱い

  • 拡張ライブラリではオブジェクトの汚染状態を適切に伝播させる必要があります。
  • グローバルな状態を変更する場合や外部とのやりとりの前にセキュリティレベルを チェックする必要があります。

@see [ruby-list:37407]


終了処理

Ruby はスクリプトの終端に達した場合や捕捉していない例外が発生した場 合に終了します(関数 Kernel.#exit や Kernel.#abort 、メインスレッドに対する Thread.kill などは SystemExit 例外を発生させます)。終了時には以下 の処理が順に実行されます。

  1. すべてのスレッドを Thread.kill する。
  2. Ruby の疑似シグナル SIGEXIT のハンドラが登録されていればそれを実 行する(Kernel.#trap を参照)。
  3. 制御構造/END ブロック(END { ... } または関数 Kernel.#at_exit で指定したブロック)が登録されていれば、 そのブロックを登録とは逆順に実行する。このブロックの実行中に発生 した大域脱出はそのブロックの処理を中断するが。スクリプトはまだ終 了しない。
  4. ObjectSpace.#define_finalizer により、ファイナ ライザが登録されていればそれらを実行する。実行順序は不定。 ファイナライザ実行中に発生した大域脱出はそのファイナライザの処理 を中断するが、スクリプトはまだ終了しない。
  5. exit(3) により終了する。 このとき渡される終了ステータス値は終了方法によります。 例えば、
      * スクリプトの終端に達した場合は 0
      * [[m:Kernel.#exit]] に渡した引数
      * [[c:SystemExit]] による例外以外は 1

関数 Kernel.#exit! による終了は、_exit(2) を実行するだけで、上記の処理はいずれも行われません。


スレッド

スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。

実装

Ruby のスレッドはユーザレベルで実装されており、 全プラットホーム上において同じ挙動を示します。 Ruby インタプリタは時分割でスレッドを実行しますので、 スレッドを使うことで実行速度が速くなることはありません。

スケジューリング

Ruby のスレッドスケジューリングは優先順位付のラウンドロビンです。一定 時間毎、あるいは実行中のスレッドが権利を放棄したタイミングでスケジュー リングが行われ、その時点で実行可能なスレッドのうち最も優先順位が高いも のにコンテキストが移ります。

メインスレッド

プログラムの開始と同時に生成されるスレッドを「メインスレッド」と呼 びます。なんらかの理由でメインスレッドが終了する時には、他の全てのスレッ ドもプログラム全体も終了します。ユーザからの割込みによって発生した例外 はメインスレッドに送られます。

スレッドの終了

スレッドの起動時に指定したブロックの実行が終了するとスレッドの実行も終 了します。ブロックの終了は正常な終了も例外などによる異常終了も含みます。

例外発生時のスレッドの振る舞い

あるスレッドで例外が発生し、そのスレッド内で rescue で捕捉されなかっ た場合、通常はそのスレッドだけがなにも警告なしに終了されます。ただ しその例外で終了するスレッドを Thread#join で待っている他の スレッドがある場合、その待っているスレッドに対して、同じ例外が再度 発生します。

begin
  t = Thread.new do
    Thread.pass    # メインスレッドが確実にjoinするように
    raise "unhandled exception"
  end
  t.join
rescue
  p $!  # => "unhandled exception"
end

また、以下の 3 つの方法により、いずれかのスレッドが例外によって終 了した時に、インタプリタ全体を中断させるように指定することができま す。

  • 組み込み変数 $DEBUG を真に設定する(デバッグモード) ruby インタプリタを -d オプション 付きで起動した場合も同様。 (オプションの詳細に関してはRubyの起動 を参照)
  • Thread.abort_on_exception でフラグを設定する。
  • Thread#abort_on_exception で指定 したスレッドのフラグを設定する。

上記3つのいずれかが設定されていた場合、インタプリタ全体が中断されます。

スレッド終了時の ensure 節の実行

スレッド終了時には ensure 節が実行されます。 これはスレッドが正常に終了する時はもちろんですが、他のスレッドから Thread#kill などによって終了させられた時も同様に実行されます。Thread#kill! が呼ばれた時は ensure 節が実行されません。

ただしメインスレッドに対して Thread#kill! が呼ばれても ensure 節が実行されます。 メインスレッドの終了時の詳細に関しては 終了処理 を参照して下さい。

スレッドの状態

個々のスレッドは、以下の実行状態を持ちます。これらの状態は Object#inspect や Thread#status によって見ることができます。

p Thread.new {sleep 1} # => #<Thread:0xa039de0 sleep>
run (実行or実行可能状態)

生成されたばかりのスレッドや Thread#run や Thread#wakeup で起こされたスレッドはこの状態です。 Thread#join でスレッドの終了を待っているスレッドもスレッドの 終了によりこの状態になります。 この状態のスレッドは「生きて」います。

sleep (停止状態)

Thread.stop や Thread#join により停止されたスレッ ドはこの状態になります。 この状態のスレッドは「生きて」います。

aborting (終了処理中)

Thread#kill 等で終了されるスレッドは一時的にこの状態になりま す。この状態から停止状態(sleep)になることもあります。 この状態のスレッドはまだ「生きて」います。

dead (終了状態)

Thread#kill 等で終了したスレッドはこの状態になります。この状 態のスレッドはどこからも参照されていなければ GC によりメモリ上から なくなります。 この状態のスレッドは「死んで」います。

デッドロックの検出

ruby はデッドロックを検出します。デッドロックを検出した場合、例外 fatal が 発生してプロセスは終了します。デッドロックの条件は以下のとおりです。

  • スレッドが複数ある
  • すべてのスレッドが sleep (停止状態) である
  • すべてのスレッドが IO 待ちでない

メインスレッドだけが Thread.stop で停止している状態は sleep forever と同じと見なし、 fatal は発生しません。


変数と定数

  • ローカル変数
  • インスタンス変数
  • クラス変数
  • クラス変数のスコープ
  • グローバル変数
  • 疑似変数
  • 定数
  • 定数参照の優先順位

Ruby の変数と定数の種別は変数名の最初の一文字によって、 ローカル変数、 インスタンス変数、 クラス変数、 グローバル変数、 定数 のいずれかに区別されます。 通常の変数の二文字目以降は英数字または _ですが、組み込み変数の一部には 「`$'+1文字の記号」という変数があります([[unknown:組み込み変数]]を参照)。変数名 の長さにはメモリのサイズ以外の制限はありません。

ローカル変数

例:

foobar

小文字または`_'で始まる識別子はローカル変数また はメソッド呼び出しです。ローカル変数スコープ(クラス、モジュー ル、メソッド定義の本体)における小文字で始まる識別子への最初 の代入はそのスコープに属するローカル変数の宣言になります。宣 言されていない識別子の参照は引数の無いメソッド呼び出しとみな されます。

ローカル変数のスコープは、((*宣言した位置から*))その変数が宣 言されたブロック、メソッド定義、またはクラス/モジュール定義 の終りまでです。寿命もそのブロックの終りまで(トップレベルの ローカル変数はプログラムの終了まで)ですが、例外としてブロッ クが手続きオブジェクト化された場合は、そのオブジェクトが消滅 するまで存在します。同じスコープを参照する手続きオブジェクト 間ではローカル変数は共有されます。

# (A) の部分はスコープに入らない
2.times {
  p defined?(v)    # (A)
  v = 1            # ここ(宣言開始)から
  p v              # ここ(ブロックの終り)までが v のスコープ
}

# => nil
     1
     nil           <- これが nil であることに注意
     1

宣言は、例え実行されなくても宣言とみなされます。

v = 1 if false # 代入は行われないが宣言は有効
p defined?(v)  # => "local-variable"
p v            # => nil

またあまり推奨はされませんが ruby インタプリタの起動時に -K オプションを指定 すれば日本語文字の識別子も使用でき、それはローカル変数とみなされます。 起動オプションの詳細に関してはRubyの起動 を参照してください。

インスタンス変数

例:

@foobar

`@'で始まる変数はインスタンス変数であり、特定の オブジェクトに所属しています。インスタンス変数はそのクラスま たはサブクラスのメソッドから参照できます。初期化されていない インスタンス変数を参照した時の値はnilです。

クラス変数

例:

class Foo
  @@foo = 1
  def bar
    puts @@foo
  end
end

@@で始まる変数はクラス変数です。クラス変数はクラス定義 の中で定義され、クラスの特異メソッド、インスタンスメソッドなどから参照／ 代入ができます。

クラス変数と定数の違いは以下の通りです。

  • 再代入可能(定数は警告を出す)
  • クラスの外から直接参照できない(継承されたクラスからは参照／代入可能)

クラス変数はクラス自身のインスタンス変数とは以下の点で異なります。

  • サブクラスから参照／代入が可能
  • インスタンスメソッドから参照／代入が可能

クラス変数は、そのクラスやサブクラス、それらのインスタンスで共有される グローバル変数であるとみなすことができます。

class Foo
  @@foo = 1
end
class Bar < Foo
  p @@foo += 1          # => 2
end
class Baz < Bar
  p @@foo += 1          # => 3
end

モジュールで定義されたクラス変数(モジュール変数)は、そのモジュールをイ ンクルードしたクラス間でも共有されます。

module Foo
  @@foo = 1
end
class Bar
  include Foo
  p @@foo += 1          # => 2
end
class Baz
  include Foo
  p @@foo += 1          # => 3
end

親クラスに、子クラスで既に定義されている同名のクラス変数を追加した場合には、 子クラスのクラス変数は子クラスで保存されます。上書きされません。

class Foo
end

class Bar < Foo
  @@v = :bar
end

class Foo
  @@v = :foo
end

class Bar
  p @@v       #=> :bar
end

class Foo
  p @@v       #=> :foo
end

クラス変数のスコープ

クラス変数は、その場所を囲むもっとも内側の(特異クラスでない) class 式 または module 式のボディをスコープとして持ちます。

class Foo
  @@a = :a
  class << Foo
    p @@a       #=> :a
  end

  def Foo.a1
    p @@a
  end
end

Foo.a1          #=> :a

def Foo.a2
  p @@a
end
Foo.a2          #=> NameError になります。

class << Foo
  p @@a         #=> NameError になります。
end

グローバル変数

例:

$foobar
$/

`$'で始まる変数はグローバル変数で、プログラムの どこからでも参照できます(その分、利用には注意が必要です)。 グローバル変数には宣言は必要ありません。 初期化されていないグローバル変数を参照した時の値は nilです。

疑似変数

通常の変数以外に疑似変数と呼ばれる特殊な変数があります。

self

現在のメソッドの実行主体

nil

NilClassクラスの唯一のインスタンス

true

TrueClassクラスの唯一のインスタンス。真の代表値

false

FalseClassクラスの唯一のインスタンス。nilとfalseは偽を表します。

__FILE__

現在のソースファイル名

フルパスとは限らないため、フルパスが必要な場合は File.expand_path(__FILE__) とする必要があります。

__LINE__

現在のソースファイル中の行番号

疑似変数の値を変更することはできません。 擬似変数へ代入すると文法エラーになります。

定数

例:

FOOBAR

アルファベット大文字 ([A-Z]) で始まる識別子は定数です。 定数の定義 (と初期化) は代入によって行われますが、メソッドの 中では定義できません。一度定義された定数に再び代入を行おうと すると警告メッセージが出ます。定義されていない定数にアクセス すると例外 NameError が発生します。

定数はその定数が定義されたクラス/モジュール定義の中(メソッド 本体やネストしたクラス/モジュール定義中を含みます)、クラスを 継承しているクラス、モジュールをインクルードしているクラスま たはモジュールから参照することができます。クラス定義の外(トッ プレベル)で定義された定数は Object に所属することになり ます。

例:

class Foo
  FOO = 'FOO'       # クラス Foo の定数 FOO を定義(Foo::FOO)
end

class Bar < Foo
  BAR = 'BAR'       # クラス Bar の定数 BAR を定義(Bar::BAR)

  # 親クラスの定数は直接参照できる
  p FOO             # => "FOO"
  class Baz

    # ネストしたクラスはクラスの継承関係上は無関係であるがネス
    # トの外側の定数も直接参照できる
    p BAR           # => "BAR"
  end
end

またクラス定義式はクラスオブジェクトの生成を行うと同時に、 名前がクラス名である定数にクラスオブジェクトを代入する動作をします。 クラス名を参照することは文法上は定数を参照していることになります。

class C
end
p C    # => C

あるクラスまたはモジュールで定義された定数を外部から参照する ためには`::'演算子を用います。またObjectクラスで 定義されている定数(トップレベルの定数と言う)を確実に参照する ためには左辺無しの`::'演算子が使えます。 ただしこれらの `::' 演算子を用いて定数に代入することはできません。

((<ruby 1.8 feature>)): `::' 演算子を用いた定数への代入が可能に なりました。

例:

module M
  I = 35
  class C
  end
end
p M::I   #=> 35
p M::C   #=> M::C
p ::M    #=> M

M::NewConst = 777   # error--> parse error

定数参照の優先順位

親クラスとネストの外側のクラスで同名の定数が定義されているとネストの外 側の定数の方を先に参照します。つまり、定数参照時の定数の探索順序は、最 初にネスト関係を外側に向かって探索し、次に継承関係を上位に向かって探索 します。

例:

class Foo
  CONST = 'Foo'
end

class Bar
  CONST = 'Bar'
  class Baz < Foo
    p CONST             # => "Bar"      外側の定数
    # この場合、親クラスの定数は明示的に指定しなければ見えない
    p Foo::CONST        # => "Foo"
  end
end

トップレベルの定数定義はネストの外側とはみなされません。したがってトッ プレベルの定数は、継承関係を探索した結果で参照されるので優先順位は低い と言えます。

例:

class Foo
  CONST = 'Foo'
end

CONST = 'Object'

class Bar < Foo
  p CONST               # => "Foo"
end

# 以下のように明示的にネストしていれば規則通り Object の定数
# (ネストの外側)が先に探索される
class Object
  class Bar < Foo
    p CONST             # => "Object"
  end
end

上位のクラス(クラスの継承関係上、およびネストの関係上の上位クラス)の定 数と同名の定数(下の例で CONST) に代入を行うと、上位の定数への代入では なく、そのクラスの定数の定義になります。

例:

class Foo
  CONST = 'Foo'
end
class Bar < Foo
  p CONST               # => "Foo"
  CONST = 'Bar'         # Bar の定数 CONST を*定義*
  p CONST               # => "Bar"  (Foo::CONST は隠蔽される)
  p Foo::CONST          # => "Foo"  (:: 演算子で明示すれば見える)
end


Rubyで使われる記号の意味（正規表現の複雑な記号は除く）

!　?　#　%　&　|　 +　-　*　/　^　'　 .　,　<　>　=　~　 $　@　_　{ }　 [ ]　( )　"　:　`　 \　;

!

!true

not 演算子。演算子式/notを参照。

3 != 5

「等しくない」比較演算子。演算子式/notを参照。

def xxx!

「!」はメソッド名の一部です。慣用的に、 同名の(! の無い)メソッドに比べてより破壊的な作用をもつメソッド(例: tr と tr!)で使われます。

/xxx/ !~ yyy

正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。

?

?a

リテラル/数値リテラル。文字の ascii コードの数値。

def xx?

この場合の「?」はメソッド名の一部分です。慣用的に、論理値（true/false、nil） を返すタイプのメソッドを示すために使われます。

xx ? yy : zz

演算子式/条件演算子。三項演算子とも呼ばれます。if xx then yy else zz end と同じ意味です。

/xxx?/

正規表現の、量指定子(quantifiers)。直前の正規表現の 0 または 1 回の繰り返し。

#

#コメント

字句構造/コメント。# から行末までがコメントになります。

xxx #=> 実行結果

慣用的に実行結果を示すために使われるコメントの書き方。

#! ruby -Ks

shebang。Rubyの起動/インタプリタ行の解釈を参照。

"a is #{a}"

リテラル/式展開

  a = 10
  p "a is #{a}"  #=> "a is 10"
Range#each

説明文の中でのみ使われます。Ruby言語の要素ではありません。クラスのインスタンスメソッドであることを 簡単に表示するための表記法です。クラスメソッドは「Range.new」のように「.」でつなぎます。

%

10 % 3

各クラスで定義された「%」演算子。Integerクラスでは「余剰」を意味するメソッド。Integer#%メソッド。

"%04b" % 10

Stringクラスの「%」演算子。String#% メソッド。

%r{/etc/httpd/logs$} や %w[foo bar baz] ・・ %<文字><区切り文字><文字列><区切り文字>

リテラル/%記法。<区切り文字>には任意の非英数字を用いることができ、 <文字>によって式の意味が異なります。

    p %r{/etc/httpd/logs$} #=> /\/etc\/httpd\/logs$/
    p %w[foo bar baz] #=> ["foo", "bar", "baz"]
%!STRING!

% 記法の一種。リテラル/%記法。ダブルクォート文字列で %Q!STRING! と同じ。

    p %!nomad! #=> "nomad"
% ruby -e "puts 'Hello'"

コマンドラインへの入力を示す。rubyスクリプト上で入力を行うには `command` や system(command) などと書く

&

xxx & yyy

論理積演算子。または類似の演算を行うメソッド。

    p( 3 & 5 ) #=> 1 ・・ 二進数で 0011 & 0101 #=> 0001
a &= yyy

「&」メソッドの自己代入演算子。

xxx && yyy

「and」演算子。

    p( 3 && 5 ) #=> 5 ・・ 3=>true , 5=>true なので右の値を返す。
def xxx(&yyy) ・・ &がついた引数

メソッド定義のブロック引数。クラス／メソッドの定義/メソッド定義を参照。

|

3 | 5

論理和演算子または類似のメソッド。二進数で 0011 | 01010 => 0111。

3 || 5

「or」演算子または類似のメソッド。true || true なので左の値を返す。

a ||= xxx

「||」演算子の自己代入演算子。a が nil か false なら a に xxx を代入する、という意味になります。

  a ||= :some
  p a #=> some
  a ||= :sec
  p a #=> some
5.times{|n| p n}

ブロックの引数であることを示す区切り文字。

/xx(xx|xx)/

正規表現の選択

+

2 + 3

たし算。または類似の演算を行うメソッド。

+ 3

正の数を表す、単項演算子+。

/xxx+/

正規表現の、量指定子(quantifiers)。直前の表現の 1 回以上の繰り返し

-

3 - 2

引き算。または類似のメソッド

3 * (-5)

負数を表す、単項演算子-。混乱を避けるため適時()でくくるとよい。

% ruby -w など コマンドラインの入力 -AAA

コマンドラインオプション

*

2 * 3

かけ算。または類似の演算を行うメソッド。

2**3

累乗。または類似の演算を行うメソッド。

def xxx(*yy) ・・ *がついた引数

メソッド呼出の引数展開。メソッド呼び出し(super・ブロック付き・yield)とクラス／メソッドの定義/メソッド定義を参照。

/xx*/

正規表現の、直前の表現の 0 回以上の繰り返し。できるだけ長くマッチしようとする。

/

10 / 3

割り算、または類似のメソッド。

/xxx/

リテラル/正規表現リテラル。

'1二三四5'.split(//)

// は空の正規表現を意味する

^

true ^ true

「xor」演算子。排他的論理和。または類似のメソッド。

a ^= true

「^」演算子の自己代入演算子。aの論理値の反転。

    p(a=true);p(a^=true);p(a^=true) #=> true false true
/^xxx/

正規表現で、行頭。文字列の先頭や改行文字の直後の位置にマッチします。

:

:exit等の:のついた識別子

シンボルリテラル。リテラル/シンボルを参照。

Net::HTTP

定数のスコープ演算子。変数と定数/定数を参照。

::DateTime

定数のスコープ演算子で、トップレベルの定数であることを示す。Object クラスで 定義されている定数(トップレベルの定数と言う)を確実に参照するためには 変数と定数/定数を参照。

xx ? yy : zz

条件演算子。三項演算子とも呼ばれます。if xx then yy else zz end と同じ意味です。 演算子式/条件演算子 を参照。

if 30>20 : ... など 条件式 式 :

thenの省略形。条件式と式を同一行に書きたいときの表記法。

((<ruby 1.9 feature>))では obsolete になるので使用しないこと。

.

xxx.yyy

オブジェクトのメソッド

Range.new

オブジェクトのメソッドだが、説明文の中では特にクラスのクラスメソッド／モジュールの モジュールメソッドを示すことに使われます。インスタンスメソッドは「Range#each」のように 「#」でつなぎます。

1 .. 20

最大値を含む Range オブジェクトを作る範囲演算子です。全体で範囲式といいます。演算子式/範囲式。

1 ... 20

最大値を含まない Range オブジェクトを作る範囲演算子です。 全体で範囲式といいます。演算子式/範囲式。

if /^begin/ .. /^end/ など 条件式 式 .. 式

条件式中の範囲式は特別にフリップフロップのように働きます。

    '1234543212345'.each_byte{|n|print( (n==?2)..(n==?4) ? n.chr : '_' )} #=> _234___21234_
    #"2"が出るまではfalse、"2"が出てから"4"が出るまではtrue、"4"から"2"まではfalseを返す。
/xx.xx/

正規表現の任意の一文字。

,

a,b, = [1,2,3] ・・ 代入の左辺の「,」

多重代入。演算子式/多重代入を参照。

<

3 < 5

「より小さい」比較演算子

3 <= 5

「より小さいか等しい」比較演算子

3 <=> 5

基本的な比較演算子。ほかの比較演算子はこの演算子を元に Comparable モジュールで定義されています。 左が大きければ 1, 等しければ0, 右が大きければ -1 を返すように作ることが期待されています。

3 << 1

シフト演算子。または類似のメソッド。

a <<= 1

「<<」演算子の自己代入演算子。

  a = 3
  a <<= 1
  p a #=> 6
<<EOS または <<-EOS 、<<"EOS" など。

ヒアドキュメントです。リテラル/ヒアドキュメント (行指向文字列リテラル)。ヒアドキュメントは `<<識別子' を含む行の次の行から `識別子' だけの行の直前までを文字列とする行指向のリテラルです。

class Foo < Super

クラス定義でスーパークラスを指定しています。 クラス／メソッドの定義/クラス定義。

class << obj

特異クラス定義。クラス／メソッドの定義/特異クラス定義を参照。

>

3 > 5

「より大きい」比較演算子

3 >= 5

「より大きいか等しい」比較演算子

3 <=> 3

基本的な比較演算子。ほかの比較演算子はこの演算子を元に Comparable モジュールで定義されています。左が大きければ1, 等しければ0, 右が大きければ -1 を返すように作ることが期待されています。

3 >> 1

シフト演算子。または類似のメソッド。

a >>= 1

「>>」演算子の自己代入演算子。

  a = 3
  a >>= 1
  p a #=> 1
{ 1 => "11" , 3 => "333" }

ハッシュのリテラル

=

a = 12

代入演算子。

xxx.a = 12

代入メソッドの呼び出し。

a == 12

等号演算子。または類似のメソッド。

a === 12

特殊な等号演算子。Object#===での説明：「このメソッドは case 文での比較に用いられます。 デフォルトは Object#== と同じ働きをしますが、 この挙動はサブクラスで所属性のチェックを実現するため 適宜再定義されます」。たとえば、Range#=== はother が範囲内に含まれている時に真を返します。

a += 12 , a *= 12 , a ||= 12 など・・a 二項演算子 = b

自己代入演算子。演算子式/自己代入を参照。

  a = 7
  a **= 2
  p a #=> 49
def xx=

この場合の「=」はメソッド名の一部分です。このタイプの名前のメソッドを定義すると、 同時に「=」演算子を定義することになります。

=begin ・・ =end

埋め込みドキュメントです。字句構造/埋め込みドキュメントを参照。

{ 1 => "11" , 3 => "333" }

ハッシュのリテラル

rescue => XXX

例外処理で例外結果を変数 XXX に代入します。

xxx #=> 実行結果

慣用的に実行結果を示すために使われるコメントの書き方。

~

'%04b %04b' % [3, ~ 3]

ビット演算の否定。

 '%04b %04b' % [3, ~ 3] #=> "0011 1100"
/xxx/ =~ yyy

正規表現のメソッド =~ 。正規表現と文字列をマッチさせる。両辺を入れ替えても機能します。

/xxx/ !~ yyy

正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。

~ /xxx/

/xxx/ =~ $_ の省略形。~の後ろは正規表現でなければいけません。

$

$xxx

グローバル変数。変数と定数/グローバル変数を参照。

$_ や $! など ・・$<1文字の数字、記号>

[[unknown:特殊変数(組み込み変数)|URL:http://www.ruby-lang.org/ja/man/?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%CA%D1%BF%F4]]

/xx$/

正規表現で行末。文字列の末尾や改行文字の直前の位置にマッチします。改行自身は含みません。 正規表現を参照。

@

@xxx

インスタンス変数。変数と定数/インスタンス変数を参照。

@@xxx

クラス変数。変数と定数/クラス変数を参照。

def +@ または def -@

単項演算子 +X や -X を再定義するときの表記法。

  class String
    def +@
      self.upcase
    end
  end

  puts(+"joke") #=> JOKE

_

xxx_yyy

識別子の中では小文字と同じ扱い

123_456

文字コード以外の数値リテラルには、`_' を含めることができます。 ruby インタプリタは `_' を単に無視し、 特別な解釈は何もしません。 これは、大きな数値の桁数がひと目でわかるように記述するのに便利です。 リテラル/数値リテラルを参照。

{

}

{ 1 => "11" , 3 => "333" }

ハッシュのリテラル

5.times{|n| p n}

ブロック

/xx{2,3}/

正規表現の、範囲指定繰り返し制御(interval quantifier)。

"a is #{a}"

式展開。リテラル/式展開を参照。

  a = 10
  p "a is #{a}"  #=> "a is 10"

[

]

[1,"some",:ok]

配列のリテラル

'abcde'[1,2]

[]メソッドの実行

  class String
    def [](*a)
      '(^^;'
    end
  end
  p( 'abcde'[1,2] )  #=> "(^^;"
/xx[abc]/

正規表現の文字クラス指定。

Range.new(first,last[, exclude_end])

説明文の中で、省略可能であることを示す表記法（Ruby言語の要素ではない）。

(

)

(true and false)

丸カッコ()は厳密には、複数の文、式をまとめてひとつの式にするグループ化の()（例の内側のカッコ）とメソッドの引数を明示する()（例の外側のカッコ）があります。例のような特別な場合を除き、普段は使い分けを意識する必要はありません。()は意味が不明瞭にならない範囲で省略が可能です。

"

"abc"

文字列リテラル。式展開などが可能なタイプの文字列リテラルです。 リテラル/文字列リテラルを参照。

'

'abc'

文字列リテラル。最低限のエスケープだけしかしません。式展開などをしたい場合はかわりに""を用います。

`

`ls`

コマンド出力。バッククォート(`)で囲まれた文字列は、コマンドとして実行され、 その標準出力が文字列として与えられます。リテラル/コマンド出力を参照。

    puts `ruby -h`
    #=> Usage: ruby [switches] [--] [programfile] [arguments]
    #=> ....

\

バックスラッシュ。環境によって￥に見えたりします。

puts "abc\"def"

文字列や正規表現の中のエスケープ。

 puts "abc\"def" #=> abc"def
xxx \

継続行。改行の直前に置かれる。パースの段階で直後の改行が存在しないものとして扱われます。

    puts(3 \
    + 4) #=> 7

;

a = 3 ;

式の区切り。改行と同じ


Ruby 1.8.7 Reference Manual > All Libraries > library drb/acl > class ACL > allow_addr?

instance method ACL#allow_addr?

allow_addr?(addr)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/acl > class ACL > allow_socket?

instance method ACL#allow_socket?

allow_socket?(soc)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/acl > class ACL > install_list

instance method ACL#install_list

install_list(list)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/acl > class ACL > new

singleton method ACL.new

new(list=nil, order = DENY_ALLOW)


singleton method ARGF.binmode

binmode -> self

IO#binmodeを参照

require 'md5'

ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)
files = ARGV.dup
bm = ARGF.binmode.readlines(nil)
bm.each_with_index {|bl, i|
  md5 = MD5.new(bl).hexdigest
  printf("%s\t%s\n", md5, files[i])
}

#例
#=> fe413bf114e16b0cd596d869743e9d35        ruby-1.8.5-p35.tar.gz
#=> 70ad729e965c9625d2dfb7fa0145b423        sample.yaml
#=> d91e81b81673279e908a1c08e8582487        test.rb
#=> 158c4a0a097379a08bd88abfca6a51c5        test.rb~
#...

[SEE_ALSO] IO#binmode


singleton method ARGF.bytes

bytes -> Enumerable::Enumerator

自身を 1 バイトずつ整数としてイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

ARGF.bytes.to_a        #=> [104, 101, 108, 108, 111]


singleton method ARGF.chars

each_char {|c| ... } -> self
chars {|c| ... } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

レシーバに含まれる文字を一文字つつブロックに渡して評価します。

レシーバは読み込み可能でなければなりません。

また、マルチバイト文字列を使用する場合は $KCODE を適切に設定してください。

[SEE_ALSO] IO#each_char, IO#chars


singleton method ARGF.close

close -> self

処理対象のファイルをクローズします。開くファイルが残っている場合は次のファイルをオープンします

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each {|line|
  p [ line.chomp, ARGF.filename ]
  ARGF.close
  if ARGF.closed?
    p "ARGF is closed."
  else
    p "ARGF is not closed"
  end
}
if ARGF.closed?
  p "ARGF had been closed."
else
  p "ARGF is not closed"
end

#例
#=> ["cat:", "sample.yaml"]
#=> "ARGF is not closed"
#=> ["", "test.rb"]
#=> "ARGF is not closed"
#=> ["--- !ruby/object:Dog ", "ugo.yaml"]
#=> "ARGF is closed."
#=> "ARGF had been closed."


singleton method ARGF.closed?

closed? -> bool

ARGFがcloseされていればtrueを返します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each {|line|
  p [ line.chomp, ARGF.filename ]
  ARGF.close
  if ARGF.closed?
    p "ARGF is closed."
  else
    p "ARGF is not closed"
  end
}
if ARGF.closed?
  p "ARGF had been closed."
else
  p "ARGF is not closed"
end

#例
#=> ["cat:", "sample.yaml"]
#=> "ARGF is not closed"
#=> ["", "test.rb"]
#=> "ARGF is not closed"
#=> ["--- !ruby/object:Dog ", "ugo.yaml"]
#=> "ARGF is closed."
#=> "ARGF had been closed."

[SEE_ALSO] IO#closed?


singleton method ARGF.each

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator

ARGFの現在位置から一行ずつ文字列として読み込みます。

[PARAM] rs:
区切り文字を指定する
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each_line {|line|
  line.chomp!
  printf("'%s' in %s\n", line, ARGF.filename)
}
#例
#=> '--- !ruby/object:Dog ' in ugo.yaml
#=> 'name: pochi' in ugo.yaml
#=> '--- ' in ugo.yaml
#=> ':age: 17' in ugo.yaml
#=> ':color: white' in ugo.yaml
#=> '--- ' in ugo.yaml
#=> '- Chiba' in ugo.yaml
#=> '- Saitama' in ugo.yaml

[SEE_ALSO] IO#each, IO#each_line,


singleton method ARGF.each_byte

each_byte {|char| ...} -> self
each_byte -> Enumerable::Enumerator

ARGF の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each_byte {|b|
  printf("%4d <-> %4s\n", b, b.chr)
}
#例
#=>  45 <->    -
#=>  32 <->
#=>  83 <->    S
#=>  97 <->    a
#=> 105 <->    i
#=> 116 <->    t
#=>  97 <->    a
#=> 109 <->    m
#=>  97 <->    a
#=>  10 <->
#...

[SEE_ALSO] IO#each_byte


singleton method ARGF.eof

eof -> bool
eof? -> bool

現在開いているファイルがeofに達したらtrueを返します。そうでない場合はfalseを返します。

[EXCEPTION] IOError:
ファイルがopenされていない場合
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each_line {|line|
  if ARGF.eof
    printf("eof. %s has %d(%d) line\n", ARGF.filename, ARGF.file.lineno, ARGF.lineno)
  end
}
begin
  if ARGF.eof?
    printf("%s is eof\n", ARGF.filename)
  end
rescue IOError
  print "IOError !!\n"
end

#=> 例
#=> eof. sample.yaml has 13(13) line
#=> eof. test.rb has 159(172) line
#=> eof. test.rb~ has 159(331) line
#=> eof. third.txt has 1(332) line
#=> eof. ugo.yaml has 8(340) line
#=> IOError !!

[SEE_ALSO] IO#eof, IO#eof?


singleton method ARGF.file

file -> IO

処理対象の File オブジェクト(または IO オブジェクト)を 返します。

ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

until ARGF.closed?
  printf("最終更新時刻 %s (%s)\n", ARGF.file.stat.mtime, ARGF.filename)
  ARGF.skip
end
#例
#=> 最終更新時刻 Thu May 03 14:05:53 +0900 2007 (sample.yaml)
#=> 最終更新時刻 Sun Aug 26 11:28:09 +0900 2007 (test.rb)
#=> 最終更新時刻 Sun Aug 26 11:27:58 +0900 2007 (test.rb~)
#=> 最終更新時刻 Sun Jun 24 13:08:12 +0900 2007 (third.txt)
#=> 最終更新時刻 Sun May 20 21:34:25 +0900 2007 (ugo.yaml)

$stdinがIOオブジェクトでない場合は$stdinを返します。

class MyIO
  def to_io
    DATA
  end
end

$stdin = MyIO.new
ARGV.push("-");

p ARGF.file                #=> #<MyIO:0x293e840>
p ARGF.file.to_io.readline #=> "MyIO Test\n"

__END__
MyIO Test
です。

[SEE_ALSO] ARGF.to_io


singleton method ARGF.filename

filename -> String
path -> String

処理対象のファイル名を返します。 標準入力に対しては - を返します。 組み込み変数 $FILENAME と同じです。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each {|line|
  p [ARGF.filename, ARGF.path, ARGV]
  ARGF.skip
}
#例
#=> ["test.rb", "test.rb", ["test.rb~", "third.txt", "ugo.yaml"]]
#=> ["test.rb~", "test.rb~", ["third.txt", "ugo.yaml"]]
#...


singleton method ARGF.fileno

fileno -> Integer
to_i -> Integer

現在オープンしているファイルのファイル記述子を表す整数を返します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each_line {|line|
  p [ ARGF.to_i, ARGF.filename ]
  ARGF.skip
}
begin
  p [ ARGF.to_i, ARGF.filename ]
rescue ArgumentError
  print "ArgumentError\n"
end
#例
#=> [3, "sample.yaml"]
#=> [3, "test.rb"]
#=> [3, "test.rb~"]
#=> [3, "third.txt"]
#=> [3, "ugo.yaml"]
#=> ArgumentError
[EXCEPTION] ArgumentError:


singleton method ARGF.getbyte

getbyte -> Integer | nil

自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。

ARGF.getbyte   #=> 84
ARGF.getbyte   #=> 104


singleton method ARGF.getc

getc -> Integer | nil

ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返します。EOF に到達した時には nil を返します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)

while c = ARGF.getc
  printf("%d,%c.\n", c, c)
end
#例
#=> 45,-.
#=> 32, .
#=> 67,C.
#=> 104,h.
#=> 105,i.
#=> 98,b.
#=> 97,a.
#=> 10,
#=> .
#...


singleton method ARGF.gets

gets -> String | nil

ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時には nil を返します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)

while line = gets
  line.chomp!
  printf("%s\n", line)
end

[SEE_ALSO] Kernel.#gets


singleton method ARGF.lineno

lineno -> Integer

全引数ファイルを一つのファイルとみなしたときの現在の行番号を返します。 個々の引数ファイル毎の行番号を得るには ARGF.file.lineno とします。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
ARGF.each {|line|
  if ARGF.lineno < 10
    ARGF.lineno = 10
  end
  p [ ARGF.lineno, line]
}
#例
#=> [10, "cat:\n"]
#=> [11, " - name: taro\n"]
#=> [12, "   age: 7\n"]
#...


singleton method ARGF.lineno=

lineno=(number) -> nil

全引数ファイルを一つのファイルとみなしたときの現在の行番号をnumberに書き換えます

[PARAM] number:
更新後の行番号を指定する
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)

ARGF.each {|line|
  if ARGF.lineno == 4
    ARGF.lineno = 5
  end
  p [ARGF.lineno, line]
}
#=> 例
#=> [1, "cat:\n"]
#=> [2, " - name: taro\n"]
#=> [3, "   age: 7\n"]
#=> [5, " - name: jiro\n"]
#=> [6, "   age: 23\n"]
# ...


singleton method ARGF.lines

lines(rs = $/) -> Enumerable::Enumerator

自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

テキスト読み込みメソッドとして動作します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
ARGF.lines.to_a   #=> ["foo\n", "bar\n"]

[SEE_ALSO] $/


singleton method ARGF.pos

pos -> Integer
tell -> Integer

ARGFが現在開いているファイルのファイルポインタの現在の位置を整数で返します。

ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)

while c = ARGF.getc
  printf("%d '%c' %s\n", ARGF.pos, c, ARGF.filename)
  if ARGF.pos == 3
    ARGF.skip
  end
end

# 例
#=> 1 'c' sample.yaml
#=> 2 'a' sample.yaml
#=> 3 't' sample.yaml
#=> 1 '#' test.rb
#=> 2 '!' test.rb
#=> 3 '/' test.rb
#=> 1 'd' third.txt
#=> 2 'r' third.txt
#=> 3 'y' third.txt
#...

[SEE_ALSO] IO#pos, IO#tell


singleton method ARGF.pos=

pos=(n)

ARGFが開いているファイルのファイルポインタを指定位置に移動します

[PARAM] n:
先頭からのオフセットを整数で指定します。
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)
print ARGF.readline
#例
#=> #!/usr/bin/env ruby
ARGF.pos = 2
print ARGF.readline
#=> /usr/bin/env ruby
ARGF.pos = 4
print ARGF.readline
#=> sr/bin/env ruby

[SEE_ALSO] IO#pos=


singleton method ARGF.read

read(length = nil, str = nil) -> String

ARGVに指定されたファイルを先頭のファイルからlengthバイト読み込み、 その文字列をstrに出力します。読み込んだ文字列を返します。

[PARAM] length:
読み込むバイト数を指定します nilの場合はARGVのすべてのファイルを読み込みます。
[PARAM] str:
出力先の文字列
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

str = "efefefe"
ARGF.read(100, str)
p str.size #=> 100
p str
# 例
#=> "cat:\n - name: taro\n   age: 7\n - name: jiro\n   age: 23\n---\ndog:\n shiba:\n- name: goro\n    age: 3\n  -"

[SEE_ALSO] IO#read


singleton method ARGF.readbyte

readbyte -> Integer

自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。

[EXCEPTION] EOFError:
既に EOF に達している場合に発生します。


singleton method ARGF.readchar

readchar -> Integer

ARGFから 1 文字読み込んで、その文字に対応する Fixnum を返します。EOF に到達した時には EOFErrorを発生します。

[EXCEPTION] EOFError:
EOFに達した時発生する
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

begin
  c = ARGF.readchar
  printf("%4c is %4d\n", c, c)
rescue EOFError
  p $!
  break
end while true

# 例
#...
#=>    t is  116
#=>    a is   97
#=>    m is  109
#=>    a is   97
#=>
#=>  is   10
#<EOFError: end of file reached>

[SEE_ALSO] ARGF.getc


singleton method ARGF.readline

readline -> String

ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時にはEOFErrorを発生します。

[EXCEPTION] EOFError:
EOFに達したら発生する
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

begin
  line = ARGF.readline
  p line
rescue EOFError
  p $!
  break
end while true

#例
#...
#=> "- Saitama\n"
#=> <EOFError: end of file reached>

[SEE_ALSO] Kernel.#readline ARGF.gets


singleton method ARGF.readlines

readlines(rs = $/) -> [String]
to_a(rs = $/) -> [String]

ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルをすべて読み込んだ配列を返します。

[PARAM] rs:
行区切り文字
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)
aall = ARGF.readlines
p aall[0, 3]
# 例
#=> ["cat:\n", " - name: taro\n", "   age: 7\n"]
p ARGF.closed? #=> true

ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

vsize = ARGV.size
aall = ARGF.readlines(nil)
p ARGF.closed? #=> true
p vsize == aall.size #=> true

[SEE_ALSO] $/ IO#readlines


singleton method ARGF.rewind

rewind -> 0

ARGFが現在開いているファイルのファイルポインタを先頭に戻します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

#各ファイルの先頭から３行を２回表示する
until ARGF.closed?
  1.upto(2){|i|
    printf("filename:%s at %d\n", ARGF.filename, i)
    1.upto(3){
      line = ARGF.readline
      p line
      break if ARGF.eof?
    }
    ARGF.rewind
  }
  ARGF.skip
end


singleton method ARGF.seek

seek(offset, whence = IO::SEEK_SET) -> 0

ARGFが現在開いているファイルのファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。

[PARAM] offset:
ファイルポインタを移動させるオフセットを整数で指定します。
[PARAM] whence:
IO#seekを参照
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

until ARGF.closed?
  begin
    ARGF.seek(-13, IO::SEEK_END)
    printf "(%s):%s", ARGF.filename, ARGF.readline
  rescue Errno::EINVAL
    printf "Error %s (%s)\n", ARGF.filename, $!.to_s
  end
  ARGF.skip
end
#例
#=> (sample.yaml):d of sample
#=> (test.rb):.skip
#=> (test.rb~):.skip
#=> Error third.txt (Invalid argument - third.txt)
#=> (ugo.yaml):

[SEE_ALSO] IO#seek


singleton method ARGF.skip

skip -> self

処理対象のファイルをクローズします。 次回の読み込みは次の引数が処理対象になります。 self を返します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
while line = ARGF.gets
  p [ARGF.filename, ARGV, ARGF.skip]
end
#例
#=> ["sample.yaml", ["test.rb", "test.rb~", "third.txt", "ugo.yaml"], ARGF]
#=> ["test.rb", ["test.rb~", "third.txt", "ugo.yaml"], ARGF]
#...


singleton method ARGF.to_io

to_io -> IO

ARGFが現在開いているファイルのFile、またはIOオブジェクトを返します

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

until ARGF.closed?
  printf("最終更新時刻 %s (%s)\n", ARGF.to_io.stat.mtime, ARGF.filename)
  ARGF.skip
end
#例
#=> 最終更新時刻 Thu May 03 14:05:53 +0900 2007 (sample.yaml)
#=> 最終更新時刻 Sat Aug 18 16:31:42 +0900 2007 (test.rb)
#=> 最終更新時刻 Sat Aug 18 16:31:30 +0900 2007 (test.rb~)
#=> 最終更新時刻 Sun Jun 24 13:08:12 +0900 2007 (third.txt)
#=> 最終更新時刻 Sun May 20 21:34:25 +0900 2007 (ugo.yaml)
#...

$stdinがIOオブジェクトでない場合は$stdin.to_ioを呼び出します。

class MyIO
  def to_io
    DATA
  end
end

$stdin = MyIO.new
ARGV.push("-")

myio = ARGF.to_io
p myio.readline #=> "MyIO Test\n"
p ARGF.file     #=> #<MyIO:0x293ea34>

__END__
MyIO Test
です。

[SEE_ALSO] ARGF.file


singleton method ARGF.to_s

to_s -> String

常に文字列 "ARGF" を返します。

# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
  Dir.glob("*").reject{|name| FileTest.file?(name) == false}
)
while line = ARGF.gets
  p [ARGF.filename, ARGF.to_s, ARGV]
  ARGF.skip
end

#例
#=> ["test.rb", "ARGF", ["test.rb~", "third.txt", "ugo.yaml"]]
#=> ["test.rb~", "ARGF", ["third.txt", "ugo.yaml"]]
#...


module function Abbrev.#abbrev

abbrev(words, pattern = nil) -> Hash

文字列の配列から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。

第二引数に正規表現を指定すると、words のうちそのパターンにマッチしたものから短縮形を計算します。 第二引数に文字列を指定すると、words のうちその文字列で始まるものから短縮形を計算します。

[PARAM] words:
元となる文字列の配列。
[PARAM] pattern:
Regexp か String を指定します。
[RETURN]
短縮形をキー、元の文字列を値とするハッシュを返します。
# words に同じ文字列が含まれている場合は
# 以下のようにその文字列しか返しません。
pp Abbrev.abbrev(%w[ruby ruby]).sort
    # => [["ruby", "ruby"]]

# 空白が含まれていても適切に処理します。
pp Abbrev.abbrev(['ru by']).sort"
    # => [["r", "ru by"],
    #     ["ru", "ru by"],
    #     ["ru ", "ru by"],
    #     ["ru b", "ru by"],
    #     ["ru by", "ru by"]]
# sort していない例
p %w[ruby rubyist].abbrev
  #=> {"ruby"    => "ruby",
  #    "rubyi"   => "rubyist",
  #    "rubyis"  => "rubyist",
  #    "rubyist" => "rubyist"}


instance method Array#*

self * times -> Array

配列の内容を times 回 繰り返した新しい配列を作成し返します。 値はコピーされないことに注意してください[[trap:Array]]。

[PARAM] times:
繰り返したい回数を整数で指定します。
p [1, 2, 3] * 3  #=> [1, 2, 3, 1, 2, 3, 1, 2, 3]
self * sep -> String

指定された sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。

[PARAM] sep:
文字列を指定します。
p [1,2,3] * ","
# => "1,2,3"

[SEE_ALSO] Array#join


instance method Array#+

self + other -> Array

自身と other の内容を繋げた配列を生成して返します。

[PARAM] other:
自身と繋げたい配列を指定します。other が配列でなければ other.to_ary の戻り値を用います。
[EXCEPTION] TypeError:
other が配列でなく、さらに other.to_ary の戻り値がまた配列でなかった場合に発生します。
a = [1, 2]
b = [8, 9]
p a + b     #=> [1, 2, 8, 9]
p a         #=> [1, 2]        (変化なし)
p b         #=> [8, 9]        (こちらも変化なし)


instance method Array#-

self - other -> Array

自身から other の要素を取り除いた配列を生成して返します。

要素の同一性は Object#eql? により評価されます。 self 中で重複していて、other中に存在していなかった要素は、その重複が保持されます。

[PARAM] other:
自身から取り除きたい要素の配列を指定します。other が配列でなければ to_ary メソッドによる暗黙の型変換を試みます。
[1, 2, 1, 3, 1, 4, 1, 5] - [2, 3, 4, 5]       # => [1, 1, 1, 1]

[1, 2, 1, 3, 1, 4, 1, 5] - [1, 2, 3, 4, 5]    # => []


instance method Array#<<

self << obj -> self

指定された obj を自身の末尾に破壊的に追加します。Array#push と同じです。

ary = [1]
ary << 2
p ary      # [1, 2]

またこのメソッドは self を返すので、以下のように連続して 書くことができます。

ary = [1]
ary << 2 << 3 << 4
p ary   #=> [1, 2, 3, 4]
[PARAM] obj:
自身に加えたいオブジェクトを指定します。


instance method Array#<=>

self <=> other -> -1 | 0 | 1

自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合に その値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。 各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。

[PARAM] other:
自身と比較したい配列を指定します。
[ 1, 2, 3 ] <=> [ 1, 3, 2 ]       #=> -1
[ 1, 2, 3 ] <=> [ 1, 2 ]          #=> 1


instance method Array#==

self == other -> bool

自身と other の各要素をそれぞれ順に == で比較し て、全要素が等しければ true を返します。そうでない場合には false を返します。

[PARAM] other:
自身と比較したい配列を指定します。


instance method Array#[]

self[nth] -> object | nil

nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。

[PARAM] nth:
インデックスを整数で指定します。 先頭の要素が 0 番目になります。nth の値が負の時には末尾からのインデックスと見倣します。末尾 の要素が -1 番目になります。

例:

a = [ "a", "b", "c", "d", "e" ]
a[0]  #=> "a"
a[1]  #=> "b"
a[-1] #=> "e"
a[-2] #=> "d"
a[10] #=> nil
self[range] -> Array | nil

Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の first の値が配列の範囲に収まらない場合 nil を返します。 range の first が end より後にある場合には空の配列を返します。

[PARAM] range:
生成したい部分配列の範囲を Range オブジェクトで指定します。 range の first や end の値が負の時には末尾からのインデックスと見倣します。末尾 の要素が -1 番目になります。 end の値が配列の範囲を越える時には、越えた分は無視されます。

例:

a = [ "a", "b", "c", "d", "e" ]
a[0..1]   #=> ["a", "b"]
a[0...1]  #=> ["a"]
a[0..-1]  #=> ["a", "b", "c", "d", "e"]
a[-2..-1] #=> ["d", "e"]
a[-2..4]  #=> ["d", "e"]  (start は末尾から -2 番目、end は先頭から (4+1) 番目となる。)
a[0..10]  #=> ["a", "b", "c", "d", "e"]
a[10..11] #=> nil
a[2..1]   #=> []
a[-1..-2] #=> []

# 特殊なケース。first が自身の長さと同じ場合には以下のようになります。
a[5]                   #=> nil
a[5, 1]                #=> []
a[5..10]               #=> []
self[start, length] -> Array | nil

start 番目から length 個の要素を含む部分配列を返します。 length が負の時、start が自身の範囲を越えた時には nil を返します。

[PARAM] start:
生成したい部分配列の先頭のインデックスを整数で指定します。 start の値が負の時には末尾からのインデックスと見倣します。末尾の要素が -1 番目になります。
[PARAM] length:
生成したい部分配列の長さを整数で指定します。 length が start 番目からの配列の長さより長い時には、越えた分の長さは無視されます。

例:

a = [ "a", "b", "c", "d", "e" ]
a[0, 1]    #=> ["a"]
a[-1, 1]   #=> ["e"]
a[0, 10]   #=> ["a", "b", "c", "d", "e"]
a[0, 0]    #=> []
a[0, -1]   #=> nil
a[10, 1]   #=> nil

# 特殊なケース。start が自身の長さと同じ場合には以下のようになります。
a[5]                   #=> nil
a[5, 1]                #=> []
a[5..10]               #=> []


instance method Array#[]=

self[nth] = val

nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、 拡張した領域を nil で初期化します。

[PARAM] nth:
インデックスを整数で指定します。
[PARAM] val:
設定したい要素の値を指定します。
[EXCEPTION] IndexError:
指定された nth が自身の始点よりも前を指している場合に発生します。

例:

a = [0, 1, 2, 3, 4, 5]
a[0] = "a"
p a  #=> ["a", 1, 2, 3, 4, 5]
a[10] = "x"
p a  #=> ["a", 1, 2, 3, 4, 5, nil, nil, nil, nil, "x"]

a = [0, 1, 2, 3, 4, 5]
a[-100] = 1           #=> IndexError
self[range] = val

Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。 range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。

ary = [0, 1, 2, 3, 4, 5]
ary[0..2] = ["a", "b"]
p ary  # => ["a", "b", 3, 4, 5]

ary = [0, 1, 2]
ary[5..6] = "x"
p ary  # => [0, 1, 2, nil, nil, "x"]

ary = [0, 1, 2, 3, 4, 5]
ary[1..3] = "x"
p ary  # => [0, "x", 4, 5]
[PARAM] range:
設定したい配列の範囲を Range オブジェクトで指定します。 range の first や end の値が負の時には末尾からのインデックスと見倣します。 末尾の要素が -1 番目になります。 range の first が end より後にある場合には first の直前に val を挿入します。
    ary = [0, 1, 2, 3, 4, 5]
    ary[2..0] = ["a", "b", "c"]
    p ary   # => [0, 1, "a", "b", "c", 2, 3, 4, 5]
[PARAM] val:
range の範囲に設定したい要素を配列で指定します。 val が配列でないときには val.to_ary もしくは [val] の内容で置換します。 val の要素の数の方が range の長さより大きい時には、後ろの要素がずれます。 val が nil か 空の配列 [] なら start から end までの要素が削除されます。
    ary = [0, 1, 2, 3, 4, 5]
    ary[2..4] = nil
    p ary   # => [0, 1, 5]
[EXCEPTION] RangeError:
指定された範囲の始点が自身の始点よりも前にある場合に発生します。

例:

a = [0, 1, 2, 3, 4, 5]
a[-10..10] = 1        #=> RangeError
self[start, length] = val

インデックス start から length 個の要素を配列 val の内容で置き換えます。 start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。

ary = [0, 1, 2, 3]
ary[1, 2] = ["a", "b", "c", "d"]
p ary                        #=> [0, "a", "b", "c", "d", 3]

ary = [0, 1, 2]
ary[5, 1] = "Z"
p ary                        #=> [0, 1, 2, nil, nil, "Z"]

ary = [0, 1, 2, 3]
ary[0, 10] = ["a"]
p ary                        #=> ["a"]
[PARAM] start:
置き換えたい範囲の先頭のインデックスを指定します。 start の値が負の時には末尾からのインデックスと見倣します。末尾の要素が -1 番目になります。
[PARAM] length:
置き換えたい要素の個数を指定します。 length の値が 0 のときは start の直前に val を挿入します。
    ary = [0, 1, 2, 3]
    ary[1, 0] = ["inserted"]
    p ary                        # => [0, "inserted", 1, 2, 3]
[PARAM] val:
設定したい要素を配列で指定します。 val が配列でないときには val.to_ary もしくは [val] の内容で置換します。 val の長さが length と等しくない場合には、val の長さに合わせて要素が削除されたりずれたりします。 val が nil か 空の配列 [] なら start から end までの要素が削除されます。
    a = [0, 1, 2, 3, 4, 5]
    a[2, 3] = nil
    p a   # => [0, 1, 5]
[EXCEPTION] IndexError:
指定された start が自身の始点よりも前を指している場合に発生します。


instance method Array#|

self | other -> Array

集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し い配列を返します。重複する要素は取り除かれます。

要素の重複判定は、Object#eql? により行われます。

[PARAM] other:
配列を指定します。other が配列でなければ to_ary メソッドによる暗黙の型変換を試みます。
[1, 1, 4, 2, 3] | [4, 5, 5]  #=> [1, 4, 2, 3, 5]


instance method Array#&

self & other -> Array

集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返 します。重複する要素は取り除かれます。

要素の重複判定は、Object#eql? により行われます。 処理の高速化のために内部で Hash を使用しているためです。

[PARAM] other:
配列を指定します。other が配列でなければ to_ary メソッドによる暗黙の型変換を試みます。
[1, 1, 2, 3] & [1, 3, 4] #=> [1, 3]


instance method Array#abbrev

abbrev(pattern = nil) -> Hash [added by abbrev]

self が文字列の配列の場合、self から一意に決まる短縮形を計算し、 短縮形をキー、元の文字列を値とするハッシュを返します。

引数に正規表現を指定すると、self のうちそのパターンにマッチしたものから短縮形を計算します。 引数に文字列を指定すると、self のうちその文字列で始まるものから短縮形を計算します。

Abbrev.#abbrev(self, pattern) と同じです。

[PARAM] pattern:
Regexp か String を指定します。
p %w[ruby rubyist].abbrev
#=> {"ruby"    => "ruby",
#    "rubyi"   => "rubyist",
#    "rubyis"  => "rubyist",
#    "rubyist" => "rubyist"}

[SEE_ALSO] Abbrev.#abbrev


instance method Array#assoc

assoc(key) -> Array | nil

配列の配列を検索して、その 0 番目の要素が key に等しい最初の 要素を返します。比較は == 演算子を使って行われます。 該当する要素がなければ nil を返します。

[PARAM] key:
自身の要素である配列の、最初の要素と同じ型のオブジェクトを指定します。
ary = [[1,15], [2,25], [3,35]]
p ary.assoc(2)           # => [2, 25]
p ary.assoc(100)         # => nil
p ary.assoc(15)          # => nil

[SEE_ALSO] Array#rassoc


instance method Array#at

at(pos) -> object

配列の pos の位置にある要素を返します。 self[pos] と同じです。

[PARAM] pos:
インデックスを整数で指定します。
a = [0, 1, 2, 3]
p a.at(1)        #=> 1


instance method Array#choice

choice -> object

配列の要素を1個ランダムに選んで返します。

配列が空の場合は nil を返します。

srand()が有効です。

このメソッドは Ruby 1.8.7 と Ruby 1.9.0 にしか存在しないメソッドです。 Ruby 1.8.8 以降では Array#sample を使ってください。

例:

a = (1..10).to_a
p a.choice        #=>  9
p a.choice        #=> 10
p a               #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


instance method Array#clear

clear -> self

配列の要素をすべて削除して空にします。

ary = [1, 2]
ary.clear
p ary     #=> []


instance method Array#clone

clone -> Array
dup -> Array

レシーバと同じ内容を持つ新しい配列を返します。

clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。 またどちらのメソッドも要素それ自体のコピーはしません。 つまり「浅い(shallow)」コピーを行います。

ary = ['string']
p ary             #=> ["string"]
copy = ary.dup
p copy            #=> ["string"]

ary[0][0...3] = ''
p ary             #=> ["ing"]
p copy            #=> ["ing"]


instance method Array#collect!

collect! {|item| ..} -> self
map! {|item| ..} -> self
collect! -> Enumerable::Enumerator
map! -> Enumerable::Enumerator

各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。

ブロックが与えられなかった場合は、自身と map! から生成した Enumerable::Enumerator オブジェクトを返します。

例:

ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary   #=> [3, 6, 9]

ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary           #=> [1, 1, 1]

[SEE_ALSO] Enumerable#collect, Enumerable::Enumerator


instance method Array#combination

combination(n) {|c| block } -> Array
combination(n) -> Enumerable::Enumerator

サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。

得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ を生成する Enumerable::Enumerator オブジェクトを返します。

[PARAM] n:
生成される配列のサイズ。

例:

a = [1, 2, 3, 4]
a.combination(1).to_a  #=> [[1],[2],[3],[4]]
a.combination(2).to_a  #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
a.combination(3).to_a  #=> [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
a.combination(4).to_a  #=> [[1,2,3,4]]
a.combination(0).to_a  #=> [[]]: one combination of length 0
a.combination(5).to_a  #=> []  : no combinations of length 5


instance method Array#compact

compact -> Array
compact! -> self | nil

compact は自身から nil を取り除いた配列を生成して返します。 compact! は自身から破壊的に nil を取り除き、変更が 行われた場合は self を、そうでなければ nil を返します。

ary = [1, nil, 2, nil, 3, nil]
p ary.compact   #=> [1, 2, 3]
p ary           #=> [1, nil, 2, nil, 3, nil]
ary.compact!
p ary           #=> [1, 2, 3]
p ary.compact!  #=> nil


instance method Array#concat

concat(other) -> self

配列 other を自身の末尾に破壊的に連結します。

[PARAM] other:
自身と連結したい配列を指定します。
array = [1, 2]
a     = [3, 4]
array.concat a
p array          # => [1, 2, 3, 4]
p a              # => [3, 4]       # こちらは変わらない


instance method Array#cycle

cycle {|obj| block }

Enumerable オブジェクトの要素を、繰り返し無限に生成し続けます。

例:

a = ["a", "b", "c"]
a.cycle {|x| puts x }  # print, a, b, c, a, b, c,.. forever.


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class Array > dclone

instance method Array#dclone

dclone [added by rexml]


instance method Array#delete

delete(val) -> object | nil
delete(val) { ... } -> object

指定された val と == で等しい要素を自身からすべて取り除きます。 val と等しい要素が見つかった場合は、val を返します。 そうでない場合には nil を返します。

ブロックが指定された場合、val と等しい要素が見つからなかったときにブロックを 評価してその結果を返します。

[PARAM] val:
自身から削除したい値を指定します。
array = [1, 2, 3, 2, 1]
p array.delete(2)       #=> 2
p array                 #=> [1, 3, 1]

# ブロックなしの引数に nil を渡すとその戻り値から削除が
# 行われたかどうかの判定をすることはできない
ary = [nil,nil,nil]
p ary.delete(nil)       #=> nil
p ary                   #=> []
p ary.delete(nil)       #=> nil


instance method Array#delete_at

delete_at(pos) -> object | nil

指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。

Array#at と同様に負のインデックスで末尾から位置を指定するこ とができます。

[PARAM] pos:
削除したい要素のインデックスを整数で指定します。
array = [0, 1, 2, 3, 4]
array.delete_at 2
p array             #=> [0, 1, 3, 4]


instance method Array#delete_if

delete_if {|x| ... } -> self
reject! {|x| ... } -> self | nil
delete_if -> Enumerable::Enumerator
reject! -> Enumerable::Enumerator

要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。

ブロックが与えられなかった場合は、自身と reject! から生成した Enumerable::Enumerator オブジェクトを返します。 返された Enumerator オブジェクトの each メソッドには、 もとの配列に対して副作用があることに注意してください。

例:

a = [0, 1, 2, 3, 4, 5]
a.delete_if{|x| x % 2 == 0}
p a #=> [1, 3, 5]

a = [0, 1, 2, 3, 4, 5]
e = a.reject!
e.each{|i| i % 2 == 0}
p a                    #=> [1, 3, 5]  もとの配列から削除されていることに注意。


instance method Array#each

each {|item| .... } -> self
each -> Enumerable::Enumerator

各要素に対してブロックを評価します。

ブロックが与えられなかった場合は、自身と each から生成した Enumerable::Enumerator オブジェクトを返します。

[1, 2, 3].each do |i|
  puts i
end
#=> 1
    2
    3


instance method Array#each_index

each_index {|index| .... } -> self
each_index -> Enumerable::Enumerator

各要素のインデックスに対してブロックを評価します。

以下と同じです。

(0 ... ary.size).each {|index| ....  }

ブロックが与えられなかった場合は、自身と each_index から生成した Enumerable::Enumerator オブジェクトを返します。


instance method Array#empty?

empty? -> bool

自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。

p [].empty?         #=> true
p [1, 2, 3].empty?  #=> false


instance method Array#eql?

eql?(other) -> bool

自身と other の各要素をそれぞれ順に Object#eql? で比較して、全要素が等しければ真を返 します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したい配列を指定します。
["a", "b", "c"].eql? ["a", "b", "c"]      #=> true
["a", "b", "c"].eql? ["a", "c", "b"]      #=> false
["a", "b", 1].eql?   ["a", "b", 1.0]      #=> false (1.eql?(1.0) が false なので)

[SEE_ALSO] Object#eql?


instance method Array#fetch

fetch(nth) -> object
fetch(nth, ifnone) -> object
fetch(nth) {|nth| ... } -> object

nth 番目の要素を返します。

Array#[](nth) とは nth 番目の要素が存在しない場合の振舞いが異 なります。最初の形式では、例外 IndexError が発生します。 二番目の形式では、引数 ifnone を返します。 三番目の形式では、ブロックを評価した結果を返します。

[PARAM] nth:
取得したい要素のインデックスを整数で指定します。
[PARAM] ifnone:
要素が存在しなかった場合に返すべき値を指定します。

例:

a = [1, 2, 3, 4, 5]
begin
  p a.fetch(10)
rescue IndexError => err
  puts err #=> index 10 out of array
end

p a.fetch(10, 999) #=> 999

result = a.fetch(10){|nth|
  print "#{nth} はありません。\n"
  999
}
p result #=> 999


instance method Array#fill

fill(val) -> self
fill {|index| ... } -> self

すべての要素に val をセットします。

このメソッドが val のコピーでなく val 自身をセットする ことに注意してください([[trap:Array]])。 val の代わりにブロックを指定するとブロックの評価結果を値とします。

[PARAM] val:
自身にセットしたいオブジェクトを指定します。
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]

a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitalize!
p a #=> ["A", "A", "A", "A", "A"]
fill(val, start, length = nil) -> self
fill(val, range) -> self
fill(start, length = nil) {|index| ... } -> self
fill(range) {|index| ... } -> self

配列の指定された範囲すべてに val をセットします。

範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。 範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。 このメソッドが val のコピーでなく val 自身をセットすることに注意してください([[trap:Array]])。

a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]

val の代わりにブロックを指定するとブロックの評価結果を値とし ます。ブロックは要素毎に実行されるので、セットする値のそれぞれをあ るオブジェクトの複製にすることができます。 ブロックのパラメータには start からのインデックスが渡されます。

ary = []
p ary.fill(1..2) {|i| i}         # => [nil, 1, 2]
p ary.fill(0,3) {|i| i}          # => [0, 1, 2]
p ary.fill { "foo" }             # => ["foo", "foo", "foo"]
p ary.collect {|v| v.object_id } # => [537770124, 537770112, 537770100]
[PARAM] val:
自身に設定したいオブジェクトを指定します。
[PARAM] start:
val を設定する範囲の始点のインデックスを整数で指定します。start の値が負の時には末尾からのインデックスと見倣します。末尾の要素が -1 番目になります。
[PARAM] length:
val を設定する要素の個数を指定します。nil が指定された時は配列の終りまでの長さを意味します。
[PARAM] range:
val を設定する範囲を Range オブジェクトで指定します。


instance method Array#first

first -> object | nil

配列の先頭の要素を返します。要素がなければ nil を返します。

p [0, 1, 2].first   #=> 0
p [].first          #=> nil

[SEE_ALSO] Array#last

first(n) -> Array

先頭の n 要素を配列で返します。n は 0 以上でなければなりません。

[PARAM] n:
取得したい要素の個数を整数で指定します。
[EXCEPTION] ArgumentError:
n が負値の場合発生します。
ary =  [0, 1, 2]
p ary.first(0)
p ary.first(1)
p ary.first(2)
p ary.first(3)
p ary.first(4)
# => []
     [0]
     [0, 1]
     [0, 1, 2]
     [0, 1, 2]

[SEE_ALSO] Array#last


instance method Array#flatten

flatten(lv = nil) -> Array
flatten!(lv = nil) -> self | nil

flatten は自身を再帰的に平滑化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平滑化し、平滑化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平滑化します。

[PARAM] lv:
平滑化の再帰の深さを整数で指定します。nil を指定した場合、再帰の深さの制限無しに平滑化します。
[EXCEPTION] ArgumentError:
配列要素が自身を含むような無限にネストした配列に対して flatten を呼んだ場合に発生します。
# 自身を再帰的に平滑化する例。
a = [1, [2, 3, [4], 5]]
p a.flatten                     #=> [1, 2, 3, 4, 5]
p a                             #=> [1, [2, 3, [4], 5]]

# 自身を破壊的に平滑化する例。
a = [[[1, [2, 3]]]]
p a.flatten!                    #=> [1, 2, 3]
p a                             #=> [1, 2, 3]

# 平滑化が行われない場合は nil を返す。
p [1, 2, 3].flatten!            #=> nil

# 平滑化の再帰の深さを指定する例。
a = [ 1, 2, [3, [4, 5] ] ]
a.flatten(1)              #=> [1, 2, 3, [4, 5]]


instance method Array#hash

hash -> Integer

自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から 計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。

a = ["a", "b", 1]
a.hash                #=>  321
b = a.dup
b.hash                #=>  321

["a", 1, "b"].hash    #=>  491
["a", 1.0, "b"].hash  #=>  466227


instance method Array#include?

include?(val) -> bool

配列が val と == において等しい要素を持つ時に真を返します。

[PARAM] val:
オブジェクトを指定します。
a = [ "a", "b", "c" ]
a.include?("b")       #=> true
a.include?("z")       #=> false


instance method Array#index

index(val) -> Integer | nil
index {|item| ...} -> Integer | nil

指定された val と == で等しい最初の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

ブロックが指定された場合は、各要素を引数として順にブロックを実行し、 ブロックが真を返した最初の要素の位置を返します。

[PARAM] val:
インデックスを知りたいオブジェクトを指定します。
p [1, 0, 0, 1, 0].index(1)   #=> 0
p [1, 0, 0, 0, 0].index(1)   #=> 0
p [0, 0, 0, 0, 0].index(1)   #=> nil
p [0, 1, 0, 1, 0].index {|v| v > 0}   #=> 1

[SEE_ALSO] Array#rindex


instance method Array#indexes

indexes(*index)
indices(*index)

このメソッド obsolete です。 代わりに Array#values_at を使用します。 使用すると警告メッセージが表示されます。

各引数の値をインデックスとする要素の配列を返します。範囲外の インデックス指定に対しては nil が対応します。

ary = %w( a b c d e )
p ary.indexes( 0, 2, 4 )          #=> ["a", "c", "e"]
p ary.indexes( 3, 4, 5, 6, 35 )   #=> ["d", "e", nil, nil]
p ary.indexes( 0, -1, -2 )        #=> ["a", "e", "d"]
p ary.indexes( -4, -5, -6, -35 )  #=> ["b", "a", nil, nil]


instance method Array#insert

insert(nth, *val) -> self

インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。 引数 val を一つも指定しなければ何もしません。

[PARAM] nth:
val を挿入する位置を整数で指定します。
[PARAM] val:
自身に挿入するオブジェクトを指定します。
ary = [1, 2, 3]
ary.insert(2, "a", "b")
p ary                  # => [1, 2, "a", "b", 3]
ary.insert(-2, "X")
p ary                  # => [1, 2, "a", "b", "X", 3]


instance method Array#join

join(sep = $,) -> String

配列の要素を文字列 sep を間に挟んで連結した文字列を返します。

文字列でない要素に対しては to_s した結果を連結します。 要素がまた配列であれば再帰的に (同じ sep を利用して) join した文字列を連結します。 ただし、配列要素が自身を含むような無限にネストした配列に対しては、以下 のような結果になります。

ary = [1,2,3]
ary.push ary
p ary           # => [1, 2, 3, [...]]
p ary.join      # => "123123[...]"
[PARAM] sep:
間に挟む文字列を指定します。nil のときは空文字列を使います。
[1, 2, 3].join('-') #=> "1-2-3"

[SEE_ALSO] Array#*, $,


instance method Array#last

last -> object | nil

配列の末尾の要素を返します。配列が空のときは nil を返します。

p [0, 1, 2].last   #=> 2
p [].last          #=> nil

[SEE_ALSO] Array#first

last(n) -> Array

末尾の n 要素を配列で返します。n は 0 以上でなければなりません。

[PARAM] n:
取得したい要素の個数を整数で指定します。
[EXCEPTION] ArgumentError:
n が負値の場合発生します。
ary =  [0, 1, 2]
p ary.last(0)
p ary.last(1)
p ary.last(2)
p ary.last(3)
p ary.last(4)
# => []
     [2]
     [1, 2]
     [0, 1, 2]
     [0, 1, 2]

[SEE_ALSO] Array#first


instance method Array#length

length -> Integer
size -> Integer

配列の長さを返します。配列が空のときは 0 を返します。

p [1, nil, 3, nil].size    #=> 4


instance method Array#nitems

nitems -> Integer
nitems {|obj| ... } -> Integer

nil でない要素の数を返します。

ブロックが与えられた場合は、各要素を引数として評価し nil でない値を返した 要素の数を返します。

例:

p [1, nil, 3, nil].nitems              #=> 2
p [1, nil, 3, nil].nitems{|e| e == 1}  #=> 2


instance method Array#pack

pack(template) -> String

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

テンプレートは 型指定文字列とその長さ(省略時は1)を並べたものです。長さと して * が指定された時は「残りのデータ全て」の長さを 表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。

[PARAM] template:
自身のバイナリとしてパックするためのテンプレートを文字列で指定します。

以下にあげるものは、Array#pack、String#unpack のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字 を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」 を表すこともできます。

長さの意味はテンプレート文字により異なりますが大抵、

"iiii"

のように連続するテンプレート文字は

"i4"

と書き換えることができます。

テンプレート文字列中の空白類は無視されます。 また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな され無視されます。

整数のテンプレート文字のシステム依存性

各テンプレート文字の説明の中で、 short や long はシステムによらずそれぞれ 2, 4バイトサ イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま す。s, S, l, L に対しては直後に _ または ! を "s_" あるいは "s!" のように 続けることでシステム依存の short, long のサイズにすることもできます。

i, I (int)のサイズは常にシステム依存であり、n, N, v, V のサイズは常にシステム依存ではない(!をつけられない)ことに注意してください。

つまり、IO#ioctl などで C の構造体を渡すときのように、 システム依存のサイズとエンディアンに合わせる必要があるときには s!, S!, i!, I!, l!, L!, q!, Q! を用います。 また、ネットワークプロトコルやファイルフォーマットのように、 システムに依存しないデータを扱うときには n, N, v, V を用います。

まとめると以下のようになります。

エンディアン非依存、整数サイズ非依存 (ネットワークプロトコルなどに適切)
  n: big endian unsigned 16bit
  N: big endian unsigned 32bit
  v: little endian unsigned 16bit
  V: little endian unsigned 32bit
エンディアン依存、整数サイズ依存 (C の構造体などに適切)
  s!: signed short
  S!: unsigned short
  i!: signed int
  I!: unsigned int
  l!: signed long
  L!: unsigned long
  q!: signed long long
  Q!: unsigned long long
エンディアン依存、整数サイズ非依存 (C99 の stdint.h にある厳密な幅を持つ整数型に適切)
  s: int16_t
  S: uint16_t
  l: int32_t
  L: uint32_t

各テンプレート文字の説明

説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って 「Array#pack の説明 / String#unpack の説明」としています。

a

ASCII文字列(null文字を詰める/後続するnull文字やスペースを残す)

    ["abc"].pack("a")    # => "a"
    ["abc"].pack("a*")   # => "abc"
    ["abc"].pack("a4")   # => "abc\0"

    "abc\0".unpack("a4") # => ["abc\0"]
    "abc ".unpack("a4")  # => ["abc "]
A

ASCII文字列(スペースを詰める/後続するnull文字やスペースを削除)

    ["abc"].pack("A")    # => "a"
    ["abc"].pack("A*")   # => "abc"
    ["abc"].pack("A4")   # => "abc "

    "abc ".unpack("A4")  # => ["abc"]
    "abc\0".unpack("A4") # => ["abc"]
Z

null終端文字列(aと同じ / 後続するnull文字を削除)

    ["abc"].pack("Z")  # => "a"
    ["abc"].pack("Z*") # => "abc"
    ["abc"].pack("Z4") # => "abc\0"

    "abc\0".unpack("Z4") # => ["abc"]
    "abc ".unpack("Z4")  # => ["abc "]
b

ビットストリング(各バイトごとに下位ビットから上位ビット)

    "\377\000".unpack("b*") # => ["1111111100000000"]
    "\001\002".unpack("b*") # => ["1000000001000000"]
    "\001\002".unpack("b3") # => ["100"]

    ["1000000001000000"].pack("b*") # => "\001\002"
B

ビットストリング(各バイトごとに上位ビットから下位ビット)

    "\377\000".unpack("B*")  # => ["1111111100000000"]
    "\001\002".unpack("B*")  # => ["0000000100000010"]
    "\001\002".unpack("B9")  # => ["000000010"]
    "\001\002".unpack("B15") # => ["000000010000001"]

    ["0000000100000010"].pack("B*")  # => "\001\002"
    ["0000000100000010"].pack("B0")  # => ""
    ["0000000100000010"].pack("B1")  # => "\000"
    ["0000000100000010"].pack("B7")  # => "\000"
    ["0000000100000010"].pack("B8")  # => "\001"
    ["0000000100000010"].pack("B9")  # => "\001\000"
    ["0000000100000010"].pack("B14") # => "\001\000"
    ["0000000100000010"].pack("B15") # => "\001\002"
    ["0000000100000010"].pack("B16") # => "\001\002"
h

16進文字列(下位ニブルが先)

    "\x01\xfe".unpack("h*") # => ["10ef"]
    "\x01\xfe".unpack("h3") # => ["10e"]

    ["10ef"].pack("h*") # => "\001\376"
H

16進文字列(上位ニブルが先)

    "\x01\xfe".unpack("H*") # => ["01fe"]
    "\x01\xfe".unpack("H3") # => ["01f"]
    "~".unpack("H2")        # => ["7e"]

    ["01fe"].pack("H*") # => "\001\376"
    ["7e"].pack("H2")   # => "~"
c

char (8bit 符号つき整数)

    "\001\376".unpack("c*") # => [1, -2]

    [1, -2].pack("c*")  # => "\001\376"
    [1, 254].pack("c*") # => "\001\376"
C

unsigned char (8bit 符号なし整数)

    "\001\376".unpack("C*") # => [1, 254]

    [1, -2].pack("C*")  # => "\001\376"
    [1, 254].pack("C*") # => "\001\376"
s

short (16bit 符号つき整数, エンディアンに依存) (s! は 16bit でなく、short のサイズに依存)

リトルエンディアン:

    "\001\002\376\375".unpack("s*") # => [513, -514]

    [513, 65022].pack("s*") # => "\001\002\376\375"
    [513, -514].pack("s*")  # => "\001\002\376\375"

ビッグエンディアン:

    "\001\002\376\375".unpack("s*") # => [258, -259]

    [258, 65277].pack("s*") # => "\001\002\376\375"
    [258, -259].pack("s*")  # => "\001\002\376\375"
S

unsigned short (16bit 符号なし整数, エンディアンに依存) (S! は 16bit でなく、short のサイズに依存)

リトルエンディアン:

    "\001\002\376\375".unpack("S*") # => [513, 65022]

    [513, 65022].pack("s*") # => "\001\002\376\375"
    [513, -514].pack("s*")  # => "\001\002\376\375"

ビッグエンディアン:

    "\001\002\376\375".unpack("S*") # => [258, 65277]

    [258, 65277].pack("S*") # => "\001\002\376\375"
    [258, -259].pack("S*")  # => "\001\002\376\375"
i

int (符号つき整数, エンディアンと int のサイズに依存)

リトルエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("i*") # => [67305985, -50462977]

    [67305985, 4244504319].pack("i*") # => RangeError
    [67305985, -50462977].pack("i*")  # => "\001\002\003\004\377\376\375\374"

ビッグエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("i*") # => [16909060, -66052]

    [16909060, 4294901244].pack("i*") # => RangeError
    [16909060, -66052].pack("i*")     # => "\001\002\003\004\377\376\375\374"
I

unsigned int (符号なし整数, エンディアンと int のサイズに依存)

リトルエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("I*") # => [67305985, 4244504319]

    [67305985, 4244504319].pack("I*") # => "\001\002\003\004\377\376\375\374"
    [67305985, -50462977].pack("I*")  # => "\001\002\003\004\377\376\375\374"

ビッグエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("I*") # => [16909060, 4294901244]

    [16909060, 4294901244].pack("I*") # => "\001\002\003\004\377\376\375\374"
    [16909060, -66052].pack("I*")     # => "\001\002\003\004\377\376\375\374"
l

long (32bit 符号つき整数, エンディアンに依存) (l! は 32bit でなく、long のサイズに依存)

リトルエンディアン, 32bit long:

    "\001\002\003\004\377\376\375\374".unpack("l*") # => [67305985, -50462977]

    [67305985, 4244504319].pack("l*") # => RangeError
    [67305985, -50462977].pack("l*")  # => "\001\002\003\004\377\376\375\374"
L

unsigned long (32bit 符号なし整数, エンディアンに依存) (L! は 32bit でなく、long のサイズに依存)

リトルエンディアン, 32bit long:

    "\001\002\003\004\377\376\375\374".unpack("L*") # => [67305985, 4244504319]

    [67305985, 4244504319].pack("L*") # => "\001\002\003\004\377\376\375\374"
    [67305985, -50462977].pack("L*")  # => "\001\002\003\004\377\376\375\374"
q

long long (符号付き整数, エンディアンと long long のサイズに依存) (C で long long が扱えない場合には 64bit)

リトルエンディアン, 64bit long long:

    "\001\002\003\004\005\006\007\010\377\376\375\374\373\372\371\370".unpack("q*")
    # => [578437695752307201, -506097522914230529]

    [578437695752307201, -506097522914230529].pack("q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
    [578437695752307201, 17940646550795321087].pack("q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
Q

unsigned long long (符号なし整数, エンディアンと long long のサイズに依存) (C で long long が扱えない場合には 64bit)

リトルエンディアン, 64bit long long:

    "\001\002\003\004\005\006\007\010\377\376\375\374\373\372\371\370".unpack("Q*")
    # => [578437695752307201, 17940646550795321087]

    [578437695752307201, 17940646550795321087].pack("Q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
    [578437695752307201, -506097522914230529].pack("Q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
m

base64された文字列。60 オクテットごと(と最後)に改行コードが付加されます。

Base64は、3オクテット(8bits * 3 = 24bits)のバイナリコードをASCII文字の うちの65文字 ([A-Za-z0-9+/]の64文字とpaddingのための'=')だけを使用して 4オクテット(6bits * 4 = 24bits)の印字可能文字列に変換するエンコーディ ング法です。[RFC2045] で定義されています。

    [""].pack("m")             # => ""
    ["\0"].pack("m")           # => "AA==\n"
    ["\0\0"].pack("m")         # => "AAA=\n"
    ["\0\0\0"].pack("m")       # => "AAAA\n"
    ["\377"].pack("m")         # => "/w==\n"
    ["\377\377"].pack("m")     # => "//8=\n"
    ["\377\377\377"].pack("m") # => "////\n"

    ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"].pack("m")
    # => "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n"
    ["abcdefghijklmnopqrstuvwxyz"].pack("m3")
    # => "YWJj\nZGVm\nZ2hp\namts\nbW5v\ncHFy\nc3R1\ndnd4\neXo=\n"

    "".unpack("m")       # => [""]
    "AA==\n".unpack("m") # => ["\000"]
    "AA==".unpack("m")   # => ["\000"]

    "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n".unpack("m")
    # => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
    "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==\n".unpack("m")
    # => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
M

quoted-printable encoding された文字列

    ["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"

    "a b c\td =\n\ne=\n".unpack("M") # => ["a b c\td \ne"]
n

ネットワークバイトオーダー(ビッグエンディアン)のunsigned short (16bit 符号なし整数)

    [0,1,-1,32767,-32768,65535].pack("n*")
    # => "\000\000\000\001\377\377\177\377\200\000\377\377"

    "\000\000\000\001\377\377\177\377\200\000\377\377".unpack("n*")
    # => [0, 1, 65535, 32767, 32768, 65535]
N

ネットワークバイトオーダー(ビッグエンディアン)のunsigned long (32bit 符号なし整数)

    [0,1,-1].pack("N*") # => "\000\000\000\000\000\000\000\001\377\377\377\377"

    "\000\000\000\000\000\000\000\001\377\377\377\377".unpack("N*") # => [0, 1, 4294967295]
v

"VAX"バイトオーダー(リトルエンディアン)のunsigned short (16bit 符号なし整数)

    [0,1,-1,32767,-32768,65535].pack("v*")
    # => "\000\000\001\000\377\377\377\177\000\200\377\377"

    "\000\000\001\000\377\377\377\177\000\200\377\377".unpack("v*")
    # => [0, 1, 65535, 32767, 32768, 65535]
V

"VAX"バイトオーダー(リトルエンディアン)のunsigned long (32bit 符号なし整数)

    [0,1,-1].pack("V*") # => "\000\000\000\000\001\000\000\000\377\377\377\377"

    "\000\000\000\000\001\000\000\000\377\377\377\377".unpack("V*") # => [0, 1, 4294967295]
f

単精度浮動小数点数(機種依存)

IA-32 (x86) (IEEE754 単精度 リトルエンディアン):

    [1.0].pack("f")      # => "\000\000\200?"
    [0.0/0.0].pack("f")  # => "\000\000\300\377"      # NaN
    [1.0/0.0].pack("f")  # => "\000\000\200\177"      # +Inf
    [-1.0/0.0].pack("f") # => "\000\000\200\377"      # -Inf

SPARC (IEEE754 単精度 ビッグエンディアン):

    [1.0].pack("f")      # => "?\200\000\000"
    [0.0/0.0].pack("f")  # => "\177\377\377\377"      # NaN
    [1.0/0.0].pack("f")  # => "\177\200\000\000"      # +Inf
    [-1.0/0.0].pack("f") # => "\377\200\000\000"      # -Inf

VAX (NetBSD 3.0) (非IEEE754):

    [1.0].pack("f") # => "\200@\000\000"
d

倍精度浮動小数点数(機種依存)

IA-32 (IEEE754 倍精度 リトルエンディアン):

    [1.0].pack("d")      # => "\000\000\000\000\000\000\360?"
    [0.0/0.0].pack("d")  # => "\000\000\000\000\000\000\370\377"      # NaN
    [1.0/0.0].pack("d")  # => "\000\000\000\000\000\000\360\177"      # +Inf
    [-1.0/0.0].pack("d") # => "\000\000\000\000\000\000\360\377"      # -Inf

SPARC (IEEE754 倍精度 ビッグエンディアン):

    [1.0].pack("d")      # => "?\360\000\000\000\000\000\000"
    [0.0/0.0].pack("d")  # => "\177\377\377\377\377\377\377\377"      # NaN
    [1.0/0.0].pack("d")  # => "\177\360\000\000\000\000\000\000"      # +Inf
    [-1.0/0.0].pack("d") # => "\377\360\000\000\000\000\000\000"      # -Inf

VAX (NetBSD 3.0) (非IEEE754):

    [1.0].pack("d") # => "\200@\000\000\000\000\000\000"
e

リトルエンディアンの単精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("e") # => "\000\000\200?"

SPARC (IEEE754):

    [1.0].pack("e") # => "\000\000\200?"
E

リトルエンディアンの倍精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("E") # => "\000\000\000\000\000\000\360?"

SPARC (IEEE754):

    [1.0].pack("E") # => "\000\000\000\000\000\000\360?"
g

ビッグエンディアンの単精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("g") # => "?\200\000\000"

SPARC (IEEE754):

    [1.0].pack("g") # => "?\200\000\000"

IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。

    s = [v].pack("g").unpack("B*")[0][0,1]      # 符号
    e = [v].pack("g").unpack("B*")[0][1,8]      # 指数部
    f = [v].pack("g").unpack("B*")[0][9,23]     # 仮数部

そして、s, e, f の意味は以下の通りです。

    sgn = s == "0" ? +1.0 : -1.0
    exp = Integer("0b" + e)
    fra = Integer("0b" + f)
    if exp == 0
      if fra == 0
        sgn * 0                     # ±0 (positive/negative zero)
      else
        sgn * fra * 2**(-126-23)    # 非正規化数 (denormalized number)
      end
    elsif exp == 255
      if fra == 0
        sgn * Inf                   # ±∞ (positive/negative infinity)
      else
        NaN                         # 非数 (not a number)
      end
    else
      fra += 1 << 23                # ゲタ
      sgn * fra * 2**(exp-127-23)   # 正規化数 (normalized number)
    end
G

ビッグエンディアンの倍精度浮動小数点数(機種依存)

IA-32:

    [1.0].pack("G") # => "?\360\000\000\000\000\000\000"

SPARC:

    [1.0].pack("G") # => "?\360\000\000\000\000\000\000"

IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。

    s = [v].pack("G").unpack("B*")[0][0,1]    # 符号
    e = [v].pack("G").unpack("B*")[0][1,11]   # 指数部
    f = [v].pack("G").unpack("B*")[0][12,52]  # 仮数部

そして、s, e, f の意味は以下の通りです。

    sgn = s == "0" ? +1.0 : -1.0
    exp = Integer("0b" + e)
    fra = Integer("0b" + f)
    if exp == 0
      if fra == 0
        sgn * 0                     # ±0 (positive/negative zero)
      else
        sgn * fra * 2**(-1022-52)   # 非正規化数 (denormalized number)
      end
    elsif exp == 2047
      if fra == 0
        sgn * Inf                   # ±∞ (positive/negative infinity)
      else
        NaN                         # 非数 (not a number)
      end
    else
      fra += 1 << 52                # ゲタ
      sgn * fra * 2**(exp-1023-52)  # 正規化数 (normalized number)
    end
p

ナル終端の文字列へのポインタ

    [""].pack("p")             # => "\310\037\034\010"
    ["a", "b", "c"].pack("p3") # => " =\030\010\340^\030\010\360^\030\010"
    [nil].pack("p")            # => "\000\000\000\000"
P

構造体(固定長文字列)へのポインタ

    [nil].pack("P")    # => "\000\000\000\000"
    ["abc"].pack("P3") # => "x*\024\010"

    ["abc"].pack("P4") # => ArgumentError: too short buffer for P(3 for 4)
    [""].pack("P")     # => ArgumentError: too short buffer for P(0 for 1)
u

uuencodeされた文字列

    [""].pack("u")           # => ""
    ["a"].pack("u")          # => "!80``\n"
    ["abc"].pack("u")        # => "#86)C\n"
    ["abcd"].pack("u")       # => "$86)C9```\n"
    ["a"*45].pack("u")       # => "M86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A\n"
    ["a"*46].pack("u")       # => "M86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A\n!80``\n"
    ["abcdefghi"].pack("u6") # => "&86)C9&5F\n#9VAI\n"
U

UTF-8

    [0].pack("U")                               # => "\000"
    [1].pack("U")                               # => "\001"
    [0x7f].pack("U")                            # => "\177"
    [0x80].pack("U")                            # => "\302\200"
    [0x7fffffff].pack("U")                      # => "\375\277\277\277\277\277"
    [0x80000000].pack("U")                      # => RangeError
    [0,256,65536].pack("U3")                    # => "\000\304\200\360\220\200\200"

    "\000\304\200\360\220\200\200".unpack("U3") # => [0, 256, 65536]
    "\000\304\200\360\220\200\200".unpack("U")  # => [0]
    "\000\304\200\360\220\200\200".unpack("U*") # => [0, 256, 65536]
w

BER圧縮整数

1バイトあたり7ビットを使用して必要最小限のバイト数で任意サイズの 0以上の整数を表す数値表現。各バイトの最上位ビットはデータの最後 を除いて必ず1が立っている(つまり最上位ビットはどこまでデータがあ るかを示している)。

ISO/IEC 8825-1:1995 : Information technology−ASN.1 encoding rules : Specification of Basic Encoding Rules(BER) に定められる整数の符号化方法。

    [0].pack("w")             # => "\000"
    [1].pack("w")             # => "\001"
    [127].pack("w")           # => "\177"
    [128].pack("w")           # => "\201\000"
    [0x3fff].pack("w")        # => "\377\177"
    [0x4000].pack("w")        # => "\201\200\000"
    [0x3fffffff].pack("w")    # => "\203\377\377\377\177"
    [0x40000000].pack("w")    # => "\204\200\200\200\000"
    [0xffffffff].pack("w")    # => "\217\377\377\377\177"
    [0x100000000].pack("w")   # => "\220\200\200\200\000"

    "\0".unpack("w")          # => [0]
    "\0\201\0\1".unpack("w*") # => [0, 128, 1]

なお、BER圧縮整数でエンコードした結果は大小関係を保存しない。 たとえば、[0x3fff].pack("w") > [0x4000].pack("w") である。

x

ナルバイト/1バイト読み飛ばす

    [?a, ?b].pack("CxC")    # => "a\000b"
    [?a, ?b].pack("Cx3C")   # => "a\000\000\000b"

    "a\000b".unpack("CxC")  # => [97, 98]
    "a\377b".unpack("CxC")  # => [97, 98]
    "a\377b".unpack("Cx3C") # => ArgumentError: x outside of string
X

1バイト後退

    [?a, ?b, ?c].pack("CCXC") # => "ac"

    "abcdef".unpack("x*XC") # => [102]
@

絶対位置への移動

    [?a, ?b].pack("C @3 C") # => "a\000\000b"

    "a\000\000b".unpack("C @3 C") # => [97, 98]

使用例

以下、pack/unpack の使用例の一部です。

pack を使用しなくても同じことができる場合はその例も載せています。 pack は暗号になりやすい面があることを考慮し、pack を使いたくない人 に別解を示すためです。

数値(文字コード)の配列を文字列に変換する例
    [82, 117, 98, 121].pack("cccc")  # => "Ruby"
    [82, 117, 98, 121].pack("c4")    # => "Ruby"
    [82, 117, 98, 121].pack("c*")    # => "Ruby"

    s = ""
    [82, 117, 98, 121].each {|c| s << c}
    s    # => "Ruby"

    [82, 117, 98, 121].collect {|c| sprintf "%c", c}.join   # => "Ruby"

    [82, 117, 98, 121].inject("") {|s, c| s << c}    # => "Ruby"
文字列を数値(文字コード)の配列に変換する例
    "Ruby".unpack('C*')    # => [82, 117, 98, 121]

    a = []
    "Ruby".each_byte {|c| a << c}
    a    # => [82, 117, 98, 121]
"x" でナルバイトを埋めることができる
    [82, 117, 98, 121].pack("ccxxcc")    # => "Ru\000\000by"
"x" で文字を読み飛ばす事が出来る
    "Ru\0\0by".unpack('ccxxcc')    # => [82, 117, 98, 121]
Hexダンプを数値の配列に変換する例
    "61 62 63 64 65 66".delete(' ').to_a.pack('H*').unpack('C*')
    # => [97, 98, 99, 100, 101, 102]

    "61 62 63 64 65 66".split.collect {|c| c.hex}
    # => [97, 98, 99, 100, 101, 102]
バイナリと16進数のpackでは長さ指定は生成されるバイト数ではなく、ビットやニブルの個数を表す
    [0b01010010, 0b01110101, 0b01100010, 0b01111001].pack("C4")
    # => "Ruby"
    ["01010010011101010110001001111001"].pack("B32") # 8 bits * 4
    # => "Ruby"

    [0x52, 0x75, 0x62, 0x79].pack("C4")
    # => "Ruby"
    ["52756279"].pack("H8")  # 2 nybbles * 4
    # => "Ruby"
テンプレート文字'a'の長さ指定は1つの文字列だけに適用される
    ["RUBY", "u", "b", "y"].pack("a4")
    # => "RUBY"

    ["RUBY", "u", "b", "y"].pack("aaaa")
    # => "Ruby"

    ["RUBY", "u", "b", "y"].pack("a*aaa")
    # => "RUBYuby"
テンプレート文字"a"は、長さが足りない分をヌル文字で補う
    ["Ruby"].pack("a8")
    # => "Ruby\000\000\000\000"
リトルエンディアンとビッグエンディアン
    [1,2].pack("s2")
    # => "\000\001\000\002" # ビッグエンディアンのシステムでの出力
    # => "\001\000\002\000" # リトルエンディアンのシステムでの出力

    [1,2].pack("n2")
    # => "\000\001\000\002" # システムによらずビッグエンディアン

    [1,2].pack("v2")
    # => "\001\000\002\000" # システムによらずリトルエンディアン
ネットワークバイトオーダの signed long
      s = "\xff\xff\xff\xfe"
      n = s.unpack("N")[0]
      if n[31] == 1
        n = -((n ^ 0xffff_ffff) + 1)
      end
      n # => -2
ネットワークバイトオーダの signed long(その2)
      s = "\xff\xff\xff\xfe"
      n = s.unpack("N").pack("l").unpack("l")[0]
      n # => -2
IPアドレス
      require 'socket'
      Socket.gethostbyname("localhost")[3].unpack("C4").join(".")
      # => "127.0.0.1"

      "127.0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
      # => "\177\000\000\001"
sockaddr_in 構造体
      require 'socket'
      [Socket::AF_INET,
       Socket.getservbyname('echo'),
       127, 0, 0, 1].pack("s n C4 x8")
      # => "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"

pack/unpack を使う代わりに Socket.pack_sockaddr_in, Socket.unpack_sockaddr_in メソッドがあります。

'\0'終端文字列のアドレス

テンプレート文字 "p" や "P" は、C 言語レベルのインタフェースのた めにあります(例えば IO#ioctl)。

    ["foo"].pack("p")    # => "8\266\021\010"

結果の文字列はゴミに見えますが、実際は文字列"foo\0"を指すアドレ ス(のバイナリ表現)です。以下のようにすれば見慣れた表記で見ること が出来ます

    printf "%#010x\n", "8\266\021\010".unpack("L")[0] # => 0x0811b638

アドレスが指す先のオブジェクト(この例で "foo\0") は、pack の結 果が GC されるまではGCされないことが保証されています。

unpack("p"), unpack("P") は、pack の結果からしか unpack できません。

    ["foo"].pack("p").unpack("p") # => ["foo"]
    "8\266\021\010".unpack("p")
    # => -:1:in `unpack': no associated pointer (ArgumentError)
    #         from -:1

"p" や "P" は、nil を特別に扱い NULL ポインタとして解釈します。(以下は、32bitマシンで一般的な結果)

      [nil].pack("p")        # => "\000\000\000\000"
      "\0\0\0\0".unpack("p") # => [nil]
構造体のアドレス

例えば、

      struct {
        int   a;
        short b;
        long  c;
      } v = {1,2,3};

を表す文字列は

      v = [1,2,3].pack("i!s!l!")

です。(byte alignment の問題から実際は適当な padding が必要に なるかもしれません)

この構造体を指すアドレスは

      [v].pack("P")  # => "\300\265\021\010"

で得られます。

UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)

Little endian:

    ("Comments").unpack("U*").pack("v*") # => "C\000o\000m\000m\000e\000n\000t\000s\000"

Big endian:

    ("Comments").unpack("U*").pack("n*") # => "\000C\000o\000m\000m\000e\000n\000t\000s"


instance method Array#permutation

permutation(n) { |p| block } -> Array
permutation(n) -> Enumerable::Enumerator

サイズ n の順列をすべて生成し，それを引数としてブロックを実行します。

得られる順列の順序は保証されません。ブロックなしで呼び出されると， 順列 を生成する Enumerable::Enumerator オブジェクトを返します。

[PARAM] n:
生成する配列のサイズ

例:

a = [1, 2, 3]
a.permutation(1).to_a  #=> [[1],[2],[3]]
a.permutation(2).to_a  #=> [[1,2],[1,3],[2,1],[2,3],[3,1],[3,2]]
a.permutation(3).to_a  #=> [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
a.permutation(0).to_a  #=> [[]]: one permutation of length 0
a.permutation(4).to_a  #=> []  : no permutations of length 4


instance method Array#pop

pop(n = 1) -> Array | nil

自身の末尾から指定された n 個だけ要素を取り除いてそれを返します。 自身が空配列の時は nil を返します。

[PARAM] n:
自身から取り除きたい要素の個数を整数で指定します。

例:

array = [1, [2, 3], 4]
p array.pop      # => 4
p array.pop      # => [2, 3]
p array          # => [1]

p array.pop      # => 1
p array.pop      # => nil
p array          # => []
array = [1, 2, 3]
p array.pop(2)   #=> [2, 3]
p array          #=> [1]

[SEE_ALSO] Array#push, Array#shift, Array#unshift


instance method Array#product

product(*lists) -> Array

レシーバの配列と引数で与えられた配列（複数可）のそれぞれから要素を1 個ずつとって配列とし，それらのすべての配列を要素とする配列を返します。

返される配列の長さは，レシーバと引数で与えられた配列の長さのすべての積にな ります。

[PARAM] lists:
配列。複数指定可能。

例:

[1,2,3].product([4,5])     # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2])       # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].product([3,4],[5,6]) # => [[1,3,5],[1,3,6],[1,4,5],[1,4,6],
                           #     [2,3,5],[2,3,6],[2,4,5],[2,4,6]]
[1,2].product()            # => [[1],[2]]
[1,2].product([])          # => []


instance method Array#push

push(*obj) -> self

指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。

[PARAM] obj:
自身に追加したいオブジェクトを指定します。
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array          # => [1, 2, 3, 4, [5, 6], 7, 8]

[SEE_ALSO] Array#pop, Array#shift, Array#unshift


instance method Array#rassoc

rassoc(obj) -> Array | nil

自身が配列の配列であると仮定して、要素の配列でインデックス 1 の要素が obj に等しいものを検索し見つかった最初の要素を返 します。該当する要素がなければ nil を返します。

比較は == 演算子を使って行われます。

[PARAM] obj:
オブジェクトを指定します。
a = [[15,1], [25,2], [35,3]]
p a.rassoc(2)    # => [25, 2]

[SEE_ALSO] Array#assoc


instance method Array#replace

replace(another) -> self

配列の内容を配列 another の内容で置き換えます。

[PARAM] another:
配列を指定します。
a = [1, 2, 3]
a.replace [4, 5, 6]
p a                 #=> [4, 5, 6]


instance method Array#reverse

reverse -> Array
reverse! -> self

reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。

a = ["a", 2, true]
p a.reverse         #=> [true, 2, "a"]
p a                 #=> ["a", 2, true] (変化なし)

a = ["a", 2, true]
p a.reverse!        #=> [true, 2, "a"]
p a                 #=> [true, 2, "a"]


instance method Array#reverse_each

reverse_each {|item| ... } -> self
reverse_each -> Enumerable::Enumerator

各要素に対して逆順にブロックを評価します。

ブロックが与えられなかった場合は、自身と reverse_each から生成した Enumerable::Enumerator オブジェクトを返します。


instance method Array#rindex

rindex(val) -> Integer | nil
rindex {|item| ... } -> Integer | nil

指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。

ブロックが与えられた時には、ブロックが真を返した最後の要素の位置を返し ます。ブロック引数には、要素が順に渡されます。

[PARAM] val:
オブジェクトを指定します。
p [1, 0, 0, 1, 0].rindex(1)   #=> 3
p [1, 0, 0, 0, 0].rindex(1)   #=> 0
p [0, 0, 0, 0, 0].rindex(1)   #=> nil
p [0, 1, 0, 1, 0].rindex {|v| v > 0}   #=> 3

[SEE_ALSO] Array#index


instance method Array#shelljoin

shelljoin -> String [added by shellwords]

配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。

array.shelljoin は、Shellwords.shelljoin(array) と等価です。

[RETURN]
エスケープ結果を連結した文字列を返します。

[SEE_ALSO] Shellwords.#shelljoin


instance method Array#shift

shift(n = 1) -> Array | nil

自身の先頭から指定された n 個だけ要素を取り除いてそれを返します。

また、自身が空配列の時は n が指定されていない場合はnil を、 n が明示的に指定されている場合は空の配列を返します。

[PARAM] n:
自身から取り除きたい要素の個数を非負整数で指定します。

例:

a = [0, 1, 2, 3, 4]
p a.shift            #=> 0
p a                  #=> [1, 2, 3, 4]

p [].shift           #=> nil
p [].shift(1)        #=> []

[SEE_ALSO] Array#push, Array#pop, Array#unshift


instance method Array#shuffle

shuffle -> Array

配列の要素をシャッフルして，その結果を配列として返します。

srand()が有効です。

例:

a = [ 1, 2, 3 ]           #=> [1, 2, 3]
a.shuffle                 #=> [2, 3, 1]


instance method Array#shuffle!

shuffle! -> self

配列を破壊的にシャッフルします。

例:

a = [ 1, 2, 3 ]           #=> [1, 2, 3]
a.shuffle!                #=> [2, 3, 1]
a                         #=> [2, 3, 1]


instance method Array#slice

slice(nth) -> object | nil

指定された自身の要素を返します。Array#[] と同じです。

[PARAM] nth:
要素のインデックスを整数で指定します。Array#[] と同じです。

例:

p [0, 1, 2].slice(1)    #=> 1
p [0, 1, 2].slice(2)    #=> 2
p [0, 1, 2].slice(10)   #=> nil
slice(pos, len) -> Array | nil
slice(range) -> Array | nil

指定された自身の部分配列を返します。Array#[] と同じです。

[PARAM] pos:
Array#[] と同じです。
[PARAM] len:
Array#[] と同じです。
[PARAM] range:
Array#[] と同じです。

例:

p [0, 1, 2].slice(0, 2)    #=> [0, 1]
p [0, 1, 2].slice(2..3)    #=> [2]
p [0, 1, 2].slice(10, 1)   #=> nil


instance method Array#slice!

slice!(nth) -> object | nil

指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。

[PARAM] nth:
取り除く要素のインデックスを整数で指定します。Array#[] と同じです。

例:

a = [ "a", "b", "c" ]
a.slice!(1)     #=> "b"
a               #=> ["a", "c"]
a.slice!(-1)    #=> "c"
a               #=> ["a"]
a.slice!(100)   #=> nil
a               #=> ["a"]
slice!(start, len) -> Array | nil
slice!(range) -> Array | nil

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。

以下のコードと同値です。

def slice!(*args)
   result = self[*args]
   self[*args] = nil
   result
end

ですので以下のように配列の長さが拡張される場合もありえます。

a = [ "a", "b", "c" ]
p a.slice!(5, 1)       #=> nil
p a                    #=> ["a", "b", "c", nil, nil]
[PARAM] start:
削除したい部分配列の先頭のインデックスを整数で指定します。Array#[] と同じです。
[PARAM] len:
削除したい部分配列の長さを整数で指定します。Array#[] と同じです。
[PARAM] range:
削除したい配列の範囲を Range オブジェクトで指定します。Array#[] と同じです。
[EXCEPTION] IndexError:
指定された範囲の始点が自身の始点より前にある場合に発生します。

例:

a = [ "a", "b", "c" ]
a.slice!(1, 2)     #=> ["b", "c"]
a                  #=> ["a"]

a = [ "a", "b", "c" ]
a.slice!(1, 0)     #=> []
a                  #=> [ "a", "b", "c" ]

a = [ "a", "b", "c" ]
a.slice!(-10, 1)   #=> IndexError


instance method Array#sort

sort -> Array
sort! -> self
sort {|a, b| ... } -> Array
sort! {|a, b| ... } -> self

配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。

ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。 ブロックに2つの要素を引数として与えて評価し、その結果で比較します。 ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、 ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら 負の整数を返さなければいけません。両者を比較できない時は nil を返します。

a = [ "d", "a", "e", "c", "b" ]
p a.sort                                #=> ["a", "b", "c", "d", "e"]

b = ["9", "7", "10", "11", "8"]
p b.sort                                #=> ["10", "11", "7", "8", "9"] (文字列としてソートするとこうなる)
p b.sort{|x, y| x.to_i <=> y.to_i }     #=> ["7", "8", "9", "10", "11"] (ブロックを使って数字としてソート)

# sort_by を使っても良い
p b.sort_by{|x| x.to_i }                #=> ["7", "8", "9", "10", "11"]

[SEE_ALSO] Enumerable#sort_by


instance method Array#to_a

to_a -> Array

self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、 自身を Array に変換したものを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Array > to_ary

instance method Array#to_ary

to_ary -> self

self をそのまま返します


instance method Array#to_ptr

to_ptr -> nil | DL::PtrData [added by dl]
to_ptr(type) -> nil | DL::PtrData [added by dl]

自身の各要素を指すポインタの配列を生成し、それへのポインタ DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。 自身の長さが 0 なら nil を返します。

self のすべての要素は同じクラスでなければならず、 Integer、Float、String、Data、Nil のいずれかでなければいけません。

要素のクラスが String である場合、各要素は複製されます。

require 'dl/import'

ptr = ['a', 'b', 'c'].to_ptr
p ptr.size #=> 12
p ptr.to_a('P').map{|s| s.to_s } #=> ["a", "b", "c"]
[PARAM] type:
self の要素の型を文字で指定します。DL の型指定子の項を参照して下さい。
[EXCEPTION] DL::DLTypeError:
定められた文字以外を型指定子として与えると発生します。また、与えられた型と自身の要素が一致しないと発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Array > to_s

instance method Array#to_s

to_s -> String

Array#join($,) と同じです。


instance method Array#transpose

transpose -> Array

自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま す。転置した配列を生成して返します。空の配列に対しては空の配列を生 成して返します。

それ以外の一次元の配列に対しては、例外 TypeError が発生します。各要素のサイズが不揃いな配列に対して は、例外 IndexError が発生します。

p [[1,2],
   [3,4],
   [5,6]].transpose
# => [[1, 3, 5], [2, 4, 6]]

p [].transpose
# => []

p [1,2,3].transpose

# => -:1:in `transpose': cannot convert Fixnum into Array (TypeError)
        from -:1

p [[1,2],
   [3,4,5],
   [6,7]].transpose
# => -:3:in `transpose': element size differ (3 should be 2) (IndexError)


instance method Array#uniq

uniq -> Array
uniq! -> self | nil

uniq は配列から重複した要素を取り除いた新しい配列を返します。 取り除かれた要素の部分は前に詰められます。uniq! は削除を破壊 的に行い、削除が行われた場合は self を、そうでなければ nil を返します。

要素の重複判定は、Object#eql? により行われます。

p [1, 1, 1].uniq         #=> [1]
p [1, 4, 1].uniq         #=> [1, 4]
p [1, 3, 2, 2, 3].uniq   #=> [1, 3, 2]


instance method Array#unshift

unshift(*obj) -> self

指定された obj を順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。

[PARAM] obj:
自身に追加したいオブジェクトを指定します。
arr = [1,2,3]
arr.unshift 0
p arr             #=> [0, 1, 2, 3]
arr.unshift [0]
p arr             #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr             #=> [1, 2, [0], 0, 1, 2, 3]

[SEE_ALSO] Array#push, Array#pop, Array#shift


instance method Array#values_at

values_at(*index) -> Array | nil

引数で指定されたインデックスに対応する要素を配列で返します。インデッ クスに対応する値がなければ nil が要素になります。

[PARAM] index:
インデックスを整数で指定します。
ary = %w( a b c d e )
p ary.values_at( 0, 2, 4 )          #=> ["a", "c", "e"]
p ary.values_at( 3, 4, 5, 6, 35 )   #=> ["d", "e", nil, nil, nil]
p ary.values_at( 0, -1, -2 )        #=> ["a", "e", "d"]
p ary.values_at( -4, -5, -6, -35 )  #=> ["b", "a", nil, nil]


instance method Array#zip

zip(*lists) -> [[Object]]
zip(*lists) {|v1, v2, ...| ...} -> nil

自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

ブロック付きで呼び出した場合は、 self と引数に渡した配列の各要素を順番にブロックに渡します。

[PARAM] lists:
配列を指定します。配列でない場合は Enumerable#zip と違い to_ary メソッドにより配列に変換します。

例:

p [1,2,3].zip([4,5,6], [7,8,9])
    # => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

p [1,2].zip([:a,:b,:c], [:A,:B,:C,:D])
    # => [[1, :a, :A], [2, :b, :B]]

p (1..5).zip([:a,:b,:c], [:A,:B,:C,:D])
    # => [[1, :a, :A], [2, :b, :B],
    #     [3, :c, :C], [4, nil, :D], [5, nil, nil]]

p [1,2,3].zip([4,5,6], [7,8,9]) {|ary|
  p ary
}
    # => [1, 4, 7]
    #    [2, 5, 8]
    #    [3, 6, 9]
    #    nil


singleton method Array.[]

self[*item] -> Array

引数 item を要素として持つ配列を生成して返します。

Array のサブクラスを作成したしたときに、そのサブクラスのインスタンスを作成 しやすくするために用意されている。

[PARAM] item:
配列の要素を指定します。

例:

Array[1, 2, 3] #=> [1, 2, 3]

class SubArray < Array
  # ...
end
p SubArray[1, 2, 3] # => [1, 2, 3]


singleton method Array.new

new(size = 0, val = nil) -> Array

長さ size の配列を生成し、各要素を val で初期化して返します。

要素毎に val が複製されるわけではないことに注意してください。 全要素が同じオブジェクト val を参照します[[trap:Array]]。 後述の例では、配列の各要素は全て同一の文字列を指します。

[PARAM] size:
配列の長さを数値で指定します。
[PARAM] val:
配列の要素の値を指定します。

例:

ary = Array.new(3, "foo")
p ary                     #=> ["foo", "foo", "foo"]
ary[0].capitalize!
p ary                     #=> ["Foo", "Foo", "Foo"]  (各要素は同一のオブジェクトである)
new(ary) -> Array

指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。

[PARAM] ary:
複製したい配列を指定します。

例:

p Array.new([1,2,3]) # => [1,2,3]

a = ["a", "b", "c"]
b = Array.new(a)
a.each{|s| s.capitalize! }
p a                        #=> ["A", "B", "C"]
p b                        #=> ["A", "B", "C"]   (b は a と要素を共有する)
new(size) {|index| ... } -> Array

長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、 各要素の値をブロックの評価結果に設定します。

ブロックは要素毎に実行されるので、全要素をあるオブジェクトの複製にすることができます。

[PARAM] size:
配列の長さを数値で指定します。

例:

ary = Array.new(3){|index| "hoge#{index}"}
p ary                      #=> ["hoge0", "hoge1", "hoge2"]

例:

ary = Array.new(3){ "foo" }
p ary                      #=> ["foo", "foo", "foo"]
ary[0].capitalize!
p ary                      #=> ["Foo", "foo", "foo"]  (各要素は違うオブジェクトである)


module function Base64.#b64encode

b64encode(bin, len = 60) -> ()

文字列 bin をエンコードし、len の長さで折り返し、表示します。

表示までしてしまうのはサンプルだからです。


module function Base64.#decode64

decode64(str) -> String

Base64エンコードされた文字列strをデコードします。

[PARAM] src:
デコードしたい文字列です。


module function Base64.#decode_b

decode_b(str) -> String

[RFC2047] で定義されている encoded-word を含む 文字列 str をデコードします。

encoded-word は、

"=?" + charset + "?" + encoding + "?" + encoded-text + "?="

という形式の文字列で、メールヘッダに使用されます。

この関数は charset として "iso-2022-jp" と "shift_jis" を、 encoding として "B" encoding (Base64) だけをサポートしています。

バグ:

実際は、内部で Kconv.#toeuc を呼んでいるため、 kconv が内 部的に利用する nkf ライブラリが勝手にデコードを行ってしまいます。 したがって、この関数はあまり意味がなくなってしまっています(昔の Kconv の実装は NKF を使用しなかったためこのようなことになっているのだと思われ ます)。

[PARAM] src:
デコードしたい文字列です。


module function Base64.#encode64

encode64(str) -> String

文字列strをBase64エンコードします。

[PARAM] src:
エンコードしたい文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library base64 > module Base64::Deprecated > b64encode

module function Base64::Deprecated.#b64encode

b64encode(bin, len = 60) -> ()

Base64.#b64encode と同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library base64 > module Base64::Deprecated > decode64

module function Base64::Deprecated.#decode64

decode64(str) -> String

Base64.#decode64 と同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library base64 > module Base64::Deprecated > decode_b

module function Base64::Deprecated.#decode_b

decode_b(str) -> String

Base64.#decode_b と同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library base64 > module Base64::Deprecated > encode64

module function Base64::Deprecated.#encode64

encode64(str) -> String

Base64.#encode64 と同じです。


instance method BasicSocket#getpeername

getpeername -> String

接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。

例:

serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
addr = c.getpeername
p addr      #=> "\002\000\267\214\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(addr)   #=> [46988, "127.0.0.1"]
p addr == s.getsockname     #=> true


instance method BasicSocket#getsockname

getsockname -> String

ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。

例:

serv = TCPServer.open("", 0)
p serv.getsockname        #=> "\002\000\236C\000\000\000\000\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(serv.getsockname)     #=> [40515, "0.0.0.0"]
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept


instance method BasicSocket#getsockopt

getsockopt(level, optname) -> String

ソケットのオプションを取得します。getsockopt(2) を参照してください。取得したオプションのデータをパックした文字列を 返します。

[PARAM] level:
getsockopt(2) の 第二引数のlevel に相当する整数を指定します。
[PARAM] optname:
getsockopt(2) の 第三引数のoption_name に相当する整数を指定します。

例:

serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
p c.getsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY)  #=> "\000\000\000\000"
p opt.unpack("i")[0]                                      #=> 0   (Nagle アルゴリズム有効)


instance method BasicSocket#recv

recv(maxlen, flags = 0) -> String

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。 この意味はソケットによって異なります。 たとえば TCP では EOF を意味しますし、 UDP では空のパケットを読み込んだことを意味します。

[PARAM] maxlen:
受け取る文字列の最大の長さを指定します。
[PARAM] flags:
recv(2) を参照してください。
[EXCEPTION] IOError:
[EXCEPTION] Errno::EXXX:
recvfrom(2) がエラーになった場合などに発生します。

例:

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK)   #=> "a"
p s2.recv(10)                     #=> "a"
p s2.recv(10)                     #=> ""


instance method BasicSocket#recv_nonblock

recv_nonblock(maxlen, flags = 0) -> String

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

引数、返り値は BasicSocket#recv と同じです。

recvfrom(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

[PARAM] maxlen:
受け取る文字列の最大の長さを指定します。
[PARAM] flags:
recv(2) を参照してください。
[EXCEPTION] IOError:
[EXCEPTION] Errno::EXXX:
recvfrom(2) がエラーになった場合などに発生します。


instance method BasicSocket#send

send(mesg, flags, dest_sockaddr = nil) -> Fixnum

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。

dest_sockaddr には「ソケットアドレス構造体を pack した文字列」 を指定します。

データの送信に失敗した場合は例外 Errno::EXXX が発生します。

[PARAM] mesg:
送信するデータを文字列で指定します。
[PARAM] flags:
send(2) の flags を参照してください。
[PARAM] dest_sockaddr:
「ソケットアドレス構造体を pack した文字列」を指定します。
[EXCEPTION] Errno::EXXX:
データの送信に失敗した場合に発生します。

例:

s = UDPSocket.new
sockaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!", 0, sockaddr)


instance method BasicSocket#setsockopt

setsockopt(level, optname, optval) -> 0

ソケットのオプションを設定します。setsockopt(2) を参照してください。

[PARAM] level:
setsockopt(2) の level を参照してください。
[PARAM] optname:
setsockopt(2) の option_name を参照してください。
[PARAM] optval:
設定される値を文字列で指定します。
[EXCEPTION] Errno::EXXX:
オプションの設定に失敗した場合発生します。


instance method BasicSocket#shutdown

shutdown(how = Socket::SHUT_RDWR) -> 0

ソケットの以降の接続を終了させます。 how の値によって以下のように接続が終了します。

  • Socket::SHUT_RD: それ以降の受信が拒否されます
  • Socket::SHUT_WR: それ以降の送信が拒否されます
  • Socket::SHUT_RDWR: それ以降の送信、受信ともに拒否されます

how を省略すると Socket::SHUT_RDWR を指定したことになります。 shutdown(2) を参照してください。

[PARAM] how:
接続の終了の仕方を Socket::SHUT_RD, Socket::SHUT_WR, Socket::SHUT_RDWR などで指定します。
[EXCEPTION] Errno::EXXX:
ソケットの以降の接続を終了操作が失敗した場合に発生します。
[EXCEPTION] ArgumentError:
how に範囲外の整数を入力した場合に発生します。
[EXCEPTION] SecurityError:
セーフレベルが 4 以上で、ソケットに汚染マークがついていない場合発生します。


singleton method BasicSocket.do_not_reverse_lookup

do_not_reverse_lookup -> bool
do_not_reverse_lookup=(bool) -> bool

この値が真ならアドレスからホスト名への逆引きを行わなくなります。 デフォルトは false です。この設定は大域的に作用します。

以下のメソッドの動作に影響します。

  • BasicSocket#recv
  • IPSocket#recvfrom
  • UNIXSocket#recvfrom
  • Socket#recvfrom
  • IPSocket#addr
  • IPSocket#peeraddr
  • Socket.getaddrinfo
[PARAM] bool:
この値が真ならアドレスからホスト名への逆引きを行わなくなります。

例:

require 'socket'

p TCPSocket.new('localhost', 'telnet').addr
TCPSocket.do_not_reverse_lookup = true
p TCPSocket.new('localhost', 'telnet').addr

=> ["AF_INET", 2253, "localhost", "127.0.0.1"]
   ["AF_INET", 2254, "127.0.0.1", "127.0.0.1"]


singleton method BasicSocket.for_fd

for_fd(fd) -> Object

ファイルディスクリプタ fd に対する新しいソケットを生成します。 このメソッドは Socket クラスからこのクラスに移動しました。 これにより、任意のソケットである fd から対応するソケッ トクラスを作ることができます。

[PARAM] fd:
ファイルディスクリプタ を指定します。
[RETURN]
任意のソケットである fd から対応するソケットクラスを作り、それを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > module Benchmark > BENCHMARK_VERSION

constant Benchmark::BENCHMARK_VERSION

BENCHMARK_VERSION

benchmark ライブラリのバージョンを表します。


constant Benchmark::CAPTION

CAPTION

Benchmark.#bm の内部などで使用されます。

実際の定義は Benchmark::Tms::CAPTION でされています。

[SEE_ALSO] Benchmark::Tms::CAPTION


constant Benchmark::FMTSTR

FMTSTR

Benchmark.#benchmark の第三引数のデフォルト値。

%u

user CPU time で置き換えられます。Benchmark::Tms#utime

%y

system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime

%U

子プロセスの user CPU time で置き換えられます。Benchmark::Tms#cutime

%Y

子プロセスの system CPU time で置き換えられます。Benchmark::Tms#cstime

%t

total CPU time で置き換えられます。Benchmark::Tms#total

%r

実経過時間で置き換えられます。Benchmark::Tms#real

%n

ラベルで置き換えられます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label

上記のフォーマット文字列を使用しています。 この定数の内容は以下の通りです。

"%10.6u %10.6y %10.6t %10.6r\n"

[SEE_ALSO] Benchmark.#benchmark, Benchmark::Tms::FMTSTR


module function Benchmark.#benchmark

benchmark(caption = "", label_width = nil, fmtstr = nil, *labels) {|rep| ...} -> bool

Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。

基本的には以下のように使います。 ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、 それらの数値も追加の行に表示されます。

[PARAM] caption:
レポートの一行目に表示する文字列を指定します。
[PARAM] label_width:
ラベルの幅を指定します。
[PARAM] fmtstr:
フォーマット文字列を指定します。 この引数を省略すると Benchmark::FMTSTR が使用されます。
[PARAM] labels:
ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。
[RETURN]
STDIN.sync の値を返すだけなので返り値に意味はありません。

フォーマット文字列

フォーマット文字列として以下が使用できます。

%u

user CPU time で置き換えられます。Benchmark::Tms#utime

%y

system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime

%U

子プロセスの user CPU time で置き換えられます。Benchmark::Tms#cutime

%Y

子プロセスの system CPU time で置き換えられます。Benchmark::Tms#cstime

%t

total CPU time で置き換えられます。Benchmark::Tms#total

%r

実経過時間で置き換えられます。Benchmark::Tms#real

%n

ラベルで置き換えられます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label

例

require 'benchmark'

n = 50000

# これは
#    Benchmark.bm(7, ">total:", ">avg:") do |x| ... end
# と同じ
Benchmark.benchmark(" "*7 + Benchmark::CAPTION,
                    7,
                    Benchmark::FMTSTR,
                    ">total:",
                    ">avg:") do |x|

  tf = x.report("for:")   { for i in 1..n; a = "1"; end }
  tt = x.report("times:") { n.times do   ; a = "1"; end }
  tu = x.report("upto:")  { 1.upto(n) do ; a = "1"; end }

  [tf+tt+tu, (tf+tt+tu)/3]
end

#=>

             user     system      total        real
for:     1.016667   0.016667   1.033333 (  0.485749)
times:   1.450000   0.016667   1.466667 (  0.681367)
upto:    1.533333   0.000000   1.533333 (  0.722166)
>total:  4.000000   0.033333   4.033333 (  1.889282)
>avg:    1.333333   0.011111   1.344444 (  0.629761)


module function Benchmark.#bm

bm(label_width = 0, *labels) {|rep| ... } -> bool

Benchmark.#benchmark メソッドの引数を簡略化したものです。

Benchmark.#benchmark メソッドと同様に働きます。

[PARAM] label_width:
ラベルの幅を指定します。
[PARAM] labels:
ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。
[RETURN]
STDIN.sync の値を返すだけなので返り値に意味はありません。

例:

require 'benchmark'

n = 50000
Benchmark.bm do |x|
  x.report { for i in 1..n; a = "1"; end }
  x.report { n.times do   ; a = "1"; end }
  x.report { 1.upto(n) do ; a = "1"; end }
end

#=>

      user     system      total        real
  1.033333   0.016667   1.016667 (  0.492106)
  1.483333   0.000000   1.483333 (  0.694605)
  1.516667   0.000000   1.516667 (  0.711077)

以下のようにも書けます。

require 'benchmark'

n = 50000
Benchmark.bm(7) do |x|
  x.report("for:")   { for i in 1..n; a = "1"; end }
  x.report("times:") { n.times do   ; a = "1"; end }
  x.report("upto:")  { 1.upto(n) do ; a = "1"; end }
end

#=>
             user     system      total        real
for:     1.050000   0.000000   1.050000 (  0.503462)
times:   1.533333   0.016667   1.550000 (  0.735473)
upto:    1.500000   0.016667   1.516667 (  0.711239)

集計を付けた場合

require 'benchmark'

n = 50000
Benchmark.bm(7) do |x|
  tf = x.report("for:")   { for i in 1..n; a = "1"; end }
  tt = x.report("times:") { n.times do   ; a = "1"; end }
  tu = x.report("upto:")  { 1.upto(n) do ; a = "1"; end }
  [tf + tt + tu, (tf + tt + tu) / 3]
end

#=>
             user     system      total        real
for:     0.040000   0.000000   0.040000 (  0.141902)
times:   0.010000   0.000000   0.010000 (  0.043335)
upto:    0.020000   0.000000   0.020000 (  0.089806)
>total:  0.070000   0.000000   0.070000 (  0.275044)
>avg:    0.023333   0.000000   0.023333 (  0.091681)

[SEE_ALSO] Benchmark.#benchmark


module function Benchmark.#bmbm

bmbm(width = 0) {|job| ... } -> [Benchmark::Tms]

Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。

ベンチマークの結果は GC の影響によって歪められてしまうことがあります。 このメソッドは与えられたブロックを二度実行する事によってこの影響を最小化します。 一回目は実行環境を安定化するためにリハーサルとして実行します。二回目は本番として 実行します。

二回目のブロック実行の前に GC.start を実行しますが、この実行時間は計測には 含まれません。しかし、実際にはこのメソッドを使用しても、GC などの影響を分離する ことは保証されません。

[PARAM] width:
ラベルの幅を指定します。
require 'benchmark'

array = (1..1000000).map { rand }

Benchmark.bmbm do |x|
  x.report("sort!") { array.dup.sort! }
  x.report("sort")  { array.dup.sort  }
end

#=>

Rehearsal -----------------------------------------
sort!  11.928000   0.010000  11.938000 ( 12.756000)
sort   13.048000   0.020000  13.068000 ( 13.857000)
------------------------------- total: 25.006000sec

            user     system      total        real
sort!  12.959000   0.010000  12.969000 ( 13.793000)
sort   12.007000   0.000000  12.007000 ( 12.791000)


module function Benchmark.#measure

measure(label = "") { ... } -> Benchmark::Tms

与えられたブロックを実行して、経過した時間を Process.times で計り、 Benchmark::Tms オブジェクトを生成して返します。

Benchmark::Tms オブジェクトには to_s が定義されているので、 基本的には以下のように使います。

require 'benchmark'

puts Benchmark::CAPTION
puts Benchmark.measure { "a"*1_000_000 }

#=>

    user     system      total        real
1.166667   0.050000   1.216667 (  0.571355)


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > module Benchmark > realtime

module function Benchmark.#realtime

realtime { ... } -> Float

与えられたブロックを評価して実行時間を計測して返します。


instance method Benchmark::Job#item

item(label = "") { ... } -> self
report(label = "") { ... } -> self

与えられたラベルとブロックをジョブリストに登録します。

[PARAM] label:
ラベル


instance method Benchmark::Job#list

list -> [String, Proc]

登録されているジョブのリストを返します。

それぞれの要素は、ラベルとブロックからなる二要素の配列です。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Job > width

instance method Benchmark::Job#width

width -> Integer

Benchmark::Job#list のサイズ。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Job > new

singleton method Benchmark::Job.new

new(width) -> Benchmark::Job


instance method Benchmark::Report#item

item(label = "", *fmt) { ... } -> Benchmark::Tms
report(label = "", *fmt) { ... } -> Benchmark::Tms

ラベルと与えられたブロックの実行時間を標準出力に出力します。

出力のフォーマットは Benchmark::Tms#format が行います。

[PARAM] label:
ラベル
[PARAM] fmt:
結果に出力したいオブジェクト

[SEE_ALSO] Benchmark::Tms#format


singleton method Benchmark::Report.new

new(width = 0, fmtstr = nil) -> Benchmark::Report

Benchmark::Report のインスタンスを初期化して返します。

通常このメソッドがユーザーによって直接呼び出されることはありません。

[PARAM] width:
ラベルの幅
[PARAM] fmtstr:
フォーマット文字列


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > CAPTION (protected)

constant Benchmark::Tms::CAPTION

CAPTION

Benchmark.#bm の内部などで使用されます。

[SEE_ALSO] Benchmark::CAPTION


constant Benchmark::Tms::FMTSTR

FMTSTR

Benchmark.#benchmark の第三引数のデフォルト値。

%u

user CPU time で置き換えられます。Benchmark::Tms#utime

%y

system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime

%U

子プロセスの user CPU time で置き換えられます。Benchmark::Tms#cutime

%Y

子プロセスの system CPU time で置き換えられます。Benchmark::Tms#cstime

%t

total CPU time で置き換えられます。Benchmark::Tms#total

%r

実経過時間で置き換えられます。Benchmark::Tms#real

%n

ラベルで置き換えられます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label

上記のフォーマット文字列を使用しています。 この定数の内容は以下の通りです。

"%10.6u %10.6y %10.6t %10.6r\n"

[SEE_ALSO] Benchmark.#benchmark, Benchmark::FMTSTR


instance method Benchmark::Tms#*

self * x -> Benchmark::Tms

self と x の乗算を計算します。

[PARAM] x:
Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
[RETURN]
計算結果は新しい Benchmark::Tms オブジェクトです。

[SEE_ALSO] Benchmark::Tms#memberwise


instance method Benchmark::Tms#+

self + x -> Benchmark::Tms

self と x の加算を計算します。

[PARAM] x:
Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
[RETURN]
計算結果は新しい Benchmark::Tms オブジェクトです。

[SEE_ALSO] Benchmark::Tms#memberwise


instance method Benchmark::Tms#-

self - x -> Benchmark::Tms

self と x の減算を計算します。

[PARAM] x:
Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
[RETURN]
計算結果は新しい Benchmark::Tms オブジェクトです。

[SEE_ALSO] Benchmark::Tms#memberwise


instance method Benchmark::Tms#/

self / x -> Benchmark::Tms

self と x の除算を計算します。

[PARAM] x:
Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
[RETURN]
計算結果は新しい Benchmark::Tms オブジェクトです。

[SEE_ALSO] Benchmark::Tms#memberwise


instance method Benchmark::Tms#add

add { ... } -> Benchmark::Tms

与えられたブロックの実行時間を self に加算して 新しい Benchmark::Tms オブジェクトを生成して返します。

[SEE_ALSO] Benchmark.#measure


instance method Benchmark::Tms#add!

add! { ... } -> self

与えられたブロックの実行時間を self に加算して返します。

このメソッドは self を破壊的に変更します。

[SEE_ALSO] Benchmark.#measure


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > cstime

instance method Benchmark::Tms#cstime

cstime -> Float

子プロセスの System CPU time


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > cutime

instance method Benchmark::Tms#cutime

cutime -> Float

子プロセスの User CPU time


instance method Benchmark::Tms#format

format(fmtstr = nil, *args)

self を指定されたフォーマットで整形して返します。

このメソッドは Kernel.#format のようにオブジェクトを整形しますが、 以下の拡張を使用することができます。

%u

user CPU time で置き換えられます。Benchmark::Tms#utime

%y

system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime

%U

子プロセスの user CPU time で置き換えられます。Benchmark::Tms#cutime

%Y

子プロセスの system CPU time で置き換えられます。Benchmark::Tms#cstime

%t

total CPU time で置き換えられます。Benchmark::Tms#total

%r

実経過時間で置き換えられます。Benchmark::Tms#real

%n

ラベルで置き換えられます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label

[PARAM] fmtstr:
フォーマット文字列です。省略された場合は、Benchmark::Tms::FMTSTR が使用されます。
[PARAM] args:
フォーマットされる引数です。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > label

instance method Benchmark::Tms#label

label -> String

ラベル。


instance method Benchmark::Tms#memberwise

memberwise(op, x) -> Benchmark::Tms

Benchmark::Tms の四則演算を実行するために内部で使用されるメソッドです。

[PARAM] op:
演算子をシンボルで与えます。
[PARAM] x:
Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
[RETURN]
計算結果は新しい Benchmark::Tms オブジェクトです。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > real

instance method Benchmark::Tms#real

real -> Float

実経過時間。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > stime

instance method Benchmark::Tms#stime

stime -> Float

System CPU time


instance method Benchmark::Tms#to_a

to_a -> Array

6 要素の配列を返します。

要素は以下の順番で配列に格納されています。

  • ラベル
  • user CPU time
  • system CPU time,
  • 子プロセスの user CPU time
  • 子プロセスの system CPU time,
  • 実経過時間


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > to_s

instance method Benchmark::Tms#to_s

to_s -> String

引数を省略して Benchmark::Tms#format を呼び出すのと同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > total

instance method Benchmark::Tms#total

total -> Float

合計時間。(utime + stime + cutime + cstime)


Ruby 1.8.7 Reference Manual > All Libraries > library benchmark > class Benchmark::Tms > utime

instance method Benchmark::Tms#utime

utime -> Float

User CPU time


singleton method Benchmark::Tms.new

new(utime = 0.0, stime = 0.0, cutime = 0.0, cstime = 0.0, real = 0.0, label = nil) -> Benchmark::Tms

新しい Benchmark::Tms オブジェクトを生成して返します。

[PARAM] utime:
User CPU time
[PARAM] stime:
System CPU time
[PARAM] cutime:
子プロセスの User CPU time
[PARAM] cstime:
子プロセスの System CPU time
[PARAM] real:
実経過時間
[PARAM] label:
ラベル


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > BASE

constant BigDecimal::BASE

BASE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > EXCEPTION_ALL

constant BigDecimal::EXCEPTION_ALL

EXCEPTION_ALL


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > EXCEPTION_INFINITY

constant BigDecimal::EXCEPTION_INFINITY

EXCEPTION_INFINITY


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > EXCEPTION_NaN

constant BigDecimal::EXCEPTION_NaN

EXCEPTION_NaN


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > EXCEPTION_OVERFLOW

constant BigDecimal::EXCEPTION_OVERFLOW

EXCEPTION_OVERFLOW


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > EXCEPTION_UNDERFLOW

constant BigDecimal::EXCEPTION_UNDERFLOW

EXCEPTION_UNDERFLOW


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > EXCEPTION_ZERODIVIDE

constant BigDecimal::EXCEPTION_ZERODIVIDE

EXCEPTION_ZERODIVIDE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_CEILING

constant BigDecimal::ROUND_CEILING

ROUND_CEILING


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_DOWN

constant BigDecimal::ROUND_DOWN

ROUND_DOWN


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_FLOOR

constant BigDecimal::ROUND_FLOOR

ROUND_FLOOR


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_HALF_DOWN

constant BigDecimal::ROUND_HALF_DOWN

ROUND_HALF_DOWN


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_HALF_EVEN

constant BigDecimal::ROUND_HALF_EVEN

ROUND_HALF_EVEN


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_HALF_UP

constant BigDecimal::ROUND_HALF_UP

ROUND_HALF_UP


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_MODE

constant BigDecimal::ROUND_MODE

ROUND_MODE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ROUND_UP

constant BigDecimal::ROUND_UP

ROUND_UP


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_NEGATIVE_FINITE

constant BigDecimal::SIGN_NEGATIVE_FINITE

SIGN_NEGATIVE_FINITE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_NEGATIVE_INFINITE

constant BigDecimal::SIGN_NEGATIVE_INFINITE

SIGN_NEGATIVE_INFINITE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_NEGATIVE_ZERO

constant BigDecimal::SIGN_NEGATIVE_ZERO

SIGN_NEGATIVE_ZERO


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_NaN

constant BigDecimal::SIGN_NaN

SIGN_NaN


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_POSITIVE_FINITE

constant BigDecimal::SIGN_POSITIVE_FINITE

SIGN_POSITIVE_FINITE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_POSITIVE_INFINITE

constant BigDecimal::SIGN_POSITIVE_INFINITE

SIGN_POSITIVE_INFINITE


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > SIGN_POSITIVE_ZERO

constant BigDecimal::SIGN_POSITIVE_ZERO

SIGN_POSITIVE_ZERO


instance method BigDecimal#*

self * other

乗算 (c = a * b)。

c の精度は (a の精度) + (b の精度) 程度です。 詳しくは「計算精度について」を参照してください。


instance method BigDecimal#**

self ** n

a の n 乗を計算します。n は整数。

c = a ** n

結果として c の有効桁は a の n 倍以上になるので注意。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > +

instance method BigDecimal#+

self + other

加算 (c = a + b)。

c の精度については「計算精度について」を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > +@

instance method BigDecimal#+@

+


instance method BigDecimal#-

self - other

減算 (c = a - b)、または符号反転 (c = -a)。

c の精度については「計算精度について」を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > -@

instance method BigDecimal#-@

-


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > /

instance method BigDecimal#/

self / other

除算 (c = a / b)。

c の精度については「計算精度について」を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > <

instance method BigDecimal#<

self < other


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > <=

instance method BigDecimal#<=

self <= other


instance method BigDecimal#<=>

self <=> other

a == b なら 0、a > b なら 1、a < b なら -1 になります。

c = a <=> b


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ==

instance method BigDecimal#==

self == other


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ===

instance method BigDecimal#===

self === other


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > >

instance method BigDecimal#>

self > other


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > >=

instance method BigDecimal#>=

self >= other


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > %

instance method BigDecimal#%

self % n

詳細は Float#% を参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > _dump

instance method BigDecimal#_dump

_dump


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > abs

instance method BigDecimal#abs

abs

a の絶対値

c = a.abs


instance method BigDecimal#add

add(b, n)

以下のように使用します。

c = a.add(b, n)

c = a + b を最大で n 桁まで計算します。 a + b の精度が n より大きいときは BigDecimal.mode で指定された方法で丸められます。 n がゼロなら + と同じです。


instance method BigDecimal#ceil

ceil([n])

a 以上の整数のうち、最も小さい整数を計算し、 その値 (BigDecimal 値)を返します。

c = BigDecimal("1.23456").ceil   # => 2
c = BigDecimal("-1.23456").ceil  # => -1

以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。 n >= 0 なら、小数点以下 n + 1 位の数字を操作します (小数点以下を、最大 n 桁にします)。 n が負のときは小数点以上 n 桁目を操作します (小数点位置から左に少なくとも n 個の 0 が並びます)。

c = BigDecimal("1.23456").ceil(4)    # => 1.2346
c = BigDecimal("15.23456").ceil(-1)  # => 20.0


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > coerce

instance method BigDecimal#coerce

coerce


instance method BigDecimal#div

div(b [, n])

以下のように使用します。

c = a.div(b,n)

c = a / b を最大で n 桁まで計算します。 a / b の精度が n より大きいときは BigDecimal.mode で指定された方法で丸められます。 n がゼロなら BigDecimal#/ と同じです。 n が省略されたときは Float#div と同様に結果が BigDecimal になります。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > divmod

instance method BigDecimal#divmod

divmod(n)

詳細は Float#divmod を参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > eql?

instance method BigDecimal#eql?

eql?


instance method BigDecimal#exponent

exponent

指数部を整数値で返します。

n = a.exponent

は a の値が 0.xxxxxxx*10**n を意味します。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > finite?

instance method BigDecimal#finite?

finite?

a.finite? は a が∞または NaN でないとき真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > fix

instance method BigDecimal#fix

fix

self の小数点以下の切り捨て。


instance method BigDecimal#floor

floor([n])

a 以下の最大整数 (BigDecimal 値) を返します。

c = BigDecimal("1.23456").floor      # => 1
c = BigDecimal("-1.23456").floor     # => -2

以下のように引数 n を与えることもできます。 n >= 0 なら、小数点以下 n + 1 位の数字を操作します (小数点以下を、最大 n 桁にします)。 n が負のときは小数点以上 n 桁目を操作します (小数点位置から左に少なくとも n 個の 0 が並びます)。

c = BigDecimal("1.23456").floor(4)   # => 1.2345
c = BigDecimal("15.23456").floor(-1) # => 10.0


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > frac

instance method BigDecimal#frac

frac

self の整数部分の切り捨て。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > hash

instance method BigDecimal#hash

hash


instance method BigDecimal#infinite?

infinite?

a.infinite? は a が+∞のとき 1 、-∞のときは -1、 それ以外のときは nil を返します。


instance method BigDecimal#inspect

inspect

デバッグ出力に使用されます。

p a = BigDecimal::new("3.14",10)

とすると、[0x112344:'0.314E1',4(12)] のように出力されます。 最初の16進数はオブジェクトのアドレス、次の '0.314E1' は値、 次の4は現在の有効桁数(表示より若干大きいことがあります)、 最後はオブジェクトが取り得る最大桁数になります。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > modulo

instance method BigDecimal#modulo

modulo(n)

詳細は Float#modulo を参照して下さい。


instance method BigDecimal#mult

mult(b, n)

以下のように使用します。

c = a.mult(b,n)

c = a * b を最大で n 桁まで計算します。 a * b の精度が n より大きいときは BigDecimal.mode で指定された方法で丸められます。 n がゼロなら * と同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > nan?

instance method BigDecimal#nan?

nan?

a.nan? は a が NaN のとき真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > nonzero?

instance method BigDecimal#nonzero?

nonzero?

a が 0 なら nil、0 以外なら a そのものが返ります。

c = a.nonzero?


instance method BigDecimal#power

power(n)

メソッド演算子 ** と同じで、a の n 乗を計算します。n は整数。

c = a.power(n)

結果として c の有効桁は a の n 倍以上になるので注意。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > precs

instance method BigDecimal#precs

precs

a の有効数字 (n) と最大有効数字 (m) の配列を返します。

n, m = a.precs


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > quo

instance method BigDecimal#quo

quo(n)

詳細は Float#quo を参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > remainder

instance method BigDecimal#remainder

remainder(n)

詳細は Float#remainder を参照して下さい。


instance method BigDecimal#round

round(n [, b])

クラスメソッド BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で指定した
BigDecimal::ROUND_MODE に従って丸め操作を実行します。
BigDecimal.mode(BigDecimal::ROUND_MODE,flag) で何も指定せず、
かつ、引数を指定しない場合は
「小数点以下第一位の数を四捨五入して整数(BigDecimal 値)」にします。

c = BigDecimal("1.23456").round   # => 1
c = BigDecimal("-1.23456").round  # => -1

以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。 n が正の時は、小数点以下 n+1 位の数字を丸めます(小数点以下を、最大 n 桁にします)。 n が負のときは小数点以上 n 桁目を丸めます(小数点位置から左に少なくとも n 個の 0 が並びます)。

c = BigDecimal("1.23456").round(4)    # => 1.2346
c = BigDecimal("15.23456").round(-1)  # => 20.0

2番目の引数を指定すると、BigDecimal#mode の指定を無視して、 指定された方法で丸め操作を実行します。

c = BigDecimal("1.23456").round(3,BigDecimal::ROUND_HALF_EVEN)   # => 1.234
c = BigDecimal("1.23356").round(3,BigDecimal::ROUND_HALF_EVEN)   # => 1.234


instance method BigDecimal#sign

sign

値が正 (sign > 0)、負 (sign < 0)、その他 (sign == 0) であるかの情報を返します。

n = a.sign

としたとき n の値は a が以下のときを意味します。 () の中の数字は、実際の値です (「内部構造」を参照)。

n = BigDecimal::SIGN_NaN(0)                 # a は NaN
n = BigDecimal::SIGN_POSITIVE_ZERO(1)       # a は +0
n = BigDecimal::SIGN_NEGATIVE_ZERO(-1)      # a は -0
n = BigDecimal::SIGN_POSITIVE_FINITE(2)     # a は正の値
n = BigDecimal::SIGN_NEGATIVE_FINITE(-2)    # a は負の値
n = BigDecimal::SIGN_POSITIVE_INFINITE(3)   # a は+Infinity
n = BigDecimal::SIGN_NEGATIVE_INFINITE(-3)  # a は-Infinity


instance method BigDecimal#split

split

BigDecimal 値を 0.xxxxxxx*10**n と表現したときに、 符号 (NaNのときは 0、それ以外は+1か-1になります)、 仮数部分の文字列("xxxxxxx")と、基数(10)、更に指数 n を配列で返します。

a = BigDecimal::new("3.14159265")
f, x, y, z = a.split

とすると、f =+ 1、x = "314159265"、y = 10、z = 1 になります。 従って、

s = "0."+x
b = f*(s.to_f)*(y**z)

で Float に変換することができます。


instance method BigDecimal#sqrt

sqrt(n)

a の有効桁 n 桁の平方根 (n の平方根ではありません) をニュートン法で計算します。

c = a.sqrt(n)


instance method BigDecimal#sub

sub(b, n)

のように使用します。

c = a.sub(b,n)

c = a - b を最大で n 桁まで計算します。 a - b の精度が n より大きいときは BigDecimal.mode で指定された方法で丸められます。 n がゼロなら - と同じです。


instance method BigDecimal#to_digits

to_digits [added by bigdecimal/util]

Converts a BigDecimal to a String of the form "nnnnnn.mmm". This method is deprecated; use BigDecimal#to_s("F") instead.


instance method BigDecimal#to_f

to_f

Float オブジェクトに変換します。 よりきめ細かい値が必要ならば BigDecimal#split メソッドを利用してください。


instance method BigDecimal#to_i

to_i

小数点以下を切り捨てて整数に変換します。

i = a.to_i

i は値に応じて Fixnum か Bignum になります。 a が Infinity や NaN のとき、i は nil になります。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > to_int

instance method BigDecimal#to_int

to_int


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/util > class BigDecimal > to_r

instance method BigDecimal#to_r

to_r [added by bigdecimal/util]

Rationalに変換する


instance method BigDecimal#to_s

to_s([n])

文字列に変換します (デフォルトは "0.xxxxxEn" の形になります)。

BigDecimal("1.23456").to_s  #  ==> "0.123456E1"

引数 n に正の整数が指定されたときは、小数点で分けられる左右部分を、 それぞれ n 桁毎に空白で区切ります。

BigDecimal("0.1234567890123456789").to_s(10)   # => "0.1234567890 123456789E0"

引数 n に正の整数を表す文字列を指定することもできます。

BigDecimal("0.1234567890123456789").to_s("10") # => "0.1234567890 123456789E0"

文字列の最初に '+' (または ' ') を付けると、値が正の場合、 先頭に '+' (または ' ')が付きます。負の場合は常に '-' が付きます。

BigDecimal("0.1234567890123456789").to_s(" 10") # => " 0.1234567890 123456789E0"
BigDecimal("0.1234567890123456789").to_s("+10") # => "+0.1234567890 123456789E0"
BigDecimal("-0.1234567890123456789").to_s("10") # => "-0.1234567890 123456789E0"

さらに文字列の最後に E (または e) か F (または f) を指定することで、 以下のように表示形式を変更することができます。

BigDecimal("1234567890.123456789").to_s("E")  # => "0.1234567890123456789E10"
BigDecimal("1234567890.123456789").to_s("F")  # => "1234567890.123456789"
BigDecimal("1234567890.123456789").to_s("5E") # => "0.12345 67890 12345 6789E10"
BigDecimal("1234567890.123456789").to_s("5F") # => "12345 67890.12345 6789"


instance method BigDecimal#truncate

truncate

小数点以下の数を切り捨てて整数 (BigDecimal 値)にします。 以下のように引数を与えて、小数点以下 n+1 位の数字を操作することもできます。 n が正の時は、小数点以下 n+1 位の数字を切り捨てます (小数点以下を、最大 n 桁にします)。 n が負のときは小数点以上 n 桁目を操作します (小数点位置から左に少なくとも n 個の 0 が並びます)。

c = BigDecimal("1.23456").truncate(4)    # => 1.2345
c = BigDecimal("15.23456").truncate(-1)  # => 10.0


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > zero?

instance method BigDecimal#zero?

zero?

a が 0 なら true を返します。

c = a.zero?


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > _load

singleton method BigDecimal._load

_load(str)


singleton method BigDecimal.double_fig

double_fig

Ruby の Float クラスが保持できる有効数字の数を返します。

p BigDecimal::double_fig  # ==> 20 (depends on the CPU etc.)

double_figは以下の C プログラムの結果と同じです。

double v = 1.0;
int double_fig = 0;
while (v + 1.0 > 1.0) {
   ++double_fig;
   v /= 10;
}


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > induced_from

singleton method BigDecimal.induced_from

induced_from(x)


singleton method BigDecimal.limit

limit([n])

生成されるBigDecimalオブジェクトの最大桁数をn桁に制限します。 戻り値は設定する前の値です。設定値のデフォルト値は0で、桁数無制限という意味です。 n を指定しない、または n が nil の場合は、現状の最大桁数が返ります。 計算を続行する間に、数字の桁数が無制限に増えてしまうような場合 limit で 予め桁数を制限できます。この場合 BigDecimal.mode で指定された丸め処理が 実行されます。ただし、インスタンスメソッド (BigDecimal#truncate / BigDecimal#round / BigDecimal#ceil / BigDecimal#floor / BigDecimal#add/ BigDecimal#sub / BigDecimal#mult / BigDecimal#div) の桁数制限は limit より優先されます。

mf = BigDecimal::limit(n)


singleton method BigDecimal.mode

mode(s [, v])

BigDecimalの実行結果を制御します。 第2引数を省略、または nil を指定すると現状の設定値が戻ります。 以下の使用方法が定義されています。

例外処理

計算結果が非数(NaN)やゼロによる除算になったときの処理を定義することができます。

f = BigDecimal::mode(BigDecimal::EXCEPTION_NaN,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_INFINITY,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_UNDERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_OVERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_ZERODIVIDE,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_ALL,flag)
  • BigDecimal::EXCEPTION_NaN は結果が NaN になったときの指定です。
  • BigDecimal::EXCEPTION_INFINITY は結果が無限大(±Infinity)になったときの指定です。
  • BigDecimal::EXCEPTION_UNDERFLOW は指数部がアンダーフローするときの指定です。
  • BigDecimal::EXCEPTION_OVERFLOW は指数部がオーバーフローするときの指定です。
  • BigDecimal::EXCEPTION_ZERODIVIDE はゼロによる割り算を実行したときの指定です。
  • BigDecimal::EXCEPTION_ALL は、可能な全てに対して一括して設定するときに使用します。

flag が true のときは、指定した状態になったときに例外を発行するようになります。 flag が false(デフォルト)なら、例外は発行されません。計算結果は以下のようになります。

  • BigDecimal::EXCEPTION_NaN のとき、非数(NaN)
  • BigDecimal::EXCEPTION_INFINITY のとき、無限(+ or -Infinity)
  • BigDecimal::EXCEPTION_UNDERFLOW のとき、ゼロ
  • BigDecimal::EXCEPTION_OVERFLOW のとき、+Infinity か -Infinity
  • BigDecimal::EXCEPTION_ZERODIVIDE のとき、+Infinity か -Infinity

BigDecimal::EXCEPTION_INFINITY、BigDecimal::EXCEPTION_OVERFLOW、
BigDecimal::EXCEPTION_ZERODIVIDE は今のところ同じです。
戻り値は、設定後の値です。「値」の意味は、例えば BigDecimal::EXCEPTION_NaN
と「値」の & が ゼロ以外ならば BigDecimal::EXCEPTION_NaNが設定されているという意味です。

丸め処理指定

計算途中の丸め操作の指定ができます。

f = BigDecimal::mode(BigDecimal::ROUND_MODE,flag)

の形式で指定します。 ここで、flag は以下(括弧内は対応するインスタンスメソッド)の一つを指定します。

  • BigDecimal::ROUND_UP 全て切り上げます。
  • BigDecimal::ROUND_DOWN 全て切り捨てます(truncate)。
  • BigDecimal::ROUND_HALF_UP 四捨五入します(デフォルト)。
  • BigDecimal::ROUND_HALF_DOWN 五捨六入します。
  • BigDecimal::ROUND_HALF_EVEN 四捨六入します。5の時は上位1桁が奇数の時のみ繰り上げます(Banker's rounding)。
  • BigDecimal::ROUND_CEILING 数値の大きい方に繰り上げます(ceil)。
  • BigDecimal::ROUND_FLOOR 数値の小さい方に繰り下げます(floor)。

戻り値は指定後の flag の値です。第2引数に nil を指定すると、現状の設定値が返ります。 mode メソッドでは丸め操作の位置をユーザが指定することはできません。丸め操作と位置を自分で制御したい場合は BigDecimal::limit や truncate/round/ceil/floor、 add/sub/mult/div といったインスタンスメソッドを使用して下さい。


singleton method BigDecimal.new

new(s [, n])

新しい BigDecimal オブジェクトを生成します。 s は数字を表現する初期値を文字列で指定します。スペースは無視されます。 また、判断できない文字が出現した時点で文字列は終了したものとみなされます。 n は必要な有効桁数(a の最大有効桁数)を整数で指定します。 n が 0 または省略された ときは、n の値は s の有効桁数とみなされます。 s の有効桁数より n が小さいときも n=0 のときと同じです。 a の最大有効桁数は n より若干大い値が採用されます。 最大有効桁数は以下のような割り算を実行するとき等に意味を持ちます。

BigDecimal("1")    / BigDecimal("3")    # => 0.3333333333 33E0
BigDecimal("1",10) / BigDecimal("3",10) # => 0.3333333333 3333333333 33333333E0

ただし、個々の演算における最大有効桁数 n の取り扱いは将来のバージョンで若干変更される可能性があります。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > class BigDecimal > ver

singleton method BigDecimal.ver

ver


instance method BigMath#E

E(prec) -> BigDecimal

自然対数の底 e を prec で指定した精度で計算します。

[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts E(10) #=> 0.271828182845904523536028752390026306410273E1


instance method BigMath#PI

PI(prec) -> BigDecimal

円周率を prec で指定した精度で計算します。

[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts PI(10) #=> 0.314159265359224236485984067E1


instance method BigMath#atan

atan(x, prec) -> BigDecimal

x の逆正接関数を prec で指定した精度で計算します。単位はラジアンです。 x に無限大や NaN を指定した場合には NaN を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。単位はラジアン。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
x の絶対値が1以上の場合に発生します。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts atan(BigDecimal.new('0.5'), 10) #=> 0.463647609000806116214256237466868871528608E0

注意

x の絶対値を 0.9999 のような 1 に近すぎる値にすると計算結果が収束しない 可能性があります。


instance method BigMath#cos

cos(x, prec) -> BigDecimal

x の余弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。単位はラジアン。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts cos(BigDecimal.new('0.5'), 10) #=> 0.8775825618903727161162815826327690580439923E0


instance method BigMath#exp

exp(x, prec) -> BigDecimal

x の指数関数を prec で指定した精度で計算します。 x に無限大や NaN を指定した場合には x を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts exp(BigDecimal.new('1'), 10) #=> 0.271828182845904523536028752390026306410273E1


instance method BigMath#log

log(x, prec) -> BigDecimal

x の自然対数を prec で指定した精度で計算します。x に無限大や NaN を指定 した場合には x を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts log(BigDecimal.new('2'), 10) #=> 0.693147180559945309417232112588603776354688E0


instance method BigMath#sin

sin(x, prec) -> BigDecimal

x の正弦関数を prec で指定した精度で計算します。単位はラジアンです。x に無限大や NaN を指定した場合には NaN を返します。

[PARAM] x:
計算対象の BigDecimal オブジェクト。単位はラジアン。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] ArgumentError:
prec に 0 以下が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts sin(BigDecimal.new('0.5'), 10) #=> 0.479425538604203000273287935689073955184741E0


instance method BigMath#sqrt

sqrt(x, prec) -> BigDecimal

x の平方根を prec で指定した精度で計算します。

[PARAM] x:
平方根を求める数。
[PARAM] prec:
計算結果の精度。
[EXCEPTION] FloatDomainError:
x に 0 以下、もしくは NaN が指定された場合に発生します。
[EXCEPTION] ArgumentError:
prec に 0 未満が指定された場合に発生します。

例:

require "bigdecimal"
require "bigdecimal/math"

include BigMath
puts sqrt(BigDecimal.new('2'), 10) #=> 0.14142135623730950488016883515E1


instance method Bignum#**

self ** other [redefined by rational]
rpower(other) [redefined by rational]

Returns a Rational number if the result is in fact rational (i.e. +other+ < 0).


instance method Bignum#/

self / other [redefined by mathn]

Bignum#quo と同じ働きをします(有理数または整数を返します)。


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Bignum > power!

instance method Bignum#power!

power!(other) [added by rational]


instance method Bignum#quo

quo(other) [redefined by rational]

If Rational is defined, returns a Rational number instead of a Bignum.


instance method Binding#eval

eval(expr, fname = __FILE__, lineno = 1) -> object

自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。

[PARAM] expr:
評価したい式を文字列で与えます。
[PARAM] fname:
ファイル名を文字列で与えます。式 expr が fname というファイル名にあるかのように実行されます。
[PARAM] lineno:
行番号を整数で与えます。式 expr の先頭行の行番号が lineno であるかのように実行されます。
def getBinding(str)
  return binding
end
str = "hello"
p eval("str + ' Fred'")                     #=> "hello Fred"
p getBinding("bye").eval("str + ' Fred'")   #=> "bye Fred"

[SEE_ALSO] Kernel.#eval


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > CR

constant CGI::CR

CR


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > EOL

constant CGI::EOL

EOL


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > HTTP_STATUS

constant CGI::HTTP_STATUS

HTTP_STATUS


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > LF

constant CGI::LF

LF


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > NEEDS_BINMODE

constant CGI::NEEDS_BINMODE

NEEDS_BINMODE


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > PATH_SEPARATOR

constant CGI::PATH_SEPARATOR

PATH_SEPARATOR


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > REVISION

constant CGI::REVISION

REVISION


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > RFC822_DAYS

constant CGI::RFC822_DAYS

RFC822_DAYS


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI > RFC822_MONTHS

constant CGI::RFC822_MONTHS

RFC822_MONTHS


instance method CGI#header

header(options = "text/html") -> string

HTTP ヘッダを options に従って生成します。（ CGI#out と違い、標準出力には出力しません） CGI#out を使わずに自力で HTML を出力したい場合などに使います。 このメソッドは文字列エンコーディングを変換しません。 [ruby-list:35911]

例：

header
  # Content-Type: text/html

header("text/plain")
  # Content-Type: text/plain

header({"nph"        => true,
        "status"     => "OK",  # == "200 OK"
          # "status"     => "200 GOOD",
        "server"     => ENV['SERVER_SOFTWARE'],
        "connection" => "close",
        "type"       => "text/html",
        "charset"    => "iso-2022-jp",
          # Content-Type: text/html; charset=iso-2022-jp
        "language"   => "ja",
        "expires"    => Time.now + 30,
        "cookie"     => [cookie1, cookie2],
        "my_header1" => "my_value"
        "my_header2" => "my_value"})

status パラメータには以下の文字列が使えます。

"OK"                  --> "200 OK"
"PARTIAL_CONTENT"     --> "206 Partial Content"
"MULTIPLE_CHOICES"    --> "300 Multiple Choices"
"MOVED"               --> "301 Moved Permanently"
"REDIRECT"            --> "302 Found"
"NOT_MODIFIED"        --> "304 Not Modified"
"BAD_REQUEST"         --> "400 Bad Request"
"AUTH_REQUIRED"       --> "401 Authorization Required"
"FORBIDDEN"           --> "403 Forbidden"
"NOT_FOUND"           --> "404 Not Found"
"METHOD_NOT_ALLOWED"  --> "405 Method Not Allowed"
"NOT_ACCEPTABLE"      --> "406 Not Acceptable"
"LENGTH_REQUIRED"     --> "411 Length Required"
"PRECONDITION_FAILED" --> "412 Rrecondition Failed"
"SERVER_ERROR"        --> "500 Internal Server Error"
"NOT_IMPLEMENTED"     --> "501 Method Not Implemented"
"BAD_GATEWAY"         --> "502 Bad Gateway"
"VARIANT_ALSO_VARIES" --> "506 Variant Also Negotiates"

例：

cgi = CGI.new('html3')
print cgi.header({"charset" => "shift_jis", "status" => "OK"})
print "<html><head><title>TITLE</title></head>\r\n"
print "<body>BODY</body></html>\r\n"


instance method CGI#out

out(options = "text/html") { .... }

HTTP ヘッダと、ブロックで与えられた文字列を標準出力に出力します。

例：

cgi = CGI.new
cgi.out{ "string" }
  # Content-Type: text/html
  # Content-Length: 6
  #
  # string

cgi.out("text/plain"){ "string" }
  # Content-Type: text/plain
  # Content-Length: 6
  #
  # string

cgi.out({"nph"        => true,
         "status"     => "OK",  # == "200 OK"
         "server"     => ENV['SERVER_SOFTWARE'],
         "connection" => "close",
         "type"       => "text/html",
         "charset"    => "iso-2022-jp",
           # Content-Type: text/html; charset=iso-2022-jp
         "language"   => "ja",
         "expires"    => Time.now + (3600 * 24 * 30),
         "cookie"     => [cookie1, cookie2],
         "my_header1" => "my_value",
         "my_header2" => "my_value"}){ "string" }

HEADリクエスト (REQUEST_METHOD == "HEAD") の場合は HTTP ヘッダのみを出力します。

charset が "iso-2022-jp"・"euc-jp"・"shift_jis" のいずれかで ある場合は文字列エンコーディングを自動変換し、language を "ja"にします。


instance method CGI#print

print(*strings)

引数の文字列を標準出力に出力します。 cgi.print は $DEFAULT_OUTPUT.print と等価です。

例：

cgi = CGI.new
cgi.print "This line is a part of content body.\r\n"


singleton method CGI.escape

escape(string) -> string

string を URL エンコードした文字列を新しく作成し返します。

例:

require "cgi"

p CGI.escape('@##')   #=> "%40%23%23"

url = "http://www.example.com/register?url=" +
  CGI.escape('http://www.example.com/index.rss')
p url
#=> "http://www.example.com/register?url=http%3A%2F%2Fwww.example.com%2Findex.rss"


singleton method CGI.escapeElement

escapeElement(string, *elements) -> string

elements に指定したエレメントのタグだけを実体参照に置換します。

例：

require "cgi"

p CGI.escapeElement('<BR><A HREF="url"></A>', "A", "IMG")
     # => "<BR>&lt;A HREF="url"&gt;&lt;/A&gt"

p CGI.escapeElement('<BR><A HREF="url"></A>', ["A", "IMG"])
     # => "<BR>&lt;A HREF="url"&gt;&lt;/A&gt"


singleton method CGI.escapeHTML

escapeHTML(string) -> string

string 中の &"<> を実体参照にエンコードした文字列を新しく作成し返します。

require "cgi"

p CGI.escapeHTML("3 > 1")   #=> "3 &gt; 1"

print('<script type="text/javascript">alert("警告")</script>')

p CGI.escapeHTML('<script type="text/javascript">alert("警告")</script>')
#=> "&lt;script type=&quot;text/javascript&quot;&gt;alert(&quot;警告&quot;)&lt;/script&gt;"


singleton method CGI.parse

parse(query) -> object

QUERY_STRING をパースします。

例：

require "cgi"

params = CGI.parse("query_string")
  # {"name1" => ["value1", "value2", ...],
  #  "name2" => ["value1", "value2", ...], ... }


singleton method CGI.pretty

pretty(string, shift = " ") -> string

HTML を人間に見やすく整形します。

例：

require "cgi"

print CGI.pretty("<HTML><BODY></BODY></HTML>")
  # <HTML>
  #   <BODY>
  #   </BODY>
  # </HTML>

print CGI.pretty("<HTML><BODY></BODY></HTML>", "\t")
  # <HTML>
  #         <BODY>
  #         </BODY>
  # </HTML>


singleton method CGI.rfc1123_date

rfc1123_date(time) -> string

時刻 time を [RFC1123] フォーマットに準拠した文字列に変換します。

例：

require "cgi"

CGI.rfc1123_date(Time.now)
  # => Sat, 1 Jan 2000 00:00:00 GMT


singleton method CGI.unescape

unescape(string) -> string

string を URL デコードした文字列を新しく作成し返します。

require "cgi"

p CGI.unescape('%40%23%23')   #=> "@##"

p CGI.unescape("http%3A%2F%2Fwww.example.com%2Findex.rss")
#=> "http://www.example.com/index.rss"


singleton method CGI.unescapeElement

unescapeElement(string, *element) -> string

特定の要素だけをHTMLエスケープから戻す。

例：

require "cgi"

print CGI.unescapeElement('&lt;BR&gt;&lt;A HREF="url"&gt;&lt;/A&gt;', "A", "IMG")
  # => "&lt;BR&gt;<A HREF="url"></A>"

print CGI.unescapeElement('&lt;BR&gt;&lt;A HREF="url"&gt;&lt;/A&gt;', %w(A IMG))
  # => "&lt;BR&gt;<A HREF="url"></A>"


singleton method CGI.unescapeHTML

unescapeHTML(string) -> string

string 中の実体参照のうち、&amp; &gt; &lt; &quot; と数値指定がされているもの (&#0ffff など) だけを外します。

require "cgi"

p CGI.unescapeHTML("3 &gt; 1")   #=> "3 > 1"


instance method CGI::Cookie#domain

name
name=(value)
value
value=(value)
path
path=(value)
domain
domain=(value)
expires
expires=(value)
secure
secure=(val)

Cookie オブジェクトのアトリビュートです。

例：
cookie1 = CGI::Cookie.new("name", "value1", "value2", ...)
cookie1 = CGI::Cookie.new({"name" => "name", "value" => "value"})
cookie1 = CGI::Cookie.new({'name'    => 'name',
                           'value'   => ['value1', 'value2', ...],
                           'path'    => 'path',   # optional
                           'domain'  => 'domain', # optional
                           'expires' => Time.now, # optional
                           'secure'  => true      # optional
                          })

cgi.out({"cookie" => [cookie1, cookie2]}){ "string" }

name    = cookie1.name
values  = cookie1.value
path    = cookie1.path
domain  = cookie1.domain
expires = cookie1.expires
secure  = cookie1.secure

cookie1.name    = 'name'
cookie1.value   = ['value1', 'value2', ...]
cookie1.path    = 'path'
cookie1.domain  = 'domain'
cookie1.expires = Time.now + 30
cookie1.secure  = true


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > class CGI::Cookie > to_s

instance method CGI::Cookie#to_s

to_s


singleton method CGI::Cookie.new

new(name = "", *value)

クッキーオブジェクトを作成します。

例：
cookie1 = CGI::Cookie.new("name", "value1", "value2", ...)
cookie1 = CGI::Cookie.new({"name" => "name", "value" => "value"})
cookie1 = CGI::Cookie.new({'name'    => 'name',
                           'value'   => ['value1', 'value2', ...],
                           'path'    => 'path',   # optional
                           'domain'  => 'domain', # optional
                           'expires' => Time.now, # optional
                           'secure'  => true      # optional
                          })

cgi.out({"cookie" => [cookie1, cookie2]}){ "string" }

name    = cookie1.name
values  = cookie1.value
path    = cookie1.path
domain  = cookie1.domain
expires = cookie1.expires
secure  = cookie1.secure

cookie1.name    = 'name'
cookie1.value   = ['value1', 'value2', ...]
cookie1.path    = 'path'
cookie1.domain  = 'domain'
cookie1.expires = Time.now + 30
cookie1.secure  = true


singleton method CGI::Cookie.parse

parse(raw_cookie)

クッキー文字列をパースします。

例：
cookies = CGI::Cookie.parse("raw_cookie_string")
  # { "name1" => cookie1, "name2" => cookie2, ... }


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::HtmlExtension > a

instance method CGI::HtmlExtension#a

a(href = "")
例：
a("url")
  # = a({ "HREF" => "url" })


instance method CGI::HtmlExtension#base

base(href = "")
例：
base("url")
  # = base({ "HREF" => "url" })


instance method CGI::HtmlExtension#blockquote

blockquote(cite = nil)
例：
blockquote("url"){ "string" }
  # = blockquote({ "CITE" => "url" }){ "string" }


instance method CGI::HtmlExtension#caption

caption(align = nil)
例：
caption("align"){ "string" }
  # = caption({ "ALIGN" => "align" }){ "string" }


instance method CGI::HtmlExtension#checkbox

checkbox(name = "", value = nil, checked = nil)
例：
checkbox("name")
  # = checkbox({ "NAME" => "name" })

checkbox("name", "value")
  # = checkbox({ "NAME" => "name", "VALUE" => "value" })

checkbox("name", "value", true)
  # = checkbox({ "NAME" => "name", "VALUE" => "value", "CHECKED" => true })


instance method CGI::HtmlExtension#checkbox_group

checkbox_group(name = "", *values)
例：
checkbox_group("name", "foo", "bar", "baz")
  # <INPUT TYPE="checkbox" NAME="name" VALUE="foo">foo
  # <INPUT TYPE="checkbox" NAME="name" VALUE="bar">bar
  # <INPUT TYPE="checkbox" NAME="name" VALUE="baz">baz

checkbox_group("name", ["foo"], ["bar", true], "baz")
  # <INPUT TYPE="checkbox" NAME="name" VALUE="foo">foo
  # <INPUT TYPE="checkbox" SELECTED NAME="name" VALUE="bar">bar
  # <INPUT TYPE="checkbox" NAME="name" VALUE="baz">baz

checkbox_group("name", ["1", "Foo"], ["2", "Bar", true], "Baz")
  # <INPUT TYPE="checkbox" NAME="name" VALUE="1">Foo
  # <INPUT TYPE="checkbox" SELECTED NAME="name" VALUE="2">Bar
  # <INPUT TYPE="checkbox" NAME="name" VALUE="Baz">Baz

checkbox_group({ "NAME" => "name",
                 "VALUES" => ["foo", "bar", "baz"] })

checkbox_group({ "NAME" => "name",
                 "VALUES" => [["foo"], ["bar", true], "baz"] })

checkbox_group({ "NAME" => "name",
                 "VALUES" => [["1", "Foo"], ["2", "Bar", true], "Baz"] })


instance method CGI::HtmlExtension#file_field

file_field(name = "", size = 20, maxlength = nil)
例：
file_field("name")
  # <INPUT TYPE="file" NAME="name" SIZE="20">

file_field("name", 40)
  # <INPUT TYPE="file" NAME="name" SIZE="40">

file_field("name", 40, 100)
  # <INPUT TYPE="file" NAME="name" SIZE="40" MAXLENGTH="100">

file_field({ "NAME" => "name", "SIZE" => 40 })
  # <INPUT TYPE="file" NAME="name" SIZE="40">


instance method CGI::HtmlExtension#form

form(method = "post", action = nil, enctype = "application/x-www-form-urlencoded")
例：
form{ "string" }
  # <FORM METHOD="post" ENCTYPE="application/x-www-form-urlencoded">string</FORM>

form("get"){ "string" }
  # <FORM METHOD="get" ENCTYPE="application/x-www-form-urlencoded">string</FORM>

form("get", "url"){ "string" }
  # <FORM METHOD="get" ACTION="url" ENCTYPE="application/x-www-form-urlencoded">string</FORM>

form({"METHOD" => "post", ENCTYPE => "enctype"}){ "string" }
  # <FORM METHOD="post" ENCTYPE="enctype">string</FORM>


instance method CGI::HtmlExtension#hidden

hidden(name = "", value = nil)
例：
hidden("name")
  # <INPUT TYPE="hidden" NAME="name">

hidden("name", "value")
  # <INPUT TYPE="hidden" NAME="name" VALUE="value">

hidden({ "NAME" => "name", "VALUE" => "reset", "ID" => "foo" })
  # <INPUT TYPE="hidden" NAME="name" VALUE="value" ID="foo">


instance method CGI::HtmlExtension#html

html(attributes = {})
例：

html{ "string" }
  # <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML>string</HTML>

html({ "LANG" => "ja" }){ "string" }
  # <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML LANG="ja">string</HTML>

html({ "DOCTYPE" => false }){ "string" }
  # <HTML>string</HTML>

html({ "DOCTYPE" => '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">' }){ "string" }
  # <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><HTML>string</HTML>

html({ "PRETTY" => "  " }){ "<BODY></BODY>" }
  # <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  # <HTML>
  #   <BODY>
  #   </BODY>
  # </HTML>

html({ "PRETTY" => "\t" }){ "<BODY></BODY>" }
  # <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  # <HTML>
  #         <BODY>
  #         </BODY>
  # </HTML>

html("PRETTY"){ "<BODY></BODY>" }
  # = html({ "PRETTY" => "  " }){ "<BODY></BODY>" }

html(if $VERBOSE then "PRETTY" end){ "HTML string" }


instance method CGI::HtmlExtension#image_button

image_button(src = "", name = nil, alt = nil)
例：
image_button("url")
  # <INPUT TYPE="image" SRC="url">

image_button("url", "name", "string")
  # <INPUT TYPE="image" SRC="url" NAME="name" ALT="string">

image_button({ "SRC" => "url", "ALT" => "string" })
  # <INPUT TYPE="image" SRC="url" ALT="string">


instance method CGI::HtmlExtension#img

img(src = "", alt = "", width = nil, height = nil)
例：
img("src", "alt", 100, 50)
  # <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50">

img({ "SRC" => "src", "ALT" => "alt", "WIDTH" => 100, "HEIGHT" => 50 })
  # <IMG SRC="src" ALT="alt" WIDTH="100" HEIGHT="50">


instance method CGI::HtmlExtension#multipart_form

multipart_form(action = nil, enctype = "multipart/form-data")
例：
multipart_form{ "string" }
  # <FORM METHOD="post" ENCTYPE="multipart/form-data">string</FORM>

multipart_form("url"){ "string" }
  # <FORM METHOD="post" ACTION="url" ENCTYPE="multipart/form-data">string</FORM>


instance method CGI::HtmlExtension#password_field

password_field(name = "", value = nil, size = 40, maxlength = nil)
例：
password_field("name")
  # <INPUT TYPE="password" NAME="name" SIZE="40">

password_field("name", "value")
  # <INPUT TYPE="password" NAME="name" VALUE="value" SIZE="40">

password_field("password", "value", 80, 200)
  # <INPUT TYPE="password" NAME="name" VALUE="value" SIZE="80" MAXLENGTH="200">

password_field({ "NAME" => "name", "VALUE" => "value" })
  # <INPUT TYPE="password" NAME="name" VALUE="value">


instance method CGI::HtmlExtension#popup_menu

popup_menu(name = "", *values)
例：
popup_menu("name", "foo", "bar", "baz")
  # <SELECT NAME="name">
  #   <OPTION VALUE="foo">foo</OPTION>
  #   <OPTION VALUE="bar">bar</OPTION>
  #   <OPTION VALUE="baz">baz</OPTION>
  # </SELECT>

popup_menu("name", ["foo"], ["bar", true], "baz")
  # <SELECT NAME="name">
  #   <OPTION VALUE="foo">foo</OPTION>
  #   <OPTION VALUE="bar" SELECTED>bar</OPTION>
  #   <OPTION VALUE="baz">baz</OPTION>
  # </SELECT>

popup_menu("name", ["1", "Foo"], ["2", "Bar", true], "Baz")
  # <SELECT NAME="name">
  #   <OPTION VALUE="1">Foo</OPTION>
  #   <OPTION SELECTED VALUE="2">Bar</OPTION>
  #   <OPTION VALUE="Baz">Baz</OPTION>
  # </SELECT>

popup_menu({"NAME" => "name", "SIZE" => 2, "MULTIPLE" => true,
            "VALUES" => [["1", "Foo"], ["2", "Bar", true], "Baz"] })
  # <SELECT NAME="name" MULTIPLE SIZE="2">
  #   <OPTION VALUE="1">Foo</OPTION>
  #   <OPTION SELECTED VALUE="2">Bar</OPTION>
  #   <OPTION VALUE="Baz">Baz</OPTION>
  # </SELECT>


instance method CGI::HtmlExtension#radio_button

radio_button(name = "", value = nil, checked = nil)
例：
radio_button("name", "value")
  # <INPUT TYPE="radio" NAME="name" VALUE="value">

radio_button("name", "value", true)
  # <INPUT TYPE="radio" NAME="name" VALUE="value" CHECKED>

radio_button({ "NAME" => "name", "VALUE" => "value", "ID" => "foo" })
  # <INPUT TYPE="radio" NAME="name" VALUE="value" ID="foo">


instance method CGI::HtmlExtension#radio_group

radio_group(name = "", *values)
例：
radio_group("name", "foo", "bar", "baz")
  # <INPUT TYPE="radio" NAME="name" VALUE="foo">foo
  # <INPUT TYPE="radio" NAME="name" VALUE="bar">bar
  # <INPUT TYPE="radio" NAME="name" VALUE="baz">baz

radio_group("name", ["foo&quot;], ["bar", true], "baz")
  # <INPUT TYPE="radio" NAME="name" VALUE="foo">foo
  # <INPUT TYPE=&quot;radio" CHECKED NAME="name" VALUE="bar">bar
  # <INPUT TYPE="radio" NAME="name" VALUE="baz">baz

radio_group("name", ["1", "Foo"], ["2", "Bar", true], "Baz")
  # <INPUT TYPE="radio" NAME="name" VALUE="1">Foo
  # <INPUT TYPE="radio" CHECKED NAME="name" VALUE="2">Bar
  # <INPUT TYPE="radio" NAME="name" VALUE="Baz">Baz

radio_group({ "NAME" => "name",
              "VALUES" => ["foo", "bar", "baz"] })

radio_group({ "NAME" => "name",
              "VALUES" => [["foo"], ["bar", true], "baz"] })

radio_group({ "NAME" => "name",
              "VALUES" => [["1", "Foo"], ["2", "Bar", true], "Baz"] })


instance method CGI::HtmlExtension#reset

reset(value = nil, name = nil)
例：
reset
  # <INPUT TYPE="reset">

reset("reset")
  # <INPUT TYPE="reset" VALUE="reset">

reset({ "VALUE" => "reset", "ID" => "foo" })
  # <INPUT TYPE="reset" VALUE="reset" ID="foo">


instance method CGI::HtmlExtension#scrolling_list

scrolling_list(name = "", *values)
例：

scrolling_list({"NAME" => "name", "SIZE" => 2, "MULTIPLE" => true,
                "VALUES" => [["1", "Foo"], ["2", "Bar", true], "Baz"] })
  # <SELECT NAME="name" MULTIPLE SIZE="2">
  #   <OPTION VALUE="1">Foo</OPTION>
  #   <OPTION SELECTED VALUE="2">Bar</OPTION>
  #   <OPTION VALUE="Baz">Baz</OPTION>
  # </SELECT>


instance method CGI::HtmlExtension#submit

submit(value = nil, name = nil)
例：
submit
  # <INPUT TYPE="submit">

submit("ok")
  # <INPUT TYPE="submit" VALUE="ok">

submit("ok", "button1")
  # <INPUT TYPE="submit" VALUE="ok" NAME="button1">

submit({ "VALUE" => "ok", "NAME" => "button1", "ID" => "foo" })
  # <INPUT TYPE="submit" VALUE="ok" NAME="button1" ID="foo">


instance method CGI::HtmlExtension#text_field

text_field(name = "", value = nil, size = 40, maxlength = nil)
例：
text_field("name")
  # <INPUT TYPE="text" NAME="name" SIZE="40">

text_field("name", "value")
  # <INPUT TYPE="text" NAME="name" VALUE="value" SIZE="40">

text_field("name", "value", 80)
  # <INPUT TYPE="text" NAME="name" VALUE="value" SIZE="80">

text_field("name", "value", 80, 200)
  # <INPUT TYPE="text" NAME="name" VALUE="value" SIZE="80" MAXLENGTH="200">

text_field({ "NAME" => "name", "VALUE" => "value" })
  # <INPUT TYPE="text" NAME="name" VALUE="value">


instance method CGI::HtmlExtension#textarea

textarea(name = "", cols = 70, rows = 10)
例：
textarea("name")
  # = textarea({ "NAME" => "name", "COLS" => 70, "ROWS" => 10 })

textarea("name", 40, 5)
  # = textarea({ "NAME" => "name", "COLS" => 40, "ROWS" => 5 })


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html3 > doctype

instance method CGI::Html3#doctype

doctype


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html3 > element_init

instance method CGI::Html3#element_init

element_init


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html4 > doctype

instance method CGI::Html4#doctype

doctype


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html4 > element_init

instance method CGI::Html4#element_init

element_init


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html4Fr > doctype

instance method CGI::Html4Fr#doctype

doctype


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html4Fr > element_init

instance method CGI::Html4Fr#element_init

element_init


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html4Tr > doctype

instance method CGI::Html4Tr#doctype

doctype


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::Html4Tr > element_init

instance method CGI::Html4Tr#element_init

element_init


instance method CGI::QueryExtension#[]

self[key]

文字列 key に対応するパラメータを配列で返します。 key に対応するパラメータが見つからなかった場合は、nil を返します。（CGI#paramsと等価です）

フォームから入力された値や、URL に埋め込まれた QUERY_STRING のパース結果の取得などに使用します。

((<ruby 1.8 feature>)): 挙動が 1.6 以前の cgi と大きく変化しています ((- この挙動は流動的で、1.8.0, 1.8.1, 1.8.2 の挙動はすべて異なります（1.9.0の挙動は1.8.2と同様です）。 -)) 。メソッドの返り値は配列でなく、文字列 ((- 1.8.1 までは、正確に言うと String ではありません。 -)) になり、それに伴って cgi[key][0] のような書き方は廃止されました。また key に対応するパラメータが存在しなかった場合、nil ではなく "" を返すようになっています。 ruby 1.6 と同じ挙動を望む場合は、CGI#paramsを利用してください。

この結果、インターフェースがどう変わったのかについては、以下の例を参考にしてください。

# with ruby 1.6 ---------------------------
cgi = CGI.new
cgi['developer']     # => ["Matz"] (Array)
cgi['developer'][0]  # => "Matz" (String)
cgi['']              # => nil

# with ruby 1.8 ---------------------------
cgi = CGI.new
cgi['developer']     # => "Matz"
cgi['developer'][0]  # => obsolete（警告が出ます）
cgi['']              # => ""

cgi['developer'].is_a?(String) # => 1.8.1まではfalse、1.8.2以降はtrue

[[unknown:執筆者募集]]


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > accept

instance method CGI::QueryExtension#accept

accept

ENV['HTTP_ACCEPT']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > accept_charset

instance method CGI::QueryExtension#accept_charset

accept_charset

ENV['HTTP_ACCEPT_CHARSET']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > accept_encoding

instance method CGI::QueryExtension#accept_encoding

accept_encoding

ENV['HTTP_ACCEPT_ENCODING']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > accept_language

instance method CGI::QueryExtension#accept_language

accept_language

ENV['HTTP_ACCEPT_LANGUAGE']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > auth_type

instance method CGI::QueryExtension#auth_type

auth_type

ENV['AUTH_TYPE']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > cache_control

instance method CGI::QueryExtension#cache_control

cache_control

ENV['HTTP_CACHE_CONTROL']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > content_length

instance method CGI::QueryExtension#content_length

content_length

ENV['CONTENT_LENGTH']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > content_type

instance method CGI::QueryExtension#content_type

content_type

ENV['CONTENT_TYPE']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > cookies

instance method CGI::QueryExtension#cookies

cookies
cookies=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > from

instance method CGI::QueryExtension#from

from

ENV['HTTP_FROM']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > gateway_interface

instance method CGI::QueryExtension#gateway_interface

gateway_interface

ENV['GATEWAY_INTERFACE']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > has_key?

instance method CGI::QueryExtension#has_key?

has_key?(*args)
key?(*args)
include?(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > host

instance method CGI::QueryExtension#host

host

ENV['HTTP_HOST']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > keys

instance method CGI::QueryExtension#keys

keys(*args)


instance method CGI::QueryExtension#multipart?

multipart?

マルチパートフォームの場合にtrueが返ります。

例：
cgi = CGI.new
if cgi.multipart?
  field1=cgi['field1'].read
else
  field1=cgi['field1']
end


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > negotiate

instance method CGI::QueryExtension#negotiate

negotiate

ENV['HTTP_NEGOTIATE']


instance method CGI::QueryExtension#params

params

パラメータを格納したハッシュを返します。

フォームから入力された値や、URLに埋め込まれた QUERY_STRING のパース結果の取得などに使用します。

cgi = CGI.new
cgi.params['developer']     # => ["Matz"] (Array)
cgi.params['developer'][0]  # => "Matz"
cgi.params['']              # => nil


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > params=

instance method CGI::QueryExtension#params=

params=(hash)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > path_info

instance method CGI::QueryExtension#path_info

path_info

ENV['PATH_INFO']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > path_translated

instance method CGI::QueryExtension#path_translated

path_translated

ENV['PATH_TRANSLATED']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > pragma

instance method CGI::QueryExtension#pragma

pragma

ENV['HTTP_PRAGMA']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > query_string

instance method CGI::QueryExtension#query_string

query_string

ENV['QUERY_STRING']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > raw_cookie

instance method CGI::QueryExtension#raw_cookie

raw_cookie

ENV["HTTP_COOKIE"]


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > raw_cookie2

instance method CGI::QueryExtension#raw_cookie2

raw_cookie2

ENV["HTTP_COOKIE2"]


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > referer

instance method CGI::QueryExtension#referer

referer

ENV['HTTP_REFERER']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > remote_addr

instance method CGI::QueryExtension#remote_addr

remote_addr

ENV['REMOTE_ADDR']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > remote_host

instance method CGI::QueryExtension#remote_host

remote_host

ENV['REMOTE_HOST']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > remote_ident

instance method CGI::QueryExtension#remote_ident

remote_ident

ENV['REMOTE_IDENT']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > remote_user

instance method CGI::QueryExtension#remote_user

remote_user

ENV['REMOTE_USER']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > request_method

instance method CGI::QueryExtension#request_method

request_method

ENV['REQUEST_METHOD']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > script_name

instance method CGI::QueryExtension#script_name

script_name

ENV['SCRIPT_NAME']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > server_name

instance method CGI::QueryExtension#server_name

server_name

ENV['SERVER_NAME']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > server_port

instance method CGI::QueryExtension#server_port

server_port

ENV['SERVER_PORT']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > server_protocol

instance method CGI::QueryExtension#server_protocol

server_protocol

ENV['SERVER_PROTOCOL']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > server_software

instance method CGI::QueryExtension#server_software

server_software

ENV['SERVER_SOFTWARE']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension > user_agent

instance method CGI::QueryExtension#user_agent

user_agent

ENV['HTTP_USER_AGENT']


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension::Value > []

instance method CGI::QueryExtension::Value#[]

self[idx, *args]


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension::Value > first

instance method CGI::QueryExtension::Value#first

first
last


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension::Value > set_params

instance method CGI::QueryExtension::Value#set_params

set_params(params)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::QueryExtension::Value > to_a

instance method CGI::QueryExtension::Value#to_a

to_a
to_ary


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session > class CGI::Session > []

instance method CGI::Session#[]

self[key]

指定されたキーの値を返します。

値が設定されていなければ nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session > class CGI::Session > []=

instance method CGI::Session#[]=

self[key] = val

指定されたキーの値を設定します。


instance method CGI::Session#close

close

データベースクラスの close メソッドを呼び出して、 セッション情報をサーバに保存し、セッションストレージをクローズします。


instance method CGI::Session#delete

delete

データベースクラスの delete メソッドを呼び出して、 セッションをストレージから削除します。

FileStoreの場合はセッションファイルを削除します。 セッションファイルは明示的に削除しなければ残っています。


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session > class CGI::Session > new_session

instance method CGI::Session#new_session

new_session


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session > class CGI::Session > session_id

instance method CGI::Session#session_id

session_id


instance method CGI::Session#update

update

データベースクラスの update メソッドを呼び出して、 セッション情報をサーバに保存します。

MemoryStore の場合は何もしません。


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session > class CGI::Session > callback

singleton method CGI::Session.callback

callback(dbman)


singleton method CGI::Session.new

new(cgi[, aHash])

セッションオブジェクトを新しく作成し返します。 オプションとして Hash オブジェクト aHash を与えることができます。

例:

CGI::Session.new(cgi, {"new_session" => true})

以下の文字列が aHash のキーとして認識されます。

  • "session_path" クッキーのb path として使われます。 (default: File.dirname(ENV["SCRIPT_NAME"]), スクリプトの URI の path 部の最後のスラッシュまで)
  • "session_key" クッキーと <FORM type=hidden> の name として使われます。 (default: "_session_id")
  • "session_id" セッション ID として使われます。 デフォルトのデータベースである FileStore を用いる場合, 値は英数字だけからなる文字列で無ければなりません。 このオプションを指定するとリクエストにセッション ID が含まれても無視します。 (default: ランダムに生成されます)
  • "new_session" 値が true のときは強制的に新しいセッションを始めます。 以下は ((<ruby 1.8.2 feature>)) です。 値が false のときは、リクエストにセッション ID が含まれていない場合に 例外 ArgumentError が発生します。 値がないときは、リクエストにセッション ID が 含まれている場合はそれを使用し、含まれていない場合は新しいセッションを始めます。 (default: 値なし)
  • "database_manager" データベースクラスを指定します。 (default: CGI::Session::FileStore)
  • CGI::Session::FileStore テキストファイルを使います。文字列データしか扱えません。
  • CGI::Session::MemoryStore メモリ上のハッシュを使います。Ruby インタプリタの生存期間中のみ有効です。
  • CGI::Session::PStore Marshal フォーマットを使い、あらゆる型のデータを保存できます。 cgi/session/pstore によって提供される機能のため、このライブラリを読み込まなければ利用できません。
  • "tmpdir" CGI::Session::FileStore がセッションデータを作成するディレクトリの名前を指定します。 (default: ENV["TMP"] || "/tmp") ((<ruby 1.8 feature>)): default は Dir.tmpdir になりました。
  • "prefix" CGI::Session::FileStore がセッションデータのファイル名に与えるプレフィックス。 (default: "")
  • "suffix" CGI::Session::FileStore がセッションデータのファイル名に与えるサフィックス。 (default: "") ((<ruby 1.8.2 feature>))
  • "no_hidden" [[unknown:執筆者募集]]
  • "no_cookies" [[unknown:執筆者募集]]
  • "session_expires" セッションの有効期間。 Time オブジェクトを与えると、セッションはその日時まで破棄されずに残ります。 (default: ブラウザの終了と同時に破棄されます)
  • "session_domain" [[unknown:執筆者募集]]
  • "session_secure" [[unknown:執筆者募集]]
  • "session_path" [[unknown:執筆者募集]]


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session/pstore > class CGI::Session::PStore > close

instance method CGI::Session::PStore#close

close


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session/pstore > class CGI::Session::PStore > delete

instance method CGI::Session::PStore#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session/pstore > class CGI::Session::PStore > restore

instance method CGI::Session::PStore#restore

restore


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session/pstore > class CGI::Session::PStore > update

instance method CGI::Session::PStore#update

update


Ruby 1.8.7 Reference Manual > All Libraries > library cgi/session/pstore > class CGI::Session::PStore > new

singleton method CGI::Session::PStore.new

new(session, option = {})


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::TagMaker > nOE_element_def

instance method CGI::TagMaker#nOE_element_def

nOE_element_def(element, append = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::TagMaker > nO_element_def

instance method CGI::TagMaker#nO_element_def

nO_element_def(element)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi > module CGI::TagMaker > nn_element_def

instance method CGI::TagMaker#nn_element_def

nn_element_def(element)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > cookie

instance method CGI_cgi_lib#cookie

cookie


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > inputs

instance method CGI_cgi_lib#inputs

inputs


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > read_from_cmdline

instance method CGI_cgi_lib#read_from_cmdline

read_from_cmdline


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > cookie

singleton method CGI_cgi_lib.cookie

cookie(options)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > error

singleton method CGI_cgi_lib.error

error


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > escape

singleton method CGI_cgi_lib.escape

escape(str)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > escapeHTML

singleton method CGI_cgi_lib.escapeHTML

escapeHTML(str)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > header

singleton method CGI_cgi_lib.header

header(*options)


singleton method CGI_cgi_lib.message

message(message, title = "", header = ["Content-Type: text/html"])


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > new

singleton method CGI_cgi_lib.new

new(input = $stdin)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > print

singleton method CGI_cgi_lib.print

print(*options)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > rfc1123_date

singleton method CGI_cgi_lib.rfc1123_date

rfc1123_date(time)


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > tag

singleton method CGI_cgi_lib.tag

tag(element, attributes = {})


Ruby 1.8.7 Reference Manual > All Libraries > library cgi-lib > class CGI_cgi_lib > unescape

singleton method CGI_cgi_lib.unescape

unescape(str)


singleton method CSV.foreach

foreach(path[, rs = nil]) {|row| ... } -> nil

読み込みモードでファイルを開き、各行を配列でブロックに渡します。

[PARAM] path:
パースするファイルのファイル名
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。

例:

CSV.foreach('test.csv'){|row|
  puts row.join(':')
}


singleton method CSV.generate

generate(path[, fs = nil[, rs = nil]]) -> CSV::BasicWriter
generate(path[, fs = nil[, rs = nil]]) {|writer| ... } -> nil

path で指定されたファイルを書き込みモードで開き、ブロックに渡します。 ブロック未指定の場合は CSV::BasicWriter を返します。

[PARAM] path:
書き込みモードでopenするファイルのファイル名
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

ファイル書き込み時に""(空文字)と値なし(nil)を区別します。 例えば、["a", "", nil, "b"] の配列を渡した場合に a, "", , b という行をファイルに書き込みます。

例:

a = ["1","ABC","abc"]
b = ["2","DEF","def"]
c = ["3","GHI","ghi"]
x = [a, b, c]

CSV.generate("test2.csv"){|writer|
  x.each{|row|
    writer << row
  }
}


singleton method CSV.generate_line

generate_line(row[, fs = nil[, rs = nil]]) -> String
generate_line(row[, fs = nil[, rs = nil]]) {|s| ... } -> nil

row で指定された配列をパースし、fs で指定された文字をフィールドセパレータとして 1行分の文字列をブロックに渡します。 ブロック未指定の場合は変換された文字列を返します。

[PARAM] row:
パースする配列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


singleton method CSV.generate_row

generate_row(src, cells, out_dev[, fs = nil[, rs = nil]]) -> Fixnum

src で指定された配列をパースして csv形式の文字列として(行区切り文字も含めて) out_dev に出力します。 返り値として fs で区切ったフィールド(cell)の数を返します。

[PARAM] src:
パースする配列
[PARAM] cells:
パースするフィールド数。
[PARAM] out_dev:
csv形式の文字列の出力先。
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

配列のパース時に""(空文字)と値なし(nil)を区別します。 例えば、["a", "", nil, "b"] の配列を渡した場合に a,"", , b という文字列を生成します。

例:

row1 = ['a', 'b', 'c']
row2 = ['1', '2', '3']
row3 = ['A', 'B', 'C']
src = [row1, row2, row3]
buf = ''
src.each do |row|
  parsed_cells = CSV.generate_row(row, 2, buf)
end
p buf #=>"a,b\n1,2\n,A,B\n"


singleton method CSV.open

open(path, mode[, fs = nil[, rs = nil]]) {|row| ... } -> nil
open(path, mode[, fs = nil[, rs = nil]]) -> CSV::Reader
open(path, mode[, fs = nil[, rs = nil]]) -> CSV::Writer

CSVファイルを読み込んでパースします。

読み込みモード時には path にあるファイルを開き各行を配列として ブロックに渡します。

[PARAM] path:
パースするファイルのファイル名
[PARAM] mode:
処理モードの指定 'r', 'w', 'rb', 'wb' から指定可能です。 - 'r' 読み込み - 'w' 書き込み - 'b' バイナリモード
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

パース時に""(空文字)と値なし(nil)を区別します。 例えば、読み込みモード時にa, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。

例:

CSV.open("/temp/test.csv", 'r') do |row|
  puts row.join("<>")
end

tsv(Tab Separated Values)ファイルなどのセパレータをカンマ以外で指定

CSV.open("/temp/test.tsv", 'r', "\t") do |row|
  puts row.join("<>")
end

ブロックを渡さなかった場合 CSV::Reader を返します。

書き込みモード時には path にあるファイルを開き CSV::Writer をブロックに渡します。

例:

CSV.open("/temp/test.csv", 'w') do |writer|
  writer << ["ruby", "perl", "python"]
  writer << ["java", "C", "C++"]
end

ブロック未指定の場合 CSV::Writer を返します。


singleton method CSV.parse

parse(str_or_readable[, fs = nil[, rs = nil]]) -> Array
parse(str_or_readable[, fs = nil[, rs = nil]]) {|rows| ... } -> nil

str_or_readable で指定された文字列をパースし配列の配列に変換、ブロックに渡します。 ブロック未指定の場合は変換された配列の配列を返します。

[PARAM] str_or_readable:
パースする文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

例:

CSV.parse("A,B,C\nd,e,f\nG,H,I"){|rows|
  p rows
}


singleton method CSV.parse_line

parse_line(src[, fs = nil[, rs = nil]]) -> Array
parse_line(src[, fs = nil[, rs = nil]]) {|row| ... } -> nil

src で指定された文字列を1行分としてパースし配列に変換、ブロックに渡します。 ブロック未指定の場合は変換された配列を返します。

[PARAM] src:
パースする文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


singleton method CSV.parse_row

parse_row(src, index, out_dev[, fs = nil[, rs = nil]]) -> Array

CSV形式の文字列をパースしてCSV1行(row)分のデータを配列に変換し out_dev に出力します。

[PARAM] src:
パースする文字列(CSV形式)
[PARAM] index:
パース開始位置
[PARAM] out_dev:
変換したデータの出力先。
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。
[RETURN]
変換したArrayのサイズと変換をした文字列の位置をArrayとして返します。

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。

例:

src = "a,b,c\n1,2\nA,B,C,D"
i = 0

x = [] #結果を格納する配列
begin
  parsed = []
  parsed_cells, i = CSV.parse_row(src, i, parsed)
  x.push(parsed)
end while parsed_cells > 0

x.each{ |row|
  p '-----'
  row.each{ |cell|
    p cell
  }
}

実行結果:

a
b
c
-----
1
2
-----
A
B
C
D


singleton method CSV.read

read(path[, length = nil[, offset = nil]]) -> Array

path で指定された CSV ファイルを読み込み、配列の配列でデータを返します。

[PARAM] path:
パースするファイルのファイル名
[PARAM] length:
対象ファイルの読み込みサイズ
[PARAM] offset:
読み込み開始位置

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。


singleton method CSV.readlines

readlines(path[, rs = nil]) -> Array

path で指定された CSV ファイルを読み込み、配列の配列でデータを返します。

[PARAM] path:
パースするファイルのファイル名
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。


instance method CSV::BasicWriter#close_on_terminate

close_on_terminate -> true

本メソッドを呼び出すことで終了時にCSV::BasicWriterオブジェクトがIOクローズ処理を行います。


instance method CSV::BasicWriter#terminate

terminate -> nil

close_on_terminateメソッドが既に呼び出されていれば、出力先(newメソッドのstr_or_writableパラメータ)のIOクローズ処理を行います。


singleton method CSV::BasicWriter.new

new(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter

引数str_or_writableを出力先としてCSV::BasicWriterオブジェクトを生成します。

[PARAM] str_or_writable:
CSVデータの書き込み先。このパラメータとして渡すインスタンスには<<メソッドが定義されている必要があります。
[PARAM] fs:
書き込みデータのフィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::Cell > data

instance method CSV::Cell#data

data -> String

自分自身のCellデータをStringクラスオブジェクトとして返します。


singleton method CSV::Cell.new

new([data = '', is_null = false]) -> CSV::Cell

引数dataを値として持つCSV::Cellクラスのオブジェクトを生成します。

[PARAM] data:
Cellデータの初期値
[PARAM] is_null:
trueの時、空データでオブジェクトを生成します。


instance method CSV::IOBuf#close

close -> nil

オブジェクト終了（破棄）処理を行います。

内部的には、terminateメソッドを呼び出します。


instance method CSV::IOBuf#new

new(s) -> self

インスタンスを生成します。

[PARAM] s:
バッファリングするIOのオブジェクト


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::IOBuf > read (private)

instance method CSV::IOBuf#read

read(size) -> ()

バッファリングしたデータの読み出しを行います。

[PARAM] size:
読み出しデータサイズ


instance method CSV::IOBuf#terminate

terminate -> nil

オブジェクトの破棄処理を行います。

親クラスのCSV::StreamBuf#terminateを呼び出します。


instance method CSV::IOReader#close_on_terminate

close_on_terminate -> True

本メソッドを呼び出すことで終了(terminateメソッド実行)時にCSV::IOReaderオブジェクトがnewメソッドで指定した読み込み先のIOクローズ処理を行います。


instance method CSV::IOReader#get_row

get_row(row) -> Fixnum

CSVデータの1行分のデータを取得します。

1行分のデータを取得し、パラメータrowに配列として出力します。 返り値として、セルの数(配列のサイズ)を返します。

[PARAM] row:
1行分のデータを格納する配列


instance method CSV::IOReader#terminate

terminate -> nil

オブジェクト破棄を行います。 close_on_terminateメソッドが既に呼び出されていれば、IO(newメソッドでパラメタとして渡したオブジェクト)の終了処理を行います。


singleton method CSV::IOReader.new

new(io[, fs = ','[, rs = nil]]) -> CSV::IOReader

引数に従い、CSV::IOReaderクラスのオブジェクトを生成します。

[PARAM] io:
読み込み先の指定。
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::Reader > close

instance method CSV::Reader#close

close -> nil

内部的にterminateメソッドを呼び出します。


instance method CSV::Reader#each

each {|row| ... } -> nil

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。


instance method CSV::Reader#get_row

get_row(row) -> ()

本メソッドは再定義 or サブクラスで定義されることを想定されています。 再定義せずに呼び出した場合は例外NotImplementedErrorが発生します。


instance method CSV::Reader#initialize

initialize(dev) -> ()

本メソッドは再定義 or サブクラスで定義されることを想定されています。 再定義せずに呼び出した場合は例外RuntimeErrorが発生します。


instance method CSV::Reader#shift

shift -> Array

CSVをパースした結果から1行分を取り除き、取り除いた1行を配列として返します。 shiftは破壊的メソッドです。

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::Reader > terminate (private)

instance method CSV::Reader#terminate

terminate -> ()

終了時処理を行う場合に再定義してください。


singleton method CSV::Reader.create

create(str_or_readable[, fs = ','[, rs = nil]]) -> CSV::StringReader

CSVデータを解析して、解析結果を格納したCSV::StringReaderを返します。

[PARAM] str_or_readable:
パースする対象の文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


singleton method CSV::Reader.parse

parse(str_or_readable[, fs = ','[, rs = nil]]) -> CSV::StringReader
parse(str_or_readable[, fs = ','[, rs = nil]]) {|row| ... } -> nil

CSVデータを解析して、CSV::StringReaderを返します。 ブロックに渡された場合はパースした結果を1列づつArrayとして渡します。

[PARAM] str_or_readable:
パースする対象の文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。

例:

CSV::Reader.parse("1,2,3\nA,B,C\n"){|row|
  p row
}


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::StreamBuf > BufSize

constant CSV::StreamBuf::BufSize

BufSize

ストリームバッファの1回の読み込みデータサイズ 1024 * 8 = 8192


instance method CSV::StreamBuf#[]

self[idx[, n = nil]] -> String

ストリームバッファから部分文字列を取り出します。

[PARAM] idx:
取り出す部分文字列のスタート位置
[PARAM] n:
部分文字列のサイズ


instance method CSV::StreamBuf#add_buf

add_buf -> bool

ストリームバッファからデータを読み込み、True/Falseを返します。

[RETURN]
データの読み込みに成功した場合にはTrueを、読み込み失敗した場合にはFalseを返します。


instance method CSV::StreamBuf#buf_size

buf_size(idx) -> Fixnum

idxで指定したバッファのデータサイズを取得します。

[PARAM] idx:
サイズを取得するデータのインデックス


instance method CSV::StreamBuf#drop

drop(n) -> Fixnum

ストリームからデータを削除します。

引数で与えられたサイズのデータをストリームの先頭から削除します。 実際に削除されたデータサイズを戻り値として返します。

[PARAM] n:
削除するデータのサイズ

注意

返り値として返す値は実際に削除したデータサイズと異なることがあることに注意すこと。


instance method CSV::StreamBuf#idx_is_eos?

idx_is_eos?(idx)

引数idxで指定した位置がストリームの終端かどうかを判定します。

[PARAM] idx:
判定を行う位置インデックス


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::StreamBuf > is_eos?

instance method CSV::StreamBuf#is_eos?

is_eos? -> bool

ストリームの終端かどうかをTrue/Falseで返します。


instance method CSV::StreamBuf#read

read(size) -> []

NotImplementedError例外を発生させます。

CSV::StreamBufクラスを継承した場合は必ず、readメソッドをオーバーライドして下さい。 その際の注意点として読み込み時にEnfOfStreamを検出した場合にはnilを返却してください。


instance method CSV::StreamBuf#rel_buf

rel_buf -> bool

現在処理中のストリームバッファを解放する。

[RETURN]
次のバッファが存在する場合にはTrueを、読み込み済みのバッファが存在しない場合にはFalseを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::StreamBuf > terminate (protected)

instance method CSV::StreamBuf#terminate

terminate -> nil

ストリームの解放処理を行います。 本メソッドはその他のメソッドの内部から呼ばれます。


singleton method CSV::StreamBuf.new

new -> self

CSV::StreamBufオブジェクトを生成します。

注意

  • このメソッドを用いてCSV::StreamBufクラスのオブジェクトを生成しないで下さい。 必ず、CSV::StreamBufクラスを継承したクラスからインスタンス生成してください。
  • 本メソッドからreadメソッドを呼び出すため、派生クラスではインスタンスメソッドreadを定義してください。


instance method CSV::StringReader#get_row

get_row(row) -> Fixnum

CSV 形式の文字列から1 行(row)分のデータを配列に変換し、row に出力する。

[PARAM] row:
初期値の文字列
[RETURN]
パースして出力した1行分のデータの cell の数(変換した配列のサイズ)


singleton method CSV::StringReader.new

new(string[, fs = ','[, rs = nil]]) -> CSV::StringReader

CSV形式の文字列を初期値として与えてインスタンスを生成します。

[PARAM] string:
初期値の文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


instance method CSV::Writer#<<

self << row -> CSV::BasicWriter
add_row(row) -> CSV::BasicWriter

引数で渡されたデータを1行分としてCSVデータに追加します。

[PARAM] row:
1行文として書き込み先に追加するデータ。 String あるいは Array オブジェクトである必要があります。

注意

データ追加時に""(空文字)と値なし(nil)を区別します。 例えば、["a", "", nil, "b"] の配列を渡した場合に a, "", , b という行が追加されます。

例:

csv_w = CSV::Writer.generate("")
row = [1, 2, 3]
csv_w.add_row(row)         #=> "1,2,3\n"
row = ["a", "", nil, "b"]
csv_w.add_row(row)         #=> "1,2,3\na,\"\",,b\n"


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::Writer > close

instance method CSV::Writer#close

close -> nil

privateのterminateメソッドを呼び出します。


Ruby 1.8.7 Reference Manual > All Libraries > library csv > class CSV::Writer > terminate (private)

instance method CSV::Writer#terminate

terminate -> nil

インスタンス破棄時処理が必要な場合に再定義してください。


singleton method CSV::Writer.create

create(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter

str_or_writable を書き込み先とする CSV::BasicWriter クラスのインスタンスを生成します。

[PARAM] str_or_writable:
CSVデータの書き込み先。このパラメータとして渡すインスタンスには<<メソッドが定義されている必要があります。
[PARAM] fs:
書き込みデータのフィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。


singleton method CSV::Writer.generate

generate(str_or_writable[, fs = ','[, rs = nil]]) -> CSV::BasicWriter
generate(str_or_writable[, fs = ','[, rs = nil]]) { |row| ... } -> nil

str_or_writable を書き込み先とする CSV::BasicWriter クラスのインスタンスを生成し、書き込み先(str_or_writable)をブロックに渡します。

[PARAM] str_or_writable:
CSVデータの書き込み先。このパラメータとして渡すインスタンスには<<メソッドが定義されている必要があります。
[PARAM] fs:
書き込みデータのフィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。

例:

s = "1,2,3,4\n"
CSV::Writer.generate(s){|data|
  data << ['a', 'b', 'c']
}
p s #=> "1,2,3,4\na,b,c\n"


instance method Class#_load

_load(str) -> Class

Object#_dump を参照して下さい。

[PARAM] str:
Ruby のオブジェクトがダンプされた文字列を指定します。


instance method Class#allocate

allocate -> object

自身のインスタンスを生成して返します。生成したオブジェクトは 自身のインスタンスであること以外には何も特性を持ちません。


instance method Class#inherited

inherited(subclass) -> ()

クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数 にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは クラス定義文の実行直前です。

[PARAM] subclass:
プログラム内で新たに定義された自身のサブクラスです。

例:

class Foo
  def Foo.inherited(subclass)
    puts "class \"#{self}\" was inherited by \"#{subclass}\""
  end
end
class Bar < Foo
  puts "executing class body"
end

# => class "Foo" was inherited by "Bar"
     executing class body


instance method Class#new

new(*args, &block) -> object

自身のインスタンスを生成して返します。 このメソッドの引数はブロック引数も含め Object#initialize に渡されます。

new は Class#allocate でインスタンスを生成し、 Object#initialize で初期化を行います。

[PARAM] args:
Object#initialize に渡される引数を指定します。
[PARAM] block:
Object#initialize に渡されるブロックを指定します。


instance method Class#superclass

superclass -> Class | nil

自身のスーパークラスを返します。

ただし Object.superclass は nil を返します。


instance method Class#to_yaml

to_yaml(opts = {}) [added by yaml]

例外を発生する。

[PARAM] opts:
YAMLドキュメント出力の際のオプションを指定するが使われない。
[EXCEPTION] TypeError:
require 'yaml'

begin
  cc = Class.new
  cc.to_yaml
rescue
  p $!
  #=> #<TypeError: can't dump anonymous class Class>
end


singleton method Class.new

new(superclass = Object) -> Class
new(superclass = Object) {|klass| ... } -> Class

新しく名前の付いていない superclass のサブクラスを生成します。

名前のないクラスは、最初に名前を求める際に代入されている定数名を検 索し、見つかった定数名をクラス名とします。

p foo = Class.new   # => #<Class:0x401b90f8>
p foo.name          # => ""
Foo = foo           # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name          # => "Bar"  ("Foo" になるか "Bar" になるかは不定)

ブロックが与えられた場合、生成したクラスを引数として クラスのコンテキストでブロックを実行します。以下のコードと同じです。

klass = Class.new(superclass)
klass.module_eval {|m| ... }
klass

この場合も生成したクラスを返します。 ブロックの実行は Class#initialize が行います。

[PARAM] superclass:
生成するクラスのスーパークラスを指定します。

例:

k = Class.new{|c|
      def initialize
        p "in initialize"
      end

      def hoge
        p "hoge hoge hoge"
      end
    }
o = k.new              #=> "in initialize"
o.hoge                 #=> "hoge hoge hoge"


instance method Comparable#<

self < other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。


instance method Comparable#<=

self <= other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。


instance method Comparable#==

self == other -> bool | nil

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が 0 を返した時に、true を返します。 それ以外を返した場合は、false を返します。

<=> が nil を返した場合は、 nil を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。


instance method Comparable#>

self > other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。


instance method Comparable#>=

self >= other -> bool

比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が正の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
[EXCEPTION] ArgumentError:
<=> が nil を返したときに発生します。


instance method Comparable#between?

between?(min, max) -> bool

比較演算子 <=> をもとに self が min と max の範囲内(min, max を含みます)にあるかを判断します。

以下のコードと同じです。

self >= min and self <= max
[PARAM] min:
範囲の下端を表すオブジェクトを指定します。
[PARAM] max:
範囲の上端を表すオブジェクトを指定します。
[EXCEPTION] ArgumentError:
self <=> min か、self <=> max が nil を返 したときに発生します。
3.between?(1, 5)               #=> true
6.between?(1, 5)               #=> false
'cat'.between?('ant', 'dog')   #=> true
'gnu'.between?('ant', 'dog')   #=> false


constant Complex::I

I

虚数単位です。

[注意] Complex::I は Complex.new(0, 1) で生成されるオブジェクトと同じものです。


constant Complex::Unify

Unify [added by mathn]

内部実装で利用しています。深くは考えないでください。ユーザープログラムでは利用しないでください。

この定数はRuby 1.9.1以降では削除されます。


instance method Complex#*

self * c -> Complex

複素数 c を乗じた結果を返します。

[PARAM] c:
乗算する数
[RETURN]
乗算結果をComplexクラスのオブジェクトとして返します。

例:

c =  Complex(1, 1)    #=> Complex(1, 1)
p c * Complex(2, 2)   #=> Complex(0, 4)
p c * 3               #=> Complex(3, 3)


instance method Complex#**

self ** c -> Complex

複素数 c でべき乗した結果

exp(c * log(self))

を返します

[PARAM] c:
累乗する数
[RETURN]
演算結果をComplexクラスのオブジェクトとして返します。

例:

z1 = Complex.new(1, 1)
z2 = Complex.new(2, 2)

p z1 ** 2     #=> Complex(0, 2)
p z1 ** z2    #=> Complex(-0.265653998849241, 0.319818113856136)


instance method Complex#+

self + c -> Complex

複素数 c を加えた結果を返します。

[PARAM] c:
加算する数
[RETURN]
加算結果をComplexクラスのオブジェクトとして返します。

例:

c =  Complex(1, 1)    #=> Complex(1, 1)
p c + Complex(3, 3)   #=> Complex(4, 4)
p c + 3               #=> Complex(4, 1)


instance method Complex#-

self - c -> Complex

複素数 c を減じた結果を返します。

[PARAM] c:
減算する数
[RETURN]
減算結果をComplexクラスのオブジェクトとして返します。

例:

c =  Complex(3, 3)    #=> Complex(3, 3)
p c - Complex(2, 2)   #=> Complex(1, 1)
p c - 3               #=> Complex(0, 3)


instance method Complex#/

self / other -> Complex

複素数 other で除した結果を返します。

z1 = a + b * i
z2 = c + d * i

としたとき、除算の定義は

z1 / z2 = ((a*c + b*d)/(c*c + d*d)) + ((b*c - a*d)/(c*c + d*d)) * i

です。このため実部と虚部が全て整数だった場合、整数同士の除算として / が 計算されることに注意してください。

z1 = Complex.new(4, 3)
z2 = Complex.new(2, 1)

p z1 / z2       #=> Complex(2, 0)
p 1.0 * z1 / z2 #=> Complex(2.2, 0.4)
[PARAM] other:
除算する数
[RETURN]
除算結果をComplexクラスのオブジェクトとして返します。

例:

z1 = Complex.new(4, 3)
z2 = Complex.new(2, 1)

p z1 / z2       #=> Complex(2, 0)
p 1.0 * z1 / z2 #=> Complex(2.2, 0.4)


instance method Complex#==

self == c -> bool

c と等しければ、true を返します。

例:

z1 = Complex.new(1, 2)
z2 = Complex.new(1, 0)
z3 = Complex.new(0, 1)

p z1 == Complex.new(1, 2)  #=> true
p z1 == z2                 #=> false
p z2 == 1.0                #=> true
p z3 == Complex::I         #=> true


instance method Complex#%

self % c -> Complex

除算の剰余を計算します。

引数other がComplexオブジェクトの場合、

(自分自身の実部 % c の実部) + (自分自身の虚部 % c の虚部) * i

を返します。 このため、c の実部または虚部が0だった場合、ZeroDivisionError例外が発生することにに注意してください。 引数 c がComplexのオブジェクトではない場合、実部・虚部それぞれを c で除算したときの剰余を実部・虚部に持つComplexオブジェクトを返します。

例：

Complex(5, 4) % 3 #=> Complex(2, 1)
[PARAM] c:
除算する数
[RETURN]
演算結果をComplexクラスのオブジェクトとして返します。

[注意] このメソッドは Ruby 1.9 で廃止されました。


instance method Complex#abs

abs -> Float

自分自身の絶対値を返します。

z = a + b * i

としたとき、絶対値の定義は

sqrt(a*a + b*b)

です。 計算結果としてFloatクラスのオブジェクトが返されることに注意してください。


instance method Complex#abs2

abs2 -> Fixnum
abs2 -> Float

自分自身の絶対値の2乗を返します。

z = a + b * i

としたとき、Complex#abs2 の定義は

a*a + b*b

です。


instance method Complex#angle

angle -> Float
arg -> Float

複素数の偏角を[-π,π]の範囲で返します。

例:

p Complex.new(0, 1).arg == Math::PI/2 #=> true
p Complex.new(0, -1).arg              #=> -1.5707963267949

非正の実軸付近での挙動に注意してください。 以下の例のように虚部が 0.0 と -0.0 では値が変わります。

p Complex.new(-1, 0).arg              #=>  3.14159265358979
p Complex.new(-1, -0).arg             #=>  3.14159265358979
p Complex.new(-1, -0.0).arg           #=> -3.14159265358979

p Complex.new(0, 0.0).arg             #=>  0.0
p Complex.new(0, -0.0).arg            #=> -0.0
p Complex.new(-0.0, 0).arg            #=>  3.14159265358979
p Complex.new(-0.0, -0.0).arg         #=> -3.14159265358979


instance method Complex#coerce

coerce(other) -> Array

自分自身とotherのペアの配列を生成し、生成した配列を返します。

otherが Complex のオブジェクトではないときは Complex オブジェクト化したものが配列の要素となります。

[PARAM] other:
配列の要素となるオブジェクト

例:

z1 = Complex.new(1, 2)
z2 = Complex.new(3, 4)

p z1.coerce(5)  #=>  [Complex(5, 0), Complex(1, 2)]
p z1.coerce(z2) #=>  [Complex(3, 4), Complex(1, 2)]


instance method Complex#conj

conj -> Complex
conjugate -> Complex

自分の共役複素数を返します。

例:

z = Complex.new(1, 1)
p z.conjugate   #=> Complex(1, -1)


instance method Complex#denominator

denominator -> Fixnum

自分自身の実部・虚部の分母のLCM(最小公倍数)を返します。

例:

z1 = Complex.new(1, 2)
z2 = Complex.new(Rational.new!(1, 3), Rational.new!(3, 5))

p z1.denominator  #=> 1
p z2.denominator  #=> 15


instance method Complex#hash

hash -> Fixnum

複素数のハッシュ値を返します。

例:

z1 = Complex.new(3.5, 1.20)
z2 = Complex.new(3.5, 1.21)

p z1.hash    #=> 1889428376
p z2.hash    #=> 425788526


instance method Complex#imag

imag -> Fixnum
imag -> Float
image -> Fixnum
image -> Float

虚部を返します。

このメソッドは廃止されました。


Ruby 1.8.7 Reference Manual > All Libraries > library complex > class Complex > inspect

instance method Complex#inspect

inspect -> String

自分自身について "Complex(実部, 虚部)" 形式の文字列を返します。


instance method Complex#numerator

numerator -> Complex

Complex#denominator の値で実部・虚部を通分したものの分子のみを Complex で返します。

具体的な計算式は

  • 実部 = 実部の分子 * (実部、虚部の分母の最大公約数 / 実部の分母)
  • 虚部 = 虚部の分子 * (実部、虚部の分母の最大公約数 / 虚部の分母)

例:

z1 = Complex.new(1, 2)
z2 = Complex.new(Rational.new!(1, 3), Rational.new!(3, 5))

p z1.numerator
p z2.numerator


instance method Complex#polar

polar -> Array

複素数の極座標表示、すなわち、配列 [self.abs, self.arg] を返します。

例:

z = Complex.new(3.0, 4.0)

p z        #=> Complex(3.0, 4.0)
p z.polar  #=> [5.0, 0.927295218001612]


instance method Complex#quo

quo(other) -> Complex

複素数otherでの除算結果を返します。

[PARAM] other:
複素数
[RETURN]
self./(other) の結果においての実部と虚部をそれぞれRationalオブジェクト化したものを実部・虚部とするComplexクラスのオブジェクトを返します。

注意

Complex#/ との違いは実部と虚部が全て整数だった場合に分数(Rationalクラスのオブジェクト)として計算されます。

例:

z1 = Complex.new(6, 4)
z2 = Complex.new(2, 2)

p z1.quo(2)   #=> Complex(Rational(3, 1), Rational(2, 1))
p z1.quo(z2)  #=> Complex(Rational(5, 2), Rational(-1, 2))


Ruby 1.8.7 Reference Manual > All Libraries > library complex > class Complex > real

instance method Complex#real

real -> Fixnum
real -> Float

実部を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library complex > class Complex > to_s

instance method Complex#to_s

to_s -> String

自分自身について "実部 + 虚部i" 形式の文字列を返します。


singleton method Complex.generic?

generic?(other) -> bool

other が Integer Float Rational クラスのオブジェクトかどうか判定します。

[PARAM] other:
判定対象のオブジェクト
[RETURN]
Integer Float Rational クラスのオブジェクトの時 true それ以外の場合には false を返します。


singleton method Complex.new

new(r, i) -> Complex
new!(r, i = 0) -> Complex

実部が r、虚部が i であるComplexクラスのオブジェクトを生成します。

[PARAM] r:
生成する複素数の実部
[PARAM] i:
生成する複素数の虚部

例:

p Complex.new(1, 1)   #=> Complex(1, 1)
p Complex.new!(3.5)   #=> Complex(3.5, 0)


singleton method Complex.polar

polar(r, theta) -> Complex

絶対値が r、偏角が theta である Complexクラスのオブジェクトを生成します。

[PARAM] r:
生成する複素数の絶対値。
[PARAM] theta:
生成する複素数の偏角。単位はラジアンです。

例:

p Complex.polar(2.0, 0)         #=> Complex(2.0, 0.0)
p Complex.polar(2.0, Math::PI)  #=> Complex(-2.0, 2.44929359829471e-16)


instance method ConditionVariable#broadcast

broadcast

状態変数を待っているスレッドをすべて再開します。再開された スレッドは ConditionVariable#wait で指定した mutex のロックを試みます。

実行待ちしていたスレッドの配列を返します。


instance method ConditionVariable#signal

signal

状態変数を待っているスレッドを1つ再開します。再開された スレッドは ConditionVariable#wait で指定した mutex のロックを試みます。

状態を待っているスレッドがあった場合は、そのスレッドを返します。 そうでなければ nil を返します。


instance method ConditionVariable#wait

wait(mutex)

mutex のロックを解放し、カレントスレッドを停止します。 ConditionVariable#signalまたは、 ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class ConditionVariable > new

singleton method ConditionVariable.new

new

状態変数を生成して返します。


constant Config::CONFIG

CONFIG

設定値を格納したハッシュです。以下のキーと値を持ちます。

srcdir

コンパイルした Ruby のソースディレクトリ

prefix

Ruby のインストール先の基準ディレクトリ

ruby_install_name
RUBY_INSTALL_NAME

ruby インタプリタのファイル名

EXEEXT

実行ファイルの拡張子

SHELL

シェルのパス名

CFLAGS

C コンパイラのオプション

CPPFLAGS

C プリプロセッサのオプション

CXXFLAGS

C++ コンパイラのオプション

FFLAGS

Fortran コンパイラのオプション

LDFLAGS

リンカオプション

LIBS

ライブラリ

exec_prefix

アーキテクチャ依存の実行ファイルのインストール先ディレクトリ

bindir

実行ファイルのインストール先ディレクトリ

sbindir

管理者用実行ファイルのインストール先ディレクトリ

libexecdir

他のプログラムから実行される実行ファイルのインストール先ディレクトリ

datadir

アーキテクチャに依存しないデータのインストール先ディレクトリ

sysconfdir

設定ファイルのインストール先ディレクトリ

sharedstatedir
localstatedir
libdir
includedir
oldincludedir
infodir
mandir
MAJOR

Ruby の major バージョン番号(1.6.5の1)

MINOR

Ruby の minor バージョン番号(1.6.5の6)

TEENY

Ruby の teeny バージョン番号(1.6.5の5)

host
host_alias
host_cpu
host_vendor
host_os

実行するシステムの情報

        例:

        C:\>ruby -v -r rbconfig -e "p Config::CONFIG['host']"
        ruby 1.8.1 (2003-12-25) [i386-cygwin]
        "i686-pc-cygwin"
target
target_alias
target_cpu
target_vendor
target_os

生成されたコードを実行するシステムの情報

        例:

        C:\>ruby -v -r rbconfig -e "p Config::CONFIG['target']"
        ruby 1.8.1 (2003-12-25) [i386-cygwin]
        "i386-pc-cygwin"
build
build_alias
build_cpu
build_vendor
build_os

ビルドしたシステムの情報

        例:

        C:\>ruby -vrrbconfig -e "p Config::CONFIG['build']"
        ruby 1.8.1 (2003-12-25) [i386-cygwin]
        "i586-pc-linux-gnu"
CC

ビルドに使われた C コンパイラ

CPP

ビルドに使われた C プリプロセッサ

YACC

ビルドに使われた コンパイラコンパイラ

RANLIB
AR

ビルドに使われたライブラリアン

NM
DLLWRAP
AS
DLLTOOL

ビルドに使われたライブラリ操作コマンド (?)

WINDRES

Windows のリソース操作コマンド

LN_S

シンボリックリンク作成コマンド

SET_MAKE
OBJEXT

オブジェクトファイル(コンパイルだけされてリンク前のファイル)の拡張子

LIBOBJS

ruby本体にリンクされているオブジェクトファイル (?)

ALLOCA
XLDFLAGS
DLDFLAGS
STATIC
CCDLFLAGS
LDSHARED
DLEXT
DLEXT2

ダイナミックリンクライブラリの拡張子

STRIP

オブジェクトファイルからシンボルを切り捨てるコマンド

EXTSTATIC
setup
MINIRUBY

ビルド途中に作成される機能限定版rubyのcompile_dirからの相対パス

PREP
LIBRUBY_LDSHARED
LIBRUBY_DLDFLAGS
RUBY_SO_NAME

ruby共有ライブラリの名前

LIBRUBY_A
LIBRUBY_SO
LIBRUBY_ALIASES
LIBRUBY
LIBRUBYARG
SOLIBS
DLDLIBS
ENABLE_SHARED

configureで--enable-sharedだったかどうか(値は"yes"または"no")

MAINLIBS
arch

実行対象となるアーキテクチャ。RUBY_PLATFORMと同じ。

sitearch

サイトごとの拡張ライブラリインストール時にarchの代わりに利用される値。 通常はarchと同じになるが、特定のプラットフォーム(mswin32・mingw32)では 異なる。 拡張ライブラリにバイナリ互換性があるarch間で、拡張ライブラリを共有する ために用いられる。

sitedir
configure_args

ビルド時のconfigureの引数。

ruby_version

rubyのバージョン(例:"1.6")

rubylibdir
archdir
sitelibdir
sitearchdir
compile_dir

ビルド時の作業ディレクトリ。


Ruby 1.8.7 Reference Manual > All Libraries > library rbconfig > module Config > DESTDIR

constant Config::DESTDIR

DESTDIR


constant Config::MAKEFILE_CONFIG

MAKEFILE_CONFIG

Config::CONFIG と同じですが、その値は以下のような形 で他の変数への参照を含みます。

MAKEFILE_CONFIG["bindir"] = "$(exec_prefix)/bin"

これは、Makefile の変数参照の形式で MAKEFILE_CONFIG は、 Makefile 作成の際に利用されることを想定しています。

require 'rbconfig'

print <<-END_OF_MAKEFILE
prefix = #{Config::MAKEFILE_CONFIG['prefix']}
exec_prefix = #{Config::MAKEFILE_CONFIG['exec_prefix']}
bindir = #{Config::MAKEFILE_CONFIG['bindir']}
END_OF_MAKEFILE

=> prefix = /usr/local
   exec_prefix = $(prefix)
   bindir = $(exec_prefix)/bin

Config.expand は、このような参照を解決する メソッドとして rbconfig 内部で利用されています。 (CONFIG 変数は、MAKEFILE_CONFIG の内容から Config.expand を使って生成されています)

require 'rbconfig'
p Config.expand(Config::MAKEFILE_CONFIG["bindir"])
# => "/usr/local/bin"


Ruby 1.8.7 Reference Manual > All Libraries > library rbconfig > module Config > TOPDIR

constant Config::TOPDIR

TOPDIR


Ruby 1.8.7 Reference Manual > All Libraries > library rbconfig > module Config > expand

singleton method Config.expand

expand(val)

Config::MAKEFILE_CONFIG 参照


instance method Continuation#[]

self[*ret] -> ()
call(*ret) -> ()

self が記憶した状態を継続します。引数は そのまま Kernel.#callcc の戻り値になります。

[PARAM] ret:
継続に復帰した時に返す値を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > ALL_MOUSE_EVENTS

constant Curses::ALL_MOUSE_EVENTS

ALL_MOUSE_EVENTS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_ALTCHARSET

constant Curses::A_ALTCHARSET

A_ALTCHARSET


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_ATTRIBUTES

constant Curses::A_ATTRIBUTES

A_ATTRIBUTES


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_BLINK

constant Curses::A_BLINK

A_BLINK


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_BOLD

constant Curses::A_BOLD

A_BOLD


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_CHARTEXT

constant Curses::A_CHARTEXT

A_CHARTEXT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_COLOR

constant Curses::A_COLOR

A_COLOR


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_DIM

constant Curses::A_DIM

A_DIM


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_HORIZONTAL

constant Curses::A_HORIZONTAL

A_HORIZONTAL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_INVIS

constant Curses::A_INVIS

A_INVIS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_LEFT

constant Curses::A_LEFT

A_LEFT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_LOW

constant Curses::A_LOW

A_LOW


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_NORMAL

constant Curses::A_NORMAL

A_NORMAL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_PROTECT

constant Curses::A_PROTECT

A_PROTECT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_REVERSE

constant Curses::A_REVERSE

A_REVERSE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_RIGHT

constant Curses::A_RIGHT

A_RIGHT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_STANDOUT

constant Curses::A_STANDOUT

A_STANDOUT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_TOP

constant Curses::A_TOP

A_TOP


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_UNDERLINE

constant Curses::A_UNDERLINE

A_UNDERLINE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > A_VERTICAL

constant Curses::A_VERTICAL

A_VERTICAL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON1_CLICKED

constant Curses::BUTTON1_CLICKED

BUTTON1_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON1_DOUBLE_CLICKED

constant Curses::BUTTON1_DOUBLE_CLICKED

BUTTON1_DOUBLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON1_PRESSED

constant Curses::BUTTON1_PRESSED

BUTTON1_PRESSED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON1_RELEASED

constant Curses::BUTTON1_RELEASED

BUTTON1_RELEASED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON1_TRIPLE_CLICKED

constant Curses::BUTTON1_TRIPLE_CLICKED

BUTTON1_TRIPLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON2_CLICKED

constant Curses::BUTTON2_CLICKED

BUTTON2_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON2_DOUBLE_CLICKED

constant Curses::BUTTON2_DOUBLE_CLICKED

BUTTON2_DOUBLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON2_PRESSED

constant Curses::BUTTON2_PRESSED

BUTTON2_PRESSED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON2_RELEASED

constant Curses::BUTTON2_RELEASED

BUTTON2_RELEASED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON2_TRIPLE_CLICKED

constant Curses::BUTTON2_TRIPLE_CLICKED

BUTTON2_TRIPLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON3_CLICKED

constant Curses::BUTTON3_CLICKED

BUTTON3_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON3_DOUBLE_CLICKED

constant Curses::BUTTON3_DOUBLE_CLICKED

BUTTON3_DOUBLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON3_PRESSED

constant Curses::BUTTON3_PRESSED

BUTTON3_PRESSED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON3_RELEASED

constant Curses::BUTTON3_RELEASED

BUTTON3_RELEASED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON3_TRIPLE_CLICKED

constant Curses::BUTTON3_TRIPLE_CLICKED

BUTTON3_TRIPLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON4_CLICKED

constant Curses::BUTTON4_CLICKED

BUTTON4_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON4_DOUBLE_CLICKED

constant Curses::BUTTON4_DOUBLE_CLICKED

BUTTON4_DOUBLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON4_PRESSED

constant Curses::BUTTON4_PRESSED

BUTTON4_PRESSED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON4_RELEASED

constant Curses::BUTTON4_RELEASED

BUTTON4_RELEASED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON4_TRIPLE_CLICKED

constant Curses::BUTTON4_TRIPLE_CLICKED

BUTTON4_TRIPLE_CLICKED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON_ALT

constant Curses::BUTTON_ALT

BUTTON_ALT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON_CTRL

constant Curses::BUTTON_CTRL

BUTTON_CTRL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > BUTTON_SHIFT

constant Curses::BUTTON_SHIFT

BUTTON_SHIFT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_BLACK

constant Curses::COLOR_BLACK

COLOR_BLACK


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_BLUE

constant Curses::COLOR_BLUE

COLOR_BLUE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_CYAN

constant Curses::COLOR_CYAN

COLOR_CYAN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_GREEN

constant Curses::COLOR_GREEN

COLOR_GREEN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_MAGENTA

constant Curses::COLOR_MAGENTA

COLOR_MAGENTA


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_RED

constant Curses::COLOR_RED

COLOR_RED


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_WHITE

constant Curses::COLOR_WHITE

COLOR_WHITE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > COLOR_YELLOW

constant Curses::COLOR_YELLOW

COLOR_YELLOW


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_A1

constant Curses::KEY_A1

KEY_A1


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_A3

constant Curses::KEY_A3

KEY_A3


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_B2

constant Curses::KEY_B2

KEY_B2


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_BACKSPACE

constant Curses::KEY_BACKSPACE

KEY_BACKSPACE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_BEG

constant Curses::KEY_BEG

KEY_BEG


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_BREAK

constant Curses::KEY_BREAK

KEY_BREAK


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_BTAB

constant Curses::KEY_BTAB

KEY_BTAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_C1

constant Curses::KEY_C1

KEY_C1


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_C3

constant Curses::KEY_C3

KEY_C3


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CANCEL

constant Curses::KEY_CANCEL

KEY_CANCEL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CATAB

constant Curses::KEY_CATAB

KEY_CATAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CLEAR

constant Curses::KEY_CLEAR

KEY_CLEAR


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CLOSE

constant Curses::KEY_CLOSE

KEY_CLOSE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_COMMAND

constant Curses::KEY_COMMAND

KEY_COMMAND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_COPY

constant Curses::KEY_COPY

KEY_COPY


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CREATE

constant Curses::KEY_CREATE

KEY_CREATE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTAB

constant Curses::KEY_CTAB

KEY_CTAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_A

constant Curses::KEY_CTRL_A

KEY_CTRL_A


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_B

constant Curses::KEY_CTRL_B

KEY_CTRL_B


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_C

constant Curses::KEY_CTRL_C

KEY_CTRL_C


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_D

constant Curses::KEY_CTRL_D

KEY_CTRL_D


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_E

constant Curses::KEY_CTRL_E

KEY_CTRL_E


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_F

constant Curses::KEY_CTRL_F

KEY_CTRL_F


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_G

constant Curses::KEY_CTRL_G

KEY_CTRL_G


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_H

constant Curses::KEY_CTRL_H

KEY_CTRL_H


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_I

constant Curses::KEY_CTRL_I

KEY_CTRL_I


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_J

constant Curses::KEY_CTRL_J

KEY_CTRL_J


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_K

constant Curses::KEY_CTRL_K

KEY_CTRL_K


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_L

constant Curses::KEY_CTRL_L

KEY_CTRL_L


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_M

constant Curses::KEY_CTRL_M

KEY_CTRL_M


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_N

constant Curses::KEY_CTRL_N

KEY_CTRL_N


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_O

constant Curses::KEY_CTRL_O

KEY_CTRL_O


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_P

constant Curses::KEY_CTRL_P

KEY_CTRL_P


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_Q

constant Curses::KEY_CTRL_Q

KEY_CTRL_Q


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_R

constant Curses::KEY_CTRL_R

KEY_CTRL_R


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_S

constant Curses::KEY_CTRL_S

KEY_CTRL_S


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_T

constant Curses::KEY_CTRL_T

KEY_CTRL_T


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_U

constant Curses::KEY_CTRL_U

KEY_CTRL_U


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_V

constant Curses::KEY_CTRL_V

KEY_CTRL_V


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_W

constant Curses::KEY_CTRL_W

KEY_CTRL_W


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_X

constant Curses::KEY_CTRL_X

KEY_CTRL_X


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_Y

constant Curses::KEY_CTRL_Y

KEY_CTRL_Y


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_CTRL_Z

constant Curses::KEY_CTRL_Z

KEY_CTRL_Z


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_DC

constant Curses::KEY_DC

KEY_DC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_DL

constant Curses::KEY_DL

KEY_DL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_DOWN

constant Curses::KEY_DOWN

KEY_DOWN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_EIC

constant Curses::KEY_EIC

KEY_EIC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_END

constant Curses::KEY_END

KEY_END


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_ENTER

constant Curses::KEY_ENTER

KEY_ENTER


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_EOL

constant Curses::KEY_EOL

KEY_EOL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_EOS

constant Curses::KEY_EOS

KEY_EOS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_EXIT

constant Curses::KEY_EXIT

KEY_EXIT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F0

constant Curses::KEY_F0

KEY_F0


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F1

constant Curses::KEY_F1

KEY_F1


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F2

constant Curses::KEY_F2

KEY_F2


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F3

constant Curses::KEY_F3

KEY_F3


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F4

constant Curses::KEY_F4

KEY_F4


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F5

constant Curses::KEY_F5

KEY_F5


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F6

constant Curses::KEY_F6

KEY_F6


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F7

constant Curses::KEY_F7

KEY_F7


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F8

constant Curses::KEY_F8

KEY_F8


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F9

constant Curses::KEY_F9

KEY_F9


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F10

constant Curses::KEY_F10

KEY_F10


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F11

constant Curses::KEY_F11

KEY_F11


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F12

constant Curses::KEY_F12

KEY_F12


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F13

constant Curses::KEY_F13

KEY_F13


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F14

constant Curses::KEY_F14

KEY_F14


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F15

constant Curses::KEY_F15

KEY_F15


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F16

constant Curses::KEY_F16

KEY_F16


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F17

constant Curses::KEY_F17

KEY_F17


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F18

constant Curses::KEY_F18

KEY_F18


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F19

constant Curses::KEY_F19

KEY_F19


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F20

constant Curses::KEY_F20

KEY_F20


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F21

constant Curses::KEY_F21

KEY_F21


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F22

constant Curses::KEY_F22

KEY_F22


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F23

constant Curses::KEY_F23

KEY_F23


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F24

constant Curses::KEY_F24

KEY_F24


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F25

constant Curses::KEY_F25

KEY_F25


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F26

constant Curses::KEY_F26

KEY_F26


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F27

constant Curses::KEY_F27

KEY_F27


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F28

constant Curses::KEY_F28

KEY_F28


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F29

constant Curses::KEY_F29

KEY_F29


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F30

constant Curses::KEY_F30

KEY_F30


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F31

constant Curses::KEY_F31

KEY_F31


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F32

constant Curses::KEY_F32

KEY_F32


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F33

constant Curses::KEY_F33

KEY_F33


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F34

constant Curses::KEY_F34

KEY_F34


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F35

constant Curses::KEY_F35

KEY_F35


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F36

constant Curses::KEY_F36

KEY_F36


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F37

constant Curses::KEY_F37

KEY_F37


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F38

constant Curses::KEY_F38

KEY_F38


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F39

constant Curses::KEY_F39

KEY_F39


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F40

constant Curses::KEY_F40

KEY_F40


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F41

constant Curses::KEY_F41

KEY_F41


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F42

constant Curses::KEY_F42

KEY_F42


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F43

constant Curses::KEY_F43

KEY_F43


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F44

constant Curses::KEY_F44

KEY_F44


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F45

constant Curses::KEY_F45

KEY_F45


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F46

constant Curses::KEY_F46

KEY_F46


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F47

constant Curses::KEY_F47

KEY_F47


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F48

constant Curses::KEY_F48

KEY_F48


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F49

constant Curses::KEY_F49

KEY_F49


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F50

constant Curses::KEY_F50

KEY_F50


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F51

constant Curses::KEY_F51

KEY_F51


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F52

constant Curses::KEY_F52

KEY_F52


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F53

constant Curses::KEY_F53

KEY_F53


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F54

constant Curses::KEY_F54

KEY_F54


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F55

constant Curses::KEY_F55

KEY_F55


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F56

constant Curses::KEY_F56

KEY_F56


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F57

constant Curses::KEY_F57

KEY_F57


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F58

constant Curses::KEY_F58

KEY_F58


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F59

constant Curses::KEY_F59

KEY_F59


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F60

constant Curses::KEY_F60

KEY_F60


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F61

constant Curses::KEY_F61

KEY_F61


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F62

constant Curses::KEY_F62

KEY_F62


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_F63

constant Curses::KEY_F63

KEY_F63


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_FIND

constant Curses::KEY_FIND

KEY_FIND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_HELP

constant Curses::KEY_HELP

KEY_HELP


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_HOME

constant Curses::KEY_HOME

KEY_HOME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_IC

constant Curses::KEY_IC

KEY_IC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_IL

constant Curses::KEY_IL

KEY_IL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_LEFT

constant Curses::KEY_LEFT

KEY_LEFT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_LL

constant Curses::KEY_LL

KEY_LL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_MARK

constant Curses::KEY_MARK

KEY_MARK


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_MAX

constant Curses::KEY_MAX

KEY_MAX


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_MESSAGE

constant Curses::KEY_MESSAGE

KEY_MESSAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_MIN

constant Curses::KEY_MIN

KEY_MIN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_MOUSE

constant Curses::KEY_MOUSE

KEY_MOUSE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_MOVE

constant Curses::KEY_MOVE

KEY_MOVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_NEXT

constant Curses::KEY_NEXT

KEY_NEXT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_NPAGE

constant Curses::KEY_NPAGE

KEY_NPAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_OPEN

constant Curses::KEY_OPEN

KEY_OPEN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_OPTIONS

constant Curses::KEY_OPTIONS

KEY_OPTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_PPAGE

constant Curses::KEY_PPAGE

KEY_PPAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_PREVIOUS

constant Curses::KEY_PREVIOUS

KEY_PREVIOUS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_PRINT

constant Curses::KEY_PRINT

KEY_PRINT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_REDO

constant Curses::KEY_REDO

KEY_REDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_REFERENCE

constant Curses::KEY_REFERENCE

KEY_REFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_REFRESH

constant Curses::KEY_REFRESH

KEY_REFRESH


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_REPLACE

constant Curses::KEY_REPLACE

KEY_REPLACE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_RESET

constant Curses::KEY_RESET

KEY_RESET


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_RESIZE

constant Curses::KEY_RESIZE

KEY_RESIZE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_RESTART

constant Curses::KEY_RESTART

KEY_RESTART


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_RESUME

constant Curses::KEY_RESUME

KEY_RESUME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_RIGHT

constant Curses::KEY_RIGHT

KEY_RIGHT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SAVE

constant Curses::KEY_SAVE

KEY_SAVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SBEG

constant Curses::KEY_SBEG

KEY_SBEG


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SCANCEL

constant Curses::KEY_SCANCEL

KEY_SCANCEL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SCOMMAND

constant Curses::KEY_SCOMMAND

KEY_SCOMMAND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SCOPY

constant Curses::KEY_SCOPY

KEY_SCOPY


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SCREATE

constant Curses::KEY_SCREATE

KEY_SCREATE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SDC

constant Curses::KEY_SDC

KEY_SDC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SDL

constant Curses::KEY_SDL

KEY_SDL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SELECT

constant Curses::KEY_SELECT

KEY_SELECT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SEND

constant Curses::KEY_SEND

KEY_SEND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SEOL

constant Curses::KEY_SEOL

KEY_SEOL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SEXIT

constant Curses::KEY_SEXIT

KEY_SEXIT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SF

constant Curses::KEY_SF

KEY_SF


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SFIND

constant Curses::KEY_SFIND

KEY_SFIND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SHELP

constant Curses::KEY_SHELP

KEY_SHELP


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SHOME

constant Curses::KEY_SHOME

KEY_SHOME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SIC

constant Curses::KEY_SIC

KEY_SIC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SLEFT

constant Curses::KEY_SLEFT

KEY_SLEFT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SMESSAGE

constant Curses::KEY_SMESSAGE

KEY_SMESSAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SMOVE

constant Curses::KEY_SMOVE

KEY_SMOVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SNEXT

constant Curses::KEY_SNEXT

KEY_SNEXT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SOPTIONS

constant Curses::KEY_SOPTIONS

KEY_SOPTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SPREVIOUS

constant Curses::KEY_SPREVIOUS

KEY_SPREVIOUS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SPRINT

constant Curses::KEY_SPRINT

KEY_SPRINT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SR

constant Curses::KEY_SR

KEY_SR


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SREDO

constant Curses::KEY_SREDO

KEY_SREDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SREPLACE

constant Curses::KEY_SREPLACE

KEY_SREPLACE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SRESET

constant Curses::KEY_SRESET

KEY_SRESET


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SRIGHT

constant Curses::KEY_SRIGHT

KEY_SRIGHT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SRSUME

constant Curses::KEY_SRSUME

KEY_SRSUME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SSAVE

constant Curses::KEY_SSAVE

KEY_SSAVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SSUSPEND

constant Curses::KEY_SSUSPEND

KEY_SSUSPEND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_STAB

constant Curses::KEY_STAB

KEY_STAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SUNDO

constant Curses::KEY_SUNDO

KEY_SUNDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_SUSPEND

constant Curses::KEY_SUSPEND

KEY_SUSPEND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_UNDO

constant Curses::KEY_UNDO

KEY_UNDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > KEY_UP

constant Curses::KEY_UP

KEY_UP


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > REPORT_MOUSE_POSITION

constant Curses::REPORT_MOUSE_POSITION

REPORT_MOUSE_POSITION


module function Curses.#ESCDELAY

ESCDELAY -> Integer

ESC の入力を破棄する時間(ミリ秒単位)を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。


module function Curses.#ESCDELAY=

ESCDELAY=(val) -> Integer

ESC の入力を破棄する時間(ミリ秒単位)を val に設定します。 設定した値を返します。

[PARAM] val:
ESC の入力を破棄する時間(ミリ秒単位)を指定します。

サポートしていない環境では、例外 NotImplementedError が発生します。


module function Curses.#TABSIZE

TABSIZE -> Integer

タブ幅を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。


module function Curses.#TABSIZE=

TABSIZE=(val) -> Integer

タブ幅を val に設定します。設定した値を返します。

[PARAM] val:
タブ幅を指定します。

サポートしていない環境では、例外 NotImplementedError が発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > addch

module function Curses.#addch

addch(ch)

stdscr のカーソルの位置に ch (1 バイト) を上書きします。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > addstr

module function Curses.#addstr

addstr(str)

stdscr のカーソルの位置に文字列 str を挿入します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > attroff

module function Curses.#attroff

attroff(attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > attron

module function Curses.#attron

attron(attron)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > attrset

module function Curses.#attrset

attrset(attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > beep

module function Curses.#beep

beep

音を出します。 この機能がないところでは単に無視されます。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > bkgd

module function Curses.#bkgd

bkgd(ch)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > bkgdset

module function Curses.#bkgdset

bkgdset(ch)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > can_change_color?

module function Curses.#can_change_color?

can_change_color?


module function Curses.#cbreak

cbreak -> nil
crmode -> nil

キーボード入力のバッファリングをやめ、ユーザの入力を即座に処理できるようにします。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Curses.#nocbreak、Curses.#nocrmode


module function Curses.#clear

clear -> nil

画面全体を表すウィンドウ stdscr の文字を消去し、画面をクリアします。 画面のクリアを反映させるために、 本メソッドのあとに Curses.#refresh を呼び出す必要はありません。

詳しくは、 man ページの curs_clear(3X) の clear 関数を参照ください。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


module function Curses.#close_screen

close_screen -> nil

curses の終了処理を行います。 端末の状態を復帰させ、カーソルを左端に移動させます。

詳しくは、 man ページの curs_initscr(3X) の endwin 関数を参照ください。

[SEE_ALSO] Curses.#init_screen、Curses.#stdscr


module function Curses.#closed?

closed? -> bool

curses が終了しているかどうかを返します。

詳しくは、 man ページの curs_initscr(3X) の isendwin 関数を参照ください。

サポートしていない環境では、例外 NotImplementedError が発生します。

[SEE_ALSO] Curses.#close_screen


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > clrtoeol

module function Curses.#clrtoeol

clrtoeol


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > color_content

module function Curses.#color_content

color_content(color)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > color_pair

module function Curses.#color_pair

color_pair(attr)


module function Curses.#cols

cols

画面に表示可能な桁数(バイト)を返します。 ただし実際にはもう 1 バイト少なくしか表示できないライブラリが あるようです。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > curs_set

module function Curses.#curs_set

curs_set(visibility)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > def_prog_mode

module function Curses.#def_prog_mode

def_prog_mode


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > delch

module function Curses.#delch

delch


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > deleteln

module function Curses.#deleteln

deleteln

stdscr のカーソルがある行を削除し、後の行を上に詰めます。


module function Curses.#doupdate

doupdate -> nil

画面全体を表すウィンドウ stdscr の表示を更新します。 Curses.#refresh 以上に能率良く更新処理を行います。

詳しくは、 man ページの curs_refresh(3X) の doupdate 関数を参照ください。

利用している curses のライブラリが doupdate 関数を提供していない場合、 doupdate 関数の代わりに、refresh 関数を呼び出します。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


module function Curses.#echo

echo -> nil

ユーザの入力内容を画面に表示するようにします。 つまり、入力のエコーを有効にします。

詳しくは、 man ページの curs_inopts(3X) の echo 関数を参照ください。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > flash

module function Curses.#flash

flash

画面を一瞬点滅させます。 この機能がないところでは単に無視されます。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > getch

module function Curses.#getch

getch

標準入力から 1 バイト読み込みます。 戻り値は ASCII コードを表す整数です。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > getmouse

module function Curses.#getmouse

getmouse


module function Curses.#getstr

getstr

標準入力から一行読み込みます。 戻り値は文字列です。

このメソッドは getnstr() が実装されていない プラットホームではバッファオーバーフローをおこす恐れが あります。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > has_colors?

module function Curses.#has_colors?

has_colors?


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > inch

module function Curses.#inch

inch

stdscr のカーソル位置から 1 バイト読みとって返します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > init_color

module function Curses.#init_color

init_color(color, r, g, b)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > init_pair

module function Curses.#init_pair

init_pair(pair, f, b)


module function Curses.#init_screen

init_screen -> Curses::Window
stdscr -> Curses::Window

端末の種類や curses に関するデータを初期化し、画面をクリアします。 stdscr と呼ばれる画面全体を表すウィンドウを返します。

ncurses を利用している場合、 このメソッドに失敗すると標準エラー出力にエラーメッセージを出力し、終了します。 そうでない場合、このメソッドに失敗すると例外 RuntimeError を発生します。

詳しくは、 man ページの curs_initscr(3X) の initscr 関数と、 curs_clear(3X) の clear 関数を参照ください。

Curses のいくつかのメソッドは、内部でこのメソッドを呼び出します。 これにより、このメソッドを呼び出していない場合でも、 いくつかの処理をできるようになっています。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Curses.#close_screen


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > insch

module function Curses.#insch

insch(ch)

stdscr のカーソルの位置に ch (1 バイト) を挿入します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > insertln

module function Curses.#insertln

insertln


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > keyname

module function Curses.#keyname

keyname(c)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > lines

module function Curses.#lines

lines

画面に表示可能な行数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > mouseinterval

module function Curses.#mouseinterval

mouseinterval(interval)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > mousemask

module function Curses.#mousemask

mousemask(mask)


module function Curses.#nl

nl -> nil

cooked モードのとき、return キーの入力に対して LF (Ctrl-j) を返すようにします。

詳しくは、 man ページの curs_outopts(3X) の nl 関数を参照ください。


module function Curses.#nocbreak

nocbreak -> nil
nocrmode -> nil

通常の端末のように、キーボード入力のバッファリングを有効にします。 ユーザの入力はエンターキーなどを押すまで処理できません。 この状態のことを「cooked」モードといいます。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Curses.#cbreak、Curses.#crmode


module function Curses.#noecho

noecho

ユーザの入力内容を画面に表示しないようにします。 つまり、入力のエコーを止めます。

詳しくは、 man ページの curs_inopts(3X) の noecho 関数を参照ください。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


module function Curses.#nonl

nonl

cooked モードのとき、return キーの入力に対して CR (Ctrl-m) を返すようにします。

詳しくは、 man ページの curs_outopts(3X) の nonl 関数を参照ください。


module function Curses.#noraw

noraw -> nil

raw モードを抜け、通常の状態にします。 つまり、キーボード入力のバッファリングを行い、 割り込み(Ctrl-C)、サスペンド(Ctrl-Z) などの特殊キーの処理を行うようにします。

[SEE_ALSO] Curses.#raw


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > pair_content

module function Curses.#pair_content

pair_content(pair)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > pair_number

module function Curses.#pair_number

pair_number(attrs)


module function Curses.#raw

raw -> nil

Curses.#cbreak と同様に、キーボード入力のバッファリングをやめ、 ユーザの入力を即座に処理できるようにします。なおかつ、 割り込み(Ctrl-C)、サスペンド(Ctrl-Z) などの特殊キーの処理をやめます。 この状態のことを「raw」モードといいます。

[SEE_ALSO] Curses.#cbreak、Curses.#noraw


module function Curses.#refresh

refresh -> nil

画面全体を表すウィンドウ stdscr の表示を更新します。

詳しくは、 man ページの curs_refresh(3X) の refresh 関数を参照ください。

このメソッドの中で Curses.#init_screen を呼び出します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > reset_prog_mode

module function Curses.#reset_prog_mode

reset_prog_mode


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > resize

module function Curses.#resize

resize(lin, col)
resizeterm(lin, col)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > scrl

module function Curses.#scrl

scrl(n)


module function Curses.#setpos

setpos(y, x)

stdscr のカーソルを座標 (x,y) に移動します。 座標はともに 0 が始点です。

文字がない場所に setpos した場合の挙動は OS に依存します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > setscrreg

module function Curses.#setscrreg

setscrreg(top, bottom)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > standend

module function Curses.#standend

standend

強調する文字の書き込みを終えます。


module function Curses.#standout

standout

以降書き込む文字を強調します。 「強調」は反転であることが多いようですが、 そう決められているわけではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > start_color

module function Curses.#start_color

start_color


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > timeout=

module function Curses.#timeout=

timeout=


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > ungetch

module function Curses.#ungetch

ungetch(ch)

文字 ch (ASCII コードを示す整数) をストリームに戻します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses > ungetmouse

module function Curses.#ungetmouse

ungetmouse(mevent)


module function Curses.#use_default_colors

use_default_colors -> nil

前景色と背景色を端末のデフォルト値 (-1) に設定します。

詳細は man ページの default_colors(3X) を参照ください。

サポートしていない環境では、例外 NotImplementedError が発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > A1

constant Curses::Key::A1

A1


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > A3

constant Curses::Key::A3

A3


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > B2

constant Curses::Key::B2

B2


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > BACKSPACE

constant Curses::Key::BACKSPACE

BACKSPACE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > BEG

constant Curses::Key::BEG

BEG


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > BREAK

constant Curses::Key::BREAK

BREAK


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > BTAB

constant Curses::Key::BTAB

BTAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > C1

constant Curses::Key::C1

C1


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > C3

constant Curses::Key::C3

C3


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > CANCEL

constant Curses::Key::CANCEL

CANCEL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > CATAB

constant Curses::Key::CATAB

CATAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > CLEAR

constant Curses::Key::CLEAR

CLEAR


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > CLOSE

constant Curses::Key::CLOSE

CLOSE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > COMMAND

constant Curses::Key::COMMAND

COMMAND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > COPY

constant Curses::Key::COPY

COPY


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > CREATE

constant Curses::Key::CREATE

CREATE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > CTAB

constant Curses::Key::CTAB

CTAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > DC

constant Curses::Key::DC

DC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > DL

constant Curses::Key::DL

DL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > DOWN

constant Curses::Key::DOWN

DOWN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > EIC

constant Curses::Key::EIC

EIC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > END

constant Curses::Key::END

END


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > ENTER

constant Curses::Key::ENTER

ENTER


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > EOL

constant Curses::Key::EOL

EOL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > EOS

constant Curses::Key::EOS

EOS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > EXIT

constant Curses::Key::EXIT

EXIT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F0

constant Curses::Key::F0

F0


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F1

constant Curses::Key::F1

F1


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F2

constant Curses::Key::F2

F2


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F3

constant Curses::Key::F3

F3


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F4

constant Curses::Key::F4

F4


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F5

constant Curses::Key::F5

F5


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F6

constant Curses::Key::F6

F6


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F7

constant Curses::Key::F7

F7


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F8

constant Curses::Key::F8

F8


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F9

constant Curses::Key::F9

F9


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F10

constant Curses::Key::F10

F10


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F11

constant Curses::Key::F11

F11


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F12

constant Curses::Key::F12

F12


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F13

constant Curses::Key::F13

F13


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F14

constant Curses::Key::F14

F14


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F15

constant Curses::Key::F15

F15


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F16

constant Curses::Key::F16

F16


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F17

constant Curses::Key::F17

F17


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F18

constant Curses::Key::F18

F18


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F19

constant Curses::Key::F19

F19


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F20

constant Curses::Key::F20

F20


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F21

constant Curses::Key::F21

F21


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F22

constant Curses::Key::F22

F22


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F23

constant Curses::Key::F23

F23


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F24

constant Curses::Key::F24

F24


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F25

constant Curses::Key::F25

F25


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F26

constant Curses::Key::F26

F26


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F27

constant Curses::Key::F27

F27


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F28

constant Curses::Key::F28

F28


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F29

constant Curses::Key::F29

F29


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F30

constant Curses::Key::F30

F30


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F31

constant Curses::Key::F31

F31


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F32

constant Curses::Key::F32

F32


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F33

constant Curses::Key::F33

F33


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F34

constant Curses::Key::F34

F34


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F35

constant Curses::Key::F35

F35


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F36

constant Curses::Key::F36

F36


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F37

constant Curses::Key::F37

F37


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F38

constant Curses::Key::F38

F38


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F39

constant Curses::Key::F39

F39


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F40

constant Curses::Key::F40

F40


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F41

constant Curses::Key::F41

F41


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F42

constant Curses::Key::F42

F42


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F43

constant Curses::Key::F43

F43


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F44

constant Curses::Key::F44

F44


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F45

constant Curses::Key::F45

F45


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F46

constant Curses::Key::F46

F46


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F47

constant Curses::Key::F47

F47


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F48

constant Curses::Key::F48

F48


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F49

constant Curses::Key::F49

F49


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F50

constant Curses::Key::F50

F50


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F51

constant Curses::Key::F51

F51


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F52

constant Curses::Key::F52

F52


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F53

constant Curses::Key::F53

F53


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F54

constant Curses::Key::F54

F54


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F55

constant Curses::Key::F55

F55


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F56

constant Curses::Key::F56

F56


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F57

constant Curses::Key::F57

F57


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F58

constant Curses::Key::F58

F58


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F59

constant Curses::Key::F59

F59


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F60

constant Curses::Key::F60

F60


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F61

constant Curses::Key::F61

F61


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F62

constant Curses::Key::F62

F62


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > F63

constant Curses::Key::F63

F63


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > FIND

constant Curses::Key::FIND

FIND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > HELP

constant Curses::Key::HELP

HELP


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > HOME

constant Curses::Key::HOME

HOME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > IC

constant Curses::Key::IC

IC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > IL

constant Curses::Key::IL

IL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > LEFT

constant Curses::Key::LEFT

LEFT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > LL

constant Curses::Key::LL

LL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > MARK

constant Curses::Key::MARK

MARK


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > MAX

constant Curses::Key::MAX

MAX


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > MESSAGE

constant Curses::Key::MESSAGE

MESSAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > MIN

constant Curses::Key::MIN

MIN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > MOUSE

constant Curses::Key::MOUSE

MOUSE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > MOVE

constant Curses::Key::MOVE

MOVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > NEXT

constant Curses::Key::NEXT

NEXT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > NPAGE

constant Curses::Key::NPAGE

NPAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > OPEN

constant Curses::Key::OPEN

OPEN


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > OPTIONS

constant Curses::Key::OPTIONS

OPTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > PPAGE

constant Curses::Key::PPAGE

PPAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > PREVIOUS

constant Curses::Key::PREVIOUS

PREVIOUS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > PRINT

constant Curses::Key::PRINT

PRINT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > REDO

constant Curses::Key::REDO

REDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > REFERENCE

constant Curses::Key::REFERENCE

REFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > REFRESH

constant Curses::Key::REFRESH

REFRESH


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > REPLACE

constant Curses::Key::REPLACE

REPLACE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > RESET

constant Curses::Key::RESET

RESET


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > RESIZE

constant Curses::Key::RESIZE

RESIZE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > RESTART

constant Curses::Key::RESTART

RESTART


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > RESUME

constant Curses::Key::RESUME

RESUME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > RIGHT

constant Curses::Key::RIGHT

RIGHT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SAVE

constant Curses::Key::SAVE

SAVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SBEG

constant Curses::Key::SBEG

SBEG


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SCANCEL

constant Curses::Key::SCANCEL

SCANCEL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SCOMMAND

constant Curses::Key::SCOMMAND

SCOMMAND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SCOPY

constant Curses::Key::SCOPY

SCOPY


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SCREATE

constant Curses::Key::SCREATE

SCREATE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SDC

constant Curses::Key::SDC

SDC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SDL

constant Curses::Key::SDL

SDL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SELECT

constant Curses::Key::SELECT

SELECT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SEND

constant Curses::Key::SEND

SEND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SEOL

constant Curses::Key::SEOL

SEOL


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SEXIT

constant Curses::Key::SEXIT

SEXIT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SF

constant Curses::Key::SF

SF


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SFIND

constant Curses::Key::SFIND

SFIND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SHELP

constant Curses::Key::SHELP

SHELP


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SHOME

constant Curses::Key::SHOME

SHOME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SIC

constant Curses::Key::SIC

SIC


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SLEFT

constant Curses::Key::SLEFT

SLEFT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SMESSAGE

constant Curses::Key::SMESSAGE

SMESSAGE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SMOVE

constant Curses::Key::SMOVE

SMOVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SNEXT

constant Curses::Key::SNEXT

SNEXT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SOPTIONS

constant Curses::Key::SOPTIONS

SOPTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SPREVIOUS

constant Curses::Key::SPREVIOUS

SPREVIOUS


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SPRINT

constant Curses::Key::SPRINT

SPRINT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SR

constant Curses::Key::SR

SR


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SREDO

constant Curses::Key::SREDO

SREDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SREPLACE

constant Curses::Key::SREPLACE

SREPLACE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SRESET

constant Curses::Key::SRESET

SRESET


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SRIGHT

constant Curses::Key::SRIGHT

SRIGHT


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SRSUME

constant Curses::Key::SRSUME

SRSUME


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SSAVE

constant Curses::Key::SSAVE

SSAVE


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SSUSPEND

constant Curses::Key::SSUSPEND

SSUSPEND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > STAB

constant Curses::Key::STAB

STAB


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SUNDO

constant Curses::Key::SUNDO

SUNDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > SUSPEND

constant Curses::Key::SUSPEND

SUSPEND


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > UNDO

constant Curses::Key::UNDO

UNDO


Ruby 1.8.7 Reference Manual > All Libraries > library curses > module Curses::Key > UP

constant Curses::Key::UP

UP


instance method Curses::MouseEvent#bstate

bstate -> Integer

マウスのボタンがクリックされたとか、押しっぱなしといった状態を返します。

戻り値の各ビットが、4 つのボタンを状態を表現しています。 次の定数を使って、状態を取得します。

Curses::BUTTON1_RELEASED

ボタン 1 を離した状態

Curses::BUTTON1_PRESSED

ボタン 1 を押した状態

Curses::BUTTON1_CLICKED

ボタン 1 をクリックした状態

Curses::BUTTON1_DOUBLE_CLICKED

ボタン 1 をダブルクリックした状態

Curses::BUTTON1_TRIPLE_CLICKED

ボタン 1 をトリプルクリックした状態

Curses::BUTTON2_RELEASED

ボタン 2 を離した状態

Curses::BUTTON2_PRESSED

ボタン 2 を押した状態

Curses::BUTTON2_CLICKED

ボタン 2 をクリックした状態

Curses::BUTTON2_DOUBLE_CLICKED

ボタン 2 をダブルクリックした状態

Curses::BUTTON2_TRIPLE_CLICKED

ボタン 2 をトリプルクリックした状態

Curses::BUTTON3_RELEASED

ボタン 3 を離した状態

Curses::BUTTON3_PRESSED

ボタン 3 を押した状態

Curses::BUTTON3_CLICKED

ボタン 3 をクリックした状態

Curses::BUTTON3_DOUBLE_CLICKED

ボタン 3 をダブルクリックした状態

Curses::BUTTON3_TRIPLE_CLICKED

ボタン 3 をトリプルクリックした状態

Curses::BUTTON4_RELEASED

ボタン 4 を離した状態

Curses::BUTTON4_PRESSED

ボタン 4 を押した状態

Curses::BUTTON4_CLICKED

ボタン 4 をクリックした状態

Curses::BUTTON4_DOUBLE_CLICKED

ボタン 4 をダブルクリックした状態

Curses::BUTTON4_TRIPLE_CLICKED

ボタン 4 をトリプルクリックした状態

例:

require "curses"

Curses.init_screen
begin
  Curses.cbreak
  Curses.stdscr.keypad(true)
  Curses.mousemask(Curses::BUTTON1_PRESSED | Curses::BUTTON1_RELEASED |
                   Curses::BUTTON1_CLICKED | Curses::BUTTON1_DOUBLE_CLICKED |
                   Curses::BUTTON1_TRIPLE_CLICKED)
  s = "Click"
  Curses.setpos(Curses.lines / 2, Curses.cols / 2 - (s.length / 2))
  Curses.addstr(s)
  Curses.refresh
  if Curses.getch == Curses::KEY_MOUSE
    m = Curses.getmouse
    if m
      a = []
      if m.bstate & Curses::BUTTON1_PRESSED
        a.push("pressed")
      end
      if m.bstate & Curses::BUTTON1_RELEASED
        a.push("released")
      end
      if m.bstate & Curses::BUTTON1_CLICKED
        a.push("clicked")
      end
      if m.bstate & Curses::BUTTON1_DOUBLE_CLICKED
        a.push("double-clicked")
      end
      if m.bstate & Curses::BUTTON1_TRIPLE_CLICKED
        a.push("triple-clicked")
      end
      s = a.join(" ")
      Curses.setpos(Curses.lines / 2 + 1, Curses.cols / 2 - (s.length / 2))
      Curses.addstr(s)
      Curses.refresh
    end
  end
ensure
  Curses.close_screen
end

[SEE_ALSO] Curses.#mousemask、Curses.#getmouse


instance method Curses::MouseEvent#eid

eid -> Integer

マウスを識別するための ID を返します。 複数のマウスを使用している場合に、それらを識別するために使用します。

[SEE_ALSO] Curses.#getmouse


instance method Curses::MouseEvent#x

x -> Integer

マウスのイベントが発生した文字の位置の X 座標を返します。

[SEE_ALSO] Curses.#getmouse


instance method Curses::MouseEvent#y

y -> Integer

マウスのイベントが発生した文字の位置の Y 座標を返します。

[SEE_ALSO] Curses.#getmouse


instance method Curses::MouseEvent#z

z -> Integer

マウスのイベントが発生した文字の位置の Z 座標を返します。

[SEE_ALSO] Curses.#getmouse


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > <<

instance method Curses::Window#<<

addstr(str)
self << str

ウィンドウのカーソル位置に文字列 str を上書きします。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > addch

instance method Curses::Window#addch

addch(ch)

ウィンドウのカーソル位置に ch (1 バイト) を上書きします。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > attroff

instance method Curses::Window#attroff

attroff(attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > attron

instance method Curses::Window#attron

attron(attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > attrset

instance method Curses::Window#attrset

attrset(attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > begx

instance method Curses::Window#begx

begx

親ウィンドウの中でウィンドウの左上がある x 座標を返します。 始点は 0 です。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > begy

instance method Curses::Window#begy

begy

親ウィンドウの中でウィンドウの左上がある y 座標を返します。 始点は 0 です。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > bkgd

instance method Curses::Window#bkgd

bkgd(ch)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > bkgdset

instance method Curses::Window#bkgdset

bkgdset(ch)


instance method Curses::Window#box

box(ver_char, hor_char)

縦の線に ver_char、横の線に hor_char を使い ウィンドウに沿って箱を書きます。線は普通にウィンドウ内に 書かれるだけなので上書きしないよう注意してください。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > clear

instance method Curses::Window#clear

clear

ウィンドウの表示を消去します。 この操作は即座に実行されます。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > close

instance method Curses::Window#close

close

ウィンドウを閉じます。 以降のこのウィンドウオブジェクトに対する操作は例外を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > clrtoeol

instance method Curses::Window#clrtoeol

clrtoeol(color)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > color_set

instance method Curses::Window#color_set

color_set(color)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > curx

instance method Curses::Window#curx

curx

ウィンドウ内におけるカーソルの桁番号を返します。 一桁目が 0 です。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > cury

instance method Curses::Window#cury

cury

ウィンドウ内におけるカーソルの行番号を返します。 一行目が 0 です。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > delch

instance method Curses::Window#delch

delch

ウィンドウのカーソル位置から 1 バイト消去します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > deleteln

instance method Curses::Window#deleteln

deleteln

ウィンドウの、カーソルがある行を消去します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > getbkgd

instance method Curses::Window#getbkgd

getbkgd


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > getch

instance method Curses::Window#getch

getch

ウィンドウへの入力から 1 バイト読みこみます。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > getstr

instance method Curses::Window#getstr

getstr

ウィンドウへの入力から一行読みこみます。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > idlok

instance method Curses::Window#idlok

idlok(bf)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > inch

instance method Curses::Window#inch

inch

ウィンドウのカーソル位置から 1 バイト読みとって返します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > insch

instance method Curses::Window#insch

insch(ch)

ウィンドウのカーソル位置に ch (1 バイト) を挿入します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > insertln

instance method Curses::Window#insertln

insertln


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > keypad

instance method Curses::Window#keypad

keypad(val)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > keypad=

instance method Curses::Window#keypad=

keypad=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > maxx

instance method Curses::Window#maxx

maxx

移動可能な最大の x 座標を返します。 表示可能なバイト数 + 1 です。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > maxy

instance method Curses::Window#maxy

maxy

移動可能な最大の y 座標を返します。 表示可能な行 + 1 です。


instance method Curses::Window#move

move(y, x)

ウィンドウを (x,y) に移動します。

親ウィンドウからはみだす位置を指定すると無視されます。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > nodelay=

instance method Curses::Window#nodelay=

nodelay=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > noutrefresh

instance method Curses::Window#noutrefresh

noutrefresh


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > refresh

instance method Curses::Window#refresh

refresh

ウィンドウの表示を更新します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > resize

instance method Curses::Window#resize

resize(lin, col)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > scrl

instance method Curses::Window#scrl

scrl(n)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > scroll

instance method Curses::Window#scroll

scroll


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > scrollok

instance method Curses::Window#scrollok

scrollok(bf)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > setpos

instance method Curses::Window#setpos

setpos(y, x)

ウィンドウ内の (x,y) にカーソルを移動します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > setscrreg

instance method Curses::Window#setscrreg

setscrreg(top, bottom)


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > standend

instance method Curses::Window#standend

standend

強調書き込みを終了します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > standout

instance method Curses::Window#standout

standout

以後書き込む文字を強調表示します。


instance method Curses::Window#subwin

subwin(height, width, y, x)

画面の座標 (x,y) を左上端とし、幅 width 高さ height とするサブウィンドウを作成し、 それを表現する Curses::Window オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library curses > class Curses::Window > timeout=

instance method Curses::Window#timeout=

timeout=(delay)


singleton method Curses::Window.new

new(height, width, y, x)

画面の座標 (x,y) を左上端とし、幅 width 高さ height とする curses のトップレベルウィンドウを 作成し、それを表現する Curses::Window オブジェクトを 返します。


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > NEWDB

constant DBM::NEWDB

NEWDB

書き込みモードで、すでにファイルが存在したら削除して作り直します．

[SEE_ALSO] DBM.open


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > READER

constant DBM::READER

READER

読み込みモードでオープンします．

[SEE_ALSO] DBM.open


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > VERSION

constant DBM::VERSION

VERSION

libdbm のバージョンを表す文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > WRCREAT

constant DBM::WRCREAT

WRCREAT

書き込みモードで、すでにファイルが存在しなかったら作ります．

[SEE_ALSO] DBM.open


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > WRITER

constant DBM::WRITER

WRITER

書き込みモードでオープンします．

[SEE_ALSO] DBM.open


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > []

instance method DBM#[]

self[key] -> String

key をキーとする値を返します。

[PARAM] key:
キー。


instance method DBM#[]=

self[key] = value

key をキーとして、value を格納します。 value として nil を指定すると、key に対する要素を削除します。

[PARAM] key:
キー。
[PARAM] value:
値。


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > clear

instance method DBM#clear

clear -> self

DBM ファイルを空にします。


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > close

instance method DBM#close

close -> nil

DBM ファイルをクローズします。以後の操作は例外を発生させます。


instance method DBM#closed?

closed? -> bool

DBM ファイルが既に閉じられているか調べます。

既に閉じられていれば true を返します。そうでなければ false を返します。


instance method DBM#delete

delete(key) -> String

key をキーとする要素を削除します。

[RETURN]
削除した要素の値を返します。
[EXCEPTION] DBMError:
要素の削除に失敗した場合に発生します。


instance method DBM#delete_if

reject! { |key, value| ... } -> self
delete_if { |key, value| ... } -> self

ブロックを評価した値が真であれば該当する要素を削除します。

このメソッドは self を破壊的に変更します。


instance method DBM#each

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

各要素に対するイテレータ。


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > each_key

instance method DBM#each_key

each_key {|key| ... } -> self

全ての key に対して繰り返すイテレータ。


instance method DBM#each_value

each_value {|value| ... } -> self

全ての value に対して繰り返すイテレータ。


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > empty?

instance method DBM#empty?

empty?() -> bool

データベースが空の時、真を返します。


instance method DBM#fetch

fetch(key, ifnone = nil) -> String

データベースからキーを探して対応する要素の値を返します。

[PARAM] key:
キー。
[PARAM] ifnone:
キーが見つからなかった場合に返す値。
[EXCEPTION] IndexError:
ifnone を指定していないとき、キーが見つからなかった場合に発生します。
require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
p db1.fetch('a')                     #=> 'aaa'
p db1.fetch('z', 'zzz')              #=> 'zzz'
p db1.fetch('z'){|key| [:key, key] } #=> [:key, 'z']
p db1.fetch('z')                     #=> IndexError 発生

[SEE_ALSO] Hash#fetch


instance method DBM#has_key?

has_key?(key) -> bool
key?(key) -> bool
include?(key) -> bool
member?(key) -> bool

key がデータベース中に存在する時、真を返します。

[PARAM] key:
キー。


instance method DBM#has_value?

has_value?(value) -> bool
value?(value) -> bool

value を値とする組がデータベース中に存在する時、真を返します。

[PARAM] value:
検索したい値。


instance method DBM#index

index(value) -> String | nil

value を持つ要素のキーを返します。

見つからなかった場合は nil を返します。

[PARAM] value:
検索したい値。


instance method DBM#indexes

indexes(*keys) -> [String]
indices(*keys) -> [String]

各引数の値をキーとする要素の値を含む配列を返します。

このメソッドは obsolete です。

[PARAM] keys:
検索したいキー。複数指定可能。
require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
p db1.indexes('a', 'b') #=> ["aaa", "bbbbbb"]


instance method DBM#invert

invert -> Hash

値からキーへのハッシュを返します。

require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
p db1.invert  #=> {"bbbbbb" => "b", "aaa" => "a"}


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > keys

instance method DBM#keys

keys -> [String]

データベース中に存在するキー全てを含む配列を返します。


instance method DBM#length

length -> Integer
size -> Integer

データベース中の要素の数を返します。

現在の実装では要素数を数えるためにデータベースを全部検索します。


instance method DBM#reject

reject { |key, value| ... } -> Hash

ブロックを評価した値が真であれば該当する要素を削除します。

self.to_hash.reject{|key, value| ... }

と同じです。

[SEE_ALSO] Hash#reject


instance method DBM#replace

replace(other) -> self

self の内容を other の内容で置き換えます。

[PARAM] other:
each_pair メソッドを持つオブジェクトでなければなりません。
require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
db2 = DBM.open('bbb.db', 0666, DBM::NEWDB)
db2[:bb] = 'bbb'
db2[:cc] = 'ccc'

p db1.keys #=> ['b', 'a']

db1.replace(db2)

p db1.keys #=> ['bb', 'cc']
p db2.keys #=> ['bb', 'cc']

hash = {'x' => 'xxx', 'y' => 'yyy' }
p db1               #=> #<DBM:0xb7c7eb08>
p db1.replace(hash) #=> #<DBM:0xb7c7eb08>


instance method DBM#select

select {|key, value| ... } -> [Array]

ブロックを評価して真になった要素のみを配列に格納して返します。

require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'

p db1.select {|key, value| key == 'a' } #=> [["a", "aaa"]]


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > shift

instance method DBM#shift

shift -> String

データベース中の要素を一つ取り出し、データベースから削除します。


instance method DBM#store

store(key, value) -> String

key に対して value を格納します。

[PARAM] key:
キー。
[PARAM] value:
値。

[SEE_ALSO] DBM#[]=

require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
p db1.store('c', 'ccc') #=> "ccc"


instance method DBM#to_a

to_a -> [Array]

キーと値のペアを配列に変換して返します。

require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'

p db1.to_a #=> [["b", "bbbbbb"], ["a", "aaa"]]


instance method DBM#to_hash

to_hash -> Hash

self をハッシュに変換して返します。

require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
p db1.to_hash #=> {"a"=>"aaa", "b"=>"bbbbbb"}


instance method DBM#update

update(other) {|key, value| ... } -> self

self と other の内容をマージします。

重複するキーに対応する値はother の内容で上書きされます。

[PARAM] other:
each_pair メソッドを持つオブジェクトでなければなりません。
require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'
db2 = DBM.open('bbb.db', 0666, DBM::NEWDB)
db2[:bb] = 'bbb'
db2[:cc] = 'ccc'

db1.update(db2)
p db1.keys #=> ["bb", "cc", "b", "a"]


Ruby 1.8.7 Reference Manual > All Libraries > library dbm > class DBM > values

instance method DBM#values

values -> [String]

データベース中に存在する値全てを含む配列を返します。


instance method DBM#values_at

values_at(*keys) -> [String]

keys に対応する値を配列に格納して返します。

[PARAM] keys:
キー。複数指定可能です。
require 'dbm'

db1 = DBM.open('aaa.db', 0666, DBM::NEWDB)
db1[:a] = 'aaa'
db1[:b] = 'bbbbbb'

p db1.values_at('a', 'b') #=> ["aaa", "bbbbbb"]


singleton method DBM.open

open(dbname, mode = 0666, flags = nil) -> DBM
open(dbname, mode = 0666, flags = nil) {|db| ... } -> ()

dbname で指定したデータベースをモードを mode に設定してオープンします。

mode の省略値は 0666 です。mode として nil を指定すると データベースが存在しない時には新たなデータベースを作らず nil を返します。

[PARAM] dbname:
データベース名
[PARAM] mode:
データベースのオープンモード
[PARAM] flags:
以下のいずれかを指定します。
DBM::READER

データベースの読み込みのみを行う

DBM::WRITER

データベースの新規作成はせず読み書きする

DBM::WRCREAT

データベースが存在しなければ新規作成して読み書きする

DBM::NEWDB

データベースを常に新規作成して既存のデータは破棄する


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > ALIGN_DOUBLE

constant DL::ALIGN_DOUBLE

ALIGN_DOUBLE


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > ALIGN_FLOAT

constant DL::ALIGN_FLOAT

ALIGN_FLOAT


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > ALIGN_INT

constant DL::ALIGN_INT

ALIGN_INT


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > ALIGN_LONG

constant DL::ALIGN_LONG

ALIGN_LONG


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > ALIGN_SHORT

constant DL::ALIGN_SHORT

ALIGN_SHORT


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > ALIGN_VOIDP

constant DL::ALIGN_VOIDP

ALIGN_VOIDP


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > DLSTACK

constant DL::DLSTACK

DLSTACK


constant DL::FREE

FREE

free(3) を表す DL::Symbol です。 この定数に新たに DL::Symbol を代入しても、DL::PtrData にデフォルトでセットされる free 関数が変わることはありません。


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > FuncTable

constant DL::FuncTable

FuncTable


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > MAX_ARG

constant DL::MAX_ARG

MAX_ARG


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > RTLD_GLOBAL

constant DL::RTLD_GLOBAL

RTLD_GLOBAL


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > RTLD_LAZY

constant DL::RTLD_LAZY

RTLD_LAZY


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > RTLD_NOW

constant DL::RTLD_NOW

RTLD_NOW


module function DL.#callback

callback(type) -> DL::Symbol
define_callback(type) -> DL::Symbol

Cレベルのコールバック関数を定義し、その関数(へのポインタ)を保持した DL::Symbol を返します。

[PARAM] type:
コールバック関数の型指定子を与えます。
[EXCEPTION] DL::DLError:
定義できるコールバック関数の数には制限があります。それを越えると、DL::DLError が発生します。
require 'dl/import'
strlast = DL.callback('IS'){|s|
  s[-1]
}

module M
  extend DL::Importable
  dlload "./libtest.so"
  extern "int call(void *, const char*)"
end
p LIBC.call(strlast, "abcd").chr #=> "d"

 /* libtest.so */
 int call(int (*cb)(const char*), const char* s){
   return (*cb)(s);
 }


module function DL.#dlopen

dlopen(lib) -> DL::Handle
dlopen(lib) {|handle| ... } -> DL::Handle

ダイナミックライブラリ lib をロードし、 DL::Handle として返します。

ブロックが与えられている場合は、DL::Handle 引数として 与えられたブロックを実行します。DL::Handle を返します。

DL::Handle.new(lib) と等価です。

[PARAM] lib:
ロードしたいライブラリを文字列で与えます。
[EXCEPTION] RuntimeError:
dlopen(3) に失敗した時に発生します。


module function DL.#malloc

malloc(size) -> DL::PtrData

size バイトのメモリ領域を確保し、 その領域を指す DL::PtrData オブジェクトを返します。

この返り値には、DL::FREE が free 関数としてセットされています。

[PARAM] size:
必要なメモリ領域のサイズを指定します。


module function DL.#remove_callback

remove_callback(sym) -> nil

コールバック関数 sym を DL::FuncTable から削除します。 以後 sym.call を呼ぶことができなくなります。

[PARAM] sym:
テーブルから削除したい DL::Symbol オブジェクトを与えます。


module function DL.#sizeof

sizeof(type) -> Integer

型のサイズを返します。

sizeof("C") + sizeof("L") は、sizeof("CL") と等価ではありません。 後者は構造体 struct foo { char c; long l; } の 十分なサイズを返すと推定されますが、 そのサイズは C の sizeof(foo) と同じではないかもしれません。 つまり、sizeof メソッドは独自にアラインメントを考慮してサイズを決定 しますが、 C 言語のそれとは異なるかもしれません。

sizeof("L3") のように型の後に数字を付けることもできます。 指定できる型については DL を参照してください。

[PARAM] type:
型指定子を文字列で与えます。
[EXCEPTION] DL::DLTypeError:
定められた文字以外を型指定子として与えると発生します。


module function DL.#strdup

strdup(str) -> DL::PtrData

文字列 str を複製し、その新しい文字列へのポインタ DL::PtrData オブジェクトを返します。

この返り値には、DL::FREE が free 関数としてセットされています。

[PARAM] str:
文字列を与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > last_error

singleton method DL.last_error

last_error
last_error=


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL > win32_last_error

singleton method DL.win32_last_error

win32_last_error
win32_last_error=


instance method DL::Handle#[]

sym(func) -> DL::PtrData
self[func] -> DL::PtrData

関数やグローバル変数 func へのポインタを取得し、 DL::PtrData オブジェクトとして返します。

[PARAM] func:
得たいシンボルの名前を文字列で与えます。
[EXCEPTION] RuntimeError:
シンボルが見つからなかった時に発生します。
sym(func, type) -> DL::Symbol
self[func, type] -> DL::Symbol

関数 func へのポインタを取得し、 DL::Symbol オブジェクトとして返します。 type は型修飾子からなる文字列で関数のプロトタイプを示します。

[PARAM] func:
得たい関数の名前を文字列で与えます。
[PARAM] type:
関数のプロトタイプを文字列で指定します。
[EXCEPTION] RuntimeError:
シンボルが見つからなかった時に発生します。

DL の「Type Specifiers」の項も参照して下さい。


instance method DL::Handle#close

close -> Integer

自身をクローズします。成功した場合は 0 を返します。そうでない場合は、 0 以外の整数を返します。


instance method DL::Handle#disable_close

enable_close -> nil
disable_close -> nil

GC によるオブジェクトの回収時に、自身をクローズするかどうかを指定します。


instance method DL::Handle#to_i

to_i -> Integer

自身が表すハンドル(dlopen(3) が返したもの)のアドレスを返します。


instance method DL::Handle#to_ptr

to_ptr -> DL::PtrData

自身が表すハンドル(dlopen(3) が返したもの)へのポインタ DL::PtrData を返します。この返り値には、free 関数がセットされていません。


singleton method DL::Handle.new

new(lib) -> DL::Handle
new(lib) {|handle| ... } -> DL::Handle

ライブラリ lib をオープンし、Handle オブジェクトとして返します。

ブロックを指定すれば、生成した Handle を引数としてブロックを実行します。 Handle はブロックの終りで自動的にクローズされます。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/import > module DL::Importable > LIB_MAP

constant DL::Importable::LIB_MAP

LIB_MAP

ロードされたライブラリを保持するHashオブジェクトです。


instance method DL::Importable#[]

self[func] -> nil | DL::Symbol | DL::PtrData

DL::Importable#extern、DL::Importable#import または
DL::Importable#callback によって定義した、
C レベルの関数や変数名 func に対応する DL::Symbol オブジェクトを返します。

定義されていない場合は、nil を返します。

[PARAM] func:
取得したいシンボルを文字列で与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/import > module DL::Importable > _args_

instance method DL::Importable#_args_

_args_ -> [object]

直前に呼んだダイナミックライブラリの関数の引数の配列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/import > module DL::Importable > _retval_

instance method DL::Importable#_retval_

_retval_ -> object

直前に呼んだダイナミックライブラリの関数の返り値を返します。


instance method DL::Importable#callback

callback(proto) -> DL::Symbol

与えられたプロトタイプにしたがって、自身のインスタンスメソッドを C のコールバック関数に変換し、DL::Symbol として返します。

[PARAM] proto:
C の関数プロトタイプを文字列で与えます。頭文字が大文字の場合は小文字に自動的に変換されます。
require 'dl/import'
module M
  extend DL::Importable
  dlload "libc.so.6"

  def cmp(a, b)
    a.ptr.to_s[-1] <=> b.ptr.to_s[-1]
  end
  callback 'int cmp(const char **, const char **)'
  extern 'void qsort(void *, int, int, void *)'
end

a = ['1b', '2a', '3c']
ap = a.to_ptr
M.qsort(ap, a.size, DL.sizeof('P'), M['cmp'])
p ap.to_a('P').map{|s| s.to_s } #=> ["2a", "1b", "3c"]


instance method DL::Importable#define_struct

define_struct(contents) [added by dl/struct]
struct(contents) [added by dl/struct]

構造体を定義します。 contentsについては DL::Importable::Struct.new を参照せよ。


instance method DL::Importable#define_union

define_union(contents) [added by dl/struct]
union(contents) [added by dl/struct]

共用体を定義します。 contents については上記 define_struct と同様です。


instance method DL::Importable#dllink

dlload(*lib) -> ()
dllink(*lib) -> ()

DL.#dlopen を用いてライブラリをロードし、extend した モジュール内でそのライブラリで定義されている参照可能なシンボルを取得できるよ うにします。

[PARAM] lib:
ロードしたいライブラリを文字列で与えます。
[EXCEPTION] RuntimeError:
dlopen(3) に失敗した時に発生します。


instance method DL::Importable#extern

extern(proto) -> DL::Symbol

与えられたプロトタイプにしたがって、ダイナミックライブラリ内のシンボルを検索し、 自身の特異メソッドとして、定義します。

[PARAM] proto:
C の関数プロトタイプを文字列で与えます。頭文字が大文字の場合は小文字に自動的に変換されます。
require "dl/import"

module M
  extend DL::Importable
  dlload "libc.so.6"
  extern "double strtod(char*, void**)"
end

p M.strtod("1.23", nil) #=> 1.23


instance method DL::Importable#import

import(sym, rettype, argtypes = nil) -> DL::Symbol

ダイナミックライブラリ内のシンボルを検索し、 自身の特異メソッドとして、定義します。

[PARAM] sym:
欲しいシンボル名を文字列で与えます。
[PARAM] rettype:
返り値の型を、C の関数プロトタイプを使って文字列で与えます。
[PARAM] argtypes:
引数の型を、C の関数プロトタイプを使って文字列の配列で与えます。
import("get_length", "int", ["void*", "int"])


instance method DL::Importable#symbol

symbol(sym) -> DL::PtrData

ロードしたダイナミックライブラリ内のシンボルを検索し シンボルへのポインタを DL::PtrData として返します。

[PARAM] sym:
欲しいシンボル名を文字列で与えます。
[EXCEPTION] RuntimeError:
ライブラリ内でシンボルが見つからない時に発生します。
symbol(func, typespec) -> DL::Symbol

ロードしたダイナミックライブラリ内の関数を検索し 名前が func の関数を DL::Symbol として返します。

[PARAM] func:
欲しい関数名を文字列で与えます。
[PARAM] typespec:
関数の型を型指定子を使って文字列で与えます。
[EXCEPTION] RuntimeError:
ライブラリ内でシンボルが見つからない時に発生します。


instance method DL::Importable#typealias

typealias(newtype, oldtype) -> ()

newtype 型を oldtype 型のエイリアスとして定義する。 newtype で与えた型は extern や callback メソッド のプロトタイプを与えるときに利用します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Memory > size

instance method DL::Importable::Memory#size

size

DL::PtrData#size を呼びます。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Memory > to_ptr

instance method DL::Importable::Memory#to_ptr

to_ptr

保持している DL::PtrData オブジェクトを返します。


singleton method DL::Importable::Memory.new

new(ptr, names, ty, len, enc, dec)

DL::PtrData オブジェクト ptr の各メンバへアクセスするためのメソッドを 動的に定義する。Struct, Union のインスタンスがこれらの情報を保持する。


instance method DL::Importable::Struct#malloc

malloc(size = nil)

sizeバイトの領域を確保してDL::PtrDataオブジェクトを生成し、その DL::PtrDataオブジェクトを保持するMemoryオブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Struct > members

instance method DL::Importable::Struct#members

members

構造体の要素名で構成される Array オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Struct > new

instance method DL::Importable::Struct#new

new(ptr)

DL::PtrData オブジェクト ptr を保持する Memory オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Struct > parse

instance method DL::Importable::Struct#parse

parse(contents)


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Struct > parse_elem

instance method DL::Importable::Struct#parse_elem

parse_elem(elem)


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Struct > size

instance method DL::Importable::Struct#size

size

malloc されたサイズを返します。


singleton method DL::Importable::Struct.new

new(types, contents)

types には DL::Types のインスタンス、contents には構造体の定義を 以下のようにして与える。

["int size",
 "char *str"]

このようにして生成されたStructオブジェクトは、以下の構造体のように振舞う。

struct {
  int size;
  char *str;
}


Ruby 1.8.7 Reference Manual > All Libraries > library dl/struct > class DL::Importable::Union > new

instance method DL::Importable::Union#new

new


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL::MemorySpace > MemoryTable

constant DL::MemorySpace::MemoryTable

MemoryTable


Ruby 1.8.7 Reference Manual > All Libraries > library dl > module DL::MemorySpace > each

module function DL::MemorySpace.#each

each


instance method DL::PtrData#+

self + n -> DL::PtrData

自身のアドレスに n バイトを足した新しい PtrData オブジェクトを返します。

この返り値には、free 関数がセットされていません。

[PARAM] n:
アドレスの増分を整数で指定します。


instance method DL::PtrData#+@

ptr -> DL::PtrData
+ -> DL::PtrData

自身の指す値を PtrData にして返します。 自身の指す値はポインタであると仮定します。 C 言語におけるポインタのポインタに対する間接参照 *p と同じです。

この返り値には、free 関数がセットされていません。

a = ['abc', 'def'].to_ptr
p a.ptr.to_s #=> "abc"


instance method DL::PtrData#-

self - n -> DL::PtrData

自身のアドレスから n バイトを引いた新しい PtrData オブジェクトを返します。

この返り値には、free 関数がセットされていません。

[PARAM] n:
アドレスの差分を整数で指定します。


instance method DL::PtrData#-@

ref -> DL::PtrData
- -> DL::PtrData

自身を指す PtrData オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

この返り値には、free 関数がセットされていません。

s = "abc".to_ptr
p s == s.ref.ptr #=> true


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::PtrData > <=>

instance method DL::PtrData#<=>

self <=> other -> Integer

ポインタの指すアドレスの大小を比較します。


instance method DL::PtrData#==

self == other -> bool
eql?(other) -> bool

ポインタの指すアドレスが同一かどうかを判定します。


instance method DL::PtrData#[]

self[key] -> object

構造体または共用体メンバ key の値を返します。返り値は DL::PtrData#struct! または DL::PtrData#union! によって定義された型により、Ruby のオブジェクトへ 変換されたものです。

[PARAM] key:
取得したい構造体か共用体のメンバの名前を、シンボルか文字列を指定します。
self[offset, len = 0] -> String

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトを複製し、 文字列として返します。(self + offset).to_s(len) と同等です。 offset + len が自身のサイズより小さいかを検証しません。

[PARAM] offset:
値を得たい領域の先頭のアドレスまでのオフセットを整数で与えます。
[PARAM] len:
値を得たい領域のサイズを指定します。


instance method DL::PtrData#[]=

self[key] = val

構造体または共用体メンバ key の値を val にします。

[PARAM] key:
構造体か共用体のメンバの名前を文字列かシンボルで指定します。
[PARAM] val:
自身のメンバにセットしたい値を指定します。
self[offset] = str

自身の指すアドレスに offset バイトを足したメモリ領域に 文字列 str をコピーします。コピー先の領域が str のサイズより大きいか検証しません。

[PARAM] offset:
書き換えたいメモリ領域のオフセットを整数で与えます。
[PARAM] str:
メモリ領域にセットしたいバイト列を文字列で指定します。
self[offset, len] = str

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトに 文字列 str をコピーします。str のサイズが len より小さい場合は、残りの領域を 0 で埋めます。 コピー先の領域が len より大きいか検証しません。

[PARAM] offset:
書き換えたいメモリ領域のオフセットを整数で与えます。
[PARAM] len:
書き換えたいメモリ領域のサイズを整数で指定します。
[PARAM] str:
メモリ領域にセットしたいバイト列を文字列で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::PtrData > data_type

instance method DL::PtrData#data_type

data_type -> [object]

使ってはいけません。


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::PtrData > define_data_type

instance method DL::PtrData#define_data_type

define_data_type -> nil

使ってはいけません。


instance method DL::PtrData#free

free -> DL::Symbol

GC がメモリを解放するのに使用するシンボルオブジェクト sym を返します。 sym は普通 PtrData#free= や PtrData.new によって設定されます。


instance method DL::PtrData#free=

free=(sym)

GC が自身を解放するのに使う関数を DL::Symbol で指定します。

[PARAM] sym:
自身を解放するのに使われる関数を DL::Symbol で指定します。


instance method DL::PtrData#null?

null? -> bool

自身が NULL なら true を返します。そうでないなら false を返します。


instance method DL::PtrData#size

size -> Integer
size=(s)

自身の指す領域のサイズを返します。 s を指定した場合は、自身の指す領域のサイズは s であると設定します。 ただし、自身が指すメモリのサイズが s になるように再割り当てはしません。

[PARAM] s:
自身が指すメモリのサイズを指定します。


instance method DL::PtrData#struct!

struct!(type, *members) -> nil

構造体のメンバにメソッド DL::PtrData#[] でアクセスできるようにします。 C 言語における構造体のポインタへのキャストと同じです。

ptr = DL.malloc(DL.sizeof('LL'))
ptr.struct!('LL', :tv_sec, :tv_usec)
ptr[:tv_sec] = 10
p ptr[:tv_sec] #=> 10
[PARAM] type:
構造体のメンバの型を文字列で指定します。型指定子は DL を参照して下さい。
[PARAM] members:
メンバの名前を文字列かシンボルで指定します。


instance method DL::PtrData#to_a

to_a(type) -> [object]
to_a(type, size) -> [object]

自身が指す領域から type で指定された型の配列を複製して返します。 type は 'S','P','I','L','D' そして 'F' のいずれかです。 size を指定した場合は、自身が指す領域からサイズが size である配列を 複製します。

size が自身のサイズより小さいかを検査しません。

type が定めされた型指定子でない場合、空の配列を返します。

[PARAM] type:
自身の要素の型を、長さが 1 の文字列で指定します。
[PARAM] size:
得たい配列のサイズを整数で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::PtrData > to_i

instance method DL::PtrData#to_i

to_i -> Integer

自身が指すアドレスを整数で返します。


instance method DL::PtrData#to_s

to_s -> String
to_s(len) -> String

自身が指す領域から長さ len の文字列を複製して返します。

len を省略した場合は、文字列の終りは '\0' であると仮定して、 strlen(3) を使って長さを算出します。

[PARAM] len:
文字列の長さを整数で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::PtrData > to_str

instance method DL::PtrData#to_str

to_str


instance method DL::PtrData#union!

union!(type, *members) -> nil

共用体のメンバにメソッド DL::PtrData#[] でアクセスできるようにします。 C 言語における共用体のポインタへのキャストと同じです。

[PARAM] type:
共用体の型を文字列で指定します。型指定子は DL を参照して下さい。
[PARAM] members:
メンバの名前を文字列かシンボルで指定します。


singleton method DL::PtrData.malloc

malloc(size, free = nil) -> DL::PtrData

サイズが size であるメモリ領域を確保し、それを指す DL::PtrData を返します。

[PARAM] size:
確保したいメモリ領域のサイズを指定します。
[PARAM] free:
返り値にセットされる free 関数を DL::Symbol で指定します。


singleton method DL::PtrData.new

new(addr, size = 0, free = nil) -> DL::PtrData

アドレス addr を指すポインタに相当する PtrData オブジェクトを返します。

size を指定した場合、アドレス addr に確保されているメモリ領域のサイズは size であるとします。 GC は free 関数を使用してメモリを解放します。

[PARAM] addr:
生成する PtrData オブジェクトが指すアドレスを整数で指定します。
[PARAM] size:
生成する PtrData オブジェクトが指すメモリ領域のサイズを整数で指定します。
[PARAM] free:
生成する PtrData オブジェクトの free 関数を DL::Symbol で指定します。


instance method DL::Symbol#[]

call(*args) -> object
self[*args] -> object

自身が表しているライブラリ関数を呼び出します。関数の 戻り値 result と、 call に渡された引数の配列 args = [arg1, arg2, ... argN] からなる配列 [result, args] を返します。

require 'dl'
h = DL.dlopen('./libtest.so')
s = h.sym('slen', 'IS')
result, args = s.call('abc')
p result #=> 3
p args   #=> ["abc"]

 /* libtest.so */
 int slen(const char* s){
   return strlen(s);
 }


instance method DL::Symbol#cproto

cproto -> String
to_s -> String

C 言語形式のプロトタイプを文字列で返します。

require 'dl'
h = DL.dlopen('./libtest.so')
s = h.sym('slen', 'IS')

p s.cproto #=> "int slen(const char *);"


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::Symbol > inspect

instance method DL::Symbol#inspect

inspect -> String

人間が読みやすい形式の文字列を返します。


instance method DL::Symbol#name

name -> String

関数名を文字列で返します。

require 'dl'
h = DL.dlopen('./libtest.so')
s = h.sym('slen', 'IS')

p s.name #=> "slen"


instance method DL::Symbol#proto

proto -> String

関数のプロトタイプを DL モジュールの型指定文字列で返します。

require 'dl'
h = DL.dlopen('./libtest.so')
s = h.sym('slen', 'IS')

p s.proto #=> "IS"


Ruby 1.8.7 Reference Manual > All Libraries > library dl > class DL::Symbol > to_i

instance method DL::Symbol#to_i

to_i -> Integer

ダイナミックライブラリの関数のアドレスを返します。


instance method DL::Symbol#to_ptr

to_ptr -> DL::PtrData

ダイナミックライブラリの関数へのポインタ DL::PtrData を返します。


singleton method DL::Symbol.char2type

char2type(char) -> String | nil

型に相当する文字 char を取り、C 言語の型修飾を返します。 char が型指定子でない場合は、nil を返します。

[PARAM] char:
型指定子を文字列で与えます。


singleton method DL::Symbol.new

new(addr, type = nil, name = nil) -> DL::Symbol

ダイナミックライブラリの関数のアドレス addr から DL::Symbol を生成して返します。

[PARAM] addr:
関数のアドレスを整数で与えます。
[PARAM] type:
関数の型を型指定子を使って文字列で与えます。
[PARAM] name:
関数の名前を文字列で与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/types > class DL::Types > TYPES

constant DL::Types::TYPES

TYPES

インスタンス変数 @TYDEFS の初期値。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/types > class DL::Types > encode_argument_type

instance method DL::Types#encode_argument_type

encode_argument_type(alias_type)


Ruby 1.8.7 Reference Manual > All Libraries > library dl/types > class DL::Types > encode_return_type

instance method DL::Types#encode_return_type

encode_return_type(ty)


Ruby 1.8.7 Reference Manual > All Libraries > library dl/types > class DL::Types > encode_struct_type

instance method DL::Types#encode_struct_type

encode_struct_type(alias_type)


instance method DL::Types#encode_type

encode_type(alias)

DL モジュールで用いる型定義と Ruby のオブジェクトを DL モジュールで用いるデータへのエンコード用 Proc オブジェクトと、 DL モジュールのデータから Ruby オブジェクトへのデコード用の Proc オブジェクトの組を次の通りの Array として返す。

[ty,enc,dec,senc,sdec]
ty : DLでの型指定子
enc : エンコード用Proc
dec : デコード用Proc
senc : エンコード用Proc(dl/structで使用)
sdec : デコード用Proc(dl/structで使用)


Ruby 1.8.7 Reference Manual > All Libraries > library dl/types > class DL::Types > init_types

instance method DL::Types#init_types

init_types


instance method DL::Types#typealias

typealias(alias, type, enc, dec, struct_enc, struct_dec)

型定義の追加を行う。

インスタンス変数 @TYDEFS の先頭に

[alias, type,
 enc, dec, struct_end, struct_dec]

の組を追加する。


module function DRb.#config

config

Get the configuration of the current server.

If there is no current server, this returns the default configuration. See #current_server and DRbServer::make_config.


module function DRb.#current_server

current_server

Get the 'current' server.

In the context of execution taking place within the main thread of a dRuby server (typically, as a result of a remote call on the server or one of its objects), the current server is that server. Otherwise, the current server is the primary server.

If the above rule fails to find a server, a DRbServerNotFound error is raised.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > module DRb > fetch_server

module function DRb.#fetch_server

fetch_server(uri)


module function DRb.#front

front

Get the front object of the current server.

This raises a DRbServerNotFound error if there is no current server. See DRb.#current_server.


module function DRb.#here?

here?(uri)

Is uri the URI for the current local server?


module function DRb.#install_acl

install_acl(acl)

Set the default acl.

See DRb::DRbServer.default_acl.


module function DRb.#install_id_conv

install_id_conv(idconv)

Set the default id conv object. See DRb::DRbServer.default_id_conv.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > module DRb > regist_server

module function DRb.#regist_server

regist_server(server)


Ruby 1.8.7 Reference Manual > All Libraries > library drb > module DRb > remove_server

module function DRb.#remove_server

remove_server(server)


module function DRb.#start_service

start_service(uri=nil, front=nil, config=nil)

Start a dRuby server locally.

The new dRuby server will become the primary server, even if another server is currently the primary server.

uri is the URI for the server to bind to. If nil, the server will bind to random port on the default local host name and use the default dRuby protocol.

front is the server's front object. This may be nil.

config is the configuration for the new server. This may be nil.

See DRbServer::new.


module function DRb.#stop_service

stop_service

Stop the local dRuby server.

This operates on the primary server. If there is no primary server currently running, it is a noop.


module function DRb.#thread

thread

Get the thread of the primary server.

This returns nil if there is no primary server. See #primary_server.


module function DRb.#to_id

to_id(obj)

Get a reference id for an object using the current server.

This raises a DRbServerNotFound error if there is no current server. See #current_server.


module function DRb.#to_obj

to_obj(ref)

Convert a reference into an object using the current server.

This raises a DRbServerNotFound error if there is no current server. See #current_server.


module function DRb.#uri

uri

Get the URI defining the local dRuby space.

This is the URI of the current server. See #current_server.


instance method DRb::DRbIdConv#to_id

to_id(obj)

Convert an object into a reference id. This implementation returns the object's id in the local object space.


instance method DRb::DRbIdConv#to_obj

to_obj(ref)

Convert an object reference id to an object. This implementation looks up the reference id in the local object space and returns the object it refers to.


instance method DRb::DRbObject#==

self == other
eql?(other)

DRb::DRbObject オブジェクト同士の同値判定は、 オブジェクトが参照している URI と識別子が等しいかどうかでします。


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbObject > __drbref

instance method DRb::DRbObject#__drbref

__drbref

Get the reference of the object, if local.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbObject > __drburi

instance method DRb::DRbObject#__drburi

__drburi

Get the URI of the remote object.


instance method DRb::DRbObject#method_missing

method_missing(msg_id, *a, &b)

Routes method calls to the referenced object.


singleton method DRb::DRbObject._load

_load(s)

Unmarshall a marshalled DRbObject.

If the referenced object is located within the local server, then the object itself is returned. Otherwise, a new DRbObject is created to act as a stub for the remote referenced object.


singleton method DRb::DRbObject.new

new(obj, uri=nil)

Create a new remote object stub.

obj is the (local) object we want to create a stub for. Normally this is nil. uri is the URI of the remote object that this will be a stub for.


singleton method DRb::DRbObject.new_with_uri

new_with_uri(uri)

Create a new DRbObject from a URI alone.


module function DRb::DRbProtocol.#add_protocol

add_protocol(prot)

Add a new protocol to the DRbProtocol module.

A protocol must define the following class methods:

open(uri, config)

Open a client connection to the server at uri, using configuration config. Return a protocol instance for this connection.

open_server(uri, config)

Open a server listening at uri, using configuration config. Return a protocol instance for this listener.

uri_option(uri, config)

Take a URI, possibly containing an option component (e.g. a trailing '?param=val'), and return a [uri, option] tuple.

The DRbProtocol module asks each registered protocol in turn to try to open the URI. Each protocol signals that it does not handle that URI by raising a DRb::DRbBadScheme error. If no protocol recognises the URI, then a DRb::DRbBadURI error is raised. If a protocol accepts the URI, but an error occurs in opening it, a DRb::DRbConnError is raised.

open_server

The protocol instance returned by open_server must have the following methods:

accept

Accept a new connection to the server. Returns a protocol instance capable of communicating with the client.

close

Close the server connection.

uri

Get the URI for this server.

open

The protocol instance returned by open must have the following methods:

send_request (ref, msg_id, arg, b)

Send a request to ref with the given message id and arguments. This is most easily implemented by calling DRbMessage.send_request, providing a stream that sits on top of the current protocol.

recv_reply

Receive a reply from the server and return it as a [success-boolean, reply-value] pair. This is most easily implemented by calling DRb.recv_reply, providing a stream that sits on top of the current protocol.

alive?

Is this connection still alive?

close

Close this connection.

open_server().accept()

The protocol instance returned by open_server().accept() must have the following methods:

recv_request

Receive a request from the client and return a [object, message, args, block] tuple. This is most easily implemented by calling DRbMessage.recv_request, providing a stream that sits on top of the current protocol.

send_reply(succ, result)

Send a reply to the client. This is most easily implemented by calling DRbMessage.send_reply, providing a stream that sits on top of the current protocol.

close

Close this connection.


constant DRb::DRbServer::INSECURE_METHOD

INSECURE_METHOD

List of insecure methods. These methods are not callable via dRuby.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbServer > alive?

instance method DRb::DRbServer#alive?

alive?

Is this server alive?


instance method DRb::DRbServer#check_insecure_method

check_insecure_method(obj, msg_id)

Check that a method is callable via dRuby. obj is the object we want to invoke the method on. msg_id is the method name, as a Symbol. If the method is an insecure method (see insecure_method?) a SecurityError is thrown. If the method is private or undefined, a NameError is thrown.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbServer > config

instance method DRb::DRbServer#config

config

The configuration of this DRbServer


instance method DRb::DRbServer#front

front

The front object of the DRbServer.

This object receives remote method calls made on the server’s URI alone, with an object id.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbServer > safe_level

instance method DRb::DRbServer#safe_level

safe_level


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbServer > stop_service

instance method DRb::DRbServer#stop_service

stop_service()

Stop this server.


instance method DRb::DRbServer#thread

thread

The main thread of this DRbServer.

This is the thread that listens for and accepts connections from clients, not that handles each client’s request-response session.


instance method DRb::DRbServer#to_id

to_id(obj)

Convert a local object to a dRuby reference.


instance method DRb::DRbServer#to_obj

to_obj(ref)

Convert a dRuby reference to the local object it refers to.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbServer > uri

instance method DRb::DRbServer#uri

uri

The URI of this DRbServer.


instance method DRb::DRbServer#verbose

verbose
verbose=

Get whether the server is in verbose mode. In verbose mode, failed calls are logged to stdout.


singleton method DRb::DRbServer.default_acl

default_acl(acl)

Set the default value for the :acl option. See new(). The initial default value is nil.


singleton method DRb::DRbServer.default_argc_limit

default_argc_limit(argc)

Set the default value for the :argc_limit option. See new(). The initial default value is 256.


singleton method DRb::DRbServer.default_id_conv

default_id_conv(idconv)

Set the default value for the :id_conv option. See #new(). The initial default value is a DRb::DRbIdConv instance.


singleton method DRb::DRbServer.default_load_limit

default_load_limit(sz)

Set the default value for the :load_limit option. See new(). The initial default value is 25 MB.


Ruby 1.8.7 Reference Manual > All Libraries > library drb > class DRb::DRbServer > default_safe_level

singleton method DRb::DRbServer.default_safe_level

default_safe_level(level)


singleton method DRb::DRbServer.new

new(uri=nil, front=nil, config_or_acl=nil)

Create a new DRbServer instance.

uri is the URI to bind to. This is normally of the form ‘druby://<hostname>:<port>’ where <hostname> is a hostname of the local machine. If nil, then the system’s default hostname will be bound to, on a port selected by the system; these value can be retrieved from the uri attribute. ‘druby:’ specifies the default dRuby transport protocol: another protocol, such as ‘drbunix:’, can be specified instead.

front is the front object for the server, that is, the object to which remote method calls on the server will be passed. If nil, then the server will not accept remote method calls.

If config_or_acl is a hash, it is the configuration to use for this server. The following options are recognised:

idconv

an id-to-object conversion object. This defaults to an instance of the class DRb::DRbIdConv.

verbose

if true, all unsuccessful remote calls on objects in the server will be logged to $stdout. false by default.

tcp_acl

the access control list for this server. See the ACL class from the main dRuby distribution.

load_limit

the maximum message size in bytes accepted by the server. Defaults to 25 MB (26214400).

argc_limit

the maximum number of arguments to a remote method accepted by the server. Defaults to 256.

The default values of these options can be modified on a class-wide basis by the class methods default_argc_limit, default_load_limit, default_acl, default_id_conv, and verbose=

If config_or_acl is not a hash, but is not nil, it is assumed to be the access control list for this server. See the :tcp_acl option for more details.

If no other server is currently set as the primary server, this will become the primary server.

The server will immediately start running in its own thread.


singleton method DRb::DRbServer.verbose

verbose
verbose=

Get the default value of the :verbose option. See new(). The initial default value is false.


instance method DRb::DRbUnknown#exception

exception()

Create a DRbUnknownError exception containing this object.


instance method DRb::DRbUnknown#reload

reload()

Attempt to load the wrapped marshalled object again.

If the class of the object is now known locally, the object will be unmarshalled and returned. Otherwise, a new but identical DRbUnknown object will be returned.


singleton method DRb::DRbUnknown.new

new(err, buf)

Create a new DRbUnknown object.

buf is a string containing a marshalled object that could not be unmarshalled. err is the error message that was raised when the unmarshalling failed. It is used to determine the name of the unmarshalled object.


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extserv > class DRb::ExtServ > alive?

instance method DRb::ExtServ#alive?

alive?


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extserv > class DRb::ExtServ > front

instance method DRb::ExtServ#front

front


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extserv > class DRb::ExtServ > server

instance method DRb::ExtServ#server

server


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extserv > class DRb::ExtServ > stop_service

instance method DRb::ExtServ#stop_service

stop_service


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extserv > class DRb::ExtServ > new

singleton method DRb::ExtServ.new

new(there, name, server=nil)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extservm > class DRb::ExtServManager > regist

instance method DRb::ExtServManager#regist

regist(name, ro)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extservm > class DRb::ExtServManager > service

instance method DRb::ExtServManager#service

service(name)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extservm > class DRb::ExtServManager > unregist

instance method DRb::ExtServManager#unregist

unregist(name)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extservm > class DRb::ExtServManager > command

singleton method DRb::ExtServManager.command

command
command=(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/extservm > class DRb::ExtServManager > new

singleton method DRb::ExtServManager.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library drb/gw > class DRb::GW > []

instance method DRb::GW#[]

self[key]
self[key] = v


Ruby 1.8.7 Reference Manual > All Libraries > library drb/gw > class DRb::GW > new

singleton method DRb::GW.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library drb/timeridconv > class DRb::TimerIdConv > to_id

instance method DRb::TimerIdConv#to_id

to_id(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/timeridconv > class DRb::TimerIdConv > to_obj

instance method DRb::TimerIdConv#to_obj

to_obj(ref)


Ruby 1.8.7 Reference Manual > All Libraries > library drb/timeridconv > class DRb::TimerIdConv > new

singleton method DRb::TimerIdConv.new

new(timeout=600)


constant Date::ENGLAND

ENGLAND

英国がグレゴリオ暦をつかい始めた日 (1752年9月14日) をあらわすユリウス日です。 この "ENGLAND" の名前は、旧い UNIX の cal(1) の記述に由来します。

[SEE_ALSO] http://www.cs.bell-labs.com/who/dmr/man61.pdf

ちなみに、本実装で英国の改暦日を尊重する姿勢がみられるのは前実装からの影響です。 前実装が英国の改暦日を尊重していたのは、おそらく cal(1) の影響です。 もっとも本実装で一番に尊重されているのは、伊国の改暦日であり、多くの場合、 改暦日の既定値は Date::ITALY です。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > GREGORIAN

constant Date::GREGORIAN

GREGORIAN

常にグレゴリオ暦であることを示します。 改暦日は無限の過去にあると考えられます。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > ITALY

constant Date::ITALY

ITALY

伊国がグレゴリオ暦をつかい始めた日 (1582年10月15日) をあらわすユリウス日です。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > JULIAN

constant Date::JULIAN

JULIAN

常にユリウス暦であることを示します。 改暦日は無限の未来にあると考えられます。


instance method Date#+

self + n -> Date

self から n 日後の日付オブジェクトを返します。 n は数値でなければなりません。

[PARAM] n:
日数
[EXCEPTION] TypeError:
数値でない


instance method Date#-

self - x -> Rational | Date

x が日付オブジェクトなら、ふたつの差を返します。 あるいは x が数値ならば、self より x 日前の日付を返します。

[PARAM] x:
日数、あるいは日付オブジェクト
[EXCEPTION] TypeError:
数値でも日付オブジェクトでもない


instance method Date#<<

self << n -> Date

self より n ヶ月前の日付オブジェクトを返します。 n は数値でなければなりません。

[PARAM] n:
月数


instance method Date#<=>

self <=> other -> Integer

ふたつを比較し、-1、零、あるいは 1 を返します。 other は日付オブジェクトか、 天文学的なユリウス日をあらわす数値でなければなりません。

[PARAM] other:
日付オブジェクト


instance method Date#===

self === other -> bool

同じ日なら真を返します。

[PARAM] other:
日付オブジェクト


instance method Date#>>

self >> n -> Date

self から n ヶ月後の日付オブジェクトを返します。 n は数値でなければなりません。

[PARAM] n:
月数


instance method Date#ajd

ajd -> Rational

このメソッドは Date#jd と似ていますが、天文学的なユリウス日を返します。 時刻を含みます。


instance method Date#amjd

amjd -> Rational

このメソッドは Date#mjd と似ていますが、天文学的な修正ユリウス日を返します。 時刻を含みます。


instance method Date#asctime

asctime -> String
ctime -> String

asctime(3) 書式の文字列を返します (ただし、末尾の "\n\0" は除く)。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > cwday

instance method Date#cwday

cwday -> Integer

暦週の日 (曜日) を返します (1-7、月曜は1)。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > cweek

instance method Date#cweek

cweek -> Integer

暦週を返します (1-53)。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > cwyear

instance method Date#cwyear

cwyear -> Integer

暦週における年を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > day

instance method Date#day

mday -> Integer
day -> Integer

月の日を返します (1-31)。


instance method Date#downto

downto(min) {|date| ...} -> self

このメソッドは、step(min, -1){|date| ...} と等価です。

Date#step を参照してください。

[PARAM] min:
日付オブジェクト


instance method Date#england

england -> Date

このメソッドは、new_start(Date::ENGLAND) と等価です。

Date#new_start、および Date::ENGLAND を参照してください。


instance method Date#gregorian

gregorian -> Date

このメソッドは、new_start(Date::GREGORIAN) と等価です。

Date#new_start、および Date::GREGORIAN を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > gregorian?

instance method Date#gregorian?

gregorian? -> bool

グレゴリオ暦なら真を返します。


instance method Date#italy

italy -> Date

このメソッドは、new_start(Date::ITALY) と等価です。

Date#new_start、および Date::ITALY を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > jd

instance method Date#jd

jd -> Integer

ユリウス日を返します。 時刻を含みません。

Date#ajd も参照してください。


instance method Date#julian

julian -> Date

このメソッドは、new_start(Date::JULIAN) と等価です。

Date#new_start、および Date::JULIAN を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > julian?

instance method Date#julian?

julian? -> bool

ユリウス暦なら真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > ld

instance method Date#ld

ld -> Integer

リリウス日を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > leap?

instance method Date#leap?

leap? -> bool

閏年なら真を返します。


instance method Date#mjd

mjd -> Integer

修正ユリウス日を返します。 時刻の情報を含みません。

Date#amjd も参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > mon

instance method Date#mon

mon -> Integer
month -> Integer

月を返します (1-12)。


instance method Date#new_start

new_start(start = Date::ITALY) -> Date

self を複製して、その改暦日を設定しなおします。 引数を省略した場合は、Date::ITALY (1582年10月15日) になります。

Date.new も参照してください。

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[PARAM] n:
年数


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > next

instance method Date#next

succ -> Date
next -> Date

翌日の日付オブジェクトを返します。


instance method Date#start

start -> Integer

改暦日をあらわすユリウス日を返します。

Date.new も参照してください。


instance method Date#step

step(limit, step = 1) {|date| ...} -> self

ブロックの評価を繰り返します。ブロックは日付オブジェクトをとります。 limit は日付オブジェクトでなければなりません、 また step は非零でなければなりません。

[PARAM] limit:
日付オブジェクト
[PARAM] step:
歩幅


instance method Date#strftime

strftime(format = '%F') -> String

与えられた雛型で日付を書式づけます。

つぎの変換仕様をあつかいます:

%A, %a, %B, %b, %C, %c, %D, %d, %e, %F, %G, %g, %H, %h, %I, %j, %k, %l, %M, %m, %n, %P, %p, %R, %r, %S, %s, %T, %t, %U, %u, %V, %v, %W, %w, %X, %x, %Y, %y, %Z, %z, %%, %+

1.8.6 以降では、%L, %N, %Q もつかえます。 また、GNU 版にあるような幅指定などもできます。

strftime(3)、および Date.strptime も参照してください。

[PARAM] format:
書式


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > to_s

instance method Date#to_s

to_s -> String

[[ISO:8601]] 書式の文字列を返します (拡大表記はつかいません)。


instance method Date#upto

upto(max) {|date| ...} -> self

このメソッドは、step(max, 1){|date| ...} と等価です。

Date#step を参照してください。

[PARAM] max:
日付オブジェクト


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > wday

instance method Date#wday

wday -> Integer

曜日を返します (0-6、日曜日は零)。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > yday

instance method Date#yday

yday -> Integer

年の日を返します (1-366)。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class Date > year

instance method Date#year

year -> Integer

年を返します。


singleton method Date._parse

_parse(str, complete = false) -> Hash

このメソッドは Date.parse と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

Date.parse も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] complete:
年を補完するか


singleton method Date._strptime

_strptime(str, format = '%F') -> Hash

このメソッドは Date.strptime と似ていますが、日付オブジェクトを生成せずに、 見いだした要素をハッシュで返します。

[PARAM] str:
日付をあらわす文字列
[PARAM] format:
書式


singleton method Date.civil

civil(year = -4712, mon = 1, mday = 1, start = Date::ITALY) -> Date
new(year = -4712, mon = 1, mday = 1, start = Date::ITALY) -> Date

暦日付に相当する日付オブジェクトを生成します。

このクラスでは、紀元前の年を天文学の流儀で勘定します。 1年の前は零年、零年の前は-1年、のようにします。 月、および月の日は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

最後の引数は、グレゴリオ暦をつかい始めた日をあらわすユリウス日です。 省略した場合は、Date::ITALY (1582年10月15日) になります。

Date.jd も参照してください。

[PARAM] year:
年
[PARAM] mon:
月
[PARAM] mday:
日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付


singleton method Date.commercial

commercial(cwyear = 1582, cweek = 41, cwday = 5, start = Date::ITALY) -> Date

暦週日付に相当する日付オブジェクトを生成します。

週、および週の日 (曜日) は負、 または正の数でなければなりません(負のときは最後からの序数)。 零であってはなりません。

このメソッドに改暦前の日付を与えることはできません。

Date.jd、および Date.new も参照してください。

[PARAM] cwyear:
年
[PARAM] cweek:
週
[PARAM] cwday:
週の日 (曜日)
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付


singleton method Date.gregorian_leap?

gregorian_leap?(year) -> bool
leap?(year) -> bool

グレゴリオ暦の閏年なら真を返します。

[PARAM] year:
年


singleton method Date.jd

jd(jd = 0, start = Date::ITALY) -> Date

ユリウス日に相当する日付オブジェクトを生成します。

このクラスのいくつかの重要なメソッドで、 負のユリウス日は保証されません。

Date.new も参照してください。

[PARAM] jd:
ユリウス日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


singleton method Date.julian_leap?

julian_leap?(year) -> bool

ユリウス暦の閏年なら真を返します。

西暦4年は真になりますが、 これは歴史的には正しくありません。

[PARAM] year:
年


singleton method Date.ordinal

ordinal(year = -4712, yday = 1, start = Date::ITALY) -> Date

年間通算日 (年日付) に相当する日付オブジェクトを生成します。

年の日は負、 または正の数でなければなりません (負のときは最後からの序数)。 零であってはなりません。

Date.jd、および Date.new も参照してください。

[PARAM] year:
年
[PARAM] yday:
年の日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付


singleton method Date.parse

parse(str = '-4712-01-01', complete = false, start = Date::ITALY) -> Date

与えられた日付表現を解析し、 その情報に基づいて日付オブジェクトを生成します。

complete が真で、年が "00" から "99" の範囲であれば、 年の下2桁表現であるとみなしこれを補います。 なお、省略した場合は、偽とみなします。

Date._parse も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] complete:
年を補完するか
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付


singleton method Date.strptime

strptime(str = '-4712-01-01', format = '%F', start = Date::ITALY) -> Date

与えられた雛型で日付表現を解析し、 その情報に基づいて日付オブジェクトを生成します。

Date._strptime も参照してください。 また strptime(3)、および Date#strftime も参照してください。

[PARAM] str:
日付をあらわす文字列
[PARAM] format:
書式
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日付


singleton method Date.today

today(start = Date::ITALY) -> Date

現在の日付に相当する日付オブジェクトを生成します。

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


singleton method Date.valid_civil?

valid_civil?(year, mon, mday, start = Date::GREGORIAN) -> Numeric | nil
valid_date?(year, mon, mday, start = Date::GREGORIAN) -> Numeric | nil

正しい暦日付であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

Date.jd、および Date.civil も参照してください。

[PARAM] year:
年
[PARAM] mon:
月
[PARAM] mday:
日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


singleton method Date.valid_commercial?

valid_commercial?(cwyear, cweek, cwday, start = Date::GREGORIAN) -> Numeric | nil

正しい暦週日付であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

Date.jd、および Date.commercial も参照してください。

[PARAM] cwyear:
年
[PARAM] cweek:
週
[PARAM] cwday:
週の日 (曜日)
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


singleton method Date.valid_jd?

valid_jd?(jd, start = Date::GREGORIAN) -> Numeric | nil

ひとつ目の引数をそのまま返します。

対称性のため用意されていますが、実際的に意味はありません。

Date.jd も参照してください。

[PARAM] jd:
ユリウス日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


singleton method Date.valid_ordinal?

valid_ordinal?(year, yday, start = Date::GREGORIAN) -> Numeric | nil

正しい年間通算日 (年日付) であれば、相当するユリウス日を返します。 そうでないなら、偽を返します。

Date.jd、および Date.ordinal も参照してください。

[PARAM] year:
年
[PARAM] yday:
年の日
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


instance method DateTime#hour

hour -> Integer

時間を返します (0-23)。

[PARAM] n:
小数点以下の桁数
[PARAM] n:
小数点以下の桁数


Ruby 1.8.7 Reference Manual > All Libraries > library date > class DateTime > min

instance method DateTime#min

min -> Integer

分を返します (0-59)。


instance method DateTime#new_offset

new_offset(offset = 0) -> DateTime

self を複製して、その時差を設定しなおします。 引数を省略した場合は、零 (協定世界時) になります。

DateTime.new も参照してください。

[PARAM] offset:
時差


Ruby 1.8.7 Reference Manual > All Libraries > library date > class DateTime > offset

instance method DateTime#offset

offset -> Rational

時差を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class DateTime > sec

instance method DateTime#sec

sec -> Integer

秒を返します (0-59)。


Ruby 1.8.7 Reference Manual > All Libraries > library date > class DateTime > zone

instance method DateTime#zone

zone -> String

タイムゾーンを返します。

これは、正確には時差をあらわす文字列です。


singleton method DateTime.civil

civil(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime
new(year = -4712, mon = 1, mday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

暦日付に相当する日時オブジェクトを生成します。

時差の単位は日です。 1.8.6 以降では、"+0900" のような時差をあらわす文字列もつかえます。

[PARAM] year:
年
[PARAM] mon:
月
[PARAM] mday:
日
[PARAM] hour:
時
[PARAM] min:
分
[PARAM] sec:
秒
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時


singleton method DateTime.commercial

commercial(cwyear = 1582, cweek = 41, cwday = 5, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

暦週日付に相当する日時オブジェクトを生成します。

DateTime.new も参照してください。

[PARAM] cwyear:
年
[PARAM] cweek:
週
[PARAM] cwday:
週の日 (曜日)
[PARAM] hour:
時
[PARAM] min:
分
[PARAM] sec:
秒
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時


singleton method DateTime.jd

jd(jd = 0, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

ユリウス日に相当する日時オブジェクトを生成します。

DateTime.new も参照してください。

[PARAM] jd:
ユリウス日
[PARAM] hour:
時
[PARAM] min:
分
[PARAM] sec:
秒
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時


singleton method DateTime.now

now(start = Date::ITALY) -> DateTime

現在の時刻に相当する日時オブジェクトを生成します。

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


singleton method DateTime.ordinal

ordinal(year = -4712, yday = 1, hour = 0, min = 0, sec = 0, offset = 0, start = Date::ITALY) -> DateTime

年日付に相当する日時オブジェクトを生成します。

DateTime.new も参照してください。

[PARAM] year:
年
[PARAM] yday:
年の日
[PARAM] hour:
時
[PARAM] min:
分
[PARAM] sec:
秒
[PARAM] offset:
時差
[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日
[EXCEPTION] ArgumentError:
正しくない日時


singleton method DateTime.today

today(start = Date::ITALY) -> Date

このクラスでは利用できません。

DateTime.now を参照してください。

[PARAM] start:
グレゴリオ暦をつかい始めた日をあらわすユリウス日


instance method Delegator#__getobj__

__getobj__ -> object

委譲先のオブジェクトを返します。

本メソッドは、サブクラスで再定義する必要があり、 デフォルトでは NotImplementedError が発生します。

[EXCEPTION] NotImplementedError:
サブクラスにて本メソッドが再定義されていない場合に発生します。


instance method Delegator#marshal_dump

marshal_dump -> object

シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。


instance method Delegator#marshal_load

marshal_load(obj) -> object

シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。

[PARAM] obj:
Delegator#marshal_dumpの戻り値のコピー


instance method Delegator#method_missing

method_missing(m, *args) -> object

渡されたメソッド名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。

[PARAM] m:
メソッドの名前（シンボル）
[PARAM] args:
メソッドに渡された引数
[RETURN]
委譲先のメソッドからの返り値

[SEE_ALSO] Object#method_missing


instance method Delegator#respond_to?

respond_to?(m) -> bool

Delegator#__getobj__ が返すオブジェクトが メソッド m を持つとき真を返します。

[PARAM] m:
メソッド名

[SEE_ALSO] Object#respond_to?


module function Digest.#bubblebabble

bubblebabble(string) [added by digest/bubblebabble]

Returns a BubbleBabble encoded version of a given string.


module function Digest.#hexencode

hexencode(string) -> String

与えられた文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。

[PARAM] string:
ハッシュ値の生成対象の文字列です。

使用例(MD5の場合)

require 'digest/md5'
Digest::MD5.hexdigest("ruby") # => "58e53d1324eef6265fdb97b08ed9aadf"

[SEE_ALSO] Digest::Base#hexdigest


instance method Digest::Base#<<

update(str)
self << str

文字列を追加する。self を返す。 複数回updateを呼ぶことは文字列を連結してupdateを呼ぶことと等しい。 すなわち m.update(a); m.update(b) は m.update(a + b) と、 m << a << b は m << a + b とそれぞれ等価 である。

[PARAM] str:
追加する文字列
require 'digest/md5'

digest = Digest::MD5.new
digest.update("r")
digest.update("u")
digest.update("b")
digest.update("y")
p digest.hexdigest # => "58e53d1324eef6265fdb97b08ed9aadf"

digest = Digest::MD5.new
digest << "r"
digest << "u"
digest << "b"
digest << "y"
p digest.hexdigest # => "58e53d1324eef6265fdb97b08ed9aadf"


instance method Digest::Base#==

self == md

与えられたダイジェストオブジェクトと比較する。

[PARAM] md:
比較対象のダイジェストオブジェクト
require 'digest/md5'
digest1 = Digest::MD5.new
digest1.update("ruby")
digest2 = Digest::MD5.new
digest2.update("ruby")
p digest1 == digest2 # => true
digest2.update("RUBY")
p digest1 == digest2 # => false
self == str

与えられた文字列を hexdigest 値と見て、自身の hexdigest 値と比較する。

[PARAM] str:
比較対象の hexdigest 文字列
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest == "58e53d1324eef6265fdb97b08ed9aadf" # => true


instance method Digest::Base#block_length

block_length -> Integer

ダイジェストのブロック長を取得します。 例えば、Digest::MD5であれば64、Digest::SHA512であれば128です。

本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、 それぞれの実装に適したものにオーバーライドされます。

例: Digest::MD、Digest::SHA1、Digest::SHA512のブロック長を順番に調べる。

for a in ["MD5", "SHA1", "SHA512"]
  digest = Digest(a).new
  p digest.block_length # => 64, 128, 128
end


Ruby 1.8.7 Reference Manual > All Libraries > library digest > class Digest::Base > clone

instance method Digest::Base#clone

dup
clone

ダイジェストオブジェクトの複製を作る。


instance method Digest::Base#digest

digest -> String

updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。

返す文字列は、MD5では16バイト長、SHA1およびRMD160では20バイト長、 SHA256では32バイト長、SHA384では48バイト長、SHA512では64バイト長です。

例:

# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest.digest # => "X\345=\023$\356\366&_\333\227\260\216\331\252\337"

[SEE_ALSO] Digest::Base#hexdigest


instance method Digest::Base#digest!

digest! -> String

updateや<<によって追加した文字列に対するハッシュ値を文字列で返します。 Digest::Base#digestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。

返す文字列は、MD5では16バイト長、SHA1およびRMD160では20バイト長、 SHA256では32バイト長、SHA384では48バイト長、SHA512では64バイト長です。

例:

# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest.digest! # => "X\345=\023$\356\366&_\333\227\260\216\331\252\337"
p digest.digest! # => "\324\035\214\331\217\000\262\004\351\200\t\230\354\370B~"

[SEE_ALSO] Digest::Base#digest、Digest::Base#hexdigest!


instance method Digest::Base#digest_length

digest_length -> Integer
length -> Integer
size -> Integer

ダイジェストのハッシュ値のバイト長を取得する。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。

If not, digest_obj.digest().length() is returned. (この動作が分かりません。 私の手元の1.8.6ではdigest.length == digest_lengthでした。)

本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、 それぞれの実装に適したものにオーバーライドされます。

例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。

for a in ["MD5", "SHA1", "SHA512"]
  digest = Digest(a).new
  p digest.digest_length # => 16, 20, 64
end


instance method Digest::Base#file

file(path) -> self

ファイル名 file で指定したファイルの内容を読み込んでダイジェストを更新し、 オブジェクト自身を返します。

[PARAM] path:
読み込み対象のファイル名です。
[RETURN]
ダイジェストオブジェクトを返します。

例(MD5の場合)

require 'digest/md5'
digest = Digest::MD5.new
digest.file("/path/to/file") # => Digest::MD5のインスタンス
digest.hexdigest # => "/path/to/file"のMD5値


instance method Digest::Base#hexdigest

hexdigest -> String
to_s -> String

updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返す。

返す文字列は、 MD5では32バイト長、SHA1およびRMD160では40バイト長、SHA256では64バイト長、 SHA384では96バイト長、SHA512では128バイト長です。

Rubyで書くと以下と同じです。

def hexdigest
  digest.unpack("H*")[0]
end

例:

# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest.hexdigest # => "58e53d1324eef6265fdb97b08ed9aadf"

[SEE_ALSO] Digest::Base#digest


instance method Digest::Base#hexdigest!

hexdigest! -> String

updateや<<によって追加した文字列に対するハッシュ値を、 ASCIIコードを使って16進数の列を示す文字列にエンコードして返します。 Digest::Base#hexdigestと違い、 メソッドの処理後、 オブジェクトの状態を初期状態(newした直後と同様の状態)に戻します。

例:

# MD5の場合
require 'digest/md5'
digest = Digest::MD5.new
digest.update("ruby")
p digest.hexdigest! # => "58e53d1324eef6265fdb97b08ed9aadf"
p digest.hexdigest! # => "d41d8cd98f00b204e9800998ecf8427e"

[SEE_ALSO] Digest::Base#hexdigest、Digest::Base#digest!


instance method Digest::Base#reset

reset -> self

オブジェクトの状態を初期状態(newした直後と同様の状態)に戻し、 オブジェクト自身を返します。

本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、 それぞれの実装に適したものにオーバーライドされます。


singleton method Digest::Base.digest

digest(str)

与えられた文字列に対するハッシュ値を文字列で返す。 new(str).digest と等価。


singleton method Digest::Base.file

file(path) -> object

新しいダイジェストオブジェクトを生成し、 ファイル名 file で指定したファイルの内容を読み込み、 そのダイジェストオブジェクトを返します。

[PARAM] path:
読み込み対象のファイル名です。
[RETURN]
ダイジェストオブジェクトを返します。

使用例(SHA256の場合)

digest = Digest::SHA256.file("X11R6.8.2-src.tar.bz2")
digest.hexdigest
# => "f02e3c85572dc9ad7cb77c2a638e3be24cc1b5bea9fdbb0b0299c9668475c534"


singleton method Digest::Base.hexdigest

hexdigest(str)

与えられた文字列に対するハッシュ値を、ASCIIコードを使って 16進数の列を示す文字列にエンコードして返す。 new(str).hexdigest と等価。


Ruby 1.8.7 Reference Manual > All Libraries > library digest > class Digest::Base > new

singleton method Digest::Base.new

new

新しいダイジェストオブジェクトを生成する。


instance method Digest::MD5#<<

dup
clone
digest
hexdigest
to_s
update(str)
self << str
self == md
self == str

Digest::Base のページを参照のこと。


singleton method Digest::MD5.digest

new([str])
digest(str)
hexdigest(str)

Digest::Base のページを参照のこと。


instance method Digest::RMD160#<<

dup
clone
digest
hexdigest
to_s
update(str)
self << str
self == md
self == str

Digest::Base のページを参照のこと。


Ruby 1.8.7 Reference Manual > All Libraries > library digest/rmd160 > class Digest::RMD160 > digest

singleton method Digest::RMD160.digest

new([str])
digest(str)
hexdigest(str)

Digest::Base のページを参照のこと。


singleton method Digest::SHA2.new

new(bitlen = 256)

Creates a new SHA2 hash object with a given bit length.


instance method Dir#close

close -> nil

ディレクトリストリームをクローズします。以降のディレクトリに 対する操作は例外 IOError を発生させます。 クローズに成功すれば nil を返します。

[EXCEPTION] IOError:
close に失敗した場合に発生します。また既に自身が close している場合に発生します。


instance method Dir#each

each {|item| ... } -> self
each -> Enumerable::Enumerator

ディレクトリの各エントリを表す文字列を引数として、ブロックを評価します。

ブロックが与えられなかった場合、各エントリを文字列として保持する Enumerable::Enumerator オブジェクトを返します。

[EXCEPTION] IOError:
既に自身が close している場合に発生します。

例:

Dir.open('.').each{|f|
  p f
}
#=>
"."
".."
"bar"
"foo"


instance method Dir#path

path -> String

オープンしているディレクトリのパス名を文字列で返します。

[EXCEPTION] IOError:
既に自身が close している場合に発生します。


instance method Dir#pos

pos -> Integer
tell -> Integer

ディレクトリストリームの現在の位置を整数で返します。

[EXCEPTION] IOError:
既に自身が close している場合に発生します。

例:

Dir.open("/tmp") {|d|
  d.each {|f|
    p d.pos
  }
}


instance method Dir#pos=

pos=(pos)
seek(pos) -> self

ディレクトリストリームの読み込み位置を pos に移動させます。 pos は Dir#tell で与えられた値でなければなりま せん。

[PARAM] pos:
変更したい位置を整数で与えます。
[EXCEPTION] IOError:
既に自身が close している場合に発生します。

例:

d = Dir.new("testdir")   #=> #<Dir:0x401b3c40>
d.read                   #=> "."
i = d.tell               #=> 12
d.read                   #=> ".."
d.seek(i)                #=> #<Dir:0x401b3c40>
d.read                   #=> ".."


instance method Dir#read

read -> String | nil

ディレクトリストリームから次の要素を読み出して返します。最後の要素 まで読み出していれば nil を返します。

[EXCEPTION] Errno::EXXX:
ディレクトリの読み出しに失敗した場合に発生します。
[EXCEPTION] IOError:
既に自身が close している場合に発生します。


instance method Dir#rewind

rewind -> self

ディレクトリストリームの読み込み位置を先頭に移動させます。

[EXCEPTION] IOError:
既に自身が close している場合に発生します。

例:

d = Dir.new("testdir")
d.read     #=> "."
d.rewind   #=> #<Dir:0x401b3fb0>
d.read     #=> "."


singleton method Dir.[]

self[*pattern] -> [String]
glob(pattern, flags = 0) -> [String]
glob(pattern, flags = 0) {|file| ...} -> nil

ワイルドカードの展開を行い、 パターンにマッチするファイル名を文字列の配列として返します。 パターンにマッチするファイルがない場合は空の配列を返します。

ブロックが与えられたときはワイルドカードにマッチしたファイルを 引数にそのブロックを 1 つずつ評価して nil を返します

[PARAM] pattern:
パターンを文字列で指定します。 パターンを "\0" で区切って 1 度に複数のパターンを指定することもで きます。 パターンの区切りには "\0" のみ指定できます。
[PARAM] flags:
File.fnmatch に指定できるフラグと同様のフラグを指定できます。 このフラグを指定することでマッチの挙動を変更することができます。
  Dir.glob("*")                      #=> ["bar", "foo"]
  Dir.glob("*", File::FNM_DOTMATCH)  #=> [".", "..", "bar", "foo"]

ワイルドカードには以下のものがあります。これらはバックスラッシュに よりエスケープすることができます。ダブルクォートの文字列中では 2 重にエスケープする必要があることに注意してください。 ワイルドカードはデフォルトではファイル名の先頭の "." にマッチしません。

*

空文字列を含む任意の文字列と一致します。

?

任意の一文字と一致します。

[ ]

鈎括弧内のいずれかの文字と一致します。- でつな がれた文字は範囲を表します。鈎括弧の中の最初の文字が ^ である時には含まれない文字と一致します。 ^ の代わりに ksh や POSIX shell のように ! も同じ意 味で使えます。

{ }

コンマで区切られた文字列の組合せに展開します。例えば、 foo{a,b,c} は fooa, foob, fooc に展開されそれぞれに対してマッチ判定を行います。

括弧は入れ子にすることができます。例えば、 {foo,bar{foo,bar}} は foo, barfoo, barbar のそれぞれにマッチします。

**/

ワイルドカード */ の0回以上の繰り返しを意味し、 ディレクトリを再帰的にたどってマッチを行います。 例えば, foo/**/bar は foo/bar, foo/*/bar, foo/*/*/bar ... (以下無限に続く)に対してそれぞれ マッチ判定を行います。

例:

# 一般的な例
p Dir.glob("*")          #=> ["foo", "bar", "baz"]
p Dir.glob("./b*")       #=> ["./bar", "./baz"]      先頭に "./" が付いている。
p Dir.glob("*/")         #=> ["foo/"]                ディレクトリのみにマッチする。
p Dir.glob("wrong_name") #=> []                      マッチしないと空の配列を返す。

Dir.glob("b*") {|f| p f }

#=> "bar"
    "baz"

# 複数のパターンを指定する例
p Dir.glob("f*\0b*")     # => ["foo", "bar"]

# ワイルドカードの例
Dir.glob("*")            #=> ["foo", "bar"]
Dir.glob("fo?")          #=> ["foo"]
Dir.glob("[^f]*")        #=> ["bar"]
Dir.glob("{b,f}*")       #=> ["bar", "foo"]


singleton method Dir.chdir

chdir -> 0
chdir(path) -> 0
chdir {|path| ... } -> object
chdir(path) {|path| ... } -> object

カレントディレクトリを path に変更します。

path を省略した場合、環境変数 HOME または LOGDIR が設定されていればそのディレクトリに移動します。 カレントディレクトリの変更に成功すれば 0 を返します。

ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限 られます。ブロックの実行結果を返します。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

例:

Dir.chdir("/var/spool/mail")
p Dir.pwd                    #=> "/var/spool/mail"
Dir.chdir("/tmp") do
  p Dir.pwd                  #=> "/tmp"
end
p Dir.pwd                    #=> "/var/spool/mail"


singleton method Dir.chroot

chroot(path) -> 0

ルートディレクトリを path に変更します。

スーパーユーザだけがルートディレクトリを変更できます。 ルートディレクトリの変更に成功すれば 0 を返します。 各プラットフォームのマニュアルの chroot の項も参照して下さい。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

例:

p Dir.glob("*")   #=> ["file1", "file2]
Dir.chroot("./")
p Dir.glob("/*")  #=> ["/file1", "/file2]

[SEE_ALSO] http://opengroup.org/onlinepubs/007908799/xsh/chroot.html


singleton method Dir.delete

delete(path) -> 0
rmdir(path) -> 0
unlink(path) -> 0

ディレクトリを削除します。ディレクトリは空でなければいけませ ん。ディレクトリの削除に成功すれば 0 を返します。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

例:

Dir.delete("/tmp/hoge-jbrYBh.tmp")


singleton method Dir.entries

entries(path) -> [String]

ディレクトリ path に含まれるファイルエントリ名の 配列を返します。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

例:

Dir.entries('.') #=> [".", "..", "bar", "foo"]


singleton method Dir.foreach

foreach(path) {|file| ...} -> nil
foreach -> Enumerable::Enumerator

ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。

ブロックが与えられなかった場合、各エントリを文字列として保持する Enumerable::Enumerator オブジェクトを返します。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

例:

Dir.foreach('.'){|f|
  p f
}
#=>
"."
".."
"bar"
"foo"


singleton method Dir.getwd

getwd -> String
pwd -> String

カレントディレクトリのフルパスを文字列で返します。

[EXCEPTION] Errno::EXXX:
カレントディレクトリの取得に失敗した場合に発生します(が、普通は失敗することはありません)。

例:

Dir.chdir("/tmp")   #=> 0
Dir.getwd           #=> "/tmp"


singleton method Dir.mkdir

mkdir(path, mode = 0777) -> 0

path で指定された新しいディレクトリを作ります。パーミッションは mode で指定された値に umask をかけた値 (mode & ~umask) になります。 mkdir(2) も参照して下さい。 ディレクトリの作成に成功すれば 0 を返します。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[PARAM] mode:
ディレクトリのモードを整数で与えます。
[EXCEPTION] Errno::EXXX:
ディレクトリの作成に失敗した場合に発生します。

例:

p File.umask                                  #=> 2
Dir.mkdir('t', 0666)
p "%#o" % (07777 & File.stat('t').mode)  #=> "0664"

[SEE_ALSO] FileUtils.#makedirs


singleton method Dir.mktmpdir

mktmpdir(prefix_suffix = nil, tmpdir = nil) -> String [added by tmpdir]
mktmpdir(prefix_suffix = nil, tmpdir = nil) {|dir| ... } -> object [added by tmpdir]

一時ディレクトリを作成します。

作成されたディレクトリのパーミッションは 0700 です。

ブロックが与えられた場合は、ブロックの評価が終わると 作成された一時ディレクトリやその配下にあったファイルを FileUtils.#remove_entry_secure を用いて削除します。 ブロックが与えられなかった場合は、作成した一時ディレクトリのパスを 返します。この場合、このメソッドは作成した一時ディレクトリを削除しません。

[PARAM] prefix_suffix:
nil の場合は、'd' をデフォルトのプレフィクスとして使用します。サフィックスは付きません。 文字列が与えられた場合は、その文字列をプレフィクスとして使用します。サフィックスは付きません。 2 要素の配列が与えられた場合は、一つ目の要素をプレフィクス、二つ目の要素をサフィックスとして使用します。
[PARAM] tmpdir:
nil の場合は Dir.tmpdir を使用します。 そうでない場合は、そのディレクトリを使用します。

使用例

require 'tmpdir'

puts Dir.tmpdir
# 出力例: 動作環境により出力は異なります。
#=> /cygdrive/c/DOCUME~1/kouya/LOCALS~1/Temp
Dir.mktmpdir{|dir|
  puts dir
  # 出力例: 一時ディレクトリ の名前の先頭に'd' をつける。
  #=> /cygdrive/c/DOCUME~1/kouya/LOCALS~1/Temp/d20081011-4524-1m69psi
  #                                            ^
}
Dir.mktmpdir("foo"){|dir|
  puts dir
  # 出力例:一時ディレクトリ の名前の先頭に'foo' をつける。
  #=> /cygdrive/c/DOCUME~1/kouya/LOCALS~1/Temp/foo20081011-4824-pjvhwx
  #                                            ^^^
}
Dir.mktmpdir(["foo", "bar"]){|dir|
  puts dir
  # 出力例: 一時ディレクトリの名前の先頭に'foo' 、最後に'bar'をつける。
  #=> /cygdrive/c/DOCUME~1/kouya/LOCALS~1/Temp/foo20081011-5624-1hyxrqbbar
  #                                            ^^^                     ^^^
}

Dir.mktmpdir(nil, "/var/tmp") {|dir|
  puts dir
  # 出力例: tmpdir の作成先が'/var/tmp'となる。
  #         さらに、一時ディレクトリ の名前の先頭に'd' をつける。
  #=> /var/tmp/d20081011-5304-h6b13j
}

memory_dir = nil
Dir.mktmpdir {|dir|
  memory_dir = dir
  File.open("#{dir}/foo", "w") { |fp|
   fp.puts "hogehoge"
  }
}
# ブロックを抜けたら、テンポラリディレクトリは消される。
p FileTest.directory?(memory_dir) #=> false

dir = Dir.mktmpdir
# ブロックを与えない場合は、ディレクトリは存在する。
begin
  File.open("#{dir}/foo", "w") { |fp|
    fp.puts "hogehoge"
  }
ensure
  FileUtils.remove_entry_secure dir
end
p FileTest.directory?(dir) #=> false


singleton method Dir.new

new(path) -> Dir
open(path) -> Dir
open(path) {|dir| ...} -> object

path に対するディレクトリストリームをオープンして返します。

ブロックを指定して呼び出した場合は、ディレクトリストリームを 引数としてブロックを実行します。ブロックの実行が終了すると、 ディレクトリは自動的にクローズされます。 ブロックの実行結果を返します。

[PARAM] path:
ディレクトリのパスを文字列で指定します。
[EXCEPTION] Errno::EXXX:
オープンに失敗した場合に発生します。


singleton method Dir.tmpdir

tmpdir -> String [added by tmpdir]

テンポラリファイルを作成するのに使うディレクトリ(テンポラリディレクトリ)の絶対パスを 文字列として返します。 $SAFE によって返す文字列は変わります。

# WindowsXPの場合

require "tmpdir"

p Dir.tmpdir #=> "C:/DOCUME~1/taro3/LOCALS~1/Temp"
$SAFE = 1
p Dir.tmpdir #=> "C:/WINDOWS/temp"
$SAFE = 2
p Dir.tmpdir #=> "C:/WINDOWS/temp"
$SAFE = 3
p Dir.tmpdir #=> "C:/WINDOWS/temp"

# Linuxの場合 /tmp に加え、環境変数 ENV['TMPDIR'], ENV['TMP'], ENV['TEMP'], ENV['USERPROFILE']を参照します


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_contributor

instance method DublinCoreModel#dc_contributor

dc_contributor
dc_contributor=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_contributors

instance method DublinCoreModel#dc_contributors

dc_contributors


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_coverage

instance method DublinCoreModel#dc_coverage

dc_coverage
dc_coverage=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_coverages

instance method DublinCoreModel#dc_coverages

dc_coverages


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_creator

instance method DublinCoreModel#dc_creator

dc_creator
dc_creator=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_creators

instance method DublinCoreModel#dc_creators

dc_creators


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_date

instance method DublinCoreModel#dc_date

dc_date
dc_date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_dates

instance method DublinCoreModel#dc_dates

dc_dates


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_description

instance method DublinCoreModel#dc_description

dc_description
dc_description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_descriptions

instance method DublinCoreModel#dc_descriptions

dc_descriptions


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_format

instance method DublinCoreModel#dc_format

dc_format
dc_format=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_formats

instance method DublinCoreModel#dc_formats

dc_formats


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_identifier

instance method DublinCoreModel#dc_identifier

dc_identifier
dc_identifier=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_identifiers

instance method DublinCoreModel#dc_identifiers

dc_identifiers


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_language

instance method DublinCoreModel#dc_language

dc_language
dc_language=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_languages

instance method DublinCoreModel#dc_languages

dc_languages


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_publisher

instance method DublinCoreModel#dc_publisher

dc_publisher
dc_publisher=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_publishers

instance method DublinCoreModel#dc_publishers

dc_publishers


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_relation

instance method DublinCoreModel#dc_relation

dc_relation
dc_relation=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_relations

instance method DublinCoreModel#dc_relations

dc_relations


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_rights

instance method DublinCoreModel#dc_rights

dc_rights
dc_rights=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_rightses

instance method DublinCoreModel#dc_rightses

dc_rightses


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_source

instance method DublinCoreModel#dc_source

dc_source
dc_source=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_sources

instance method DublinCoreModel#dc_sources

dc_sources


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_subject

instance method DublinCoreModel#dc_subject

dc_subject
dc_subject=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_subjects

instance method DublinCoreModel#dc_subjects

dc_subjects


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_title

instance method DublinCoreModel#dc_title

dc_title
dc_title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_titles

instance method DublinCoreModel#dc_titles

dc_titles


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module DublinCoreModel > dc_type

instance method DublinCoreModel#dc_type

dc_type
dc_type=


instance method DublinCoreModel#dc_types

dc_types
  • http://purl.org/rss/1.0/modules/syndication/


singleton method ENV.[]

self[key] -> String

key に対応する環境変数の値を返します。該当する環境変数が存在 しない時には nil を返します。

[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。


singleton method ENV.[]=

self[key] = value
store(key, value) -> String

key に対応する環境変数の値を value にします。 value が nil の時、key に対応する環境変数を取り除きます。

value を返します。

[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。
[PARAM] value:
置き換えるべき値を指定します。 to_str で文字列化されます。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > clear

singleton method ENV.clear

clear -> self

環境変数をすべてクリアします。self を返します。


singleton method ENV.delete

delete(key) -> String | nil
delete(key) {|key| ... } -> String | nil

key に対応する環境変数を取り除きます。取り除かれた環境変数の 値を返しますが、key に対応する環境変数が存在しない時には nil を返します。

ブロックが与えられた時には key にマッチするものがなかった時 に評価されます。

[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。


singleton method ENV.delete_if

delete_if {|key, value| ... } -> ENV
reject! {|key, value| ... } -> ENV | nil
delete_if -> Enumerable::Enumerator
reject! -> Enumerable::Enumerator

key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。

reject! は要素に変化がなければ nil を返します。


singleton method ENV.each

each -> Enumerable::Enumerator
each_pair -> Enumerable::Enumerator
each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

key と value を引数としてブロックを評価します。


singleton method ENV.each_key

each_key -> Enumerable::Enumerator
each_key {|key| ... } -> self

key を引数としてブロックを評価します。


singleton method ENV.each_value

each_value -> Enumerable::Enumerator
each_value {|value| ... } -> self

value を引数としてブロックを評価します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > empty?

singleton method ENV.empty?

empty? -> bool

環境変数がひとつも定義されていない時真を返します。


singleton method ENV.fetch

fetch(key) -> String
fetch(key, default) -> String
fetch(key) {|key| ... } -> String

key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。そのいずれ でもなければ例外 IndexError が発生します。

[PARAM] key:
環境変数の名前を指定します。 to_str で文字列化されます。
[PARAM] default:
keyに対応する環境変数の値がないときにこの値を返します。


singleton method ENV.has_key?

has_key?(key) -> bool
include?(key) -> bool
key?(key) -> bool
member?(key) -> bool

key で指定される環境変数が存在する時、真を返します。

[PARAM] key:
環境変数の名前を指定します。to_str で文字列化されます。


singleton method ENV.has_value?

has_value?(val) -> bool
value?(val) -> bool

val を値として持つ環境変数が存在する時、真を返します。

[PARAM] val:
値を指定します。to_str で文字列化されます。


singleton method ENV.index

index(val) -> String

val に対応するキーを返します。対応する要素が存在しない時には nil を返します。

[PARAM] val:
値を指定します。 to_str で文字列化されます。


singleton method ENV.indexes

indexes(*key) -> [String]
indices(*key) -> [String]

このメソッドは obsolete です。 使用すると警告メッセージが表示されます。 代わりに ENV.values_at を使用します。

引数で指定された名前の環境変数の値の配列を返します。

[PARAM] key:
キーの名前を指定します。 to_str で文字列化されます。


singleton method ENV.inspect

inspect -> String

ENV オブジェクトを文字列化します。 Hash#inspect と同じように動作します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > invert

singleton method ENV.invert

invert -> Hash

環境変数の値をキー、名前を値とした Hash を生成して返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > keys

singleton method ENV.keys

keys -> [String]

全環境変数の名前の配列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > length

singleton method ENV.length

length -> Fixnum
size -> Fixnum

環境変数の数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > rehash

singleton method ENV.rehash

rehash -> nil

何もしません。nilを返します。


singleton method ENV.reject

reject -> Enumerable::Enumerator
reject {|key, value| ... } -> Hash

環境変数のうち、ブロックを評価した値が真であるものをとり除きます。 Enumerable#reject と異なり Hash を返します。また、とり除いた結果 は実際の環境変数に影響を与えません。


singleton method ENV.replace

replace(hash) -> ENV

環境変数を hash と同じ内容に変更します。 self を返します。

[PARAM] hash:
キーと値の対応関係を指定します。 to_hash でハッシュに変換されます。


singleton method ENV.select

select -> Enumerable::Enumerator
select {|key, value| ... } -> [[String, String]]

環境変数名と値についてブロックを評価し、真を返したものを集めた配列を返 します。配列の各要素は配列となり、第一要素が変数名、第二要素が値になり ます。


singleton method ENV.shift

shift -> [String, String]

環境変数を一つ取り除いて、それを名前と値の組の配列で返します。 環境変数が一つも設定されていなければ nil を返します。


singleton method ENV.to_a

to_a -> [[String, String]]

環境変数から [変数名, 値] となる 2 要素の配列の配列を生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > to_hash

singleton method ENV.to_hash

to_hash -> Hash

環境変数の名前をキーとし、対応する値をもつハッシュを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > to_s

singleton method ENV.to_s

to_s -> String

環境変数を文字列化します。 Hash#to_s と同じように動作します。


singleton method ENV.update

update(other) -> ENV

ハッシュ other の内容を環境変数にマージします。重複するキー に対応する値は other の内容で上書きされます。

self を返します。

[PARAM] other:
上書きするハッシュを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > object ENV > values

singleton method ENV.values

values -> [String]

環境変数の全値の配列を返します。


singleton method ENV.values_at

values_at(*key) -> [String]

引数で指定されたキー(環境変数名)に対応する値の配列を返します。存在 しないキーに対しては nil が対応します。ENV.indexes と ENV.indices と同じです。

例:

ENV.update({'FOO','foo', 'BAR','bar'})
p ENV.values_at(*%w(FOO BAR BAZ))   # => ["foo", "bar", nil]
[PARAM] key:
環境変数名を指定します。 to_str で文字列化されます。


instance method ERB#def_class

def_class(suplerklass=Object, methodname='erb') -> Class

変換した Ruby スクリプトをメソッドとして定義した無名のクラスを返します。

[PARAM] suplerklass:
無名クラスのスーパークラス
[PARAM] methodname:
メソッド名


instance method ERB#def_method

def_method(mod, methodname, fname='(ERB)') -> nil

変換した Ruby スクリプトをメソッドとして定義します。

定義先のモジュールは mod で指定し、メソッド名は methodname で指定します。 fname はスクリプトを定義する際のファイル名です。主にエラー時に活躍します。

[PARAM] mod:
メソッドを定義するモジュール（またはクラス）
[PARAM] methodname:
メソッド名
[PARAM] fname:
スクリプトを定義する際のファイル名

例:

erb = ERB.new(script)
erb.def_method(MyClass, 'foo(bar)', 'foo.erb')


instance method ERB#def_module

def_module(methodname='erb') -> Module

変換した Ruby スクリプトをメソッドとして定義した無名のモジュールを返します。

[PARAM] methodname:
メソッド名


Ruby 1.8.7 Reference Manual > All Libraries > library erb > class ERB > filename

instance method ERB#filename

filename -> String

エラーメッセージを表示する際のファイル名を取得します。


instance method ERB#filename=

filename= -> String

エラーメッセージを表示する際のファイル名を設定します。

filename を設定しておくことにより、エラーが発生した eRuby スクリプトの特定が容易になります。filename を設定していない場合は、エラー発生箇所は「 (ERB) 」という出力となります。


instance method ERB#result

result(b=TOPLEVEL_BINDING) -> String

ERB を b の binding で実行し、結果の文字列を返します。

[PARAM] b:
eRubyスクリプトが実行されるときのbinding


instance method ERB#run

run(b=TOPLEVEL_BINDING) -> nil

ERB を b の binding で実行し、結果を標準出力へ印字します。

[PARAM] b:
eRubyスクリプトが実行されるときのbinding


instance method ERB#set_eoutvar

set_eoutvar(compiler, eoutvar = '_erbout') -> Array

ERBの中でeRubyスクリプトの出力をためていく変数を設定します。

ERBでeRubyスクリプトの出力をためていく変数を設定するために使用します。 この設定は ERB#new でも行えるため、通常はそちらを使用した方がより容易です。 本メソッドを使用するためには、引数にて指定する eRuby コンパイラを事前に生成しておく必要があります。

[PARAM] compiler:
eRubyコンパイラ
[PARAM] eoutvar:
eRubyスクリプトの中で出力をためていく変数


Ruby 1.8.7 Reference Manual > All Libraries > library erb > class ERB > src

instance method ERB#src

src -> String

変換した Ruby スクリプトを取得します。


singleton method ERB.new

new(eruby_script, safe_level=nil, trim_mode=nil, eoutvar='_erbout') -> ERB

eRubyスクリプト から ERB オブジェクトを生成して返します。

[PARAM] eruby_script:
eRubyスクリプト
[PARAM] safe_level:
eRubyスクリプトが実行されるときのセーフレベル
[PARAM] trim_mode:
整形の挙動を変更するオプション
[PARAM] eoutvar:
eRubyスクリプトの中で出力をためていく変数。eRuby スクリプトの中でさらに ERB を使うときに変更します。通常は指定する必要はありません。


Ruby 1.8.7 Reference Manual > All Libraries > library erb > class ERB > version

singleton method ERB.version

version -> String

erb.rbのリビジョン情報を返します。


module function ERB::DefMethod.#def_erb_method

def_erb_method(methodname, erb) -> nil

self に erb のスクリプトをメソッドとして定義します。

メソッド名は methodname で指定します。 erb が文字列の時、そのファイルを読み込み ERB で変換したのち、メソッドとして定義します。

[PARAM] methodname:
メソッド名
[PARAM] erb:
ERBインスタンスもしくはERBソースファイル名

例:

class Writer
  extend ERB::DefMethod
  def_erb_method('to_html', 'writer.erb')
  ...
end
...
puts writer.to_html


module function ERB::Util.#h

html_escape(s) -> String
h(s) -> String

文字列 s を HTML用にエスケープした文字列を返します。

文字列 s 中に含まれる &"<> を、実体参照 &amp; &quot; &lt; &gt; にそれぞれ変更した文字列を返します (CGI.escapeHTMLとほぼ同じです)。

[PARAM] s:
HTMLエスケープを行う文字列


module function ERB::Util.#u

url_encode(s) -> String
u(s) -> String

文字列 s を URLエンコードした文字列を返します。

文字列 s 中に含まれる 2バイト文字や半角スペースについて URL エンコードを行った文字列を返します(CGI.escapeとほぼ同じです)。

[PARAM] s:
URLエンコードを行う文字列


instance method Enumerable#all?

all? -> bool
all? {|item| ... } -> bool

すべての要素が真である場合に true を返します。 偽である要素があれば、ただちに false を返します。

ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果 が真である場合に true を返します。ブロックが偽を返した時点で、 ただちに false を返します。

例:

# すべて正の数か？
p [5,  6, 7].all? {|v| v > 0 }   # => true
p [5, -1, 7].all? {|v| v > 0 }   # => false


instance method Enumerable#any?

any? -> bool
any? {|item| ... } -> bool

すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。

ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果 が偽である場合に false を返します。ブロックが真を返した時点 で、ただちに true を返します。

例:

p [1, 2, 3].any? {|v| v > 3 }   # => false
p [1, 2, 3].any? {|v| v > 1 }   # => true


instance method Enumerable#collect

collect {|item| ... } -> [object]
map {|item| ... } -> [object]

各要素に対してブロックを評価した結果を全て含む配列を返します。

ブロックを省略した場合、 obj.collect {|item| item } を実行します。 これは Enumerable#to_a と同じです。

例:

# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 }  # => [3, 6, 9]


instance method Enumerable#count

count -> Integer
count(item) -> Integer
count {|obj| ... } -> Integer

レシーバの要素数を返します。

引数を指定しない場合は、レシーバの要素数を返します。 このとき、レシーバが size メソッドを持っていればそちらを使用します。 レシーバが size メソッドを持っていない場合は、要素数を一つずつカウントします。

引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの 個数をカウントして返します。

ブロックを指定した場合は、ブロックを評価して真になった要素の個数を カウントして返します。

[PARAM] item:
カウント対象となる値。

例:

ary = [1, 2, 4, 2]
ary.count             # => 4
ary.count(2)          # => 2
ary.count{|x|x%2==0}  # => 3


instance method Enumerable#cycle

cycle -> Enumerable::Enumerator
cycle {|obj| ... } -> object | nil

Enumerable オブジェクトの要素を、繰り返し無限に生成し続けます。

Calls block for each element of enum repeatedly forever. Returns nil if and only if the collection is empty. Enumerable#cycle saves elements in an internal array so changes to enum after the first pass have no effect.

[RETURN]
ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。 レシーバが空の場合は nil を返します。
a = ["a", "b", "c"]
a.cycle {|x| puts x }  # print, a, b, c, a, b, c,.. forever.


instance method Enumerable#detect

find(ifnone = nil) -> Enumerable::Enumerator
detect(ifnone = nil) -> Enumerable::Enumerator
find(ifnone = nil) {|item| ... } -> object
detect(ifnone = nil) {|item| ... } -> object

要素に対してブロックを評価した値が真になった最初の要素を返します。

真になる要素が見つからず、ifnone も指定されていないときは nil を返します。 真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。

[PARAM] ifnone:
call メソッドを持つオブジェクト (例えば Proc) を指定します。

例:

# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 }   # => 3
p [2, 2, 2, 2, 2].find {|i| i % 3 == 0 }   # => nil

# ifnone の使用例
ifnone = proc { raise ArgumentError, "item not found" }
p [1, 2, 3, 4, 5].find(ifnone) {|i| i % 7 == 0 }
    # ArgumentError: item not found


instance method Enumerable#drop

drop(n) -> Array

Enumerable オブジェクトの先頭の n 要素を捨てて、 残りの要素を配列として返します。

[PARAM] n:
捨てる要素数。
a = [1, 2, 3, 4, 5, 0]
a.drop(3)             # => [4, 5, 0]


instance method Enumerable#drop_while

drop_while -> Enumerable::Enumerator
drop_while {|element| ... } -> Array

ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。

ブロックを指定しなかった場合は、Enumerable::Enumerator を返します。

a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 }   # => [3, 4, 5, 0]


instance method Enumerable#each_cons

each_cons(n) -> Enumerable::Enumerator
enum_cons(n) -> Enumerable::Enumerator
each_cons(n) {|list| ... } -> nil
enum_cons(n) {|list| ... } -> nil

要素を重複ありで n 要素ずつに区切り、 ブロックに渡して繰り返します。

enum_cons は 1.9.1 以降ではなくなっています。 代わりに each_cons を使ってください。

[PARAM] n:
区切る要素数を示す整数です。

例:

[1, 2, 3, 4, 5].each_cons(3) {|a| p a }
    # => [1, 2, 3]
    #    [2, 3, 4]
    #    [3, 4, 5]

[SEE_ALSO] Enumerable#each_slice


instance method Enumerable#each_slice

each_slice(n) -> Enumerable::Enumerator
enum_slice(n) -> Enumerable::Enumerator
each_slice(n) {|list| ... } -> nil
enum_slice(n) {|list| ... } -> nil

n 要素ずつブロックに渡して繰り返します。

要素数が n で割り切れないときは、最後の回だけ要素数が減ります。

enum_slice は 1.9.1 以降ではなくなっています。 代わりに each_slice を使ってください。

[PARAM] n:
区切る要素数を示す整数です。

例:

(1..10).each_slice(3) {|a| p a}
    # => [1, 2, 3]
    #    [4, 5, 6]
    #    [7, 8, 9]
    #    [10]

[SEE_ALSO] Enumerable#each_cons


instance method Enumerable#each_with_index

each_with_index -> Enumerable::Enumerator
enum_with_index -> Enumerable::Enumerator
each_with_index {|item, index| ... } -> self

要素とそのインデックスをブロックに渡して繰り返します。

self を返します。

例:

[5, 10, 15].each_with_index do |n, idx|
  p [n, idx]
end
    # => [5, 0]
    #    [10, 1]
    #    [15, 2]


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Enumerable > entries

instance method Enumerable#entries

to_a -> [object]
entries -> [object]

全ての要素を含む配列を返します。


instance method Enumerable#find_all

find_all -> Enumerable::Enumerator
select -> Enumerable::Enumerator
find_all {|item| ... } -> [object]
select {|item| ... } -> [object]

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。


instance method Enumerable#find_index

find_index -> Enumerable::Enumerator
find_index {|obj| ... } -> Integer | nil

要素を先頭から順にブロックに渡して評価し、最初に真になった要素のインデックスを返します。 一つも真にならなければ nil を返します。

(1..10).find_index  {|i| i % 5 == 0 and i % 7 == 0 }   #=> nil
(1..100).find_index {|i| i % 5 == 0 and i % 7 == 0 }   #=> 34


instance method Enumerable#first

first -> object | nil
first(n) -> Array

Enumerable オブジェクトの最初の要素、もしくは最初の n 要素を返します。

Enumerable オブジェクトが空の場合、引数を指定しない形式では nil を返します。 引数を指定する形式では、空の配列を返します。

[PARAM] n:
取得する要素数。
h = {:a => 1, :b => 2, :c => 3}
p h.first     #=> [:b, 2]
p h.first(2)  #=> [[:b, 2], [:c, 3]]
p {}.first    #=> nil
p {}.first(2) #=> []


instance method Enumerable#grep

grep(pattern) -> [object]
grep(pattern) {|item| ... } -> [object]

pattern === item が成立する要素を全て含んだ配列を返します。 ブロックとともに呼び出された時には条件の成立した要素に対して それぞれブロックを評価し、その結果の配列を返します。 マッチする要素がひとつもなかった場合は空の配列を返します。

[PARAM] pattern:
「===」メソッドを持つオブジェクトを指定します。

例:

p ['aa', 'bb', 'cc', 'dd', 'ee'].grep(/[bc]/)  # => ["bb", "cc"]


instance method Enumerable#group_by

group_by -> Enumerable::Enumerator
group_by {|obj| ... } -> Hash

ブロックを評価した結果をキー、対応する要素を値とするハッシュを返します。

(1..6).group_by {|i| i%3}   #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}


instance method Enumerable#include?

member?(val) -> bool
include?(val) -> bool

val と == の関係にある要素を含むとき真を返します。

[PARAM] val:
任意のオブジェクト


instance method Enumerable#inject

inject(init = self.first) {|result, item| ... } -> object
inject(sym)
inject(init, sym)
reduce(init = self.first) {|result, item| ... } -> object
reduce(sym)
reduce(init, sym)

リストのたたみこみ演算を行います。

最初に初期値 init と self の最初の要素を引数にブロックを実行します。 2 回目以降のループでは、前のブロックの実行結果と self の次の要素を引数に順次ブロックを実行します。 そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。

要素が存在しない場合は init を返します。

初期値 init を省略した場合は、 最初に先頭の要素と 2 番目の要素をブロックに渡します。 また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。 要素がなければブロックを実行せずに nil を返します。

[PARAM] init:
最初の result の値です。任意のオブジェクトが渡せます。
[PARAM] sym:
ブロックの代わりに使われるメソッド名を表す Symbol オブジェクトを指定します。 実行結果に対して sym という名前のメソッドが呼ばれます。

例:

# 合計を計算する。
p [2, 3, 4, 5].inject {|result, item| result + item }        #=> 14

# 自乗和を計算する。初期値をセットする必要がある。
p [2, 3, 4, 5].inject(0) {|result, item| result + item**2 }  #=> 54

この式は以下のように書いても同じ結果が得られます。

result = 0
[1, 2, 3, 4, 5].each {|v| result += v }
p result   # => 15

p [1, 2, 3, 4, 5].inject(:+)                    #=> 15
p ["b", "c", "d"].inject("abbccddde", :squeeze) #=> "abcde"


instance method Enumerable#max

max -> object

最大の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。

要素が存在しなければ nil を返します。

max {|a, b| ... } -> object

ブロックの評価結果で各要素の大小判定を行い、最大の要素を返します。 要素が存在しなければ nil を返します。

ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数を、期待しています。 ブロックが整数以外を返したときは 例外 TypeError が発生します。

[EXCEPTION] TypeError:
ブロックが整数以外を返したときに発生します。


instance method Enumerable#max_by

max_by -> Enumerable::Enumerator
max_by {|item| ... } -> object

各要素を順番にブロックに渡して実行し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素を返します。

要素が存在しないときは nil を返します。

Enumerable#max と Enumerable#max_by の 違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

[SEE_ALSO] Enumerable#sort_by


instance method Enumerable#min

min -> object

最小の要素を返します。 全要素が互いに <=> メソッドで比較できることを仮定しています。

要素が存在しなければ nil を返します。

min {|a, b| ... } -> object

ブロックの評価結果で各要素の大小判定を行い、最小の要素を返します。 要素が存在しなければ nil を返します。

ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数を、期待しています。 ブロックが整数以外を返したときは例外 TypeError が発生します。

[EXCEPTION] TypeError:
ブロックが整数以外を返したとき


instance method Enumerable#min_by

min_by -> Enumerable::Enumerator
min_by {|item| ... } -> object

各要素を順番にブロックに渡して評価し、 その評価結果を <=> で比較して、 最大であった値に対応する元の要素を返します。

要素が存在しないときは nil を返します。

Enumerable#min と Enumerable#min_by の 違いは Enumerable#sort と Enumerable#sort_by の違いと同じです。

[SEE_ALSO] Enumerable#sort_by


instance method Enumerable#minmax

minmax -> [Number, Number]
minmax {|a, b| ... } -> [Number, Number]

Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。

一つ目の形式は、Enumerable オブジェクトのすべての要素が Comparable を 実装していることを仮定しています。二つ目の形式では、要素同士の比較を ブロックを用いて行います。

a = %w(albatross dog horse)
a.minmax                                 #=> ["albatross", "horse"]
a.minmax{|a,b| a.length <=> b.length }   #=> ["dog", "albatross"]
[].minmax # => [nil, nil]

[SEE_ALSO] Enumerable#sort


instance method Enumerable#minmax_by

minmax_by -> Enumerable::Enumerator
minmax_by {|obj| ... } -> [Number, Number]

Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。

Enumerable#minmax と Enumerable#minmax_by の 違いは sort と sort_by の違いと同じです。 詳細は Enumerable#sort_by を参照してください。

a = %w(albatross dog horse)
a.minmax_by {|x| x.length }   #=> ["dog", "albatross"]

[].minmax_by{} # => [nil, nil]

[SEE_ALSO] Enumerable#sort_by


instance method Enumerable#none?

none? -> bool
none? {|obj| ... } -> bool

ブロックを指定しない場合は、 Enumerable オブジェクトのすべての 要素が偽であれば真を返します。そうでなければ偽を返します。

ブロックを指定した場合は、Enumerable オブジェクトのすべての要素を ブロックで評価した結果が、すべて偽であれば真を返します。 そうでなければ偽を返します。

%w{ant bear cat}.none? {|word| word.length == 5}  #=> true
%w{ant bear cat}.none? {|word| word.length >= 4}  #=> false
[].none?                                          #=> true
[nil].none?                                       #=> true
[nil,false].none?                                 #=> true


instance method Enumerable#one?

one? -> bool
one? {|obj| ... } -> bool

ブロックを指定しない場合は、 Enumerable オブジェクトの要素のうち ちょうど一つだけが真であれば、真を返します。 そうでなければ偽を返します。

ブロックを指定した場合は、Enumerable オブジェクトの要素を ブロックで評価した結果、一つの要素だけが真であれば真を返します。 そうでなければ偽を返します。

%w{ant bear cat}.one? {|word| word.length == 4}   #=> true
%w{ant bear cat}.one? {|word| word.length >= 4}   #=> false
[ nil, true, 99 ].one?                            #=> false
[ nil, true, false ].one?                         #=> true


instance method Enumerable#partition

partition -> Enumerable::Enumerator
partition {|item| ... } -> [[object], [object]]

各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。 各要素に対してブロックを評価して、その値が真であった要素の配列と、 偽であった要素の配列の 2 つを配列に入れて返します。

例:

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0].partition {|i| i % 3 == 0 }
 #=> [[9, 6, 3, 0], [10, 8, 7, 5, 4, 2, 1]]


instance method Enumerable#reject

reject -> Enumerable::Enumerator
reject {|item| ... } -> [object]

各要素に対してブロックを評価し、 その値が偽であった要素を集めた新しい配列を返します。 条件を反転させた select です。

例:

# 偶数を除外する (奇数を集める)
[1, 2, 3, 4, 5, 6].reject {|i| i % 2 == 0 }  # => [1, 3, 5]

[SEE_ALSO] Enumerable#select


instance method Enumerable#sort

sort -> [object]
sort {|a, b| ... } -> [object]

全ての要素を昇順にソートした配列を生成して返します。

ブロックなしのときは <=> メソッドを要素に対して呼び、 その結果をもとにソートします。

<=> 以外でソートしたい場合は、ブロックを指定します。 この場合、ブロックの評価結果を元にソートします。 ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数を、期待しています。 ブロックが整数以外を返したときは例外 TypeError が発生します。

Enumerable#sort は安定ではありません (unstable sort)。 安定なソートが必要な場合は Enumerable#sort_by を使って工夫する必要があります。 詳しくは Enumerable#sort_by の項目を参照してください。

※ 比較結果が同じ要素は元の順序通りに並ぶソートを 「安定なソート (stable sort)」と言います。

[SEE_ALSO] Enumerable#sort_by


instance method Enumerable#sort_by

sort_by -> Enumerable::Enumerator
sort_by {|item| ... } -> [object]

ブロックの評価結果を <=> メソッドで比較することで、self を昇 順にソートします。ソートされた配列を新たに生成して返します。 つまり、以下とほぼ同じ動作をします。

class Array
  def sort_by
    self.map {|i| [yield(i), i] }.
       sort {|a, b| a[0] <=> b[0] }.
       map {|i| i[1]}
  end
end

Enumerable#sort と比較して sort_by が優れている点として、 比較条件が複雑な場合の速度が挙げられます。 sort_by を使わない以下の例では比較を行う度に downcase が実行されます。 従って downcase の実行速度が遅ければ sort の速度が致命的に低下します。

p ["BAR", "FOO", "bar", "foo"].sort {|a, b| a.downcase <=> b.downcase }

一方、次のように sort_by を使うと downcase の実行回数は要素数と同じです。 つまり、その部分の実行時間は O(n) のオーダーです。

p ["BAR", "FOO", "bar", "foo"].sort_by {|v| v.downcase }

以下の、実行回数の検証結果を参照してみてください。

class Integer
  def count
    $n += 1
    self
  end
end

ary = []
1.upto(1000) {|v| ary << rand(v) }

$n = 0
ary.sort {|a,b| a.count <=> b.count }
p $n          # => 18200

$n = 0
ary.sort_by {|v| v.count }
p $n          # => 1000

Enumerable#sort_by は安定ではありません (unstable sort)。 ただし、sort_by を以下のように使うと安定なソートを実装できます。

i = 0
ary.sort_by {|v| [v, i += 1] }

※ 比較結果が同じ要素は元の順序通りに並ぶソートを 「安定なソート (stable sort)」と言います。

[SEE_ALSO] Enumerable#sort


instance method Enumerable#take

take(n) -> Array

Enumerable オブジェクトの先頭から n 要素を配列として返します。

[PARAM] n:
要素数を指定します。
a = [1, 2, 3, 4, 5, 0]
a.take(3)             # => [1, 2, 3]


instance method Enumerable#take_while

take_while -> Enumerable::Enumerator
take_while {|element| ... } -> Array

Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。

a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 }   # => [1, 2]


instance method Enumerable#to_set

to_set(klass = Set, *args) -> Set [added by set]
to_set(klass = Set, *args) {|o| ... } -> Set [added by set]

Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。

引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの インスタンスを作ります。 この引数を指定することで、SortedSet あるいはその他のユーザ定義の 集合クラスのインスタンスを作ることができます。

引数 args およびブロックは、集合オブジェクトを生成するための new メソッドに渡されます。

[PARAM] klass:
生成する集合クラスを指定します。
[PARAM] args:
集合クラスのオブジェクト初期化メソッドに渡す引数を指定します。
[PARAM] block:
集合クラスのオブジェクト初期化メソッドに渡すブロックを指定します。
[RETURN]
生成された集合オブジェクトを返します。
p [10, 20, 30].to_set
#=> #<Set: {30, 20, 10}>
p [10, 20, 30].to_set(SortedSet)
#=> #<SortedSet: {10, 20, 30}>
p [10, 20, 30].to_set {|num| num / 10}
#=> #<Set: {1, 2, 3}>

[SEE_ALSO] Set.new


instance method Enumerable#zip

zip(*lists) -> [[object]]

self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。

[PARAM] lists:
配列を指定します。配列でない場合は to_a メソッドにより配列に変換します。

例:

p [1,2,3].zip([4,5,6], [7,8,9])
    # => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

p [1,2].zip([:a,:b,:c], [:A,:B,:C,:D])
    # => [[1, :a, :A], [2, :b, :B]]

p (1..5).zip([:a,:b,:c], [:A,:B,:C,:D])
    # => [[1, :a, :A], [2, :b, :B],
    #     [3, :c, :C], [4, nil, :D], [5, nil, nil]]
zip(*lists) {|v1, v2, ...| ...} -> nil

zip をブロック付きで呼び出した場合は、 self と引数に渡した配列の各要素を順番にブロックに渡します。

常に nil を返します。

[PARAM] lists:
配列を指定します。配列でない場合は to_a メソッドにより配列に変換します。

例:

p [1,2,3].zip([4,5,6], [7,8,9]) {|ary|
  p ary
}
    # => [1, 4, 7]
    #    [2, 5, 8]
    #    [3, 6, 9]
    #    nil


instance method Enumerable::Enumerator#each

each {...} -> object

生成時のパラメータに従ってブロックを繰り返します。 生成時に指定したイテレータの戻り値をそのまま返します。

例:

str = "Yet Another Ruby Hacker"

enum = Enumerable::Enumerator.new(str, :scan, /\w+/)
enum.each {|word| p word }              # => "Yet"
                                        #    "Another"
                                        #    "Ruby"
                                        #    "Hacker"

str.scan(/\w+/) {|word| p word }        # => "Yet"
                                        #    "Another"
                                        #    "Ruby"
                                        #    "Hacker"


instance method Enumerable::Enumerator#next

next -> object

「次」のオブジェクトを返します。

現在までの列挙状態に応じて「次」のオブジェクトを返し、列挙状態を1つ分進めます。 列挙が既に最後へ到達している場合は、列挙状態を最初まで巻き戻すとともに StopIteration 例外を発生します。

next メソッドによる外部列挙の状態は他のイテレータメソッドによる 内部列挙には影響を与えません。 ただし、 IO#each_line のようにおおもとの列挙メカニズムが副作用を 伴っている場合には影響があり得ます。

[EXCEPTION] StopIteration:
列挙状態が既に最後へ到達しているとき

[SEE_ALSO] Enumerable::Enumerator#rewind

例1:

str = "xyz"
enum = str.each_byte

str.bytesize.times do
  puts enum.next
end
    # => 120
    #    121
    #    122

例2:

str = "xyz"
enum = str.each_byte

begin
  puts enum.next while true
rescue StopIteration
  puts "iteration reached at end"
  puts enum.next
end
    # => 120
    #    121
    #    122
    #    iteration reached at end
    #    120

例3: Kernel.#loop は StopIteration を捕捉します。

str = "xyz"
enum = str.each_byte
loop do
  puts enum.next
end
    # => 120
    #    121
    #    122
next -> object [added by generator]

現在の位置にある要素を返し、位置を一つ進めます。

[EXCEPTION] EOFError:
次の要素が無い場合に発生します。

[SEE_ALSO] Generator#next


instance method Enumerable::Enumerator#rewind

rewind -> self

列挙状態を巻き戻します。

next メソッドによる外部列挙の状態を最初まで巻き戻します。 self を返します。

[SEE_ALSO] Enumerable::Enumerator#next

例:

str = "xyz"
enum = str.each_byte

p enum.next # => 120
p enum.next # => 121
enum.rewind
p enum.next # => 120
rewind -> self [added by generator]

内部で保持しているジェネレータを最初まで巻き戻します。

[SEE_ALSO] Generator#rewind


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Enumerable::Enumerator > to_splat

instance method Enumerable::Enumerator#to_splat

to_splat -> Array

この enumerator を多重代入などのための配列に変換します。


instance method Enumerable::Enumerator#with_index

with_index {|(*args), idx| ... } -> object
with_index -> Enumerator

生成時のパラメータに従って、要素にインデックスを添えて繰り返します。 インデックスは 0 から始まります。

ブロックを指定した場合の戻り値は生成時に指定したレシーバ自身です。

例:

str = "xyz"

enum = Enumerable::Enumerator.new(str, :each_byte)
enum.with_index {|byte, idx| p [byte, idx] }
    # => [120, 0]
    #    [121, 1]
    #    [122, 2]

生成時のパラメータに従って、要素にインデックスを添えてブロックを繰り返します。 インデックスは 0 から始まります。


singleton method Enumerable::Enumerator.new

new(obj, method = :each, *args) -> Enumerable::Enumerator

オブジェクト obj について、 each の代わりに method という 名前のメソッドを使って繰り返すオブジェクトを生成して返します。 args を指定すると、 method の呼び出し時に渡されます。

[PARAM] obj:
イテレータメソッドのレシーバとなるオブジェクト
[PARAM] method:
イテレータメソッドの名前を表すシンボルまたは文字列
[PARAM] args:
イテレータメソッドの呼び出しに渡す任意個の引数

例:

str = "xyz"

enum = Enumerable::Enumerator.new(str, :each_byte)
p enum.map {|b| '%02x' % b }   # => ["78", "79", "7a"]


constant Errno::EXXX::Errno

Errno

Errno::EXXX の各クラスに対応するシステム依存のエラーコード値(整数)です。

例:

p Errno::EAGAIN::Errno            # => 11
p Errno::EWOULDBLOCK::Errno       # => 11


singleton method Errno::EXXX.===

self === other -> bool

other が SystemCallError のサブクラスのインスタンスで、 かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。

従って、特に other が self.kind_of?(other) である場合には Module#=== と同様に真を返します。 その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno である場合にも Errno::EXXX == Errno::EYYY.new は真を返します。

エラー名は異なるがエラーコードは同じであるような Errno::EXXX 例外をまとめて捕捉するために Module#=== を上書きしていました。 しかし、Ruby 1.8 のリリース時点では同じ errno 値を持つクラスは一つしか作られないようになりました。そのため現在はこのメソッドは実質上 Module#=== と同じ意味しかありません。

[PARAM] other:
任意のオブジェクト

例

p Errno::EAGAIN::Errno
p Errno::EWOULDBLOCK::Errno
begin
  raise Errno::EAGAIN, "pseudo error"
rescue Errno::EWOULDBLOCK
  p $!
end

# => 11
     11
     #<Errno::EAGAIN: pseudo error>


singleton method Errno::EXXX.new

new() -> Errno::EXXX
new(error_message) -> Errno::EXXX

Errno::EXXX オブジェクトを生成して返します。

[PARAM] error_message:
エラーメッセージを表す文字列
p Errno::ENOENT
    # => #<Errno::ENOENT: No such file or directory>
p Errno::ENOENT('message')
    # => #<Errno::ENOENT: No such file or directory - message>


module function Etc.#endgrent

endgrent -> nil

Etc.#getgrent によって開始された /etc/group ファイルを読む プロセスを終了させファイルを閉じます。

[SEE_ALSO] getgrent(3)


module function Etc.#endpwent

endpwent -> nil

Etc.#getpwent によって開始された /etc/passwdファイルを読む プロセスを終了させファイルを閉じます。

[SEE_ALSO] getpwent(3)


module function Etc.#getgrent

getgrent -> Struct::Group | nil

/etc/group ファイルから読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

処理が終了したときは Etc.#endgrent を呼び出すようにしてください。

[SEE_ALSO] getgrent(3), Struct::Group


module function Etc.#getgrgid

getgrgid(gid) -> Struct::Group

group データベースを検索し、グループ ID が gid であるグループエントリを返します。

[PARAM] gid:
検索する gid
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getgrgid(3), Struct::Group


module function Etc.#getgrnam

getgrnam(name) -> Struct::Group

name という名前のグループエントリを返します。

[PARAM] name:
検索するグループ名。
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getgrnam(3), Struct::Group


module function Etc.#getlogin

getlogin -> String | nil

自分の login 名を返します。得られなかった場合は nil を返します。

getlogin は su(1) などでログイン時のユーザとは異なるユーザになっている場合、 現在ではなくログイン時のユーザを返します。

このメソッドが失敗した場合は Etc.#getpwuid に フォールバックするとよいでしょう。

たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。

login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name


module function Etc.#getpwent

getpwent -> Struct::Passwd | nil

/etc/passwd から読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

処理が終了したときは Etc.#endpwent を呼び出すようにしてください。

[SEE_ALSO] getpwent(3)


module function Etc.#getpwnam

getpwnam(name) -> Struct::Passwd

passwd データベースを検索し、 名前が name である passwd エントリを返します。

[PARAM] name:
検索するユーザ名。
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getpwnam(3), Struct::Passwd


module function Etc.#getpwuid

getpwuid(uid = getuid) -> Struct::Passwd

passwd データベースを検索し、 ユーザ ID が uid である passwd エントリを返します。

[PARAM] uid:
検索する uid 。引数を省略した場合には getuid(2) の値を用います。
[EXCEPTION] ArgumentError:
エントリが見つからなかった場合に発生します。

[SEE_ALSO] getpwuid(3), Struct::Passwd


module function Etc.#group

group -> Struct::Group | nil

/etc/group ファイルから読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

[EXCEPTION] RuntimeError:
/etc/group ファイルがロックされている場合に発生します。

[SEE_ALSO] Etc.#getgrent, getgrent(3)

group {|gr| ... } -> ()

全てのグループエントリを順にアクセスするためのイテレータです。


module function Etc.#passwd

passwd -> Struct::Passwd | nil

/etc/passwd から読み込んだエントリを一つ返します。

最初の呼び出しでは、先頭のエントリを返します。それ以降の呼び出しでは、 呼び出す度に次のエントリを順に返します。ファイルの終端に達すると nil を返します。

[EXCEPTION] RuntimeError:
/etc/passwd ファイルがロックされている場合に発生します。

[SEE_ALSO] Etc.#getpwent, getpwent(3)

passwd {|pw| ... } -> ()

全ての passwd エントリを順にアクセスするためのイテレータです。


module function Etc.#setgrent

setgrent -> nil

/etc/group の先頭に戻ります。

このメソッドを呼び出した後 Etc.#getgrent を呼び出すと先頭のエントリを返します。

[SEE_ALSO] getgrent(3)


module function Etc.#setpwent

setpwent -> nil

/etc/passwd の先頭に戻ります。

このメソッドを呼び出した後 Etc.#getpwent を呼び出すと先頭のエントリを返します。

[SEE_ALSO] getpwent(3)


instance method Exception#backtrace

backtrace -> [String]

バックトレース情報を返します。

デフォルトでは

  • "#{sourcefile}:#{sourceline}:in `#{method}'" (メソッド内の場合)
  • "#{sourcefile}:#{sourceline}" (トップレベルの場合)

という形式の String の配列です。

def methd
  raise
end

begin
  methd
rescue => e
  p e.backtrace
end

#=> ["filename.rb:2:in `methd'", "filename.rb:6"]


instance method Exception#exception

exception -> self
exception(error_message) -> Exception

引数を指定しない場合は self を返します。引数を指定した場合 自身のコピー を生成し Exception#message 属性を error_message にして返します。

Kernel.#raise は、実質的に、例外オブジェクトの exception メソッドの呼び出しです。

[PARAM] error_message:
エラーメッセージを表す文字列を指定します。
begin
 ...        # 何か処理
rescue => e
 raise e.exception("an error occurs during hogehoge process")  # 詳しいエラーメッセージ
end


instance method Exception#message

message -> String
to_s -> String
to_str -> String

エラーメッセージをあらわす文字列を返します。

begin
  1 + nil
rescue => e
  p e.message   #=>  "nil can't be coerced into Fixnum"
end


instance method Exception#set_backtrace

set_backtrace(errinfo) -> nil | String | [String]

バックトレース情報に errinfo を設定し、設定されたバックトレース 情報を返します。

[PARAM] errinfo:
nil、String あるいは String の配列のいずれかを指定します。


singleton method Exception.exception

new(error_message = nil)
exception(error_message = nil)

例外オブジェクトを生成して返します。

[PARAM] error_message:
エラーメッセージを表す文字列を指定します。このメッセージは 属性 Exception#message の値になり、デフォルトの例外ハンドラで表示されます。


instance method Exception2MessageMapper#Fail

Raise(err = nil, *rest) -> ()
Fail(err = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。

例:

class Foo
  extend Exception2MessageMapper
  p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>

  def foo
    Raise NewExceptionClass, 1, 2, 3
  end
end

Foo.new().foo() #=> in `Raise': message...1, 2 and 3 (Foo::NewExceptionClass)
                #   という例外が発生します。

Foo.Raise Foo::NewExceptionClass, 1, 3, 5  #=> in `Raise': message...1, 3 and 5 (Foo::NewExceptionClass)
                                           #   という例外が発生します。


instance method Exception2MessageMapper#def_e2message

def_e2message(exception_class, message_format) -> Class

すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。

このフォーマットは Exception2MessageMapper#Raise, Exception2MessageMapper#Fail で使用します。

[PARAM] exception_class:
メッセージを登録する例外クラスを指定します。
[PARAM] message_format:
メッセージのフォーマットを指定します。 Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
[RETURN]
exception_class を返します。


instance method Exception2MessageMapper#def_exception

def_exception(exception_name, message_format, superclass = StandardError) -> Class

exception_name という名前の例外クラスを定義します。

[PARAM] exception_name:
定義する例外クラスの名前をシンボルで指定します。
[PARAM] message_format:
メッセージのフォーマット。
[PARAM] superclass:
定義する例外のスーパークラスを指定します。 省略すると StandardError を使用します。


instance method Exception2MessageMapper#fail

fail(err = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。


singleton method Exception2MessageMapper.Fail

Raise(klass = E2MM, exception_class = nil, *rest) -> ()
Fail(klass = E2MM, exception_class = nil, *rest) -> ()

登録されている情報を使用して、例外を発生させます。

[PARAM] klass:
一階層上となるクラス名を指定します。
[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。


singleton method Exception2MessageMapper.def_e2message

def_e2message(klass, exception_class, message_format) -> Class

すでに存在する例外クラス exception_class に、 エラーメッセージ用フォーマット message_format を関連づけます。

[PARAM] klass:
一階層上となるクラス名を指定します。
[PARAM] exception_class:
メッセージを登録する例外クラスを指定します。
[PARAM] message_format:
メッセージのフォーマットを指定します。 Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
[RETURN]
exception_class を返します。


singleton method Exception2MessageMapper.def_exception

def_exception(klass, exception_name, message_format, superklass = StandardError) -> Class

exception_name という名前の例外クラスを定義します。

[PARAM] klass:
一階層上となるクラス名を指定します。
[PARAM] exception_name:
例外クラスの名前をシンボルで指定します。
[PARAM] message_format:
メッセージのフォーマットを指定します。 Kernel.#sprintf のフォーマット文字列と同じ形式を使用できます。
[PARAM] superklass:
定義する例外クラスのスーパークラスを指定します。 省略すると StandardError を使用します。
[RETURN]
定義した例外クラスを返します。


singleton method Exception2MessageMapper.extend_to

extend_to(b) -> Class

このメソッドは後方互換性のために用意されています。

[PARAM] b:
Binding オブジェクト。


singleton method Exception2MessageMapper.fail

fail(err = nil, *rest) -> ()

このメソッドは後方互換性のために用意されています。

登録されている情報を使用して、例外を発生させます。

[PARAM] exception_class:
例外クラス。
[PARAM] rest:
メッセージに埋め込む値。
[EXCEPTION] Exception2MessageMapper::ErrNotRegisteredException:
指定された例外クラスに対応するメッセージが存在しない場合に発生します。


instance method FalseClass#^

self ^ other -> bool

other が真なら true を, 偽なら false を返します。

[PARAM] other:
排他的論理和を行なう式です。

^ は再定義可能な演算子に分類されていますので、通常は false ^ other の形で使われます。

p false ^ true     #=> true
p false ^ false    #=> false
p false ^ nil      #=> false
p false ^ (1 == 1) #=> true
p false ^ (1 + 1)  #=> true

p false.^(true)    #=> true
p false.^(false)   #=> false
p false.^(nil)     #=> false
p false.^(1 == 1)  #=> true
p false.^(1 + 1)   #=> true


instance method FalseClass#|

self | other -> bool

other が真なら true を, 偽なら false を返します。

[PARAM] other:
論理和を行なう式です。

| は再定義可能な演算子に分類されていますので、通常は false | other の形で使われます。

p false | true     #=> true
p false | false    #=> false
p false | nil      #=> false
p false | (1 == 1) #=> true
p false | (1 + 1)  #=> true

p false.|(true)    #=> true
p false.|(false)   #=> false
p false.|(nil)     #=> false
p false.|(1 == 1)  #=> true
p false.|(1 + 1)   #=> true


instance method FalseClass#&

self & other -> false

常に false を返します。

[PARAM] other:
論理積を行なう式です。

& は再定義可能な演算子に分類されていますので、通常は false & other の形で使われます。

p false & true     #=> false
p false & false    #=> false
p false & nil      #=> false
p false & (1 == 1) #=> false
p false & (1 + 1)  #=> false

p false.&(true)    #=> false
p false.&(false)   #=> false
p false.&(nil)     #=> false
p false.&(1 == 1)  #=> false
p false.&(1 + 1)   #=> false


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class FalseClass > to_s

instance method FalseClass#to_s

to_s -> String

常に文字列 "false" を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > FD_CLOEXEC

constant Fcntl::FD_CLOEXEC

FD_CLOEXEC -> Integer

close-on-exec フラグの値です。


constant Fcntl::F_DUPFD

F_DUPFD -> Integer

ファイルディスクリプタを複製します。

ただし、 close-on-exec はオフになります。

[SEE_ALSO] dup(2)


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_GETFD

constant Fcntl::F_GETFD

F_GETFD -> Integer

ファイルディスクリプタから close-on-exec フラグの値を読み出します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_GETFL

constant Fcntl::F_GETFL

F_GETFL -> Integer

ファイル状態フラグを読み出します。

[SEE_ALSO] open(2)


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_GETLK

constant Fcntl::F_GETLK

F_GETLK -> Integer

与えられたファイルの範囲のロック状態を取得します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_RDLCK

constant Fcntl::F_RDLCK

F_RDLCK -> Integer

読み出しリースを取得します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_SETFD

constant Fcntl::F_SETFD

F_SETFD -> Integer

ファイルディスクリプタに close-on-exec フラグの値を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_SETFL

constant Fcntl::F_SETFL

F_SETFL -> Integer

ファイル状態フラグを設定します。

[SEE_ALSO] open(2)


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_SETLK

constant Fcntl::F_SETLK

F_SETLK -> Integer

ファイルの範囲のロックを取得します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_SETLKW

constant Fcntl::F_SETLKW

F_SETLKW -> Integer

ファイルの範囲のロックを取得します。必要があればロックを取得できるまで待ちます。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_UNLCK

constant Fcntl::F_UNLCK

F_UNLCK -> Integer

そのファイルからリースを削除します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > F_WRLCK

constant Fcntl::F_WRLCK

F_WRLCK -> Integer

書き込みリースを取得する。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_ACCMODE

constant Fcntl::O_ACCMODE

O_ACCMODE -> Integer

ファイルアクセスモードのマスクです。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_APPEND

constant Fcntl::O_APPEND

O_APPEND -> Integer

ファイルを追記モードで開きます。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_CREAT

constant Fcntl::O_CREAT

O_CREAT -> Integer

ファイルが存在しない場合にファイルを作成します。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_EXCL

constant Fcntl::O_EXCL

O_EXCL -> Integer

ファイルが存在する場合に失敗します。Fcntl::O_CREAT と一緒に使用します。


constant Fcntl::O_NDELAY

O_NONBLOCK -> Integer
O_NDELAY -> Integer

ファイルを non-blocking モードで開きます。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_NOCTTY

constant Fcntl::O_NOCTTY

O_NOCTTY -> Integer

開いたファイルが端末デバイスでも、制御端末にはなりません。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_RDONLY

constant Fcntl::O_RDONLY

O_RDONLY -> Integer

ファイルを読み込み専用で開きます。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_RDWR

constant Fcntl::O_RDWR

O_RDWR -> Integer

ファイルを読み書きできるように開きます。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_TRUNC

constant Fcntl::O_TRUNC

O_TRUNC -> Integer

ファイルを開くときに中身を切り捨てます。


Ruby 1.8.7 Reference Manual > All Libraries > library fcntl > module Fcntl > O_WRONLY

constant Fcntl::O_WRONLY

O_WRONLY -> Integer

ファイルを書き込み専用で開きます。


constant File::ALT_SEPARATOR

ALT_SEPARATOR

システムのファイルパスのセパレータが SEPARATOR と異なる場合 に設定されます。MS-DOS などでは "\" です。UNIX や Cygwin などでは nil です。


constant File::PATH_SEPARATOR

PATH_SEPARATOR

PATH 環境変数の要素のセパレータです。UNIX では ":" MS-DOS な どでは ";" です。


constant File::SEPARATOR

SEPARATOR
Separator

ファイルパスのセパレータです。ファイルを扱うメソッドにパス名を渡す 場合などスクリプト内のパス名は環境によらずこのセパレータで統一され ます。値は "/" です。


instance method File#atime

atime -> Time

最終アクセス時刻を Time オブジェクトとして返します。

[EXCEPTION] IOError:
自身が close されている場合に発生します。
[EXCEPTION] Errno::EXXX:
ファイルの時刻の取得に失敗した場合に発生します。

[SEE_ALSO] File#lstat, File#ctime, File#mtime


instance method File#chmod

chmod(mode) -> 0

ファイルのモードを指定された mode に変更します。

モードの変更に成功した場合は 0 を返します。失敗した場合は例外 Errno::EXXX が発生し ます。

[PARAM] mode:
chmod(2) と同様に整数で指定します。
[EXCEPTION] IOError:
自身が close されている場合に発生します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

例:

f = File.new("out", "w");
f.chmod(0644)   #=> 0


instance method File#chown

chown(owner, group) -> 0

ファイルのオーナーとグループを変更します。

適切な権限があればファイルのオーナーとグループを変更できます。 所有者の変更に成功した場合は 0 を返します。変更に失敗した場合は 例外 Errno::EXXX が発生します。

[PARAM] owner:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
[PARAM] group:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在のままにすることができます。
[EXCEPTION] IOError:
自身が close されている場合に発生します。
[EXCEPTION] Errno::EXXX:
変更に失敗した場合に発生します。


instance method File#ctime

ctime -> Time

状態が最後に変更された時刻を Time オブジェクトとして返します。状態の変更とは chmod などによるものです。

[EXCEPTION] IOError:
自身が close されている場合に発生します。
[EXCEPTION] Errno::EXXX:
ファイルの時刻の取得に失敗した場合に発生します。

[SEE_ALSO] File#lstat, File#atime, File#mtime


instance method File#flock

flock(operation) -> 0 | false

ファイルをロックします。

ロックを取得するまでブロックされます。 ロックの取得に成功した場合は 0 を返します。 File::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロックされる場合に ブロックされずに false を返すようになります。

[PARAM] operation:
ロックに対する操作の種類を示す定数を指定します。 どのような定数が利用可能かは以下を参照して下さい。
[EXCEPTION] IOError:
自身が close されている場合に発生します。
[EXCEPTION] Errno::EXXX:
operation に不正な整数を与えた場合などに発生します。

引数 operation に有効な定数は以下の通りです。定数は File::Constants で定義されていますが、
File クラスの親クラスの IO が File::Constants をインクルードしているので、
これらの定数は File::LOCK_SH などとして参照可能です。

LOCK_SH

共有ロック。複数のプロセスが同時にロックを共有できます。 システムによってはロック対象のファイルは読み込みモード ("r", "r+" など)でオープンされている必要があります。そのよ うなシステムでは読み込み可能でないファイルに対するロックは例外 Errno::EXXX が発生するかもしれません。

LOCK_EX

排他ロック。同時にはただひとつのプロセスだけがロックを保持できます。 システムによってはロック対象のファイルは書き込みモード ("w", "r+" など)でオープンされている必要があります。そのよ うなシステムでは書き込み可能でないファイルに対するロックは例外 Errno::EXXX が発生するかもしれません。

LOCK_UN

アンロック。 この明示的なアンロック以外に、ファイルのcloseやRubyインタプリタの終了 (プロセスの終了)によっても自動的にロック状態は解除されます。

LOCK_NB

ノンブロックモード。 File::LOCK_SH | File::LOCK_NB のように他の指定と or することで指 定します。この指定がない場合、ブロックされる条件での flock の呼び出しはロックが解除されるまでブロックされます。

File::LOCK_NB の指定がある場合、ブロックされる条件での flock は false を返します。

「ブロックされる条件」とは以下のいずれかです。

  • 他のプロセスが排他ロックをすでに行っている場合にロックを行う
  • 他のプロセスがロックしている状態で排他ロックを行う

例1:

# 書き込みロック(write lock)を使用してカウンタを更新。
# ロック前にファイルを切り詰めてしまうので、
# モードに"w"を使ってはいけません。
File.open("counter", File::RDWR|File::CREAT, 0644) {|f|
  f.flock(File::LOCK_EX)
  value = f.read.to_i + 1
  f.rewind
  f.write("#{value}\n")
  f.flush
  f.truncate(f.pos)
}

# 読み込みロック(read lock)を使用してカウンタを読み込み。
File.open("counter", "r") {|f|
  f.flock(File::LOCK_SH)
  p f.read
}

例2:

f = File.open("/tmp/foo", "w")

f.flock(File::LOCK_EX)
puts "locked by process1"

fork {
  f = File.open("/tmp/foo", "r")
  f.flock(File::LOCK_SH)
  puts "locked by process2"
  sleep 5
  puts "unlocked by process2"
}

sleep 5

f.flock(File::LOCK_UN)
puts "unlocked by process1"
sleep 1 # <- 子プロセスが確実に先にロックするための sleep
f.flock(File::LOCK_EX)
puts "re-locked by process1"

=> locked by process1
   unlocked by process1
   locked by process2
   unlocked by process2
   re-locked by process1


instance method File#lstat

lstat -> File::Stat

ファイルの状態を含む File::Stat オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 lstat(2) を実装していないシステムでは、IO#statと同じです。

[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。
[EXCEPTION] IOError:
自身が close されている場合に発生します。

[SEE_ALSO] IO#stat, File.stat, File.lstat


instance method File#mtime

mtime -> Time

最終更新時刻を Time オブジェクトとして返します。

[EXCEPTION] IOError:
自身が close されている場合に発生します。
[EXCEPTION] Errno::EXXX:
ファイルの時刻の取得に失敗した場合に発生します。

[SEE_ALSO] File#lstat, File#atime, File#ctime


instance method File#path

path -> String

オープン時に使用したパスを文字列で返します。

File.new("testfile").path               #=> "testfile"
File.new("/tmp/../tmp/xxx", "w").path   #=> "/tmp/../tmp/xxx"


instance method File#truncate

truncate(length) -> 0

ファイルのサイズを最大 length バイトにします。

サイズの変更に成功すれば 0 を返します。失敗した場合は例外 Errno::EXXX が発生します。

[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
サイズの変更に失敗した場合に発生します。


singleton method File.atime

atime(filename) -> Time

最終アクセス時刻を返します。

[PARAM] filename:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] Errno::EXXX:
ファイルの時刻の取得に失敗した場合に発生します。


singleton method File.basename

basename(filename, suffix = "") -> String

filename の一番後ろのスラッシュに続く要素を返します。もし、 引数 suffix が与えられて、かつそれが filename の末尾に 一致するなら、それを取り除いたものを返します。

p File.basename("ruby/ruby.c")          #=> "ruby.c"
p File.basename("ruby/ruby.c", ".c")    #=> "ruby"
p File.basename("ruby/ruby.c", ".*")    #=> "ruby"
p File.basename("ruby/ruby.exe", ".*")  #=> "ruby"
p File.basename("ruby/y.tab.c", ".*")   #=> "y.tab"

File.basename の動作は basename(3) に従います。

p File.basename("foo/bar/")      # => "bar"
[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] suffix:
サフィックスを文字列で与えます。'.*' という文字列を与えた場合、'*' はワイルドカードとして働き '.' を含まない任意の文字列にマッチします。

[SEE_ALSO] File.dirname, File.extname


singleton method File.blockdev?

blockdev?(path) -> bool

FileTest.#blockdev? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.catname

catname(from, to) -> String [added by ftools]

from, to から新しい to を作成して返します。

to が有効なディレクトリの場合、to の後ろに from を追加します。 また必要であれば、バックスラッシュをエスケープし、スラッシュを追加します。 to がディレクトリでない場合は、 to をそのまま返します。


singleton method File.chardev?

chardev?(path) -> bool

FileTest.#chardev? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.chmod

chmod(mode, *filename) -> Integer

ファイルのモードを mode に変更します。モードを変更したファイ ルの数を返します。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] mode:
chmod(2) と同様に整数で指定します。
[EXCEPTION] Errno::EXXX:
モードの変更に失敗した場合に発生します。
chmod(mode, *files) -> Integer [redefined by ftools]

(複数の)ファイルの属性を変えます。

オリジナルの File.chmod に verbose の指定が 追加されるだけです。

[PARAM] mode:
[PARAM] files:
ファイルを指定します。 最後の引数が文字列でない場合または真の場合、詳細を出力します。


singleton method File.chown

chown(owner, group, *filename) -> Integer

ファイルのオーナーとグループを変更します。スーパーユーザだけがファ イルのオーナーとグループを変更できます。変更を行ったファイルの数を 返します。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] owner:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
[PARAM] group:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在のままにすることができます。
[EXCEPTION] Errno::EXXX:
変更に失敗した場合に発生します。


singleton method File.cmp

compare(from, to, verbose = false) -> bool [added by ftools]
cmp(from, to, verbose = false) -> bool [added by ftools]

2つのファイルを比較します。

[PARAM] from:
一つのファイル。
[PARAM] to:
もう一つのファイル。
[RETURN]
同じなら true、異なるなら false を返します。


singleton method File.copy

copy(from, to, verbose = false) -> bool [added by ftools]
cp(from, to, verbose = false) -> bool [added by ftools]

ファイルをコピーします。

より正確には from を読んで to に書き、モードを変更します。 ファイルの更新時刻はコピーした時刻に更新されます。

[PARAM] from:
コピー元のファイル。
[PARAM] to:
コピー先のファイル。
[PARAM] verbose:
真をセットすると詳細を表示します。
[RETURN]
コピーに成功したなら true、失敗したなら false を返します。

例:

# 更新時刻を保持したい場合
File.copy(from, to)
stat = File.stat(from)
File.utime(stat.atime, stat.mtime, to)


singleton method File.ctime

ctime(filename) -> Time

状態が最後に変更された時刻を返します。 状態の変更とは chmod などによるものです。

[PARAM] filename:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] Errno::EXXX:
ファイルの時刻の取得に失敗した場合に発生します。


singleton method File.delete

delete(*filename) -> Integer
unlink(*filename) -> Integer

ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。

このメソッドは通常ファイルの削除用で、ディレクトリの削除には Dir.rmdir を使います。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。


singleton method File.directory?

directory?(path) -> bool

FileTest.#directory? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.dirname

dirname(filename) -> String

filename の一番後ろのスラッシュより前を文 字列として返します。スラッシュを含まないファイル名に対しては "."(カレントディレクトリ)を返します。

p File.dirname("dir/file.ext")    # => "dir"
p File.dirname("file.ext")        # => "."

File.dirname の動作は dirname(3) に従います。

p File.dirname("foo/bar/")      # => "foo"
p File.dirname("foo//bar")      # => "foo"
[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.basename, File.extname


singleton method File.executable?

executable?(path) -> bool

FileTest.#executable? と同じです。

[PARAM] path:
パスを表す文字列を指定します。


singleton method File.executable_real?

executable_real?(path) -> bool

FileTest.#executable_real? と同じです。

[PARAM] path:
パスを表す文字列を指定します。


singleton method File.exist?

exist?(path) -> bool

FileTest.#exist? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.exists?

exists?(path) -> bool

このメソッドはobsoleteです。

FileTest.#exist? と同じです。 File.exist?を使って下さい。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.expand_path

expand_path(path, default_dir = '.') -> String

path を絶対パスに展開した文字列を返します。 path が相対パスであれば default_dir を基準にします。

先頭の ~ はホームディレクトリ(環境変数 HOME が使われます)に、 ~USER はそのユーザのホームディレクトリに展開されます。

p File.expand_path("..")         #=> "/home/matz/work"
p File.expand_path("..", "/tmp") #=> "/"
p File.expand_path("~")          #=> "/home/matz"
p File.expand_path("~foo")       #=> "/home/foo"
[PARAM] path:
パスを表す文字列を指定します。
[PARAM] default_dir:
path が相対パスであれば default_dir を基準に展開されます。


singleton method File.extname

extname(filename) -> String

ファイル名 filename の拡張子部分(最後の "." に続く文字列)を 返します。ディレクトリ名に含まれる "." や、ファイル名先頭の "." は拡張子の一部としては見なされません。filename に拡張子が含 まれない場合は空文字列を返します。

p File.extname("foo/foo.txt")     # => ".txt"
p File.extname("foo/foo.tar.gz")  # => ".gz"
p File.extname("foo/bar")         # => ""
p File.extname("foo/.bar")        # => ""
p File.extname("foo.txt/bar")     # => ""
p File.extname(".foo")            # => ""
[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.basename, File.dirname


singleton method File.file?

file?(path) -> bool

FileTest.#file? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.fnmatch

fnmatch(pattern, path, flags = 0) -> bool
fnmatch?(pattern, path, flags = 0) -> bool

ファイル名のパターンマッチ fnmatch(3) を行います。 path が pattern にマッチすれば真を返します。そうでない場合には false を返します。

[PARAM] pattern:
パターンを文字列で指定します。ワイルドカードとして `*', `?', `[]' が使用できま す。Dir.glob とは違って `{}' や `**/' は使用できません。
    %w(foo foobar bar).each {|f|
      p File.fnmatch("foo*", f)
    }
    # => true
         true
         false
[PARAM] path:
パスを表す文字列を指定します。
[PARAM] flags:
パターンマッチの動作を以下で述べる定数の論理和で指定します。 flags のデフォルト値は0(フラグ指定なし)です。

引数 flags に指定できる定数は以下のとおりです。
これらの定数は File::Constants で定義されていますが、
File クラスの親クラスの IO が File::Constants をインクルードしているので、
これらの定数は File::FNM_NOESCAPE などとして参照可能です。

FNM_NOESCAPE

エスケープ文字 `\' を普通の文字とみなします。

デフォルトでは \ を伴う任意の文字はその文字にマッチしますが、 このフラグをつけると、\ が普通の文字として扱われます。

  p File.fnmatch('\a', 'a')                       # => true
  p File.fnmatch('\a', '\a', File::FNM_NOESCAPE)  # => true

前者で * は、エスケープされているので "*" そのものにマッチ します。

  p File.fnmatch('\*', 'a')                       # => false
  p File.fnmatch('\*', '\a', File::FNM_NOESCAPE)  # => true

単体の \ は、このフラグの有無に関わらず \ にマッチします。 (シングルクォート文字列中では \\ は、\ であることに注意)

  p File.fnmatch('\\', '\\')                      # => true
  p File.fnmatch('\\', '\\', File::FNM_NOESCAPE)  # => true
FNM_PATHNAME

ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。 シェルのパターンマッチにはこのフラグが使用されています。

  p File.fnmatch('*', '/', File::FNM_PATHNAME)   # => false
  p File.fnmatch('?', '/', File::FNM_PATHNAME)   # => false
  p File.fnmatch('[/]', '/', File::FNM_PATHNAME) # => false
FNM_CASEFOLD

アルファベットの大小文字を区別せずにパターンマッチを行います。

  p File.fnmatch('A', 'a', File::FNM_CASEFOLD)   # => true
FNM_DOTMATCH

ワイルドカード `*', `?', `[]' が先頭の `.' にマッチするようになります。

  p File.fnmatch('*', '.', File::FNM_DOTMATCH)           # => true
  p File.fnmatch('?', '.', File::FNM_DOTMATCH)           # => true
  p File.fnmatch('[.]', '.', File::FNM_DOTMATCH)         # => true
  p File.fnmatch('foo/*', 'foo/.', File::FNM_DOTMATCH)   # => true


singleton method File.ftype

ftype(filename) -> String

ファイルのタイプを表す文字列を返します。文字列は以下のうちのいずれ かです。File.lstat(filename).ftype と同じで す。シンボリックリンクに対して "link" を返します。

  • "file"
  • "directory"
  • "characterSpecial"
  • "blockSpecial"
  • "fifo"
  • "link"
  • "socket"
  • "unknown"
[PARAM] filename:
ファイル名を表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
情報の取得に失敗した場合に発生します。


singleton method File.grpowned?

grpowned?(path) -> bool

FileTest.#grpowned? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.identical?

identical?(filename1, filename2) -> bool

FileTest.#identical? と同じです。

[PARAM] filename1:
パスを表す文字列か IO オブジェクトを指定します。
[PARAM] filename2:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.install

install(from, to, mode = nil, verbose = false) -> () [added by ftools]

ファイルをコピーし、モードを設定します。

コピー先が存在する場合は一旦削除されますので、コピー先のファイルが 他のファイルにハードリンクされていれば、そのリンクは切れます。 install (install(1))コマンドに相当します。

[PARAM] from:
コピー元のファイル。
[PARAM] to:
コピー先のファイル。
[PARAM] mode:
ファイルのアクセスモード。8進数で指定します。
[PARAM] verbose:
真を指定すると詳細を表示します。


singleton method File.join

join(*item) -> String

File::SEPARATORを間に入れて文字列を連結します。

[item, item, ...].join(File::SEPARATOR)

と同じです。[[unknown:DOSISH 対応]]で環境依存になる予定です。

[PARAM] item:
連結したいディレクトリ名やファイル名を文字列で与えます。


singleton method File.lchmod

lchmod(mode, *filename) -> Integer

File.chmod と同様ですが、シンボリックリンクに関してリンクそのものの モードを変更します。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] mode:
chmod(2) と同様に整数で指定します。
[EXCEPTION] NotImplementedError:
lchmod(2) を実装していないシステムでこのメソッドを呼び出すと発生します。
[EXCEPTION] Errno::EXXX:
モードの変更に失敗した場合に発生します。


singleton method File.lchown

lchown(owner, group, *filename) -> Integer

File#chown と同様ですが、 シンボリックリンクに関してリンクそのもののオーナー、 グループを変更します。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] owner:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在のままにすることができます。
[PARAM] group:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在のままにすることができます。
[EXCEPTION] NotImplementedError:
lchown(2) を実装していないシステムでこのメソッドを呼び出すと発生します。


singleton method File.link

link(old, new) -> 0

old を指す new という名前のハードリンクを 生成します。old はすでに存在している必要があります。 ハードリンクに成功した場合は 0 を返します。

失敗した場合は例外 Errno::EXXX が発生します。

[PARAM] old:
ファイル名を表す文字列を指定します。
[PARAM] new:
ファイル名を表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。


singleton method File.lstat

lstat(filename) -> File::Stat

File.statと同様ですが、シンボリックリンクに関してリンクそのものの 情報を File::Stat として返します。lstat(2) を実装していないシステムでは、File.stat と同じです。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
情報の取得に失敗した場合に発生します。

[SEE_ALSO] IO#stat, File#lstat


singleton method File.makedirs

makedirs(*dirs) -> Array [added by ftools]
mkpath(*dirs) -> Array [added by ftools]

(複数の)ディレクトリを作成します。

多階層のパスを一度に作成することも可能です。 ディレクトリが既にあれば何もしません。 mkdir -p(mkdir(1))に相当します。

[PARAM] dirs:
作成するディレクトリを指定します。 最後の引数が文字列でない場合または真の場合、詳細を出力します。


singleton method File.move

move(from, to, verbose = false) -> bool [added by ftools]
mv(from, to, verbose = false) -> bool [added by ftools]

ファイルを移動します。

File.rename と異なりパーティションをまたがる移動もできます。

[PARAM] from:
移動元のファイル。
[PARAM] to:
移動先のファイル。
[PARAM] verbose:
真をセットすると詳細を表示します。
[RETURN]
移動に成功したなら true、失敗したなら false を返します。


singleton method File.mtime

mtime(filename) -> Time

最終更新時刻を返します。

[PARAM] filename:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] Errno::EXXX:
ファイルの時刻の取得に失敗した場合に発生します。


singleton method File.new

new(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) -> File
open(path, mode = "r", perm = 0666) {|file| ... } -> object

path で指定されるファイルをオープンし、File オブジェクトを生成して 返します。

path が整数の場合はファイルディスクリプタとして扱い、それに対応する File オブジェクトを生成して返します。IO.open と同じです。 ブロックを指定して呼び出した場合は、File オブジェクトを引数として ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に クローズされます。ブロックの実行結果を返します。

[PARAM] path:
ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
[PARAM] mode:
モードを文字列か定数の論理和で指定します。Kernel.#open と同じです。
[PARAM] perm:
ファイルを生成する場合のファイルのパーミッションを整数で指定します。Kernel.#open と同じです。
[EXCEPTION] Errno::EXXX:
ファイルのオープンに失敗した場合に発生します。


singleton method File.owned?

owned?(path) -> bool

FileTest.#owned? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.pipe?

pipe?(path) -> bool

FileTest.#pipe? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.readable?

readable?(path) -> bool

FileTest.#readable? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.readable_real?

readable_real?(path) -> bool

FileTest.#readable_real? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.readlink

readlink(path) -> String

シンボリックリンクのリンク先のパスを文字列で返します。

[PARAM] path:
シンボリックリンクを表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
指定された path がシンボリックリンクでない場合や、リンクの読み取りに失敗した場合に発生します。


singleton method File.rename

rename(from, to) -> 0

ファイルの名前を変更します。ディレクトリが異なる場合には移動も行い ます。rename(2) を参照してください。移動先のファ イルが存在する時には上書きされます。

ファイルの移動に成功した場合 0 を返します。失敗した場合は例外 Errno::EXXX が発生します。

[PARAM] from:
ファイルの名前を文字列で与えます。
[PARAM] to:
新しいファイル名を文字列で与えます。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。


singleton method File.rm_f

safe_unlink(*files) -> Array [added by ftools]
rm_f(*files) -> Array [added by ftools]

(複数の)ファイルを可能な限り削除します。

rm -f(rm(1)) に相当します。

[PARAM] files:
削除するファイルを指定します。 最後の引数が文字列でない場合または真の場合、詳細を出力します。
[RETURN]
files を返します。 最後の引数が文字列でない場合は、最後の引数は取り除かれます。


singleton method File.setgid?

setgid?(path) -> bool

FileTest.#setgid? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.setuid?

setuid?(path) -> bool

FileTest.#setuid? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.size

size(path) -> Integer

FileTest.#size と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.size?

size?(path) -> bool

FileTest.#size? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.socket?

socket?(path) -> bool

FileTest.#socket? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.split

split(pathname) -> [String]

pathname を dirname とbasename に分割して、2 要 素の配列を返します。

[File.dirname(pathname), File.basename(pathname)]

と同じです。

[PARAM] pathname:
パス名を表す文字列を指定します。


singleton method File.stat

stat(filename) -> File::Stat

filename の情報を含む File::Stat オブジェクトを生成し て返します。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
情報の取得に失敗した場合に発生します。

[SEE_ALSO] IO#stat, File#lstat


singleton method File.sticky?

sticky?(path) -> bool

FileTest.#sticky? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.symlink

symlink(old, new) -> 0

old への new という名前のシンボリックリンクを生成します。

シンボリックリンクの作成に成功すれば 0 を返します。失敗した場合は 例外 Errno::EXXX が発生します。

[PARAM] old:
ファイル名を表す文字列を指定します。
[PARAM] new:
シンボリックリンクを表す文字列を指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。


singleton method File.symlink?

symlink?(path) -> bool

FileTest.#symlink? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


singleton method File.syscopy

syscopy(from, to) -> bool [added by ftools]

from から to へファイルをコピーします。

to がディレクトリの場合は、 to/from へコピーします。


singleton method File.truncate

truncate(path, length) -> 0

path で指定されたファイルのサイズを最大 length バイト にします。

サイズの変更に成功すれば 0 を返します。失敗した場合は例外 Errno::EXXX が発生します。

[PARAM] path:
パスを表す文字列を指定します。
[PARAM] length:
変更したいサイズを整数で与えます。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。


singleton method File.umask

umask -> Integer

現在の umask の値を返します。

[SEE_ALSO] umask(2)

umask(umask) -> Integer

umask を変更します。変更前の umask の値を返します

[PARAM] umask:
設定したい umask の値を整数で指定します。

[SEE_ALSO] umask(2)


singleton method File.utime

utime(atime, mtime, *filename) -> Integer

ファイルの最終アクセス時刻と更新時刻を変更します。変更したファイル の数を返します。変更に失敗した場合は例外 Errno::EXXX が発生 します。

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] atime:
最終アクセス時刻を Time か、起算時からの経過秒数を数値で指定します。
[PARAM] utime:
更新時刻を Time か、起算時からの経過秒数を数値で指定します。
[EXCEPTION] Errno::EXXX:
変更に失敗した場合に発生します。


singleton method File.writable?

writable?(path) -> bool

FileTest.#writable? と同じです。

[PARAM] path:
パスを表す文字列を指定します。


singleton method File.writable_real?

writable_real?(path) -> bool

FileTest.#writable_real? と同じです。

[PARAM] path:
パスを表す文字列を指定します。


singleton method File.zero?

zero?(path) -> bool

FileTest.#zero? と同じです。

[PARAM] path:
パスを表す文字列か IO オブジェクトを指定します。


module function FileTest.#blockdev?

blockdev?(file) -> bool

ファイルがブロックスペシャルファイルである時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#chardev?

chardev?(file) -> bool

ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#directory?

directory?(file) -> bool

ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#executable?

executable?(file) -> bool

ファイルがカレントプロセスにより実行できる時に真を返しま す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#executable_real?

executable_real?(file) -> bool

ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#exist?

exist?(file) -> bool

ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#exists?

exists?(file) -> bool

このメソッドはobsoleteです。

ファイルが存在する時に真を返します。 FileTest.#exist?を使って下さい。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#file?

file?(file) -> bool

ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#grpowned?

grpowned?(file) -> bool

ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#identical?

identical?(file1, file2) -> bool

file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

ruby 1.8.3 以前ではKernel.#test(?-, file1, file2)を使ってください。

open("a", "w") {}
p File.identical?("a", "a")      #=> true
p File.identical?("a", "./a")    #=> true
File.link("a", "b")
p File.identical?("a", "b")      #=> true
File.symlink("a", "c")
p File.identical?("a", "c")      #=> true
open("d", "w") {}
p File.identical?("a", "d")      #=> false
[PARAM] file1:
ファイル名を表す文字列か IO オブジェクトを指定します。
[PARAM] file2:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file1, file2 が既に close されていた場合に発生します。


module function FileTest.#owned?

owned?(file) -> bool

ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#pipe?

pipe?(file) -> bool

ファイルが名前つきパイプ(FIFO)である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#readable?

readable?(file) -> bool

ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#readable_real?

readable_real?(file) -> bool

ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#setgid?

setgid?(file) -> bool

ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#setuid?

setuid?(file) -> bool

ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#size

size(file) -> Integer

ファイルのサイズを返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] Errno::EXXX:
filename が存在しない場合、あるいはシステムコールに失敗した場合に発生します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

[SEE_ALSO] FileTest.#size?, FileTest.#zero?


module function FileTest.#size?

size?(file) -> Integer | nil

ファイルのサイズを返します。ファイルが存在しない時や ファイルのサイズが0の時には nil を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

[SEE_ALSO] FileTest.#size, FileTest.#zero?


module function FileTest.#socket?

socket?(file) -> bool

ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。


module function FileTest.#sticky?

sticky?(file) -> bool

ファイルの sticky ビット(chmod(2) 参照)が 立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#symlink?

symlink?(file) -> bool

ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#writable?

writable?(file) -> bool

ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#writable_real?

writable_real?(file) -> bool

ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真 を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。

[PARAM] file:
ファイル名を表す文字列を指定します。


module function FileTest.#zero?

zero?(file) -> bool

ファイルが存在して、そのサイズが 0 である時に真を返します。 そうでない場合、あるいはシステムコールに失敗した場合には false を返します。

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された IO オブジェクト file が既に close されていた場合に発生します。

[SEE_ALSO] FileTest.#size, FileTest.#size?


module function FileUtils.#cd

cd(dir, options = {}) -> nil
cd(dir, options = {}) {|dir| .... } -> ()
chdir(dir, options = {}) -> nil
chdir(dir, options = {}) {|dir| .... } -> ()

プロセスのカレントディレクトリを dir に変更します。

ブロックとともに呼び出された時はブロック終了後に 元のディレクトリに戻ります。

[PARAM] dir:
ディレクトリを指定します。
[PARAM] options:
:verbose が指定できます。 FileUtils/オプションの説明

例:

FileUtils.cd('/', {:verbose => true})   # chdir and report it


module function FileUtils.#chmod

chmod(mode, list, options = {}) -> Array

ファイル list のパーミッションを mode に変更します。

[PARAM] mode:
パーミッションを8進数で指定します。
[PARAM] list:
ファイルのリストを指定します。 対象のファイルが一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop と :verbose が指定可能です。 FileUtils/オプションの説明
[RETURN]
list を配列として返します。

例:

FileUtils.chmod(0644, ['my.rb', 'your.rb'])
FileUtils.chmod(0755, 'somecommand')
FileUtils.chmod(0755, '/usr/bin/ruby', {:verbose => true})


module function FileUtils.#chmod_R

chmod_R(mode, list, options = {}) -> Array

ファイル list のパーミッションを再帰的に mode へ変更します。

[PARAM] mode:
パーミッションを8進数で指定します。
[PARAM] list:
ファイルのリストを指定します。対象のファイルが一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop と :verbose が指定可能です。 FileUtils/オプションの説明
[RETURN]
list を配列として返します。

例:

FileUtils.chmod_R(0700, '/tmp/removing')


module function FileUtils.#chown

chown(user, group, list, options = {}) -> Array

ファイル list の所有ユーザと所有グループを user と group に変更します。

user, group に nil または -1 を渡すとその項目は変更しません。

[PARAM] user:
ユーザー名か uid を指定します。nil/-1 を指定すると変更しません。
[PARAM] group:
グループ名か gid を指定します。nil/-1 を指定すると変更しません。
[PARAM] list:
ファイルのリストを指定します。対象のファイルが一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop と :verbose が指定可能です。 FileUtils/オプションの説明
[RETURN]
list を配列として返します。

例:

FileUtils.chown 'root', 'staff', '/usr/local/bin/ruby'
FileUtils.chown nil, 'bin', Dir.glob('/usr/bin/*'), :verbose => true


module function FileUtils.#chown_R

chown_R(user, group, list, options = {}) -> Array

list 以下のファイルの所有ユーザと所有グループを user と group へ再帰的に変更します。

user, group に nil または -1 を渡すとその項目は変更しません。

[PARAM] user:
ユーザー名か uid を指定します。nil/-1 を指定すると変更しません。
[PARAM] group:
グループ名か gid を指定します。nil/-1 を指定すると変更しません。
[PARAM] list:
ファイルのリストを指定します。対象のファイルが一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop と :verbose が指定可能です。 FileUtils/オプションの説明
[RETURN]
list を配列として返します。

例:

FileUtils.chown 'root', 'staff', '/usr/local/bin/ruby'
FileUtils.chown nil, 'bin', Dir.glob('/usr/bin/*'), :verbose => true

FileUtils.chown_R 'www', 'www', '/var/www/htdocs'
FileUtils.chown_R 'cvs', 'cvs', '/var/cvs', :verbose => true


module function FileUtils.#cmp

cmp(file_a, file_b) -> bool
compare_file(file_a, file_b) -> bool
identical?(file_a, file_b) -> bool

ファイル a と b の内容が同じなら真を返します。

[PARAM] file_a:
ファイル名。
[PARAM] file_b:
ファイル名。

例:

FileUtils.cmp('somefile', 'somefile')  #=> true
FileUtils.cmp('/bin/cp', '/bin/mv')    #=> maybe false.


module function FileUtils.#compare_stream

compare_stream(io_a, io_b) -> bool

IO オブジェクト io_a と io_b の内容が同じなら真を返します。

[PARAM] io_a:
IO オブジェクト。
[PARAM] io_b:
IO オブジェクト。


module function FileUtils.#copy

cp(src, dest, options = {}) -> ()
copy(src, dest, options = {}) -> ()

ファイル src を dest にコピーします。

src にファイルが一つだけ与えられた場合、 dest がディレクトリならdest/src にコピーします。 dest が既に存在ししかもディレクトリでないときは上書きします。

src にファイルが複数与えられた場合、 file1 を dest/file1 にコピー、file2 を dest/file2 にコピー、 というように、ディレクトリ dest の中にファイル file1、file2 …を 同じ名前でコピーします。dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。

[PARAM] src:
コピー元。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
コピー先のファイルかディレクトリです。
[PARAM] options:
:preserve, :noop, :verbose が指定できます。 FileUtils/オプションの説明
[EXCEPTION] Errno::ENOTDIR:
src が複数のファイルかつ、dest がディレクトリでない場合に発生します。

例:

FileUtils.cp 'eval.c', 'eval.c.org'
FileUtils.cp(['cgi.rb', 'complex.rb', 'date.rb'], '/usr/lib/ruby/1.8')
FileUtils.cp(%w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.8', {:verbose => true})


module function FileUtils.#copy_entry

copy_entry(src, dest, preserve = false, dereference_root = false) -> ()

ファイル src を dest にコピーします。

src が普通のファイルでない場合はその種別まで含めて完全にコピーします。 src がディレクトリの場合はその中身を再帰的にコピーします。

[PARAM] src:
コピー元。
[PARAM] dest:
コピー先。
[PARAM] preserve:
preserve が真のときは更新時刻と、 可能なら所有ユーザ・所有グループもコピーします。
[PARAM] dereference_root:
dereference_root が真のときは src についてだけシンボリックリンクの指す 内容をコピーします。偽の場合はシンボリックリンク自体をコピーします。


module function FileUtils.#copy_file

copy_file(src, dest, preserve = false, dereference_root = true) -> ()

ファイル src の内容を dest にコピーします。

[PARAM] src:
コピー元。
[PARAM] dest:
コピー先。
[PARAM] preserve:
preserve が真のときは更新時刻と、 可能なら所有ユーザ・所有グループもコピーします。
[PARAM] dereference_root:
dereference_root が真のときは src についてだけシンボリックリンクの指す 内容をコピーします。偽の場合はシンボリックリンク自体をコピーします。


module function FileUtils.#copy_stream

copy_stream(src, dest) -> ()

src を dest にコピーします。 src には read メソッド、dest には write メソッドが必要です。

[PARAM] src:
read メソッドを持つオブジェクト。
[PARAM] dest:
write メソッドを持つオブジェクト。


module function FileUtils.#cp_r

cp_r(src, dest, options = {}) -> ()

src を dest にコピーします。src がディレクトリであったら再帰的に コピーします。その際 dest がディレクトリなら dest/src にコピーします。

[PARAM] src:
コピー元。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
コピー先のファイルかディレクトリです。
[PARAM] options:
:preserve, :noop, :verbose, :dereference_root, :remove_destination が指定できます。 FileUtils/オプションの説明

例:

# installing ruby library "mylib" under the site_ruby
FileUtils.rm_r(site_ruby + '/mylib', {:force => true})
FileUtils.cp_r('lib/', site_ruby + '/mylib')
# other sample
FileUtils.cp_r(%w(mail.rb field.rb debug/), site_ruby + '/tmail')
FileUtils.cp_r(Dir.glob('*.rb'), '/home/taro/lib/ruby',
               {:noop => true, :verbose => true})


Ruby 1.8.7 Reference Manual > All Libraries > library fileutils > module FileUtils > getwd

module function FileUtils.#getwd

pwd -> String
getwd -> String

プロセスのカレントディレクトリを文字列で返します。


module function FileUtils.#install

install(src, dest, options = {})

src と dest の内容が違うときだけ src を dest にコピーします。

[PARAM] src:
コピー元。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
コピー先のファイルかディレクトリです。
[PARAM] options:
:preserve, :noop, :verbose, :mode が指定できます。 FileUtils/オプションの説明

例:

FileUtils.install('ruby', '/usr/local/bin/ruby', {:mode => 0755, :verbose => true})
FileUtils.install('lib.rb', '/usr/local/lib/ruby/site_ruby', {:verbose => true})


module function FileUtils.#link

ln(src, dest, options = {}) -> ()
link(src, dest, options = {}) -> ()

src へのハードリンク dest を作成します。

src が一つの場合、 dest がすでに存在しディレクトリであるときは dest/src を作成します。 dest がすでに存在しディレクトリでないならば例外 Errno::ENOTDIR が発生します。 ただし :force オプションを指定したときは dest を上書きします。

src が複数の場合、 src[0] へのハードリンク dest/src[0]、src[1] への ハードリンク dest/src[1] …を作成します。 dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。

[PARAM] src:
リンク元。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
リンク作成先のファイルかディレクトリです。
[PARAM] options:
:force, :noop, :verbose が指定できます。 FileUtils/オプションの説明
[EXCEPTION] Errno::ENOTDIR:
dest がディレクトリでない場合に発生します。

例:

FileUtils.ln('gcc', 'cc', {:verbose => true})
FileUtils.ln('/usr/bin/emacs21', '/usr/bin/emacs')
FileUtils.cd('/bin')
FileUtils.ln(%w(cp mv mkdir), '/usr/bin')


module function FileUtils.#ln_s

ln_s(src, dest, options = {}) -> ()
symlink(src, dest, options = {}) -> ()

src へのシンボリックリンク dest を作成します。

src が一つの場合、 dest がすでに存在しディレクトリであるときは dest/src を作成します。 dest がすでに存在しディレクトリでないならば例外 Errno::ENOTDIR が発生します。 ただし :force オプションを指定したときは dest を上書きします。

src が複数の場合、 src[0] へのシンボリックリンク dest/src[0]、src[1] への シンボリックリンク dest/src[1] …を作成します。 dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。

[PARAM] src:
リンク元。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
リンク作成先のファイルかディレクトリです。
[PARAM] options:
:force, :noop, :verbose が指定できます。 FileUtils/オプションの説明
[EXCEPTION] Errno::ENOTDIR:
dest がディレクトリでない場合に発生します。

例:

FileUtils.ln_s('/usr/bin/ruby', '/usr/local/bin/ruby')
FileUtils.ln_s('verylongsourcefilename.c', 'c', {:force => true})
FileUtils.ln_s(Dir.glob('bin/*.rb'), '/home/aamine/bin')


module function FileUtils.#ln_sf

ln_sf(src, dest, options = {}) -> ()

src へのシンボリックリンク dest を作成します。

ln_s(src, dest, :force => true) と同じです。

[PARAM] src:
リンク元。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
リンク作成先のファイルかディレクトリです。
[PARAM] options:
:force, :noop, :verbose が指定できます。 FileUtils/オプションの説明
[EXCEPTION] Errno::ENOTDIR:
dest がディレクトリでない場合に発生します。

[SEE_ALSO] FileUtils.#ln_s


module function FileUtils.#makedirs

mkdir_p(list, options = {}) -> String | Array
mkpath(list, options = {}) -> String | Array
makedirs(list, options = {}) -> String | Array

ディレクトリ dir とその親ディレクトリを全て作成します。

例えば、

FileUtils.mkdir_p('/usr/local/lib/ruby')

は以下の全ディレクトリを (なければ) 作成します。

  • /usr
  • /usr/local
  • /usr/local/bin
  • /usr/local/bin/ruby
[PARAM] list:
作成するディレクトリ。一つの場合は文字列でも指定できます。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:mode, :noop, :verbose が指定できます。 FileUtils/オプションの説明
[RETURN]
list を返します。


module function FileUtils.#mkdir

mkdir(dir, options = {}) -> ()

ディレクトリ dir を作成します。

[PARAM] dir:
作成するディレクトリ。
[PARAM] options:
:mode, :noop, :verbose が指定できます。 FileUtils/オプションの説明

例:

FileUtils.mkdir('test')
FileUtils.mkdir(%w( tmp data ))
FileUtils.mkdir('notexist', {:noop => true})  # does not create really


module function FileUtils.#move

mv(src, dest, options = {}) -> ()
move(src, dest, options = {}) -> ()

ファイル src を dest に移動します。

src が一つの場合、 dest がすでに存在しディレクトリであるときは src を dest/src へ移動します。 dest がすでに存在しディレクトリでないときは src は dest を上書きします。

src が複数の場合、 src[0] を dest/src[0]、src[1] を dest/src[1] へ移動します。 dest がディレクトリでない場合は例外 Errno::ENOTDIR が発生します。

[PARAM] src:
元のファイル。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] dest:
移動先のファイル、またはディレクトリ。
[PARAM] options:
:force, :noop, :verbose, :secure が指定できます。 FileUtils/オプションの説明

例:

FileUtils.mv('badname.rb', 'goodname.rb')
FileUtils.mv('stuff.rb', 'lib/ruby', {:force => true})
FileUtils.mv(['junk.txt', 'dust.txt'], "#{ENV['HOME']}/.trash")
FileUtils.mv(Dir.glob('test*.rb'), 'test', {:noop => true, :verbose => true} )


module function FileUtils.#remove

rm(list, options = {}) -> ()
remove(list, options = {}) -> ()

list で指定された対象を消去します。

[PARAM] list:
削除する対象。一つの場合は文字列も指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:force, :noop, :verbose が指定できます。 FileUtils/オプションの説明

例:

FileUtils.rm('junk.txt')
FileUtils.rm(Dir.glob('*~'))
FileUtils.rm('NotExistFile', {:force => true})    # never raises exception


module function FileUtils.#remove_dir

remove_dir(path, force = false) -> ()

ディレクトリ path を削除します。

[PARAM] path:
削除するディレクトリ。
[PARAM] force:
真のときは削除中に発生した StandardError を無視します。


module function FileUtils.#remove_entry

remove_entry(path, force = false)

ファイル path を削除します。path がディレクトリなら再帰的に削除します。

このメソッドにはローカル脆弱性が存在します。 詳しくは FileUtils.#remove_entry_secure の項を参照してください。

[PARAM] path:
削除するパス。
[PARAM] force:
真のときは削除中に発生した StandardError を無視します。

例:

FileUtils.remove_entry '/tmp/ruby.tmp.08883'

[SEE_ALSO] FileUtils.#remove_entry_secure


module function FileUtils.#remove_entry_secure

remove_entry_secure(path, force = false) -> ()

ファイル path を削除します。path がディレクトリなら再帰的に削除します。

FileUtils.#rm_r および FileUtils.#remove_entry には TOCTTOU (time-of-check to time-of-use)脆弱性が存在します。 このメソッドはそれを防ぐために新設されました。 FileUtils.#rm_r および FileUtils.#remove_entry は以下の条件が 満たされるときにはセキュリティホールになりえます。

  • 親ディレクトリが全ユーザから書き込み可能 (/tmp を含む)
  • path 以下のいずれかのディレクトリが全ユーザから書き込み可能
  • システムがシンボリックリンクを持つ

この脆弱性を防ぐため、remove_entry_secure は削除前に path 以下の ディレクトリのオーナーとパーミッションを変更し、上記の条件を回避します。 ただし remove_entry_secure は親ディレクトリが以下の条件を満たすことを 仮定しています。

  • UNIX システムおよびそれに類する環境では、sticky ビットが立っていること。
  • 全ユーザが書き込み可能であるのは、直接の親ディレクトリのみであること。 例えば、/var/tmp のパーミッションが 1777 であるのは問題ありませんが、 その場合 / や /var が全ユーザから書き込み可能であってはなりません。

この条件が満たされない場合 remove_entry_secure は安全ではありません。

[PARAM] path:
削除するパス。
[PARAM] force:
真のときは削除中に発生した StandardError を無視します。


module function FileUtils.#remove_file

remove_file(path, force = false) -> ()

ファイル path を削除します。

[PARAM] path:
削除するファイル。
[PARAM] force:
真のときは削除中に発生した StandardError を無視します。


module function FileUtils.#rm_f

rm_f(list, options = {}) -> ()
safe_unlink(list, options = {}) -> ()

FileUtils.rm(list, :force => true) と同じです。

FileUtils/オプションの説明

[PARAM] list:
削除する対象。一つの場合は文字列も指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop, :verbose が指定できます。 :force がセットされた場合は作業中すべての StandardError を無視します。

[SEE_ALSO] FileUtils.#rm


module function FileUtils.#rm_r

rm_r(list, options = {}) -> ()

ファイルまたはディレクトリ list を再帰的に消去します。

[PARAM] list:
削除する対象。一つの場合は文字列も指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:force, :noop, :verbose, :secure が指定できます。 FileUtils/オプションの説明

注意

このメソッドにはローカル脆弱性が存在します。 詳しくは FileUtils.#remove_entry_secure の項を参照してください。

例:

FileUtils.rm_r(Dir.glob('/tmp/*'))

[SEE_ALSO] FileUtils.#rm, FileUtils.#remove_entry_secure


module function FileUtils.#rm_rf

rm_rf(list, options = {}) -> ()
rmtree(list, options = {}) -> ()

ファイルまたはディレクトリ list を再帰的に消去します。

rm_r(list, {:force => true}) と同じです。

[PARAM] list:
削除する対象。一つの場合は文字列も指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop, :verbose, :secure が指定できます。 FileUtils/オプションの説明

注意

このメソッドにはローカル脆弱性が存在します。 詳しくは FileUtils.#remove_entry_secure の項を参照してください。

[SEE_ALSO] FileUtils.#rm, FileUtils.#rm_r, FileUtils.#remove_entry_secure


module function FileUtils.#rmdir

rmdir(dir, options = {}) -> ()

ディレクトリ dir を削除します。

[PARAM] dir:
削除するディレクトリを指定します。一つの場合は文字列でも指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:noop, :verbose が指定できます。 FileUtils/オプションの説明
[EXCEPTION] Errno::ENOTEMPTY:
削除するディレクトリが空でない場合に発生します。

例:

FileUtils.rmdir('somedir')
FileUtils.rmdir(%w(somedir anydir otherdir))
# does not remove directory really, outputing message.
FileUtils.rmdir('somedir', {:verbose => true, :noop => true})


module function FileUtils.#touch

touch(list, options = {}) -> ()

list で指定されたファイルの最終変更時刻 (mtime) と アクセス時刻 (atime) を変更します。

list で指定されたファイルが存在しない場合は空のファイルを作成します。

[PARAM] list:
対象のファイル。一つの場合は文字列も指定可能です。 二つ以上指定する場合は配列で指定します。
[PARAM] options:
:mtime, :nocreate, :noop, :verbose が指定できます。 FileUtils/オプションの説明

例:

FileUtils.touch('timestamp')
FileUtils.touch('timestamp', :mtime => Time.now)
FileUtils.touch(Dir.glob('*.c'))


module function FileUtils.#uptodate?

uptodate?(newer, older_list, options = nil) -> bool

newer が、older_list に含まれるすべてのファイルより新しいとき真。 存在しないファイルは無限に古いとみなされます。

[PARAM] newer:
ファイルを一つ指定します。
[PARAM] older_list:
ファイル名の配列を指定します。
[PARAM] options:
どのようなオプションも指定することはできません。
[EXCEPTION] ArgumentError:
options にオプションを指定した場合に発生します。

例:

FileUtils.uptodate?('hello.o', ['hello.c', 'hello.h']) or system('make')


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > APPEND

constant File::Constants::APPEND

APPEND

追記モードでファイルを開くときに指定します。 File.openで使用します。


constant File::Constants::BINARY

BINARY

ファイルをバイナリとして開きます。 open(2) で O_BINARYが指定できる場合に使えます。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > CREAT

constant File::Constants::CREAT

CREAT

ファイルがなければ作成するよう指定します。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > EXCL

constant File::Constants::EXCL

EXCL

CREATと併用し、もしファイルが既にある場合には失敗します。 File.openで使用します。


constant File::Constants::FNM_CASEFOLD

FNM_CASEFOLD

アルファベットの大小文字を区別せずにパターンマッチを行います。 File.fnmatch, Dir.globで使用します。


constant File::Constants::FNM_DOTMATCH

FNM_DOTMATCH

ワイルドカード `*', `?', `[]' が先頭の `.' にマッチするようになります。 File.fnmatch, Dir.globで使用します。

1.8.0以前では、FNM_DOTMATCHという名前でした。


constant File::Constants::FNM_NOESCAPE

FNM_NOESCAPE

エスケープ文字 `\' を普通の文字とみなします。 File.fnmatch, Dir.globで使用します。


constant File::Constants::FNM_PATHNAME

FNM_PATHNAME

ワイルドカード `*', `?', `[]' が `/' にマッチしなくなります。 シェルのパターンマッチにはこのフラグが使用されています。 File.fnmatch, Dir.globで使用します。


constant File::Constants::FNM_SYSCASE

FNM_SYSCASE

case hold なファイルシステムの場合、FNM_CASEFOLD の値になり、そうでなければゼロの値になります。 File.fnmatch, Dir.globで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > LOCK_EX

constant File::Constants::LOCK_EX

LOCK_EX

排他ロック。同時にはただひとつのプロセスだけがロックを保持できます。 File#flock で使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > LOCK_NB

constant File::Constants::LOCK_NB

LOCK_NB

ロックの際にブロックしない。他の指定と or することで指定します。 File#flock で使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > LOCK_SH

constant File::Constants::LOCK_SH

LOCK_SH

共有ロック。複数のプロセスが同時にロックを共有できます。 File#flock で使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > LOCK_UN

constant File::Constants::LOCK_UN

LOCK_UN

アンロック。File#flock で使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > NOCTTY

constant File::Constants::NOCTTY

NOCTTY

自身がTTY制御しないようにTTYを開きます。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > NONBLOCK

constant File::Constants::NONBLOCK

NONBLOCK

ファイルが利用可能じゃなくてもブロックしません。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > RDONLY

constant File::Constants::RDONLY

RDONLY

読み込みのみのモードでファイルを開くときに指定します。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > RDWR

constant File::Constants::RDWR

RDWR

読み書き両方のモードでファイルを開くときに指定します。 File.openで使用します。


constant File::Constants::SYNC

SYNC

ファイルを同期モードで開きます。 open(2) で O_SYNCが指定できる場合に使えます。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > TRUNC

constant File::Constants::TRUNC

TRUNC

もしファイルが存在するなら、中身を抹消してサイズをゼロにします。 File.openで使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module File::Constants > WRONLY

constant File::Constants::WRONLY

WRONLY

書き込みのみのモードでファイルを開くときに指定します。 File.openで使用します。


instance method File::Stat#<=>

self <=> o -> Fixnum | nil

ファイルの最終更新時刻を比較します。self が other よりも 新しければ正の数を、等しければ 0 を古ければ負の数を返します。 比較できない場合はnilを返します

[PARAM] o:
File::Stat のインスタンスを指定します。
require 'tempfile' # for Tempfile

fp1 = Tempfile.open("first")
fp1.print "古い方\n"
sleep(1)
fp2 = Tempfile.open("second")
fp2.print "新しい方\n"

p File::Stat.new(fp1.path) <=> File::Stat.new(fp2.path) #=> -1
p File::Stat.new(fp2.path) <=> File::Stat.new(fp1.path) #=>  1
p File::Stat.new(fp1.path) <=> fp2.path #=> nil


instance method File::Stat#atime

atime -> Time

最終アクセス時刻を返します。

fs = File::Stat.new($0)
#例
p fs.atime.to_a  #=> [45, 5, 21, 5, 9, 2007, 3, 248, false, "\223\214\213\236 (\225W\217\200\216\236) "]

[SEE_ALSO] Time


instance method File::Stat#blksize

blksize -> Integer

望ましいI/Oのブロックサイズを返します。

fs = File::Stat.new($0)
#例
p fs.blksize #=> nil


instance method File::Stat#blockdev?

blockdev? -> bool

ブロックスペシャルファイルの時に真を返します。

Dir.glob("/dev/*") {|bd|
  if File::Stat.new(bd).blockdev?
    puts bd
  end
}
#例
#...
#=> /dev/hda1
#=> /dev/hda3
#...


instance method File::Stat#blocks

blocks -> Integer

割り当てられているブロック数を返します。

fs = File::Stat.new($0)
#例
p fs.blocks  #=> nil


instance method File::Stat#chardev?

chardev? -> bool

キャラクタスペシャルファイルの時に真を返します。

Dir.glob("/dev/*") {|bd|
  if File::Stat.new(bd).chardev?
    puts bd
  end
}
#例
#...
#=> /dev/tty1
#=> /dev/stderr
#...


instance method File::Stat#ctime

ctime -> Time

最終状態変更時刻を返します。 (状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)

fs = File::Stat.new($0)
#例
p fs.ctime.to_f   #=> 1188719843.0

[SEE_ALSO] Time


instance method File::Stat#dev

dev -> String

デバイス番号(ファイルシステム)を返します。

fs = File::Stat.new($0)
p fs.dev
#例
#=> 2


instance method File::Stat#dev_major

dev_major -> Integer

dev の major 番号部を返します。

fs = File::Stat.new($0)
p fs.dev_major
#例
#=> nil #この場合ではシステムでサポートされていないため


instance method File::Stat#dev_minor

dev_minor -> Integer

dev の minor 番号部を返します。

fs = File::Stat.new($0)
p fs.dev_minor
#例
#=> nil


instance method File::Stat#directory?

directory? -> bool

ディレクトリの時に真を返します。

p File::Stat.new($0).directory? #=> false

[SEE_ALSO] FileTest.#directory?


instance method File::Stat#executable?

executable? -> bool

実効ユーザ/グループIDで実行できる時に真を返します。

p File::Stat.new($0).executable?
# 例
#=> true


instance method File::Stat#executable_real?

executable_real? -> bool

実ユーザ/グループIDで実行できる時に真を返します。

p File::Stat.new($0).executable_real?
#例
#=> true


instance method File::Stat#file?

file? -> bool

通常ファイルの時に真を返します。

p File::Stat.new($0).file? #=> true


instance method File::Stat#ftype

ftype -> String

ファイルのタイプを表す文字列を返します。文字列は以下のうちの いずれかです。

"file"
"directory"
"characterSpecial"
"blockSpecial"
"fifo"
"link"
"socket"

"unknown"

サンプル

fs = File::Stat.new($0)
p fs.ftype #=> "file"
p File::Stat.new($:[0]).ftype #=> "directory"


instance method File::Stat#gid

gid -> Integer

オーナーのグループIDを返します。

fs = File::Stat.new($0)
#例
p fs.gid      #=> 0


instance method File::Stat#grpowned?

grpowned? -> bool

グループIDが実効グループIDと等しい時に真を返します。

補助グループIDは考慮されません。

printf "%s %s\n", $:[0], File::Stat.new($:[0]).grpowned?
#例
#=> /usr/local/lib/site_ruby/1.8 false
printf "%s %s\n", $0, File::Stat.new($0).grpowned?
#例
#=> filestat.rb true


instance method File::Stat#ino

ino -> Integer

i-node 番号を返します。

fs = File::Stat.new($0)
#例
p fs.ino      #=> 0


instance method File::Stat#mode

mode -> Integer

ファイルモードを返します。

fs = File::Stat.new($0)
printf "%o\n", fs.mode
#例
#=> 100644


instance method File::Stat#mtime

mtime -> Time

最終更新時刻を返します。

fs = File::Stat.new($0)
#例
p fs.mtime   #=> Wed Sep 05 20:42:18 +0900 2007

[SEE_ALSO] Time


instance method File::Stat#nlink

nlink -> Integer

ハードリンクの数を返します。

fs = File::Stat.new($0)
#例
p fs.nlink    #=> 1


instance method File::Stat#owned?

owned? -> bool

自分のものである時に真を返します。

printf "%s %s\n", $:[0], File::Stat.new($:[0]).owned?
#例
#=> /usr/local/lib/site_ruby/1.8 false


instance method File::Stat#pipe?

pipe? -> bool

無名パイプおよび名前つきパイプ(FIFO)の時に真を返します。

system("mkfifo /tmp/pipetest")
p File::Stat.new("/tmp/pipetest").pipe? #=> true


instance method File::Stat#rdev

rdev -> Integer

デバイスタイプ(スペシャルファイルのみ)を返します。

fs = File::Stat.new($0)
#例
p fs.rdev     #=> 2


instance method File::Stat#rdev_major

rdev_major -> Integer

rdev の major 番号部を返します。

fs = File::Stat.new($0)
#例
p fs.rdev_major #=> nil


instance method File::Stat#rdev_minor

rdev_minor -> Integer

rdev の minor 番号部を返します。

fs = File::Stat.new($0)
#例
p fs.rdev_minor #=> nil


instance method File::Stat#readable?

readable? -> bool

読み込み可能な時に真を返します。

p File::Stat.new($0).readable? #=> true


instance method File::Stat#readable_real?

readable_real? -> bool

実ユーザ/実グループによって読み込み可能な時に真を返します。

p File::Stat.new($0).readable_real? #=> true


instance method File::Stat#setgid?

setgid? -> bool

setgidされている時に真を返します。

Dir.glob("/usr/sbin/*") {|bd|
  if File::Stat.new(bd).setgid?
    puts bd
  end
}
#例
#...
#=> /usr/sbin/postqueue
#...


instance method File::Stat#setuid?

setuid? -> bool

setuidされている時に真を返します。

Dir.glob("/bin/*") {|bd|
  if File::Stat.new(bd).setuid?
    puts bd
  end
}
#例
#...
#=> /bin/ping
#=> /bin/su
#...


instance method File::Stat#size

size -> Integer

ファイルサイズ(バイト単位)を返します。

fs = File::Stat.new($0)
#例
p fs.size    #=> 1548


instance method File::Stat#size?

size? -> Integer | nil

サイズが0の時にはnil、それ以外の場合はファイルサイズを返します。

require 'tempfile'

fp = Tempfile.new("temp")
p fp.size #=> 0
p File::Stat.new(fp.path).size? #=> nil
fp.print "not 0 "
fp.close
p FileTest.exist?(fp.path) #=> true
p File::Stat.new(fp.path).size? #=> 6


instance method File::Stat#socket?

socket? -> bool

ソケットの時に真を返します。

Dir.glob("/tmp/*"){|file|
  if File::Stat.new(file).socket?
    printf "%s\n", file
  end
}
#例
#=> /tmp/uimhelper-hogehoge
#...


instance method File::Stat#sticky?

sticky? -> bool

stickyビットが立っている時に真を返します。

Dir.glob("/usr/bin/*") {|bd|
  begin
    if File::Stat.new(bd).sticky?
      puts bd
    end
  rescue
  end
}
#例
#...
#=> /usr/bin/emacs-21.4
#...


instance method File::Stat#symlink?

symlink? -> false

シンボリックリンクである時に真を返します。 ただし、File::Statは自動的にシンボリックリンクをたどっていくので 常にfalseを返します。

require 'fileutils'
outfile = $0 + ".ln"
FileUtils.ln_s($0, outfile)
p File::Stat.new(outfile).symlink? #=> false
p File.lstat(outfile).symlink?     #=> true
p FileTest.symlink?(outfile)       #=> true

[SEE_ALSO] File.lstat


instance method File::Stat#uid

uid -> Integer

オーナーのユーザIDを返します。

fs = File::Stat.new($0)
#例
p fs.uid    #=> 0


instance method File::Stat#writable?

writable? -> bool

書き込み可能な時に真を返します。

p File::Stat.new($0).writable? #=> true


instance method File::Stat#writable_real?

writable_real? -> bool

実ユーザ/実グループによって書き込み可能な時に真を返します。

p File::Stat.new($0).writable_real? #=> true


instance method File::Stat#zero?

zero? -> bool

サイズが0である時に真を返します。

p File::Stat.new($0).zero? #=> false


singleton method File::Stat.new

new(path) -> File::Stat

path に関する File::Stat オブジェクトを生成して返します。 File.stat と同じです。

[PARAM] path:
ファイルのパスを指定します。
[EXCEPTION] Errno::ENOENT:
pathに該当するファイルが存在しない場合発生します。
p $:[0]
#=> 例
# "C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8"
p File::Stat.new($:[0])
#=> 例
#<File::Stat dev=0x2, ino=0, mode=040755, nlink=1, uid=0, gid=0, rdev=0x2, size=0, blksize=nil, blocks=nil, atime=Sun Sep 02 14:15:20 +0900 2007, mtime=Tue Apr 24 23:03:44 +0900 2007, ctime=Tue Apr 24 23:03:37 +0900 2007>


singleton method Finalizer.add

add(obj, dependant, method = :finalize, *options)
add_dependency(obj, dependant, method = :finalize, *options)


singleton method Finalizer.delete

delete(id, dependant, method = :finalize)
delete_dependency(id, dependant, method = :finalize)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > delete_all_by_dependant

singleton method Finalizer.delete_all_by_dependant

delete_all_by_dependant(dependant)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > delete_all_dependency

singleton method Finalizer.delete_all_dependency

delete_all_dependency(id, dependant)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > delete_by_dependant

singleton method Finalizer.delete_by_dependant

delete_by_dependant(dependant, method = :finalize)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > finalize_all

singleton method Finalizer.finalize_all

finalize_all


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > finalize_all_by_dependant

singleton method Finalizer.finalize_all_by_dependant

finalize_all_by_dependant(dependant)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > finalize_all_dependency

singleton method Finalizer.finalize_all_dependency

finalize_all_dependency(id, dependant)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > finalize_by_dependant

singleton method Finalizer.finalize_by_dependant

finalize_by_dependant(dependant, method = :finalize)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > finalize_dependency

singleton method Finalizer.finalize_dependency

finalize_dependency(id, dependant, method = :finalize)


Ruby 1.8.7 Reference Manual > All Libraries > library finalize > module Finalizer > safe

singleton method Finalizer.safe

safe


module function Find.#find

find(*dirs) {|file| ... } -> nil

find(1) のように dir 配下のすべてのファイルや ディレクトリを一つずつ引数 file に渡してブロックを実行します。

ディレクトリのシンボリックリンクは辿りません。 また file に渡される順序は不定です。

[PARAM] dirs:
探索するディレクトリを一つ以上指定します。

例:

require 'find'

Find.find('/tmp') {|f|
  Find.prune if f == "/tmp/bar"
  ...
}

あるディレクトリ配下の探索を省略したい場合は上記のように、 Find.#prune を使用します。この例では "/tmp/bar" 配下のファイルやディレクトリを探索しません。prune の代わりに 制御構造/next を使用した場合、"/tmp/bar" 自体をスキップする だけで、その配下の探索は続行されます。

[SEE_ALSO] find(1), Find.#prune


module function Find.#prune

prune -> ()

Find.#find メソッドのブロックにディレクトリが渡されたときにこ のメソッドを実行すると、そのディレクトリ配下の探索を無視します。


instance method Fixnum#**

self ** other [redefined by rational]
rpower(other) [redefined by rational]

Returns a Rational number if the result is in fact rational (i.e. other < 0).


instance method Fixnum#/

self / other [redefined by mathn]

Fixnum#quo と同じ働きをします(有理数または整数を返します)。


instance method Fixnum#id2name

id2name -> String | nil

オブジェクトの整数値 self を、ある Symbol オブジェクトに対応する整数値とみなした上で、 そのシンボルを示す文字列を返します。 整数に対応するシンボルは必ずしも存在せず、その場合は nil を返します。

Symbol#to_i の逆変換のようですが、 返すのはシンボルではなく文字列です。

[RETURN]
オブジェクト名を示す文字列か nil

例:

:foo.to_i      #=> 14585
14585.id2name  #=> "foo"
1.id2name      #=> nil

Fixnum#to_sym で得たシンボルに対して Symbol#to_s で文字列にしたものとおおかた一致しますが、 nil のときの挙動が異なります。

例:

1.id2name     #=> nil
1.to_sym.to_s #=> ""


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Fixnum > power!

instance method Fixnum#power!

power!(other) [added by rational]


instance method Fixnum#quo

quo(other) [redefined by rational]

If Rational is defined, returns a Rational number instead of a Fixnum.


instance method Fixnum#to_sym

to_sym -> Symbol | nil

オブジェクトの整数値 self に対応する Symbol オブジェク トを返します。整数に対応するシンボルが存在しない時には nil を返します。

Symbol#to_i の逆変換ととらえることができます。

[RETURN]
シンボルか nil

例:

:foo.to_i     #=> 14585
14585.to_sym  #=> :foo
1.to_sym      #=> nil


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > DIG

constant Float::DIG

DIG -> Fixnum

Float が表現できる最大の 10 進桁数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > EPSILON

constant Float::EPSILON

EPSILON -> Float

1.0 + Float::EPSILON != 1.0 となる最小の値


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MANT_DIG

constant Float::MANT_DIG

MANT_DIG -> Fixnum

仮数部の Float::RADIX 進法での桁数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MAX

constant Float::MAX

MAX -> Float

Float が取り得る最大値


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MAX_10_EXP

constant Float::MAX_10_EXP

MAX_10_EXP -> Fixnum

最大の 10 進の指数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MAX_EXP

constant Float::MAX_EXP

MAX_EXP -> Fixnum

最大の Float::RADIX 進の指数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MIN

constant Float::MIN

MIN -> Float

Float が取り得る最小値


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MIN_10_EXP

constant Float::MIN_10_EXP

MIN_10_EXP -> Fixnum

最小の 10 進の指数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > MIN_EXP

constant Float::MIN_EXP

MIN_EXP -> Fixnum

最小の Float::RADIX 進の指数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > RADIX

constant Float::RADIX

RADIX -> Fixnum

指数表現の基数


constant Float::ROUNDS

ROUNDS -> Fixnum

丸めモード (-1: 不定、0: 0.0 の方向に丸め、1: 四捨五入、2:正の無限 大の方向に丸め、3:負の無限大の方向に丸め)


instance method Float#*

self * other -> Float

算術演算子。積を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 積
p 2.4 * 3   #=> 7.2


instance method Float#**

self ** other -> Float

算術演算子。冪を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 冪
p 1.2 ** 3.0  #=> 1.728
p 3.0 + 4.5 - 1.3 / 2.4 * 3 % 1.2 ** 3.0 #=> 5.875
p 0.0 ** 0 #=> 1.0


instance method Float#+

self + other -> Float

算術演算子。和を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 和
p 3.0 + 4.5 #=> 7.5


instance method Float#-

self - other -> Float

算術演算子。差を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 差
p 4.5 - 1.3 #=> 3.2


instance method Float#/

self / other -> Float

算術演算子。商を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 商
p 1.3 / 2.4 #=> 0.541666666666667
p 1.0 / 0   #=> Infinity


instance method Float#<

self < other -> bool

比較演算子。数値として小さいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other が大きい場合 true を返します。 そうでなければ false を返します。

例:

p 3.14 <  3.1415  #=> true
p 3.14 <= 3.1415  #=> true


instance method Float#<=

self <= other -> bool

比較演算子。数値として等しいまたは小さいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が大きい場合か、 両者が等しい場合 true を返します。 そうでなければ false を返します。

例:

p 3.14 <  3.1415  #=> true
p 3.14 <= 3.1415  #=> true


instance method Float#<=>

self <=> other -> nil | 1 | 0 | -1

self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。 比較できない場合はnilを返します

例:

p 3.05 <=> 3.14 #=> -1
p 1.732 <=> 1.414  #=> 1
p 3.3 - 3.3 <=> 0.0 #=> 0
p 3.14 <=> "hoge" #=> nil
p 3.14 <=> 0.0/0.0 #=> nil


instance method Float#==

self == other -> bool

比較演算子。数値として等しいか判定します。

ただし、NaN 同士の比較では常に false を返します。

[PARAM] other:
比較対象の数値
[RETURN]
self と other が等しい場合 true を返します。 そうでなければ false を返します。

例:

p 3.14 == 3.14000 #=> true
p 3.14 == 3.1415  #=> false

# NaN 同士では常に false
nan = 0.0/0
p nan == nan      # => false


instance method Float#>

self > other -> bool

比較演算子。数値として大きいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が小さい場合 true を返します。 そうでなければ false を返します。

例:

p 3.14 >  3.1415  #=> false
p 3.14 >= 3.1415  #=> false


instance method Float#>=

self >= other -> bool

比較演算子。数値として等しいまたは大きいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が小さい場合か、 両者が等しい場合 true を返します。 そうでなければ false を返します。

例:

p 3.14 >  3.1415  #=> false
p 3.14 >= 3.1415  #=> false


instance method Float#%

self % other -> Float
modulo(other) -> Float

算術演算子。剰余を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
# 剰余
p 3 % 1.2   #=> 0.6
p 3.0 % 0   #=> NaN


instance method Float#abs

abs -> Float

自身の絶対値を返します。

例:

p   34.56.abs     #=> 34.56
p  -34.56.abs     #=> 34.56


instance method Float#ceil

ceil -> Integer

自身と等しいかより大きな整数のうち最小のものを返します。

例:

1.0.ceil      #=> 1
1.2.ceil      #=> 2
(-1.2).ceil   #=> -1
(-1.5).ceil   #=> -1

[SEE_ALSO] Float#floor, Float#round, Float#truncate


instance method Float#divmod

divmod(other) -> [Numeric]

self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。

ここで、商 q と余り r は、

  • self == other * q + r

と

  • other > 0 のとき: 0 <= r < other
  • other < 0 のとき: other < r <= 0
  • q は整数

をみたす数です。 このメソッドは、メソッド / と % によって定義されています。

[PARAM] other:
自身を割る数を指定します。

例:

11.divmod(3)         #=> [3, 2]
(11.5).divmod(3.5)   #=> [3, 1.0]
11.divmod(-3)        #=> [-4, -1]
11.divmod(3.5)       #=> [3, 0.5]
(-11).divmod(3.5)    #=> [-4, 3.0]

[SEE_ALSO] Numeric#div, Numeric#modulo


instance method Float#eql?

eql?(other) -> bool

自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。

[PARAM] other:
自身と比較したい数値を指定します。

例:

1.0.eql?(1)   #=> false
1.0.eql?(1.0) #=> true


instance method Float#finite?

finite? -> bool

数値が ∞, -∞, あるいは NaN でない場合に true を返します。 そうでない場合に false を返します。

例:

p 3.14.finite? #=> true
inf = 1.0/0
p inf.finite? #=> false


instance method Float#floor

floor -> Integer

自身と等しいかより小さな整数のうち最大のものを返します。

例:

1.0.floor      #=> 1
1.2.floor      #=> 1
(-1.2).floor   #=> -2
(-1.5).floor   #=> -2

[SEE_ALSO] Numeric#ceil, Numeric#round, Float#truncate


instance method Float#hash

hash -> Fixnum

ハッシュ値を返します。

例:

pi1 = 3.14
pi2 = 3.14
pi3 = 3.1415

p pi1.hash #=> 335364239
p pi2.hash #=> 335364239
p pi3.hash #=> 420540030


instance method Float#infinite?

infinite? -> 1 | -1 | nil

数値が +∞ のとき 1、-∞のとき -1 を返します。それ以外は nil を返 します。

例:

inf = 1.0/0
p inf
p inf.infinite?

=> Infinity
   1

inf = -1.0/0
p inf
p inf.infinite?

=> -Infinity
   -1


instance method Float#nan?

nan? -> bool

数値が NaN(Not a number)のとき真を返します。

例:

nan = 0.0/0.0
p nan
p nan.nan?

=> NaN
   true


instance method Float#round

round -> Fixnum

自身ともっとも近い整数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。 いわゆる四捨五入ですが、偶数丸めではありません。

例:

1.0.round      #=> 1
1.2.round      #=> 1
(-1.2).round   #=> -1
(-1.5).round   #=> -2

[SEE_ALSO] Float#ceil, Float#floor, Float#truncate


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/util > class Float > to_d

instance method Float#to_d

to_d [added by bigdecimal/util]

BigDecimalに変換する


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Float > to_f

instance method Float#to_f

to_f -> self

self を返します。

例:

p 3.14.to_f   #=> 3.14


instance method Float#to_i

to_i -> Integer
truncate -> Integer

小数点以下を切り捨てて値を整数に変換します。

例:

p 3.14.to_i   #=> 3

[SEE_ALSO] Numeric#round, Numeric#ceil, Numeric#floor


instance method Float#zero?

zero? -> bool

自身がゼロの時、真を返します。そうでない場合は false を返します。

例:

p 10.0.zero?            #=> false
p 0.zero?               #=> true
p 0.0.zero?             #=> true


singleton method Float.induced_from

induced_from(num) -> Float

num を Float に変換した結果を返します。

[PARAM] num:
変換前の数値
[EXCEPTION] TypeError:
Fixnum, Bignum, Float以外を入力した場合に発生します
p Float.induced_from(30) #=> 30.0
p Float.induced_from(Math::PI) #=> 3.14159265358979
begin
  Float.induced_from("1.732")
rescue TypeError
  p $! #=> #<TypeError: failed to convert String into Float>
end


instance method Forwardable#def_delegator

def_instance_delegator(accessor, method, ali = method) -> nil
def_delegator(accessor, method, ali = method) -> nil

メソッドの委譲先を設定します。

[PARAM] accessor:
委譲先のオブジェクト
[PARAM] method:
委譲先のメソッド
[PARAM] ali:
委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、 委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。

def_delegator は def_instance_delegator の別名になります。


instance method Forwardable#def_delegators

def_instance_delegators(accessor, *methods) -> nil
def_delegators(accessor, *methods) -> nil

メソッドの委譲先をまとめて設定します。

[PARAM] accessor:
委譲先のオブジェクト
[PARAM] methods:
委譲するメソッドのリスト

委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、 委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。

def_delegators は def_instance_delegators の別名になります。


singleton method Forwardable.debug

debug -> bool

委譲部分をバックトレースに含めるかどうかの状態を返します。

バックトレースを含める設定となっている時、真を返します。 デフォルトは含めない設定となっています。


Ruby 1.8.7 Reference Manual > All Libraries > library forwardable > module Forwardable > debug=

singleton method Forwardable.debug=

debug= -> bool

委譲部分をバックトレースに含めるかどうかの状態を設定します。


instance method GC#garbage_collect

garbage_collect -> nil

ガーベージコレクトを開始します。

GC.start や ObjectSpace.#garbage_collect と同じ働きをします。 GC.disable により GC が禁止されている場合は何もしません。

nil を返します。


singleton method GC.disable

disable -> bool

ガーベージコレクトを禁止します。

前回の禁止状態を返します(禁止されていたなら true, GC が有効であったなら、 false)。

[SEE_ALSO] GC.enable


singleton method GC.enable

enable -> bool

ガーベージコレクトを許可します。

前回の禁止状態を返します(禁止されていたなら true, GC が有効であったなら、 false)。

[SEE_ALSO] GC.disable


singleton method GC.start

start -> nil

ガーベージコレクトを開始します。

GC#garbage_collect や ObjectSpace.#garbage_collect と同じ働きをします。 GC.disable により GC が禁止されている場合は何もしません。

nil を返します。


singleton method GC.stress

stress -> bool
stress=(value)

GC.stress が真に設定されている間は、GC を行えるすべての機会に GC を行います。

[PARAM] value:
任意のオブジェクト。真偽値として解釈されます。


constant GDBM::FAST

FAST

GDBM.open の第3引数に指定します。

書き込みの結果が、ディスク上のファイルにすぐに反映しなくなります。 このモードのときに結果を明示的にファイルに反映させるには GDBM#sync メソッドを呼びます。libgdbm version 1.8.0 以降ではこのモードがデフォルト です。


constant GDBM::NEWDB

NEWDB

GDBM.open の第3引数に指定します。

書き込みモードで、すでにファイルが存在したら削除してから作り直します。


constant GDBM::NOLOCK

NOLOCK

GDBM.open の第3引数に指定します。

通常、他のプロセスが DB をオープンしている最中にオープンを行うと Errno::EWOULDBLOCK(または Errno::EAGAIN) 例外が発生します。 このフラグを指定していれば、他のプロセスがオープンしている最中でも同時 オープンすることができます。

この定数は libgdbm version 1.8.0 以降より有効です。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > READER

constant GDBM::READER

READER

GDBM.open の第3引数に指定します。

読み込みモードでオープンします。


constant GDBM::SYNC

SYNC

GDBM.open の第3引数に指定します。

書き込みの結果が、ディスク上のファイルにすぐに反映されます。 libgdbm version 1.8.0 以前のデフォルトモードです。

この定数は libgdbm version 1.8.0 以降より有効です。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > VERSION

constant GDBM::VERSION

VERSION

libgdbm のバージョン情報の文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > WRCREAT

constant GDBM::WRCREAT

WRCREAT

GDBM.open の第3引数に指定します。

書き込みモードで、すでにファイルが存在しなかったら作ります。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > WRITER

constant GDBM::WRITER

WRITER

GDBM.open の第3引数に指定します。

書き込みモードでオープンします。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > []

instance method GDBM#[]

self[key] -> String

key をキーとする値を返します。

[PARAM] key:
キー。


instance method GDBM#[]=

self[key] = value

key をキーとして、value を格納します。

[PARAM] key:
キー。
[PARAM] value:
格納する値。


instance method GDBM#cachesize=

cachesize=(size)

内部のキャッシュのサイズを指定します。

詳しくは gdbm の GDBM_CACHESIZE の項を参照ください。

[PARAM] size:
新しい内部のキャッシュサイズ。

[SEE_ALSO] gdbm


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > clear

instance method GDBM#clear

clear -> self

DBM ファイルを空にします。


instance method GDBM#close

close -> nil

DBM ファイルをクローズします。

以後の操作は例外 RuntimeError を発生させます。


instance method GDBM#closed?

closed? -> bool

DBM ファイルが既に閉じられているかどうかを返します。

既に閉じられていれば true を返します。 そうでなければ false を返します。


instance method GDBM#delete

delete(key) -> nil
delete(key) {|key| ... } -> ()

key をキーとする項目を削除します。

指定したキーが存在しなければ nil を返します。 このときブロックを指定していれば、ブロックを評価します。


instance method GDBM#delete_if

delete_if { |key, value| ... } -> self
reject! { |key, value| ... } -> self

ブロックを評価した値が真であれば該当する項目を削除します。

このメソッドは self を破壊的に変更します。


instance method GDBM#each

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

各要素に対するイテレータです。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > each_key

instance method GDBM#each_key

each_key {|key| ... } -> self

全ての key に対して繰り返すイテレータです。


instance method GDBM#each_value

each_value {|value| ... } -> self

全ての value に対して繰り返すイテレータです。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > empty?

instance method GDBM#empty?

empty? -> bool

データベースが空の時、真を返します。


instance method GDBM#fastmode=

fastmode=(bool) -> bool

オープンしている GDBM オブジェクトのモードを変更します。

このオプションはデフォルトで on です。 このオプションは obsolete です。

このオプションが on のときは、GDBM はディスクへの書き込みを待たずに 次の操作を続けます。

[PARAM] bool:
新たにセットするモード。

[SEE_ALSO] GDBM::FAST, GDBM#syncmode=


instance method GDBM#fetch

fetch(key, ifnone = nil) {|key| ... } -> object

データベースから対応するキーを探してその要素の値を返します。

[PARAM] key:
探索するキー。
[PARAM] ifnone:
対応するキーが見つからなかった場合に返す値。
[EXCEPTION] IndexError:
ifnone が設定されていないときに、対応するキーが 見つからなかった場合に発生します。
require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'

p db1.fetch('a')                            #=> 'aaa'
p db1.fetch('z', 'zzz')                     #=> 'zzz'
p db1.fetch('z'){|key| [:key, key] }        #=> [:key, 'z']
p db1.fetch('z', 'zzz'){|key| [:key, key] } #=> 'zzz'
p db1.fetch('z')                            #=> IndexError 発生

[SEE_ALSO] Hash#fetch


instance method GDBM#has_key?

has_key?(key) -> bool
key?(key) -> bool
include?(key) -> bool
member?(key) -> bool

key がデータベース中に存在する時、真を返します。


instance method GDBM#has_value?

has_value?(value) -> bool
value?(value) -> bool

value を値とする要素がデータベース中に存在する時、真を返します。

[PARAM] value:
検索したい値。


instance method GDBM#index

index(val) -> String

値 val に対応するキーを返します。

対応する要素が存在しない時には nil を返します。 該当するキーが複数存在する場合、どのキーを返すかは不定です。

[SEE_ALSO] Hash#index


instance method GDBM#indexes

indexes(*keys) -> [String]
indices(*keys) -> [String]

各引数の値をキーとする要素の値を含む配列を返します。

このメソッドはobsoleteです。

[PARAM] keys:
検索したいキーです。
require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
p db1.indexes('a', 'b') #=> ["aaa", "bbb"]


instance method GDBM#invert

invert -> Hash

値からキーへのハッシュを返します。

require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
p db1.invert #=> {"aaa"=>"a", "bbb"=>"b"}


instance method GDBM#keys

keys -> [String]

データベース中に存在するキー全てを含む配列を返します。

require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
p db1.keys #=> ["a", "b"]


instance method GDBM#length

length -> Integer
size -> Integer

データベース中の要素の数を返します。

現在の実現では要素数を数えるためにデータベースを全部検索します。


instance method GDBM#reject

reject {|key, value| ... } -> Hash

ブロックを評価した値が真であれば該当する要素を削除します。

self.to_hash.reject{|key, value| ... }

と同じです。

[SEE_ALSO] Hash#reject


instance method GDBM#reorganize

reorganize -> self

DB ファイルの再編成を行います。

GDBM では、要素の削除を行っても DB ファイルのサイズは減少しません(削 除によって空いた領域は次の格納のために取っておかれます)。 このメソッドを呼び出すことで DBM ファイルを新規に作り直し無駄な領域をなく すことができます。

大量の削除を行ったときに、ディスクスペースの節約のために使用します。


instance method GDBM#replace

replace(other) -> self

self の内容を other の内容で置き換えます。

[PARAM] other:
each_pair メソッドを持つオブジェクトでなければなりません。
require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db2 = GDBM.open('bbb.gdbm', 0666, GDBM::NEWDB)
db2['c'] = 'ccc'
db2['d'] = 'ddd'
hash = { 'x' => 'xxx', 'y' => 'yyy'}

p db1               #=> #<GDBM:0xb7d1c8a8>
p db1.replace(db2)  #=> #<GDBM:0xb7d1c8a8>
p db1.replace(hash) #=> #<GDBM:0xb7d1c8a8>


instance method GDBM#select

select {|key, value| ... } -> [[String]]

ブロックを評価して真になった要素のみを配列に格納して返します。

require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.select{ |key, value| key == 'a' } #=> [["a", "aaa"]]
p db1.select{ |key, value| key != 'a' } #=> [["c", "ccc"], ["b", "bbb"]]

[SEE_ALSO] Hash#select


instance method GDBM#shift

shift -> [String]

データベース中の要素を一つ取り出し、データベースから削除します。

require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'

p db1.shift #=> ["a", "aaa"]


instance method GDBM#store

store(key, val) -> [String]

key に対して val を格納します。

[SEE_ALSO] GDBM#[]=


instance method GDBM#sync

sync -> self

要素の変更をファイルに反映します。

FAST モード(GDBM.open の第3引数に GDBM::FAST を指定)のときだけ意味があります。

注意

GNU gdbm version 1.8 以降より FAST モードがデフォルトになりました。


instance method GDBM#syncmode=

syncmode=(bool) -> bool

オープンしている GDBM オブジェクトのモードを変更します。

このオプションはデフォルトで off です。

このオプションが on のときは、GDBM はデータベースの変更操作ごとに データベースの状態を同期します。

[PARAM] bool:
新たにセットするモード。

[SEE_ALSO] GDBM::SYNC, GDBM#fastmode=


instance method GDBM#to_a

to_a -> [[String]]

self の各要素を格納した配列を返します。

返される配列の1つの要素は [key, value] です。 つまり配列の配列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > to_hash

instance method GDBM#to_hash

to_hash -> Hash

self の各要素を格納したハッシュを返します。


instance method GDBM#update

update(other) -> self

self と other の内容をマージします。

重複するキーに対応する値はother の内容で上書きされます。

[PARAM] other:
each_pair メソッドを持つオブジェクトでなければなりません。


Ruby 1.8.7 Reference Manual > All Libraries > library gdbm > class GDBM > values

instance method GDBM#values

values -> [String]

データベース中に存在する値全てを含む配列を返します。


instance method GDBM#values_at

values_at(*keys) -> [String]

keys に対応する値を配列に格納して返します。

[PARAM] keys:
キー。複数指定可能です。
require 'gdbm'

db1 = GDBM.open('aaa.gdbm', 0666, GDBM::NEWDB)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.values_at('a', 'b') #=> ["aaa", "bbb"]
p db1.values_at('x', 'y') #=> [nil, nil]


singleton method GDBM.new

new(dbname, mode = 0666, flags = 0) -> GDBM
open(dbname, mode = 0666, flags = 0) -> GDBM
open(dbname, mode = 0666, flags = 0) {|db| ... } -> ()

dbname で指定したデータベースをモードを mode に設定してオープンします。

mode の省略値は 0666 です。mode として nil を指定 するとデータベースが存在しない時には新たなデータベースを作らず nil を返します。

flags には、GDBM::FAST, GDBM::SYNC, GDBM::NOLOCK の論理和を指定します。デフォルト値は指定なし(つまり0)です。

flags に GDBM::READER, GDBM::WRITER, GDBM::WRCREAT, GDBM::NEWDB のどれかを与えて読み書きのモードを指定できます。 これらをどれも指定しなかった場合には、 GDBM::WRCREAT, GDBM::WRITER, GDBM::READER の順で試します。

ブロックを指定した場合、オープンした GDBM オブジェクトを 引数にブロックを実行します。実行後 GDBM オブジェクトをクローズ し、open メソッドはブロックの結果を返します。これはちょうど 以下と同じです。

dbm = GDBM.open(file)
begin
  yield dbm
ensure
  dbm.close
end


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > DEFAULT_HOST

constant GServer::DEFAULT_HOST

DEFAULT_HOST

"127.0.0.1" です。


instance method GServer#audit

audit

メソッド starting, connecting, disconnecting, stopping をそれぞれ定められた時に呼ぶなら true、そうでないなら false を返します。


instance method GServer#audit=

audit=(bool)

true なら GServer はログを取るためのメソッド starting, connecting, disconnecting, stoppingを それぞれ定められた時に呼びます。


instance method GServer#connecting

connecting(client)

audit が true に設定されているなら、クライアント接続時に呼ばれます。 client はクライアントと接続している TCPSocket です。 サブクラスでオーバーライドします。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > connections

instance method GServer#connections

connections()

現在接続しているクライアントの数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > debug

instance method GServer#debug

debug

デバッグモードなら true、そうでないなら false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > debug=

instance method GServer#debug=

debug=(bool)

デバッグモードにするかどうかを設定します。


instance method GServer#disconnecting

disconnecting(clientPort)

audit が true に設定されているなら、クライアントとの接続終了時に呼ばれます。 clientPort は接続していたクライアントのポートです。 サブクラスでオーバーライドします。


instance method GServer#error

error(detail)

debug が true に設定されている時、例外が発生すると呼ばれます。 detail は例外オブジェクトです。protected メソッドです。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > host

instance method GServer#host

host

ホストを文字列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > join

instance method GServer#join

join

サーバのサービスを実行しているスレッドを join します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > log

instance method GServer#log

log(msg)

文字列 msg をログに記録します。protected メソッドです。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > maxConnections

instance method GServer#maxConnections

maxConnections

受け付ける最大接続数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > port

instance method GServer#port

port

ポートを数で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > serve

instance method GServer#serve

serve(io)

何もしません。サブクラスでオーバーライドします。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > shutdown

instance method GServer#shutdown

shutdown

GServer を停止します。


instance method GServer#start

start(maxConnections = -1)

GServer を起動します。 0 より大きい maxConnections を与えたなら、 最大接続数として設定されます。


instance method GServer#starting

starting

audit が true に設定されているなら、サーバ起動時に呼ばれます。 サブクラスでオーバーライドします。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > stdlog

instance method GServer#stdlog

stdlog

ログを出力する先の IO オブジェクトを返します。デフォルトは $stderr です。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > stdlog=

instance method GServer#stdlog=

stdlog=(io)

ログを出力する先の IO オブジェクトを設定します。デフォルトは $stderr です。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > stop

instance method GServer#stop

stop

GServer をすぐに停止します。


Ruby 1.8.7 Reference Manual > All Libraries > library gserver > class GServer > stopped?

instance method GServer#stopped?

stopped?

GServer が停止しているなら真を返します。


instance method GServer#stopping

stopping

audit が true に設定されているなら、サーバ停止時に呼ばれます。 サブクラスでオーバーライドします。


singleton method GServer.in_service?

in_service?(port, host = DEFAULT_HOST)

与えられた host と port で GServer オブジェクトが同じプロセス内で サービス中なら真を返します。


singleton method GServer.new

new(port, host = DEFAULT_HOST, maxConnections = 4, stdlog = $stderr, audit = false, debug = false)

GServer オブジェクトを生成します。


singleton method GServer.stop

stop(port, host = DEFAULT_HOST)

与えられた host と port に対応する GServer オブジェクトを停止します。


instance method Generator#current

current -> object

現在の位置にある要素を返します。next と違い位置は移動しません。

例:

g = Generator.new(['A', 'B', 'C', 'Z'])
p g.current # => 'A'
p g.current # => 'A'


instance method Generator#each

each {|e| ... } -> self

ジェネレータの要素を引数としてブロックを評価します。self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library generator > class Generator > end?

instance method Generator#end?

end? -> bool

次の要素がなく、ジェネレータが終わりに達しているなら真を返します。


instance method Generator#index

index -> Integer
pos -> Integer

現在の位置を返します。

例:

g = Generator.new(['A', 'B', 'C', 'Z'])
p g.pos     # => 0
p g.next    # => 'A'
p g.pos     # => 1


instance method Generator#next

next -> object

現在の位置にある要素を返し、位置を1つ進めます。

[EXCEPTION] EOFError:
次の要素が無い場合に発生します。

例:

g = Generator.new() do |g|
      ['A', 'B', 'C', 'Z'].each{|s|
        g.yield s
      }
    end
p g.next # => 'A'
p g.next # => 'B'


Ruby 1.8.7 Reference Manual > All Libraries > library generator > class Generator > next?

instance method Generator#next?

next? -> bool

次の要素が存在するなら真を返します。


instance method Generator#rewind

rewind -> self

ジェネレータを最初に巻き戻します。self を返します。

例:

g = Generator.new() do |g|
      ['A', 'B', 'C', 'Z'].each{|s|
        g.yield s
      }
    end
p g.next # => 'A'
p g.next # => 'B'
g.rewind
p g.next # => 'A'


instance method Generator#yield

yield(val) -> self

val をジェネレータに渡します。 Generator.new() {|g| ... } のブロックの中でしか呼ぶことができません。 ジェネレータに渡された val は next などで取り出すことができます。

例:

g = Generator.new() do |g|
      n = 0
      loop do
        g.yield n
        n += 1
      end
    end
p g.next # => 0
p g.next # => 1
p g.next # => 2
g.rewind
p g.next # => 0


singleton method Generator.new

new(enum = nil) -> Generator
new(enum = nil) {|g| ... } -> Generator

Enumerable オブジェクトかブロックから Generator オブジェクトを生成します。

ブロックは生成した Generator オブジェクトをブロック引数として呼ばれます。

[PARAM] enum:
Enumerable をインクルードしたオブジェクトを与えます。 enum とブロックを同時に与えた場合は、ブロックは無視されます。


Ruby 1.8.7 Reference Manual > All Libraries > library getoptlong > class GetoptLong > NO_ARGUMENT

constant GetoptLong::NO_ARGUMENT

NO_ARGUMENT
REQUIRED_ARGUMENT
OPTIONAL_ARGUMENT

オプションへの引数のフラグです。


Ruby 1.8.7 Reference Manual > All Libraries > library getoptlong > class GetoptLong > PERMUTE

constant GetoptLong::PERMUTE

PERMUTE
REQUIRE_ORDER
RETURN_IN_ORDER

順序形式を表しています。


instance method GetoptLong#each

each {|optname, optarg|...}
each_option {|optname, optarg|...}

get メソッドのイテレータ版です。オプションとその引数の取得を 繰り返し行います。詳しくは get の説明を参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library getoptlong > class GetoptLong > error

instance method GetoptLong#error

error
error?

現在のエラーの型を返します。エラーが発生していなければ、nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library getoptlong > class GetoptLong > error_message

instance method GetoptLong#error_message

error_message

現在のエラーのエラーメッセージを返します。エラーが発生していな ければ、nil を返します。


instance method GetoptLong#get

get
get_option

ARGV から、次のオプションの名前と、もしあればその引数の組を取 得します。メソッドは 2 つの値を返し、1 つ目の値がオプション名 (例: --max-size) で、2 つ目がオプションの引数 (例: 20K) で す。get の通常の呼び出し方は次の通りです。

optname, optarg = option_parser.get

get と get_option は常にオプション名を正式名 (canonical name) で返します。与えられたオプションが引数を取らないときは、 空の文字列 ('') が optarg にセットされます。オプションが ARGV に残っていないときは、optname, optarg ともに nil に セットされます。メソッドから戻る際に、取得したオプションと引数 は自動的に ARGV から取り除かれます。

与えられたコマンド行引数があなたのプログラムのオプションの設定 に合わない場合は、エラーとなって、以下のいずれかの例外が発生し ます。

GetoptLong::AmbigousOption

与えられたオプションは名前の後方が省略されていると思われる が、一意に決まらない。

GetoptLong::InvalidOption

知らないオプションが与えられた。

GetoptLong::MissingArgument

与えられたオプションには引数が欠けている。

GetoptLong::NeedlessArgument

与えられたオプションは引数を伴っているが、そのオプションは 引数をとらない。

加えて、静粛 (quiet) フラグが有効になっていない限り、エラーメッ セージを標準エラー出力に出力します。


Ruby 1.8.7 Reference Manual > All Libraries > library getoptlong > class GetoptLong > ordering

instance method GetoptLong#ordering

ordering

現在の順序形式を返します。


instance method GetoptLong#ordering=

ordering=(ordering)

順序形式 (ordering) を設定します。引数 ordering は、 PERMUTE, REQUIRE_ORDER, RETURN_IN_ORDER のいずれかでなく てはなりません。それ以外の値を代入しようとすると、例外 ArgumentError が発生します。

順序形式を設定できるのは、get, get_option, each, each_option メソッドを呼び出す前だけです。これらのメソッドを 呼び出した後で順序形式を設定しようとすると、RuntimeError 例 外が発生します。

環境変数 POSIXLY_CORRECT が定義されていると、引数に PERMUTE を与えてこのメソッドを呼び出しても、実際のところの順 序形式は REQUIRE_ORDER に設定されます。

環境変数 POSIXLY_CORRECT が定義されていない限り、PERMUTE が初期値です。定義されていれば、REQUIRE_ORDER が初期値になり ます。

ordering を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library getoptlong > class GetoptLong > quiet

instance method GetoptLong#quiet

quiet
quiet?

静粛モードが有効であれば、TRUE が返ります。そうでなければ、 FALSE が返ります。


instance method GetoptLong#quiet=

quiet=(flag)

flag が TRUE なら、静粛 (quiet) モードが有効になります。 静粛モードが有効になっていると、レシーバのオブジェクトは、 get, get_option, each, each_option メソッドでエラーが 発生しても、エラーメッセージを出力しません。初期値は、FALSE になっています。

flag を返します。


instance method GetoptLong#set_options

set_options(option...)

あなたのプログラムで、認識させたいオプションをセットします。 個々の option は、オプション名と引数のフラグからなる配列でな ければいけません。

parser.set_options(['-d', '--debug', GetoptLong::NO_ARGUMENT],
                   ['--version',     GetoptLong::NO_ARGUMENT],
                   ['--help',        GetoptLong::NO_ARGUMENT])

配列中のオプション名は、一文字オプション (例: -d) か長いオプ ション (例: --debug) を表した文字列のいずれかでなければなり ません。配列の中の一番左端のオプション名が、オプションの正式名 になります。配列中の引数のフラグは、NO_ARGUMENT, REQUIRE_ARGUMENT, OPTIONAL_ARGUMENT のいずれかでなくてはなりません。

オプション名と引数のフラグの順番に決まりはないので、次のような 形式でも構いません。

parser.set_options([GetoptLong::NO_ARGUMENT, '-d', '--debug'],
                   [GetoptLong::NO_ARGUMENT, '--version'],
                   [GetoptLong::NO_ARGUMENT, '--help'])

不正な引数が set_options メソッドに与えられると、例外 ArgumentError が発生します。

オプションを設定できるのは、get, get_option, each, each_option メソッドを呼び出す前だけです。これらのメソッドを 呼び出した後でオプションを設定しようとすると、RuntimeError 例外が発生します。

メソッドのレシーバであるオブジェクトを返します。


instance method GetoptLong#terminate

terminate

オプションの処理を、強制的に終了させます。ただし、エラーが起き ている状態でこのメソッドを起動しても、終了させることはできませ ん。エラーが起きている状態でこのメソッドを起動すると、 RuntimeError 例外が発生します。すでにオプションの処理が終了 しているときは、このメソッドは何も行いません。

メソッドのレシーバであるオブジェクトを返します。


instance method GetoptLong#terminated?

terminated?

エラーが起きずにオプションの処理が終了しているときは TRUE が 返ります。それ以外のときは、FALSE が返ります。


singleton method GetoptLong.new

new
new(option...)

GetoptLong のオブジェクトを生成します。option が与えられる たときは、それを set_options メソッドに渡します。


instance method Hash#==

self == other -> bool
self === other -> bool
eql?(other) -> bool

自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。

[PARAM] other:
自身と比較したい Hash オブジェクトを指定します。
#(出力関数は省略)
{ 1 => :a } == { 1 => :a }               #=> true
{ 1 => :a } == { 1 => :a, 2 => :b }      #=> false
{ 1 => :a } == { 1.0 => :a }             #=> false  ( 1.eql?(1.0) は false なので)

{ :x => 1 } == { :x => 1.0 }             #=> true   ( 1 == 1.0 は true なので)

[SEE_ALSO] Hash#equal?


instance method Hash#[]

self[key] -> object | nil

key に関連づけられた値を返します。

該当するキーが登録されていない時には、デフォルト値を返します。

デフォルト値と値としての nil を区別する必要が ある場合は Hash#fetch または Hash#has_key? を使ってください。

[PARAM] key:
探索するキーを指定します。
h = {:ab => "some" , :cd => "all"}
p h[:ab]             #=> "some"
p h[:ef]             #=> nil

h1 = Hash.new("default value")
p h1[:non]             #=> "default value"

h2 = Hash.new {|*arg| arg}
p h2[:non]             #=> [{}, :non]

[SEE_ALSO] Hash.new, Hash#fetch,Hash#values_at,Hash#has_key?, Hash#default, Hash#default_proc


instance method Hash#[]=

self[key] = value
store(key, value) -> object

key に対して value を関連づけます。value を返し ます。

[PARAM] key:
キーを指定します。
[PARAM] value:
値を指定します。
h = {}

h[:key] = "value"
p h #=>{:key => "value"}

[SEE_ALSO] Hash#[]


instance method Hash#clear

clear -> self

ハッシュの中身を空にします。

空にした後のselfを返します。 デフォルト値の設定はクリアされません。

h = Hash.new("default value")
h[:some] = "some"
p h #=> {:some=>"some"}

h.clear

p h #=> {}
p h.default #=> "default value"


instance method Hash#clone

clone -> Hash
dup -> Hash

selfと同じ内容を持つ新しいハッシュを返します。

clone は frozen tainted singleton-class の情報も含めてコピーしますが、 dup は内容だけをコピーします。 またどちらのメソッドも要素それ自体のコピーはしません。つまり参照しているオブジェクトが 変わらない「浅い(shallow)」コピーを行います。

h1 = {"have" => "have a","as" => "as a" }
h2 = h1.dup

h2["have"] = "has"
p h2 #=> {"have"=>"has", "as"=>"as a"}
p h1 #=> {"have"=>"have a", "as"=>"as a"}

h2["as"].upcase!
p h2 #=> {"have"=>"has", "as"=>"AS A"}
p h1 #=> {"have"=>"have a", "as"=>"AS A"}

[SEE_ALSO] Object#clone


instance method Hash#default

default -> object | nil
default(key) -> object | nil

ハッシュのデフォルト値を返します。

ハッシュのデフォルト値がブロックで与えられている場合、 1 番目の形式だと 返り値が nil になることに注意してください。この場合、ハッシュのデフォルト値に ついて調べるには 2 番目の形式か Hash#default_proc を使ってください。

2 番目の形式はハッシュがデフォルト値としてブロックを持つ場合に、 self と引数 key をブロック引数としてブロックを実行し、その結果を返します。

[PARAM] key:
デフォルトのブロックにキーとして渡されます。
h = Hash.new("default")
p h.default        #=> "default"
p h.default(:some) #=> "default"
p h #=>{}

h = Hash.new{|hash, key| hash[key] ="default" }
p h.default        #=> nil
p h.default(:some) #=> "default"
p h                #=> {:some=>"default"}

h = Hash.new
p h.default        #=> nil
p h.default(:some) #=> nil
p h                #=> {}

[SEE_ALSO] Hash#default=, Hash#default_proc


instance method Hash#default=

default=(value)

ハッシュのデフォルト値を value に変更します。対応する値が存 在しないキーで検索した時にはこの値を返すようになります。

デフォルト値（ブロックを含む）が既に設定してあった場合も value で上書きします。

[PARAM] value:
設定するデフォルト値です。
[RETURN]
value を返します。
h = {}
p h.default #=>nil

h.default = "default"
p h.default #=>"default"

[SEE_ALSO] Hash#default


instance method Hash#default_proc

default_proc -> Proc | nil

ハッシュのデフォルト値を返す Proc オブジェクトを返します。 ハッシュがブロック形式のデフォルト値を持たない場合 nil を返します。

h = Hash.new {|hash, key| "The #{key} not exist in #{hash.inspect}"}
p h.default              #=> nil
p block = h.default_proc #=> #<Proc:0x0x401a9ff4>
p block.call({},:foo)    #=> "The foo not exist in {}"

h = Hash.new("default")
p h.default              #=> "default"
p h.default_proc         #=> nil

[SEE_ALSO] Hash#default


instance method Hash#delete

delete(key) -> object | nil
delete(key) {|key| ... } -> object

key に対応する要素を取り除きます。

[PARAM] key:
取り除くキーを指定します。
[RETURN]
取り除かれた要素の値を返します。 key に対応する要素が存在しない時には nil を返します。 与えられたブロックは key にマッチする要素がなかった時に評価され、その結果を返します。
h = {:ab => "some" , :cd => "all"}

p h.delete(:ab) #=> "some"
p h.delete(:ef) #=> nil
p h.delete(:ef){|key|"#{key} Nothing"} #=> "ef Nothing"

p h #=> {:cd=>"all"}

[SEE_ALSO] Hash#delete_if


instance method Hash#delete_if

delete_if -> Enumerable::Enumerator
reject! -> Enumerator::Enumerator
delete_if {|key, value| ... } -> self
reject! {|key, value| ... } -> self|nil

キーと値を引数としてブロックを評価した結果が真であ るような要素を self から削除します。

delete_if は常に self を返します。 reject! は、要素を削除しなかった場合には nil を返し、 そうでなければ self を返します。

h = { 2 => "8" ,4 => "6" ,6 => "4" ,8 => "2" }

p h.reject!{|key, value| key.to_i < value.to_i }   #=> { 6 => "4", 8 => "2" }
p h                                                #=> { 6 => "4", 8 => "2" }

p h.delete_if{|key, value| key.to_i < value.to_i } #=> { 6 => "4", 8 => "2" }
p h.reject!{|key, value| key.to_i < value.to_i }   #=> nil

[SEE_ALSO] Hash#reject,Hash#delete


instance method Hash#each

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self
each -> Enumerable::Enumerator
each_pair -> Enumerable::Enumerator

ハッシュのキーと値を引数としてブロックを評価します。

反復の際の評価順序は不定です。 ブロック付きの場合 self を、 無しで呼ばれた場合 Enumerable::Enumerator を返します。

each と each_pair ではブロック引数の受渡し方が異なります。 each は キーと値の配列を１引数で、each_pair は別々に２引数でブロックに値を渡します。 これによりブロック引数をひとつだけ指定した場合の挙動が異なります。 ブロック引数を２つ指定するようにすれば同じ挙動になります。

{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
    [:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a} #明示的に配列で受ける
#=> [:a, 1]
    [:b, 2]

{:a=>1, :b=>2}.each {|k, v| p [k, v]}  #each_pairでも同じ結果
#=> [:a, 1]
    [:b, 2]

each_pair は each のエイリアスです。

{:a=>1, :b=>2}.each {|a| p a}
#=> [:a, 1]
    [:b, 2]

{:a=>1, :b=>2}.each_pair {|*a| p a}
#=> [[:a, 1]]
    [[:b, 2]]

{:a=>1, :b=>2}.each {|k, v| p [k, v]}  #each_pairでも同じ結果
#=> [:a, 1]
    [:b, 2]

p({:a=>1, :b=>2}.each_pair)  # => #<Enumerable::Enumerator:0xbb19e4>

[SEE_ALSO] Hash#each_key,Hash#each_value


instance method Hash#each_key

each_key {|key| ... } -> self
each_key -> Enumerable::Enumerator

ハッシュのキーを引数としてブロックを評価します。

反復の際の評価順序は不定です。 ブロック付きの場合selfを、 無しで呼ばれた場合Enumerable::Enumeratorを返します。

{:a=>1, :b=>2}.each_key {|k| p k}
#=> :a
    :b

p({:a=>1, :b=>2}.each_key)  #=> #<Enumerable::Enumerator:0xbb19e4>

[SEE_ALSO] Hash#each_pair,Hash#each_value


instance method Hash#each_value

each_value {|value| ... } -> self
each_value -> Enumerable::Enumerator

ハッシュの値を引数としてブロックを評価します。

反復の際の評価順序は不定です。 ブロック付きの場合selfを、 無しで呼ばれた場合 Enumerable::Enumerator を返します。

{:a=>1, :b=>2}.each_value {|v| p v}
#=> 1
    2

p({:a=>1, :b=>2}.each_value)  #=> #<Enumerable::Enumerator:0xbb19e4>

[SEE_ALSO] Hash#each_pair,Hash#each_key


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Hash > empty?

instance method Hash#empty?

empty? -> bool

ハッシュが空の時真を返します。

puts({}.empty?) #=> true


instance method Hash#equal?

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。

[PARAM] other:
自身と比較したい Hash オブジェクトを指定します。
p({}.equal?({}))     #=> false
a = {}
p a.equal?(a)        #=> true

[SEE_ALSO] Hash#==


instance method Hash#fetch

fetch(key, default = nil) {|key| ... } -> object

key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。

fetchはハッシュ自身にデフォルト値が設定されていても単に無視します（挙動に変化がありません）。

[PARAM] key:
探索するキーを指定します。
[PARAM] default:
該当するキーが登録されていない時の返り値を指定します。
[EXCEPTION] IndexError:
引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
h = {:one => nil}
p h[:one],h[:two]                        #=> nil,nil これではキーが存在するのか判別できない。
p h.fetch(:one)                          #=> nil
p h.fetch(:two)                          # エラー key not found (KeyError)
p h.fetch(:two,"error")                  #=> "error"
p h.fetch(:two){|key|"#{key} not exist"} #=> "two not exist"
p h.fetch(:two, "error"){|key|           #=> "two not exist"
    "#{key} not exit"                    #  warning: block supersedes default value argument
  }                                      #  警告が表示される。

h.default = "default"
p h.fetch(:two)                          # エラー key not found (KeyError)

[SEE_ALSO] Hash#[]


instance method Hash#has_key?

has_key?(key) -> bool
include?(key) -> bool
key?(key) -> bool
member?(key) -> bool

ハッシュが key をキーとして持つ時真を返します。

[PARAM] key:
探索するキーを指定します。
p({1 => "one"}.has_key?(1)) #=> true
p({1 => "one"}.has_key?(2)) #=> false

[SEE_ALSO] Hash#has_value?


instance method Hash#has_value?

has_value?(value) -> bool
value?(value) -> bool

ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。

[PARAM] value:
探索する値を指定します。
p({1 => "one"}.has_value?("one")) #=> true
p({1 => "one"}.has_value?("two")) #=> false

[SEE_ALSO] Hash#has_key?


instance method Hash#hash

hash -> Integer

自身の Object#object_id を返します。これは Object クラスで定義されたデフォルトの動作です。 メソッド hash の返り値は自身が保持するキーや値に影響されません。

a = {}
p a.hash    #=> 538688380
a[1] = :a
p a.hash    #=> 538688380


instance method Hash#index

index(val) -> object

値 val に対応するキーを返します。対応する要素が存在しない時には nil を返します。

該当するキーが複数存在する場合、どのキーを返すかは不定です。

Hash#index は 次バージョンの1.9では((<obsolete>)) です。 使用すると警告メッセージが表示されます。

[PARAM] val:
探索に用いる値を指定します。
h = {:ab => "some" , :cd => "all" , :ef => "all"}

p h.index("some") #=> :ab
p h.index("all") #=> :cd
p h.index("at") #=> nil

[SEE_ALSO] Hash#invert


instance method Hash#indexes

indexes(*keys) -> [object]
indices(*keys) -> [object]

引数で指定されたキーに対応する値の配列を返します。

このメソッドは ((<obsolete>)) です。 使用すると警告メッセージが表示されます。 代わりに Hash#values_at を使用してください。

[PARAM] keys:
キーを任意個指定します。

[SEE_ALSO] Hash#values_at,Hash#[]


instance method Hash#inspect

to_s -> String
inspect -> String

ハッシュの内容を inspect によって文字列化して返します。

h = { "c" => 300, "a" => 100, "d" => 400, "c" => 300  }
h.to_s   #=> "{\"a\"=>100, \"c\"=>300, \"d\"=>400}"


instance method Hash#invert

invert -> Hash

値からキーへのハッシュを作成して返します。

異なるキーに対して等しい値が登録されている場合の結果は不定であることに 注意してください、そのような場合にこのメソッドを利用することは意図され ていません。

h = { "a" => 0, "b" => 100, "c" => 200, "d" => 300, "e" => 300 }
p h.invert   #=> {0=>"a", 100=>"b", 200=>"c", 300=>"e"}

参考

値が重複していたときに備えて、変換後の値を配列として保持するには、次のようにする。

def safe_invert(orig_hash)
  result = Hash.new{|h,key| h[key] = [] }
  orig_hash.each{|key, value|
    result[value] << key
  }
  result
end
p safe_invert({"a"=>1, "b"=>1, "c"=>3})
    #=> {1=>["a", "b"], 3=>["c"]}

#転載：Rubyレシピブック No.120

[SEE_ALSO] Hash#key


instance method Hash#keys

keys -> [object]

全キーの配列を返します。

h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.keys           #=> ["a", 2, :c]

[SEE_ALSO] Hash#values,Hash#to_a


instance method Hash#length

length -> Integer
size -> Integer

ハッシュの要素の数を返します。

puts({:ant => 9 ,:dog => 101 ,:cat => 3}.length) #=> 3


instance method Hash#merge

merge(other) -> Hash
merge(other) {|key, self_val, other_val| ... } -> Hash
merge!(other) -> self
merge!(other) {|key, self_val, other_val| ... } -> self

selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。

self と other に同じキーがあった場合はブロック付きか否かで 判定方法が違います。ブロック付きのときはブロックを呼び出して その返す値を重複キーに対応する値にします。ブロック付きでない 場合は常に other の値を使います。

Hash#merge! は、マージの結果でselfを変更する破壊的メソッドで、Hash#update の別名です。

otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

[PARAM] other:
マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
[RETURN]
マージした結果を返します
foo = {1 => 'a', 2 => 'b', 3 => 'c'}
bar = {2 => 'B', 3 => 'C', 4 => 'D'}

p foo.merge(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo  #=> {1=>"a", 2=>"b", 3=>"c"}

p foo.merge!(bar) {|key, foo_val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}
p foo  #=> {1=>"a", 2=>"bB", 3=>"cC", 4=>"D"}

class Foo
  def to_hash
    {:Australia => 'Sydney',
     :France => 'Paris'
     }
  end
end

h = {:Germany => 'Berlin',
     :Australia => 'Canberra',
     :France => 'Paris'
     }
h.merge!(Foo.new) #暗黙の変換
p h #=> {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}

[SEE_ALSO] Hash#update,Hash#replace


instance method Hash#rehash

rehash -> self

キーのハッシュ値を再計算します。

キーになっているオブジェクトの内容が変化した時など、 ハッシュ値が変わってしまった場合はこのメソッドを使ってハッシュ値を再計算しない 限り、そのキーに対応する値を取り出すことができなくなります。

[EXCEPTION] RuntimeError:
Hash#eachなどのイテレータの評価途中でrehashすると発生します。
[RETURN]
selfを返します。
a = [ "a", "b" ]
h = { a => 100 }

p h[a]       #=> 100

a[0] = "z"
p h[a]       #=> nil

h.rehash
p h[a]       #=> 100

[SEE_ALSO] Object#hash


instance method Hash#reject

reject {|key, value| ... } -> Hash
reject -> Enumerator::Enumerator

self を複製して、ブロックを評価した値が真になる要 素を削除したハッシュを返します。

ハッシュを返すことを除けば Enumerable#reject とほぼ同じです。 selfを破壊的に変更したい場合はかわりにHash#delete_ifかHash#reject!を使います。

h = { 2 =>"8" ,4 =>"6" ,6 =>"4" ,8 =>"2" }

p h.reject{|key, value| key.to_i < value.to_i} #=> {6=>"4", 8=>"2"}

[SEE_ALSO] Hash#delete_if,Hash#delete,Enumerable#reject


instance method Hash#replace

replace(other) -> self

ハッシュの内容を other の内容で置き換えます。

デフォルト値の設定もotherの内容になります。 otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

self = other.to_hash.dup と同じです。

[PARAM] other:
ハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
[RETURN]
self を返します。
foo = {1 => 'a', 2 => 'b'}
bar = {2 => 'B', 3 => 'C'}

foo.replace(bar)
p foo  #=> {2=>"B", 3=>"C"}

zoo = {}
zoo = bar.dup
p zoo  #=> {2=>"B", 3=>"C"}

class Foo
  def to_hash
    {:japan => 'kyoto'}
  end
end

h = Hash.new
h.replace(Foo.new) #暗黙の変換
p h #=> {:japan=>"kyoto"}

[SEE_ALSO] Hash#dup,Hash#merge,Object#to_hash


instance method Hash#select

select -> Enumerable::Enumerator
select {|key, value| ... } -> Array

key, value のペアについてブロックを評価し、真となるペアだけを含む 配列を生成して返します。

生成される配列は、[key, value] を要素とする配列です。

h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"}  #=> [["b", 200], ["c", 300]]
h.select {|k,v| v < 200}  #=> [["a", 100]]


instance method Hash#shift

shift -> [object, object]

ハッシュから要素をひとつ取り除き、[key, value]という配列とし て返します。shiftがどの要素を返すかは不定です。

shiftは破壊的メソッドです。selfは要素を取り除かれた残りのハッシュに変更されます。

ハッシュが空の場合、デフォルト値（Hash#defaultまたはHash#default_procのブロックの値か、どちらもnilならばnil） を返します(このとき、[key,value] という形式の値を返すわけではないことに注意)。

h = {:ab => "some" , :cd => "all"}
p h.shift               #=> [:ab, "some"]
p h.shift               #=> [:cd, "all"]
p h                     #=> {}
p h.shift               #=> nil

h1 = Hash.new("default value")
p h1                    #=> {}
p h1.shift              #=> "default value"

h2 = Hash.new {|*arg| arg}
p h2                    #=> {}
p h2.shift              #=> [{}, nil]

[SEE_ALSO] Array#shift


instance method Hash#sort

sort -> Array
sort {|a, b| ... } -> Array

ハッシュを [key, value] を要素とする配列の配列に変換して，それをソー トした配列を返します。

h = { "a" => 20, "b" => 30, "c" => 10  }
h.sort                       #=> [["a", 20], ["b", 30], ["c", 10]]
h.sort {|a,b| a[1]<=>b[1]}   #=> [["c", 10], ["a", 20], ["b", 30]]

[SEE_ALSO] Array#sort


instance method Hash#to_a

to_a -> [Array]

キーと値からなる 2 要素の配列を並べた配列を生成して返します。

h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.to_a           #=> [["a", 100], [2, ["some"]], [:c, "c"]]

[SEE_ALSO] Hash#keys,Hash#values


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Hash > to_hash

instance method Hash#to_hash

to_hash -> self

self を返します。

[SEE_ALSO] Object#to_hash


instance method Hash#update

update(other) -> self
update(other) {|key, self_val, other_val| ... } -> self

selfとotherのハッシュの内容をマージ(統合)します。Hash#merge!と同じです。

デフォルト値はselfの設定のままです。 otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

[PARAM] other:
マージ用のハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
[RETURN]
マージ後のselfを返します。
foo = {1 => 'a', 2 => 'b', 3 => 'c'}
bar = {2 => 'B', 3 => 'C', 4 => 'D'}

p foo.update(bar) #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}
p foo  #=> {1=>"a", 2=>"B", 3=>"C", 4=>"D"}

p foo.update(bar) {|key, foo_val, bar_val| foo_val + bar_val } #=> {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}
p foo  #=> {1=>"a", 2=>"BB", 3=>"CC", 4=>"DD"}

[SEE_ALSO] Hash#merge!


instance method Hash#values

values -> [object]

ハッシュの全値の配列を返します。

h1 = { "a" => 100, 2 => ["some"], :c => "c" }
p h1.values         #=> [100, ["some"], "c"]

[SEE_ALSO] Hash#keys,Hash#to_a


instance method Hash#values_at

values_at(*keys) -> [object]

引数で指定されたキーに対応する値の配列を返します。

キーに対応する要素がなければデフォルト値が使用されます。

[PARAM] keys:
キーを 0 個以上指定します。
[RETURN]
引数で指定されたキーに対応する値の配列を返します。 引数が指定されなかった場合は、空の配列を返します。
h = {1=>"a", 2=>"b", 3=>"c"}

p h.values_at(1,3,4)               #=> ["a", "c", nil]
# [h[1], h[3] ,h[4]] と同じ

[SEE_ALSO] Hash#[], Hash.new, Hash#default, Hash#default_proc, Array#values_at


singleton method Hash.[]

self[other] -> Hash

新しいハッシュを生成します。 引数otherと同一のキーと値を持つ新たなハッシュを生成して返します。

引数otherがハッシュではない場合、otherのメソッドto_hashを使って暗黙の変換を試みます。

デフォルト値はコピーしません。生成されたハッシュのデフォルト値は nil です。

引数otherと生成したハッシュは同じオブジェクトを参照することになるので、 一方でキーや値に破壊的操作を行うともう片方にも影響します。

[PARAM] other:
生成元となるハッシュまたはメソッド to_hash でハッシュに変換できるオブジェクトです。
h = {1 => "value"}
h.default = "none"

g = Hash[h]
p g #=> {1=>"value"}

p h[:no] #=> "none"
p g[:no] #=> nil

h[:add] = "some"
p h #=> {1=>"value", :add=>"some"}
p g #=> {1=>"value"}

h[1] << 'plus' #破壊的操作
p h #=> {1=>"valueplus", :add=>"some"}
p g #=> {1=>"valueplus"}
self[*key_and_value] -> Hash

新しいハッシュを生成します。 引数は必ず偶数個指定しなければなりません。奇数番目がキー、偶数番目が値になります。

このメソッドでは生成するハッシュにデフォルト値を指定することはできません。 Hash.newを使うか、Hash#default=で後から指定してください。

[PARAM] key_and_value:
生成するハッシュのキーと値の組です。必ず偶数個(0を含む)指定しなければいけません。
[EXCEPTION] ArgumentError:
奇数個の引数を与えたときに発生します。

以下は配列からハッシュを生成する方法の例です。

(1) [キー, 値, ...] の配列からハッシュへ

ary = [1,"a", 2,"b", 3,"c"]
p Hash[*ary]

#=> {1=>"a", 2=>"b", 3=>"c"}

(2) キーと値のペアの配列からハッシュへ

alist = [[1,"a"], [2,"b"], [3,"c"]]
p Hash[*alist.flatten]

#=> {1=>"a", 2=>"b", 3=>"c"}

(3) キーと値の配列のペアからハッシュへ

keys = [1, 2, 3]
vals = ["a", "b", "c"]
alist = keys.zip(vals)   # あるいは alist = [keys,vals].transpose
p Hash[*alist.flatten]

#=> {1=>"a", 2=>"b", 3=>"c"}

(4) キーや値が配列だと (2) や (3) の方法は使えないので地道に代入するしかない

h = Hash.new
alist = [[1,["a"]], [2,["b"]], [3,["c"]]]
alist.each {|k,v|
  h[k] = v
}
p h

#=> {1=>["a"], 2=>["b"], 3=>["c"]}


singleton method Hash.new

new(ifnone = nil) -> Hash

空の新しいハッシュを生成します。ifnone はキーに対 応する値が存在しない時のデフォルト値です。設定したデフォルト値はHash#defaultで参照できます。

ifnoneを省略した Hash.new は {} と同じです。

デフォルト値として、毎回同一のオブジェクトifnoneを返します。 それにより、一箇所のデフォルト値の変更が他の値のデフォルト値にも影響します。

h = Hash.new([])
h[0] << 0
h[1] << 1
p h.default #=> [0, 1]

これを避けるには、破壊的でないメソッドで再代入する必要が有ります。 また、このようなミスを防ぐためにもifnoneは freeze して破壊的操作を禁止しておくのが無難です。

[PARAM] ifnone:
キーに対応する値が存在しない時のデフォルト値です。
h = Hash.new([])

p h[1]                  #=> []
p h[1].object_id        #=> 6127150
p h[1] << "bar"         #=> ["bar"]
p h[1]                  #=> ["bar"]

p h[2]                  #=> ["bar"]
p h[2].object_id        #=> 6127150

p h                     #=> {}

h = Hash.new([].freeze)
h[0] += [0] #破壊的でないメソッドはOK
h[1] << 1
# エラー `<<': can't modify frozen array (TypeError)
new {|hash, key| ... } -> Hash

空の新しいハッシュを生成します。ブロックの評価結果がデフォルト値になりま す。設定したデフォルト値はHash#default_procで参照できます。

値が設定されていないハッシュ要素を参照するとその都度ブロックを 実行し、その結果を返します。 ブロックにはそのハッシュとハッシュを参照したときのキーが渡されます。

[EXCEPTION] ArgumentError:
ブロックと通常引数を同時に与えると発生します。
# ブロックではないデフォルト値は全部同一のオブジェクトなので、
# 破壊的変更によって他の値も変更されたように見える。
h = Hash.new("foo")

p h[1]                  #=> "foo"
p h[1].object_id        #=> 6127170
p h[1] << "bar"         #=> "foobar"
p h[1]                  #=> "foobar"

p h[2]                  #=> "foobar"
p h[2].object_id        #=> 6127170

p h                     #=> {}

# ブロックを与えると、対応する値がまだ無いキーが呼び出される度に
# ブロックを評価するので、全て別のオブジェクトになります。
h = Hash.new {|hash, key| hash[key] = "foo"}

p h[1]                  #=> "foo"
p h[1].object_id        #=> 6126900
p h[1] << "bar"         #=> "foobar"
p h[1]                  #=> "foobar"

p h[2]                  #=> "foo"
p h[2].object_id        #=> 6126840

p h                     #=> {1=>"foobar", 2=>"foo"}

# 値が設定されていないときに(fetchのように)例外をあげるようにもできる
h = Hash.new {|hash, key|
                raise(IndexError, "hash[#{key}] has no value")
             }
h[1]
# エラー hash[1] has no value (IndexError)

[SEE_ALSO] Hash#default=,Hash#default,Hash#default_proc


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class IO > SEEK_CUR

constant IO::SEEK_CUR

SEEK_CUR -> Fixnum

IO#seek を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class IO > SEEK_END

constant IO::SEEK_END

SEEK_END -> Fixnum

IO#seek を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class IO > SEEK_SET

constant IO::SEEK_SET

SEEK_SET -> Fixnum

IO#seek を参照してください。


instance method IO#<<

self << object -> self

object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。

以下のような << の連鎖を使うことができます。

STDOUT << 1 << " is a " << Fixnum << "\n"
[PARAM] object:
出力したいオブジェクトを与えます。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。


instance method IO#binmode

binmode -> self

ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。

バイナリモードから通常のモードに戻す方法は再オープンしかありません。

[EXCEPTION] Errno::EXXX:
モードの変更に失敗した場合に発生します。


instance method IO#bytes

bytes -> Enumerable::Enumerator

自身を 1 バイトずつ整数としてイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

"hello".bytes.to_a        #=> [104, 101, 108, 108, 111]


instance method IO#chars

each_char {|c| ... } -> self
chars {|c| ... } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

self に含まれる文字を一文字つつブロックに渡して評価します。

self は読み込み用にオープンされていなければなりません。

また、マルチバイト文字列を使用する場合は $KCODE を適切に設定してください。

[EXCEPTION] IOError:
self が読み込み用にオープンされていない場合に発生します。
f = File.new("testfile")
f.each_char {|c| print c, ' ' }   #=> #<File:testfile>


instance method IO#clone

clone -> IO
dup -> IO

レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。

clone の際に self は一旦 IO#flush されます。 フリーズした IO の clone は同様にフリーズされた IO を返しますが、 dup は内容の等しいフリーズされていない IO を返します。

[EXCEPTION] IOError:
既に close されていた場合に発生します。


instance method IO#close

close -> nil

入出力ポートをクローズします。

以後このポートに対して入出力を行うと例外 IOError が発生しま す。ガーベージコレクトの際にはクローズされていない IO ポートはクロー ズされます。[[unknown:Traps:closeをGCにまかせる|trap::IO]] self がパイプでプロセスにつながっていれば、そのプロセスの終 了を待ち合わせます。

[EXCEPTION] Errno::EXXX:
close に失敗した場合に発生します。
[EXCEPTION] IOError:
既に close されていた場合に発生します。


instance method IO#close_read

close_read -> nil

読み込み用の IO を close します。主にパイプや読み書き両用に作成し た IO オブジェクトで使用します。

[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
close に失敗した場合に発生します。


instance method IO#close_write

close_write -> nil

書き込み用の IO を close します。

[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
close に失敗した場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class IO > closed?

instance method IO#closed?

closed? -> bool

ポートがクローズされている時に真を返します。


instance method IO#each

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator

IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した Enumerable::Enumerator オブジェクトを返します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。

[SEE_ALSO] $/


instance method IO#each_byte

each_byte {|ch| ... } -> self
each_byte -> Enumerable::Enumerator

IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した Enumerable::Enumerator オブジェクトを返します。

[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。


instance method IO#eof

eof -> bool
eof? -> bool

ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。

f = File.new("testfile")
dummy = f.readlines
f.eof   #=> true

自身がパイプやソケットなどのストリームであった場合、相手がデータを送るか close するまでブロックします。

r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof?  #=> 10秒ブロックしてから true を返す。

r, w = IO.pipe
Thread.new { sleep 10; w.puts "a" }
r.eof?  #=> 10秒ブロックしてから true を返す。

r, w = IO.pipe
r.eof?  # 永久にブロックします。

eof, eof? は入力バッファにデータを読み込むので、IO#sysread と同時に使うと正常に 動作しません。

[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。


instance method IO#expect

expect(pattern, timeout = 9999999) -> Array | nil [added by expect]
expect(pattern, timeout = 9999999) {|array| ... } -> nil [added by expect]

レシーバから指定したパターンを読み込むまで待ちます。

このメソッドがブロックなしで呼ばれた場合、まずレシーバである IO オブジェクトから pattern にマッチするパターンが読みこまれる まで待ちます。

このメソッドがブロック付きで呼ばれた場合には、マッチした要素の 配列がブロック引数として渡され、ブロックが評価されます。

[PARAM] pattern:
文字列か正規表現を指定します。 文字列を指定した場合は、正規表現に変換されます。
[PARAM] timeout:
タイムアウトする秒数。省略すると 9999999 秒後にタイムアウトします。
[RETURN]
パターンが得られたら、そのパターンに関する配列を返します。 配列の最初の要素は、pattern にマッチするまでに読みこんだ文字列です。 2番目以降の要素は、pattern の正規表現中のアンカーにマッチした部分です。 タイムアウトした場合は nil を返します。


instance method IO#fcntl

fcntl(cmd, arg = 0) -> Integer

IOに対してシステムコール fcntl を実行します。 機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。

[PARAM] cmd:
IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。
[PARAM] arg:
cmd に対する引数を整数、文字列、booleanのいずれかで指定します。 整数の時にはその値を fcntl(2) に渡します。 文字列の場合には Array#pack した構造体だとみなして渡します。 arg が nil か false の場合には 0を、true の場合には 1 を渡します。
[EXCEPTION] Errno::EXXX:
fcntl の実行に失敗した場合に発生します。
[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#fileno

fileno -> Integer
to_i -> Integer

ファイル記述子を表す整数を返します。

[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#flush

flush -> self

IO ポートの内部バッファをフラッシュします。

[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
fflush(3) が失敗した場合に発生します。


instance method IO#fsync

fsync -> 0 | nil

書き込み用の IO に対して、システムコール fsync(2) を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに 書き込まれていないメモリ上にあるデータをディスクに書き出します。

成功すれば 0 を返します。 fsync(2) がサポートされていない場合は nil を返します。

[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。
[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#getbyte

getbyte -> Integer | nil

IO から1バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。

f = File.new("testfile")
f.getbyte   #=> 84
f.getbyte   #=> 104


instance method IO#getc

getc -> Integer | nil

IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。EOF に到達した時には nil を返します。

IO#readchar との違いは EOF での振る舞いのみです。

[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
f = File.new("testfile")
f.getc                   #=> 84
f.getc                   #=> 104
f.read
f.getc                   #=> nil

[SEE_ALSO] IO#readchar


instance method IO#gets

gets(rs = $/) -> String | nil

一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には nil を返します。

読み込んだ文字列を変数 $_ にセットします。 IO#readline との違いは EOF での振る舞いのみです。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
f = File.new("oneline_file")
f.gets                          #=> "This is line one\n"
$_                              #=> "This is line one\n"
f.gets                          #=> nil
$_                              #=> nil

[SEE_ALSO] $/, IO#readline


instance method IO#ioctl

ioctl(cmd, arg = 0) -> Integer

IO に対してシステムコール ioctl を実行し、その結果を返します。 機能の詳細は ioctl(2) を参照してください。

[PARAM] cmd:
IO に対するコマンドを整数で指定します。どのようなコマンドが使えるかはプラットフォームに依存します。
[PARAM] arg:
cmd に対する引数を指定します。整数の時にはその値を ioctl に渡します。 文字列の場合には Array#pack した構造体だとみなして渡します。 arg が nil か false の場合には 0を、true の場合には 1 を渡します。
[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#isatty

isatty -> bool
tty? -> bool

入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。

[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#lineno

lineno -> Integer

現在の行番号を整数で返します。実際には IO#gets が呼ばれた回数です。 改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。

[EXCEPTION] IOError:
読み込み用にオープンされていなければ発生します。
f = File.new("testfile")
f.lineno                 #=> 0
f.gets                   #=> "This is line one\n"
f.lineno                 #=> 1
f.gets                   #=> "This is line two\n"
f.lineno                 #=> 2

[SEE_ALSO] $.


instance method IO#lineno=

lineno=(number)

現在の行番号を number にセットします。 $. は次回の読み込みの時に更新されます。

[PARAM] number:
行番号を整数で指定します。
[EXCEPTION] IOError:
読み込み用にオープンされていなければ発生します。
f = File.new("testfile")
f.gets                     #=> "This is line one\n"
$.                         #=> 1
f.lineno = 1000
f.lineno                   #=> 1000
$.                         #=> 1
f.gets                     #=> "This is line two\n"
$.                         #=> 1001

[SEE_ALSO] $.


instance method IO#lines

lines(rs = $/) -> Enumerable::Enumerator

自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

テキスト読み込みメソッドとして動作します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
"foo\nbar\n".lines.to_a   #=> ["foo\n", "bar\n"]
"foo\nb ar".lines.sort    #=> ["b ar", "foo\n"]

[SEE_ALSO] $/


instance method IO#nonblock

nonblock(bool = true) { ... } [added by io/nonblock]

ブロック実行中、一時的に self のブロックモードを変更する。 bool が真ならノンブロックモード、偽ならブロックモードになる。


instance method IO#nonblock=

nonblock=(bool) [added by io/nonblock]

bool が真なら self をノンブロックモードに、偽ならブロックモー ドにする。


instance method IO#nonblock?

nonblock? [added by io/nonblock]

self がノンブロックモードならば真を、ブロックモードなら偽を返す。


instance method IO#pid

pid -> Integer | nil

自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。

[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#pos

pos -> Integer
tell -> Integer

ファイルポインタの現在の位置を整数で返します。

[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#pos=

pos=(n)

ファイルポインタを指定位置に移動します。 IO#seek(n, IO::SEEK_SET) と同じです。

[PARAM] n:
先頭からのオフセットを整数で指定します。
[EXCEPTION] IOError:
既に close されている場合に発生します。


instance method IO#print

print(*arg) -> nil

引数を IO ポートに順に出力します。引数を省略した場合は、$_ を出力します。

[PARAM] arg:
Kernel.#print と同じです。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。


instance method IO#printf

printf(format, *arg) -> nil

C 言語の printf と同じように、format に従い引数 を文字列に変換して、self に出力します。

第一引数に IO を指定できないこと、引数を省略できないことを除けば Kernel.#printf と同じです。

[PARAM] format:
Kernel.#printf と同じです。sprintf フォーマット を参照してください。
[PARAM] arg:
Kernel.#printf と同じです。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。

[SEE_ALSO] Kernel.#printf


instance method IO#putc

putc(ch) -> object

文字 ch を self に出力します。 引数の扱いは Kernel.#putc と同じです。詳細はこちらを参照し てください。ch を返します。

[PARAM] ch:
出力したい文字を、文字列か文字コード(整数)で与えます。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。

[SEE_ALSO] Kernel.#putc


instance method IO#puts

puts(*obj) -> nil

各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。

[PARAM] obj:
出力したいオブジェクトを指定します。Kernel.#puts と同じです。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
$stdout.puts("this", "is", "a", "test", [1, [nil, 3]])

#=>
this
is
a
test
1
nil
3

[SEE_ALSO] Kernel.#puts


instance method IO#read

read(length = nil, outbuf = "") -> String | nil

length バイト読み込んで、その文字列を返します。

既に EOF に達していれば nil を返します。 ただし、length に nil が指定されている場合は、空文字列 "" を返します。 例えば、open(空ファイル) {|f| f.read } は "" となります。

[PARAM] length:
読み込むサイズを整数で指定します。 nil が指定された場合、EOF までの全てのデータを読み込んで、その文字列を返します。
[PARAM] outbuf:
出力用のバッファを文字列で指定します。IO#read は読み込んだ データをその文字列オブジェクトに上書きして返します。指定し た文字列オブジェクトがあらかじめ length 長の領域であれば、 余計なメモリの割当てが行われません。指定した文字列の長さが length と異なる場合、その文字列は一旦 length 長に拡張(ある いは縮小)されたあと、実際に読み込んだデータのサイズになります。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
データの読み込みに失敗した場合に発生します。
[EXCEPTION] ArgumentError:
length が負の場合に発生します。

第二引数を指定した read の呼び出しでデータが空であった場合 (read が nil を返す場合)、outbuf は空文字列になります。

outbuf = "x" * 20;
io = File.open("/dev/null")
p io.read(10,outbuf)
p outbuf
=> nil
   ""


instance method IO#read_nonblock

read_nonblock(maxlen, outbuf = "") -> String

IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません。

既に EOF に達していれば EOFError が発生します。ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。

[PARAM] maxlen:
読み込む長さの上限を整数で指定します。
[PARAM] outbuf:
文字列で指定します。IO#read_nonblock は読み込んだデータを outbuf に破壊的に格納し、 返り値は outbuf となります。outbuf は一旦 maxlen 長に拡張(あるいは縮小)されたあと、 実際に読み込んだデータのサイズになります。read(2) システムコールが 0 を返した場合は、空文字列になります。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
read(2) システムコールの結果としてエラーが起きた場合に発生します。
[EXCEPTION] EOFError:
read(2) システムコールが 0 を返した場合に発生します。これは、IO が既に EOF に達していることを意味します。


instance method IO#readbyte

readbyte -> Integer

IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。

[EXCEPTION] EOFError:
既に EOF に達している場合に発生します。


instance method IO#readbytes

readbytes(size) [added by readbytes]

IO#readと同様にsizeバイト読み込みますが、 EOFに到達した時に例外 EOFError を発生させます。 sizeバイト未満しか読み込めなかった時には 例外 TruncatedDataError を発生させます。


instance method IO#readchar

readchar -> Integer

IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。 EOF に到達した時には EOFError が発生します。

IO#getc との違いは EOF での振る舞いのみです。

[EXCEPTION] EOFError:
EOF に到達した時に発生します。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
f = File.new("testfile")
f.readchar                   #=> 84
f.readchar                   #=> 104
f.read
f.readchar                   #=> EOFError

[SEE_ALSO] IO#getc


instance method IO#readline

readline(rs = $/) -> String

一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。

読み込んだ文字列を変数 $_ にセットします。IO#gets との違いは EOF での振る舞いのみです。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] EOFError:
EOF に到達した時に発生します。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
f = File.new("oneline_file")
f.readline                      #=> "This is line one\n"
$_                              #=> "This is line one\n"
f.readline                      #=> EOFError
$_                              #=> nil

[SEE_ALSO] $/, IO#gets


instance method IO#readlines

readlines(rs = $/) -> [String]

データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。

[SEE_ALSO] $/


instance method IO#readpartial

readpartial(maxlen, outbuf = "") -> String

IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。

既に EOF に達していれば EOFError が発生します。 ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。

readpartial はブロックを最小限に抑えることによって、 パイプ、ソケット、端末などのストリームに対して適切に動作するよう設計されています。 readpartial がブロックするのは次の全ての条件が満たされたときだけです。

  • IO オブジェクト内のバッファが空
  • ストリームにデータが到着していない
  • ストリームが EOF になっていない

これらの条件が満たされる場合、何らかのデータが到着するか EOF になるまで readpartial はブロックします。

readpartial の結果は以下のようになります。

  1. バッファが空でなければ、そのバッファのデータを読み込んで返します。
  2. ストリームにデータがあれば、ストリームからデータを読み込んで返します。
  3. ストリームが EOF になっていれば、例外 EOFError を発生させます。

例えば、パイプに対しては次のように動作します。

r, w = IO.pipe           #               buffer          pipe content
w << "abc"               #               ""              "abc".
r.readpartial(4096)      #=> "abc"       ""              ""
r.readpartial(4096)      # バッファにもパイプにもデータがないのでブロックする

r, w = IO.pipe           #               buffer          pipe content
w << "abc"               #               ""              "abc"
w.close                  #               ""              "abc" EOF
r.readpartial(4096)      #=> "abc"       ""              EOF
r.readpartial(4096)      # 例外 EOFError 発生

r, w = IO.pipe           #               buffer          pipe content
w << "abc\ndef\n"        #               ""              "abc\ndef\n"
r.gets                   #=> "abc\n"     "def\n"         ""
w << "ghi\n"             #               "def\n"         "ghi\n"
r.readpartial(4096)      #=> "def\n"     ""              "ghi\n"
r.readpartial(4096)      #=> "ghi\n"     ""              ""

なお、readpartial は nonblock フラグに影響されません。 つまり、nonblock フラグが設定されていて sysread であれば Errno::EAGAIN になる場合でもブロックします。

また、readpartial の挙動は sysread によく似ています。 とくに、バッファが空の場合には同じ挙動を示します。 ただし、EAGAIN および EINTR エラーは内部で発生したとしても通知されず、データが到着するまでブロックし続けます。

[PARAM] maxlen:
読み込む長さの上限を整数で指定します。
[PARAM] outbuf:
文字列で指定します。IO#readpartial は読み込んだデータを outbuf に破壊的に格納し、 返り値は outbuf となります。outbuf は一旦 maxlen 長に拡張(あるいは縮小)されたあと、 実際に読み込んだデータのサイズになります。IO が既に EOF に達していれば、空文字列になります。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
[EXCEPTION] EOFError:
IO が既に EOF に達していれば発生します。


instance method IO#ready?

ready? [added by io/wait]

ブロックせずに読み込み可能なら真を返します。そうでなければ nil を返します。 self が EOF に達していれば false を返します。


instance method IO#reopen

reopen(io) -> self

自身を指定された io に繋ぎ換えます。

クラスも io に等しくなることに注意してください。 IO#pos, IO#lineno などは指定された io と等しくなります。

[PARAM] io:
自身を繋ぎ換えたい IO オブジェクトを指定します。
[EXCEPTION] IOError:
指定された io が close されている場合に発生します。
reopen(path) -> self
reopen(path, mode) -> self

path で指定されたファイルにストリームを繋ぎ換えます。

第二引数を省略したとき self のモードをそのまま引き継ぎます。 IO#pos, IO#lineno などはリセットされます。

[PARAM] path:
パスを表す文字列を指定します。
[PARAM] mode:
パスを開く際のモードを文字列で指定します。
[EXCEPTION] Errno::EXXX:
失敗した場合に発生します。

[SEE_ALSO] Kernel.#open


instance method IO#rewind

rewind -> 0

ファイルポインタを先頭に移動します。IO#lineno は 0 になります。

[EXCEPTION] IOError:
既に close されている場合に発生します。
f = File.new("testfile")
f.readline               #=> "This is line one\n"
f.rewind                 #=> 0
f.lineno                 #=> 0
f.readline               #=> "This is line one\n"


instance method IO#scanf

scanf(format) -> Array [added by scanf]
scanf(format) {|*ary| ...} -> Array [added by scanf]

String#scanfも参照してください。

[PARAM] format:
スキャンするフォーマットを文字列で指定します。 詳細は、String#scanf/scanfフォーマット文字列 を参照してください。


instance method IO#seek

seek(offset, whence = IO::SEEK_SET) -> 0

ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。

[PARAM] offset:
ファイルポインタを移動させるオフセットを整数で指定します。
[PARAM] whence:
値は以下のいずれかです。
  • IO::SEEK_SET: ファイルの先頭から (デフォルト)
  • IO::SEEK_CUR: 現在のファイルポインタから
  • IO::SEEK_END: ファイルの末尾から
[EXCEPTION] Errno::EXXX:
ファイルポインタの移動に失敗した場合に発生します。
[EXCEPTION] IOError:
既に close されていた場合に発生します。
f = File.new("testfile")
f.seek(-13, IO::SEEK_END)   #=> 0
f.readline                  #=> "And so on...\n"

[SEE_ALSO] IO#lseek


instance method IO#stat

stat -> File::Stat

ファイルのステータスを含む File::Stat オブジェクトを生成して 返します。

[EXCEPTION] Errno::EXXX:
ステータスの読み込みに失敗した場合に発生します。
[EXCEPTION] IOError:
既に close されていた場合に発生します。

[SEE_ALSO] File#lstat, File.stat, File.lstat


instance method IO#sync

sync -> bool

現在の出力が同期モードならば true を返します。そうでない場合は false を返します。

[EXCEPTION] IOError:
既に close されていた場合に発生します。


instance method IO#sync=

sync=(newstate)

自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。

[PARAM] newstate:
自身を同期モードに設定するかを boolean で指定します。
[EXCEPTION] IOError:
既に close されていた場合に発生します。


instance method IO#sysread

sysread(maxlen, outbuf = "") -> String

read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。

既に EOF に達していれば EOFError が発生します。ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。

[PARAM] maxlen:
入力のサイズを整数で指定します。
[PARAM] outbuf:
出力用のバッファを文字列で指定します。IO#sysread は読み込んだデータを その文字列オブジェクトに上書きして返します。指定した文字列オブジェクト があらかじめ maxlen 長の領域であれば、余計なメモリの割当てが行われません。 指定した文字列の長さが maxlen と異なる場合、その文字列は一旦 maxlen 長に 拡張(あるいは縮小)されたあと、実際に読み込んだデータのサイズになります。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
[EXCEPTION] EOFError:
IO が既に EOF に達していれば発生します。
[EXCEPTION] Errno::EXXX:
データの読み込みに失敗した場合に発生します。

第二引数を指定した sysread の呼び出しでデータが空であった場 合(sysread が例外 EOFError を発生させる場合)、 outbuf は空文字列になります。

outbuf = "x" * 20;
io = File.open("/dev/null")
p((io.sysread(10,outbuf) rescue nil))
p outbuf
=> nil
   ""


instance method IO#sysseek

sysseek(offset, whence = IO::SEEK_SET) -> Integer

lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。

書き込み用にバッファリングされた IO に対して実行すると警告が出ます。

File.open("/dev/zero") {|f|
  buf = f.read(3)
  f.sysseek(0)
}
# => -:3:in `sysseek': sysseek for buffered IO (IOError)

File.open("/dev/null", "w") {|f|
  f.print "foo"
  f.sysseek(0)
}
# => -:3: warning: sysseek for buffered IO
[PARAM] offset:
ファイルポインタを移動させるオフセットを整数で指定します。
[PARAM] whence:
値は以下のいずれかです。
  • IO::SEEK_SET: ファイルの先頭から (デフォルト)
  • IO::SEEK_CUR: 現在のファイルポインタから
  • IO::SEEK_END: ファイルの末尾から
[EXCEPTION] IOError:
読み込み用にバッファリングされた IO に対して実行すると発生します。 既に close されていた場合にも発生します。
[EXCEPTION] Errno::EXXX:
移動に失敗した場合に発生します。

[SEE_ALSO] IO#seek


instance method IO#syswrite

syswrite(string) -> Integer

write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。

stdio を経由しないので他の出力メソッドと混用すると思わぬ動作 をすることがあります。

[PARAM] string:
自身に書き込みたい文字列を指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class IO > to_io

instance method IO#to_io

to_io -> self

self を返します。


instance method IO#to_ptr

to_ptr -> DL::PtrData [added by dl]

自身を指す DL::PtrData を返します。これは C レベルでは「FILE *」です。

[EXCEPTION] IOError:
自身が close されていたら発生します。


instance method IO#ungetc

ungetc(char) -> nil

指定された char を読み戻します。 2バイト以上の読み戻しは保証されません。

[PARAM] char:
読み戻したい1バイト文字に対応する Fixnum を指定します。
[EXCEPTION] IOError:
読み戻しに失敗した場合に発生します。また、自身が読み込み用にオープンされていない時、 自身がまだ一度も read されていない時に発生します。
f = File.new("testfile")   #=> #<File:testfile>
c = f.getc                 #=> 84
f.ungetc(c)                #=> nil
f.getc                     #=> 84


instance method IO#wait

wait([timeout = nil]) [added by io/wait]

self が読み込み可能になるまでブロックし、読み込み可能になったら self を返します。

timeout を指定した場合は、指定秒数経過するまでブロックし、タ イムアウトした場合は nil を返します。

self が EOF に達していれば false を返します。


instance method IO#write

write(str) -> Integer

IOポートに対して str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。 実際に出力できたバイト数を返します。

IO#syswrite を除く全ての出力メソッドは、最終的に "write" という名のメソッドを呼び出すので、このメソッドを置き換える ことで出力関数の挙動を変更することができます。

[PARAM] str:
自身に書き込みたい文字列を指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。


instance method IO#write_nonblock

write_nonblock(string) -> Integer

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。

[PARAM] string:
自身に書き込みたい文字列を指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
write(2) が失敗した場合に発生します。


singleton method IO.for_fd

new(fd, mode = "r") -> IO
for_fd(fd, mode = "r") -> IO
open(fd, mode = "r") -> IO
open(fd, mode = "r") {|io| ... } -> object

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを 実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。 IO.new, IO.for_fd はブロックを受け付けません。

[PARAM] fd:
ファイルディスクリプタである整数を指定します。
[PARAM] mode:
Kernel.#open と同じ形式で IO のモードを指定します。File::Constants::RDONLY などの 定数(数値)でモードを指定できます。詳細は組み込み関数 Kernel.#open を参照 してください。
[EXCEPTION] Errno::EXXX:
IO オブジェクトの生成に失敗した場合に発生します。


singleton method IO.foreach

foreach(path, rs = $/) {|line| ... } -> nil
foreach(path, rs = $/) -> Enumerable::Enumerator

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す Enumerable::Enumerator オブジェクトを生成して返します。

path が空ファイルの場合、何もせずに nil を返します。 Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

[PARAM] path:
ファイル名を表す文字列か "|コマンド名" を指定します。
[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] Errno::EXXX:
path のオープンに失敗した場合、発生します。

[SEE_ALSO] $/


singleton method IO.pipe

pipe -> [IO]

pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。

戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。

[EXCEPTION] Errno::EXXX:
IO オブジェクトの作成に失敗した場合に発生します。
r, w = IO.pipe
p [r, w]            # => [#<IO:0x401b90f8>, #<IO:0x401b7718>]
Thread.new do
  w.puts "foo"
  w.close
end
p r.gets           # => "foo\n"


singleton method IO.popen

popen(command, mode = "r") -> IO
popen(command, mode = "r") {|io| ... } -> object

command をサブプロセスとして実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。command はシェルを経由して実行されます。 生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+")  # => #<IO:0x401b75c8>
io.puts "foo"
io.close_write
p io.gets                     # => "foo\n"

ブロックが与えられた場合は生成した IO オブジェクトを引数にブ ロックを実行し、その結果を返します。ブロックの実行後、生成したパイ プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
  io.puts "foo"
  io.close_write
  io.gets
}
# => "foo\n"
[PARAM] command:
コマンド名を文字列で指定します。
[PARAM] mode:
オープンする IO ポートのモードを指定します。mode の詳細は Kernel.#open 参照して下さい。
[EXCEPTION] Errno::EXXX:
パイプ、あるいは子プロセスの生成に失敗した場合に発生します。
popen("-", mode = "r") -> IO
popen("-", mode = "r") {|io| ... } -> object

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

io = IO.popen("-", "r+")
if io  # parent
  io.puts "foo"
  p io.gets                   # => "child output: foo\n"
  io.close
else   # child
  s = gets
  print "child output: " + s
  exit
end

ブロックを与えられた場合、親プロセスでは生成した IO オブジェクトを引数に ブロックを実行し、その結果を返します。ブロックの実行後、生成したパイ プは自動的にクローズされます。 子プロセスでは nil を引数にブロックを実行し終了します。

p IO.popen("-", "r+") {|io|
  if io   # parent
    io.puts "foo"
    io.gets
  else    # child
    s = gets
    puts "child output: " + s
  end
}
# => "child output: foo\n"
[PARAM] mode:
オープンする IO ポートのモードを指定します。mode の詳細は Kernel.#open 参照して下さい。
[EXCEPTION] Errno::EXXX:
パイプ、あるいは子プロセスの生成に失敗した場合に発生します。


singleton method IO.read

read(path, length = nil, offset = 0) -> String | nil

path で指定されたファイルを offset 位置から length バイト分読み込んで返します。

既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。

Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

[PARAM] path:
ファイル名を表す文字列か "|コマンド名" を指定します。
[PARAM] length:
読み込む長さを整数で指定します。nil であるか省略した場合には、EOF まで読み込みます。
[PARAM] offset:
読み込みを始めるオフセットを整数で指定します。
[EXCEPTION] Errno::EXXX:
path のオープン、offset 位置への設定、ファイルの読み込みに失敗した場合に発生します。
[EXCEPTION] ArgumentError:
length が負の場合に発生します。

例:

IO.read(empty_file)             #=> ""
IO.read(empty_file, 1)          #=> nil
IO.read(one_byte_file, 0, 10)   #=> ""
IO.read(one_byte_file, nil, 10) #=> ""
IO.read(one_byte_file, 1, 10)   #=> nil


singleton method IO.readlines

readlines(path, rs = $/) -> [String]

path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。

既に EOF に達していれば空配列 [] を返します。 Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

[PARAM] path:
ファイル名を表す文字列か "|コマンド名" を指定します。
[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] Errno::EXXX:
path のオープン、ファイルの読み込みに失敗した場合に発生します。


singleton method IO.select

select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil

select(2) を実行します。

与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを それぞれ配列にして、配列の配列として返します。 タイムアウトした時には nil を返します。

Kernel.#select と同じです。

[PARAM] reads:
入力待ちする IO オブジェクトの配列を渡します。
[PARAM] writes:
出力待ちする IO オブジェクトの配列を渡します。
[PARAM] excepts:
例外待ちする IO オブジェクトの配列を渡します。
[PARAM] timeout:
タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を指定した時には IO がどれかひとつレディ状態になるまで待ち続けます。
[EXCEPTION] IOError:
与えられた IO オブジェクトが閉じられていた時に発生します。
[EXCEPTION] Errno::EXXX:
select(2) に失敗した場合に発生します。
rp, wp = IO.pipe
mesg = "ping "
100.times{
  rs, ws, = IO.select([rp], [wp])
  if r = rs[0]
    ret = r.read(5)
    print ret
    case ret
    when /ping/
      mesg = "pong\n"
    when /pong/
      mesg = "ping "
    end
  end
  if w = ws[0]
    w.write(mesg)
  end
}


singleton method IO.sysopen

sysopen(path, mode = "r", perm = 0666) -> Integer

path で指定されるファイルをオープンし、ファイル記述子を返しま す。

IO.for_fd などで IO オブジェクトにしない限り、このメソッ ドでオープンしたファイルをクローズする手段はありません。

[PARAM] path:
ファイル名を表す文字列を指定します。
[PARAM] mode:
モードを文字列か定数の論理和で指定します。Kernel.#open と同じです。
[PARAM] perm:
open(2) の第 3 引数のように、ファイルを生成する場合の ファイルのパーミッションを整数で指定します。Kernel.#open と同じです。
[EXCEPTION] Errno::EXXX:
ファイルのオープンに失敗した場合に発生します。

[SEE_ALSO] Kernel.#open


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > IN4MASK (protected)

constant IPAddr::IN4MASK

IN4MASK

IPv4 アドレスの場合に使用するマスク値。

0xffffffff


constant IPAddr::IN6FORMAT

IN6FORMAT

IPv6 アドレスをわかりやすく表示するためのフォーマット文字列。

"%.4x:%.4x:%.4x:%.4x:%.4x:%.4x:%.4x:%.4x"


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > IN6MASK (protected)

constant IPAddr::IN6MASK

IN6MASK

IPv6 アドレスの場合に使用するマスク値。

0xffffffffffffffffffffffffffffffff


instance method IPAddr#<<

self << num -> IPAddr

ビットごとの左シフト演算により、新しい IPAddr オブジェクトを生成します。

[PARAM] num:
左シフトする桁数。


instance method IPAddr#<=>

self <=> other -> nil | Integer

self と other を比較します。

[PARAM] other:
比較対象の IPAddr オブジェクト。
[RETURN]
self と other のアドレスファミリが一致しない場合は nil を返します。 アドレスファミリが一致する場合は、両方の数値表現を Integer#<=> で比較した結果を返します。

[SEE_ALSO] Integer#<=>


instance method IPAddr#==

self == ipaddr -> bool

IPAddr オブジェクト同士が等しいかを比較します。

[PARAM] ipaddr:
比較対象の IPAddr オブジェクト。 また、数値や文字列も受け付けます。

例:

require "ipaddr"
p IPAddr.new("192.168.0.1") == IPAddr.new("192.168.0.1/24")   # => false


instance method IPAddr#===

include?(ipaddr) -> bool
self === ipaddr -> bool

与えられた IPAddr オブジェクトが自身の範囲に入っているかを判定します。

[PARAM] ipaddr:
範囲に入っているかどうか調べる対象となる IPAddr オブジェクト。 また、数値や文字列も受け付けます。


instance method IPAddr#>>

self >> num -> IPAddr

ビットごとの右シフト演算により、新しい IPAddr オブジェクトを生成します。

[PARAM] num:
右シフトする桁数。


instance method IPAddr#|

self | ipaddr -> IPAddr

他の IPAddr オブジェクトとのビットごとの論理和により、 新しい IPAddr オブジェクトを生成します。

[PARAM] ipaddr:
他の IPAddr オブジェクト。 また、数値や文字列も受け付けます。


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > ~

instance method IPAddr#~

~ -> IPAddr

ビットごとの論理否定により、新しい IPAddr オブジェクトを生成します。


instance method IPAddr#&

self & ipaddr -> IPAddr

他の IPAddr オブジェクトとのビットごとの論理積により、 新しい IPAddr オブジェクトを生成します。

[PARAM] ipaddr:
他の IPAddr オブジェクト。 また、数値や文字列も受け付けます。


instance method IPAddr#family

family -> Integer

このオブジェクトのアドレスファミリを返します。

[SEE_ALSO] Socket


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > hton

instance method IPAddr#hton

hton -> String

ネットワークオーダーのバイト列に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > inspect

instance method IPAddr#inspect

inspect -> String

オブジェクトを人間が読める形式に変換した文字列を返します。


instance method IPAddr#ip6_arpa

ip6_arpa -> String

IPv6 なら [RFC3172] で定義された形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。


instance method IPAddr#ip6_int

ip6_int -> String

IPv6 なら [RFC1886] 互換形式で DNS 逆引きのための文字列を返します。 IPv4 の場合は例外を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > ipv4?

instance method IPAddr#ipv4?

ipv4? -> bool

IPv4 なら真を返します。


instance method IPAddr#ipv4_compat

ipv4_compat -> IPAddr

IPv4 アドレスから IPv4 互換 IPv6 アドレスの 新しい IPAddr オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > ipv4_compat?

instance method IPAddr#ipv4_compat?

ipv4_compat? -> bool

IPv4 互換 IPv6 アドレスなら 真を返します。


instance method IPAddr#ipv4_mapped

ipv4_mapped -> IPAddr

IPv4 アドレスから IPv4 射影 IPv6 アドレスの 新しい IPAddr オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > ipv4_mapped?

instance method IPAddr#ipv4_mapped?

ipv4_mapped? -> bool

IPv4 射影 IPv6 アドレスなら 真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library ipaddr > class IPAddr > ipv6?

instance method IPAddr#ipv6?

ipv6? -> bool

IPv6 なら真を返します。


instance method IPAddr#mask

mask(prefixlen) -> IPAddr

マスクされた新しい IPAddr オブジェクトを返します。 引数にはプリフィックス長とマスクの両方を受け付けます (e.g. 8, 64, "255.255.255.0")。

[PARAM] prefixlen:
プリフィックス長またはマスクを表す数値か文字列。


instance method IPAddr#mask!

mask!(mask) -> self

与えられた mask を使用してこのオブジェクトの IP アドレスを破壊的に変更します。

[PARAM] mask:
プレフィックス長を表す文字列か、サブネットマスクを表す文字列。


instance method IPAddr#native

native -> self | IPAddr

IPv4 射影 IPv6 アドレスや IPv4 互換 IPv6 アドレスから、 IPv4 アドレスの新しい IPAddr オブジェクトを返します。 IPv4 互換でも IPv4 組み込みでもないなら self を返します。

例:

require "ipaddr"
p IPAddr.new("0000:0000:0000:0000:0000:ffff:c0a8:0001").native
    # => #<IPAddr: IPv4:192.168.0.1/255.255.255.255>


instance method IPAddr#reverse

reverse -> String

DNS 逆引きのための文字列を返します。 IPv6 なら [RFC3172] で定義された形式で返します。

例:

require "ipaddr"
p IPAddr.new("192.168.0.1").reverse   # => "1.0.168.192.in-addr.arpa"


instance method IPAddr#set

set(addr, *family) -> self

このオブジェクトの IP アドレスとアドレスファミリをセットして自身を返します。

[PARAM] addr:
セットする IP アドレスの数値表現。
[PARAM] family:
セットするアドレスファミリ。


instance method IPAddr#succ

succ -> IPAddr

次の IPAddr オブジェクトを返します。

ipaddr = IPAddr.new('192.168.1.1')
p ipaddr.succ.to_s #=> "192.168.1.2"


instance method IPAddr#to_i

to_i -> Integer

整数に変換します。

例:

require "ipaddr"
p IPAddr.new("0.0.1.0").to_i   # => 256


instance method IPAddr#to_range

to_range -> Range

self の IP アドレスとサブネットマスクで取得できる IP アドレスの範囲を Range オブジェクトとして返します。

例:

IPAddr.new('192.168.1.1').to_range
#=> #<IPAddr: IPv4:192.168.1.1/255.255.255.255>..#<IPAddr: IPv4:192.168.1.1/255.255.255.255>
IPAddr.new('::1').to_range
#=> #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>..
#   #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>


instance method IPAddr#to_s

to_s -> String

文字列に変換します。

addr6 = IPAddr.new('::1')
addr6.to_s       #=> "::1"
addr6.to_string  #=> "0000:0000:0000:0000:0000:0000:0000:0001"

[SEE_ALSO] IPAddr#to_string


instance method IPAddr#to_string

to_string -> String

標準的な文字列表現に変換します。

addr6 = IPAddr.new('::1')
addr6.to_s       #=> "::1"
addr6.to_string  #=> "0000:0000:0000:0000:0000:0000:0000:0001"

[SEE_ALSO] IPAddr#to_s


singleton method IPAddr.new

new(addr = '::', family = Socket::AF_UNSPEC) -> IPAddr

新しい IPAddr オブジェクトを生成します。

[PARAM] addr:
0 から IPAddr::IN6MASK までの数値を受け取ります。 また、'address', 'address/prefixlen', 'address/mask' の形式も受け付けます。 プリフィックス長やマスクが指定されると、 マスクされた IPAddr オブジェクトを返します。 IPv6 アドレスの場合は、[ ] で囲まれていてもかまいません。
[PARAM] family:
family は自動的に判定されますが、明示的に指定することもできます。
[EXCEPTION] ArgumentError:
family が Socket::AF_UNSPEC の場合に発生します。
[EXCEPTION] ArgumentError:
family にサポートされていない address family を指定した場合に発生します。


singleton method IPAddr.new_ntoh

new_ntoh(addr) -> IPAddr

ネットワークバイトオーダーのバイト列から IPAddr オブジェクトを生成します。

[PARAM] addr:
ネットワークバイトオーダーのバイト列。

例:

require 'ipaddr'
p IPAddr.new_ntoh("\300\250\001\001")   # => <IPAddr: IPv4:192.168.1.1/255.255.255.255>


singleton method IPAddr.ntop

ntop(addr)

ネットワークバイトオーダーのバイト列で表現された IP アドレスを人間の読める形式に変換します。

[PARAM] addr:
ネットワークバイトオーダーのバイト列。


instance method IPSocket#addr

addr -> Array

ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。

[EXCEPTION] Errno::EXXX:
getsockname(2) が 0 未満の値を返した場合に発生します。

例:

serv = TCPServer.new("localhost", 0)
p serv.addr         #=> ["AF_INET", 46102, "localhost.localdomain", "127.0.0.1"]
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept


instance method IPSocket#peeraddr

peeraddr -> Array

接続相手先ソケットの情報を表す配列を返します。配列の各要素は IPSocket#addr メソッドが返す配列 と同じです。

[EXCEPTION] Errno::EXXX:
getpeername(2) が 0 未満の値を返した場合に発生します。

例:

TCPSocket.open("localhost", "http") {|s|
  p s.peeraddr    #=> ["AF_INET", 80, "localhost.localdomain", "127.0.0.1"]
  p s.addr        #=> ["AF_INET", 52615, "localhost.localdomain", "127.0.0.1"]
}


instance method IPSocket#recvfrom

recvfrom(maxlen, flags = 0) -> Array

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。

[PARAM] maxlen:
受け取る文字列の最大の長さを指定します。
[PARAM] flags:
recv(2) を参照してください。
[EXCEPTION] IOError:
[EXCEPTION] Errno::EXXX:
recvfrom(2) がエラーになった場合などに発生します。

例:

s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる
s2 = UDPSocket.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg            #=> "foo"
p inet_addr       #=> ["AF_INET", 32876, "localhost.localdomain", "127.0.0.1"]


singleton method IPSocket.getaddress

getaddress(host) -> String

ホスト名からホストのアドレスを返します。ホストのアドレスは文 字列は octet decimal の文字列 (例: 127.0.0.1) です。

[PARAM] host:
ホスト名を文字列で指定します。

例:

p IPSocket.getaddress("www.ruby-lang.org")        #=> "210.163.138.100"
getaddress(host) -> String [redefined by resolv-replace]

IPSocket.getaddress を置きかえ、 resolv ライブラリを使い名前解決します。

[PARAM] host:
ホスト名を指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。


instance method IRB::Context#back_trace_limit

back_trace_limit

バックトレース表示をバックトレースの頭から n, 後ろから n だけ行なう. デフォルトは 16.


Ruby 1.8.7 Reference Manual > All Libraries > library irb > class IRB::Context > debug_level=

instance method IRB::Context#debug_level=

debug_level=(n)

irb のデバッグレベルの設定


instance method IRB::Context#eval_history=

eval_history=(n)

実行結果のヒストリ機能の設定. n は整数か nil で n > 0 であればその数だけヒストリにためる。 n = 0の時は無制限に記憶する. n = nil だとヒストリ機能はやめる (デフォルト).


instance method IRB::Context#ignore_eof

ignore_eof
ignore_eof=(bool)

Ctrl-D が入力された時の動作を設定する. true の時は Ctrl-D を無視する. false の時は irb を終了する.


instance method IRB::Context#ignore_sigint

ignore_sigint
ignore_sigint=(bool)

Ctrl-C が入力された時の動作を設定します。 false 時は irb を終了します。 true の時の動作は以下のようになる.

入力中

これまで入力したものをキャンセルしトップレベルに戻る.

実行中

実行を中止する.


instance method IRB::Context#inf_ruby_mode

inf_ruby_mode
inf_ruby_mode=(bool)

inf-ruby-mode 用のプロンプト表示を行なうかどうかを表します。 デフォルト値は false です。


instance method IRB::Context#inspect_mode=

inspect_mode=(val)

インスペクトモードを設定する.

true

inspect の結果を表示する

false

to_s の結果を表示する

nil

irb が通常モードであれば inspect mode、 math モードなら non inspect mode


Ruby 1.8.7 Reference Manual > All Libraries > library irb > class IRB::Context > math_mode

instance method IRB::Context#math_mode

math_mode

分数と行列の計算ができる bc モードかどうかを表します。


instance method IRB::Context#prompt_c

prompt_c

if の直後など, 行が継続している時のプロンプトを 表現するフォーマット文字列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library irb > class IRB::Context > prompt_i

instance method IRB::Context#prompt_i

prompt_i

通常のプロンプトを表現するフォーマット文字列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library irb > class IRB::Context > prompt_s

instance method IRB::Context#prompt_s

prompt_s

文字列中のプロンプトを表現するフォーマット文字列を返します。


instance method IRB::Context#rc

rc

~/.irbrc を読み込んでいたら true を返します。 読み込んでいなければ false を返します。


instance method IRB::Context#use_loader

use_loader
use_loader=(bool)

load または require 時に irb のファイル読み込み機能を使うかどうかを示します。 デフォルト値は false です。

use_loader の値は irb 全体に反映されます。


instance method IRB::Context#use_prompt

use_prompt
use_prompt=(bool)

プロンプトを表示するかどうかを指定します。 use_prompt の値が true ならプロンプトを表示し、 false ならプロンプトを表示しません。

デフォルト値は true です。


instance method IRB::Context#use_readline=

use_readline=(val)

readline を使うかどうかを指定します。 val の値によって、このメソッドの効果は以下のように分かれます。

true

readline ライブラリを使う

false

readline ライブラリを使わない

nil

inf-ruby-mode 以外で readline ライブラリを利用しようとする (デフォルト)


Ruby 1.8.7 Reference Manual > All Libraries > library irb/frame > class IRB::Frame > bottom

singleton method IRB::Frame.bottom

bottom(n = 0)

下からn番目のコンテキストを取り出します. n は 0 が最下位になります.


singleton method IRB::Frame.sender

sender

センダになっているオブジェクトを取り出します. センダとは, そのメソッドを呼び出した側の self のことです.


Ruby 1.8.7 Reference Manual > All Libraries > library irb/frame > class IRB::Frame > top

singleton method IRB::Frame.top

top(n = 0)

上からn番目のコンテキストを取り出します. n は 0 が最上位になります.


instance method Iconv#close

close -> String

変換を終了します。出力バッファを初期シフト状態に戻すための文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。

このメソッドが呼ばれたあとで Iconv#iconv が呼ばれると例外が 起きますが、close 自体は繰返し呼ばれても成功します。

例:

i = Iconv.open("ISO-2022-JP", "EUC-JP")
i.iconv("\264\301")     #=> "\e$B4A"
i.iconv("\273\372")     #=> ";z"
i.close                 #=> "\e(B"


instance method Iconv#iconv

iconv(str, start = 0, length = -1) -> String

文字列の変換を開始し、変換後の文字列を返します。 str が文字列の場合、str[start, length] を変換し、 変換後の文字列を返します。

str が nil の場合、変換器をその初期シフト状態にし、 出力バッファを初期シフト状態に戻すためのバイト列からなる文字列を返します。 出力の文字符号化方式が内部状態をも持たない場合、空文字列を返します。

[PARAM] str:
変換される文字列または nil を指定します。
[PARAM] start:
str のうち変換を開始するオフセットを指定します。
[PARAM] length:
str のうち変換する長さを指定します。nil か -1 のときは、start 以降全部を意味します。
[EXCEPTION] Iconv::IllegalSequence:
strに指定された文字列に入力に指示された文字コードに含まれないために変換が停止した場合に発生します。
[EXCEPTION] Iconv::InvalidCharacter:
入力の最後が不完全な文字かシフトで終っているために変換が停止した場合に発生します。
[EXCEPTION] Iconv::OutOfRange:
ライブラリの内部エラーが発生した場合に発生します。


singleton method Iconv.charset_map

charset_map -> Hash

文字コードセット名からシステム依存の文字コードセット名への Hash を返します。


singleton method Iconv.conv

conv(to, from, str) -> String

与えられた文字コードにしたがって str を変換し、結果を文字列として返します。

次の省略形です。

Iconv.iconv(to, from, str).join
[PARAM] to:
変換先の文字コード体系を表す文字列を指定します。
[PARAM] from:
変換前の文字コード体系を表す文字列を指定します。
[PARAM] str:
変換したい文字列を指定します。

このメソッドは Iconv.new, Iconv.open および Iconv#iconv の例外 を起こします。


singleton method Iconv.iconv

iconv(to, from, *strs) -> Array

与えられた文字コードにしたがって strs を変換し、結果を文字列の配列として返します。

次の省略形です。

Iconv.open(to, from) {|cd| (strs + [nil]).collect {|s| cd.iconv(s)}}
[PARAM] to:
変換先の文字コード体系を表す文字列を指定します。
[PARAM] from:
変換前の文字コード体系を表す文字列を指定します。
[PARAM] strs:
変換したい文字列を指定します。

このメソッドは Iconv.new, Iconv.open および Iconv#iconv の例外 を起こします。


singleton method Iconv.new

new(to, from) -> Iconv

文字コード from から to へ変換するIconvオブジェクトを生成します。

[PARAM] to:
変換先の文字コード体系を表す文字列を指定します。
[PARAM] from:
変換前の文字コード体系を表す文字列を指定します。
[EXCEPTION] TypeError:
to や from が String オブジェクトでないとき発生します。
[EXCEPTION] Iconv::InvalidEncoding:
to や from で指定された文字コード体系が見つからないとき発生します。
[EXCEPTION] SystemCallError:
iconv_open(3) が失敗したとき発生します。

例:

require 'iconv'
# EUC-JP から SHIFT_JIS へ変換するIconvオブジェクトを生成。
icv = Iconv.new('SHIFT_JIS', 'EUC-JP')


singleton method Iconv.open

open(to, from) -> Iconv
open(to, from) {|cd| ...} -> object

ブロックが与えられない場合は Iconv.new と等価です。 ブロックが与えられると、Iconv オブジェクトを生成し、それを引数としてブロックを実行します。 ブロックの終りに Iconv オブジェクトは close されます。 ブロックの値を返します。

[PARAM] to:
変換先の文字コード体系を表す文字列を指定します。
[PARAM] from:
変換前の文字コード体系を表す文字列を指定します。
[EXCEPTION] TypeError:
to や from が String オブジェクトでないとき発生します。
[EXCEPTION] Iconv::InvalidEncoding:
to や from で指定された文字コード体系が見つからないとき発生します。

例:

euc = ["a4a2a4a4a4a6a4a8a4aa"].pack("H*") # あいうえおのEUC-JPコード

Iconv.open("UTF-8", "EUC-JP") do |i|
  str = i.iconv(euc)
  str << i.iconv(nil)
end
puts str #=> あいうえお


instance method Iconv::Failure#failed

failed -> String

Iconv に渡された文字列のうち、 例外が起こった位置からはじまる部分を返します。


instance method Iconv::Failure#inspect

inspect -> String

#<type: "success", "failed"> のような形をした 文字列を返します。


instance method Iconv::Failure#success

success -> String

例外が起こるまでに変換に成功した文字列を返します。

Iconv.iconv でこの例外が起こったときに返される値は、 以前の例外が起こるまでに変換に成功した文字列を要素とする配列です。 最後の要素は変換中の文字列です。


instance method Integer#*

self * other -> Fixnum | Bignum | Float

算術演算子。積を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
[RETURN]
計算結果


instance method Integer#**

self ** other -> Fixnum | Bignum | Float

算術演算子。冪(べき乗)を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
[RETURN]
計算結果
p 2 ** 3 # => 8
p 2 ** 0 # => 1
p 0 ** 0 # => 1
self ** other [redefined by rational]

べき乗。

  • otherが正または0の整数(Integer)ならば、整数(Integer)を返す。
  • otherが負の整数(Integer)ならば、有理数(Rational)を返す。
  • otherが有理数(Rational)や浮動小数(Float)ならば、浮動小数(Float)を返す。
2 **  3          #=> 8
2 ** -3          #=> Rational(1, 8)
2 ** Rational(3) #=> 8.0


instance method Integer#+

self + other -> Fixnum | Bignum | Float

算術演算子。和を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
[RETURN]
計算結果


instance method Integer#-

self - other -> Fixnum | Bignum | Float

算術演算子。差を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
[RETURN]
計算結果


instance method Integer#/

self / other -> Fixnum | Bignum | Float

算術演算子。商を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
[RETURN]
計算結果
self / other [redefined by rational]

除算。

  • otherが有理数(Rational)ならば、有理数(Rational)を返す。
  • otherがそれ以外なら、Integer#/と同じ。つまり、 other が整数(Integer)ならば、整数(Integer)を(整除)、浮動小数(Float)ならば、 浮動小数(Float)を返す。 ただし、いずれも、other == 0 の時は、ZeroDivisionErrorとなる。


instance method Integer#<

self < other -> bool

比較演算子。数値として小さいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other が大きい場合 true を返します。 そうでなければ false を返します。


instance method Integer#<<

self << bits -> Fixnum | Bignum

シフト演算子。 bits だけビットを左にシフトします。

[PARAM] bits:
シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010
p -1 << 1 #=> -2


instance method Integer#<=

self <= other -> bool

比較演算子。数値として等しいまたは小さいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が大きい場合か、 両者が等しい場合 true を返します。 そうでなければ false を返します。


instance method Integer#<=>

self <=> other -> Fixnum

self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。

[PARAM] other:
比較対象の数値
[RETURN]
-1 か 0 か 1 のいずれか
1 <=> 2 #=> -1
1 <=> 1 #=> 0
2 <=> 1 #=> 1


instance method Integer#==

self == other -> bool

比較演算子。数値として等しいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self と other が等しい場合 true を返します。 そうでなければ false を返します。


instance method Integer#>

self > other -> bool

比較演算子。数値として大きいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が小さい場合 true を返します。 そうでなければ false を返します。


instance method Integer#>=

self >= other -> bool

比較演算子。数値として等しいまたは大きいか判定します。

[PARAM] other:
比較対象の数値
[RETURN]
self よりも other の方が小さい場合か、 両者が等しい場合 true を返します。 そうでなければ false を返します。


instance method Integer#>>

self >> bits -> Fixnum | Bignum

シフト演算子。bits だけビットを右にシフトします。

右シフトは、符号ビット(最上位ビット(MSB))が保持されます。 bitsが実数の場合、小数点以下を切り捨てた値でシフトします。

[PARAM] bits:
シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1


instance method Integer#[]

self[nth] -> Fixnum

nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。

[PARAM] nth:
何ビット目を指すかの数値
[RETURN]
1 か 0

self[nth]=bit (つまりビットの修正) が Integer にないのは、Numeric 関連クラスが immutable であるためです。


instance method Integer#^

self ^ other -> Fixnum | Bignum

ビット二項演算子。排他的論理和を計算します。

[PARAM] other:
数値
1 ^ 1 #=> 0
2 ^ 3 #=> 1


instance method Integer#|

self | other -> Fixnum | Bignum

ビット二項演算子。論理和を計算します。

[PARAM] other:
数値
1 | 1 #=> 1
2 | 3 #=> 3


instance method Integer#~

~ -> Fixnum | Bignum

ビット演算子。否定を計算します。

~1  #=> -2
~3  #=> -4
~-4 #=> 3


instance method Integer#%

self % other -> Fixnum | Bignum | Float

算術演算子。剰余を計算します。

[PARAM] other:
二項演算の右側の引数(対象)
[RETURN]
計算結果


instance method Integer#&

self & other -> Fixnum | Bignum

ビット二項演算子。論理積を計算します。

[PARAM] other:
数値
1 & 1 #=> 1
2 & 3 #=> 2


instance method Integer#chr

chr -> String

文字コードに対応する 1 バイトの文字列を返します。

例えば65.chr は "A" を返します。

逆に文字列から文字コードを得るには "A"[0] とします

[RETURN]
1バイト文字列
[EXCEPTION] RangeError:
self が 0 から 255 の範囲外の場合に発生します。

[SEE_ALSO] String#[]


instance method Integer#denominator

denominator [added by rational]

In an integer, the denominator is 1. Therefore, this method returns 1.


instance method Integer#downto

downto(min) {|n| ... } -> self
downto(min) -> Enumerable::Enumerator

self から min まで 1 ずつ減らしながらブロックを繰り返し実行します。 self < min であれば何もしません。

[PARAM] min:
数値
[RETURN]
self を返します。

[SEE_ALSO] Integer#upto, Integer#step, Integer#times


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Integer > even?

instance method Integer#even?

even? -> bool

自身が偶数であれば真を返します。 そうでない場合は偽を返します。


instance method Integer#gcd

gcd(n) [added by rational]

self と n の最大公約数を Fixnum として返す。 self や n が負の場合は、正に変換してから計算する。

72.gcd 168           # -> 24
19.gcd 36            # -> 1


Ruby 1.8.7 Reference Manual > All Libraries > library mathn > class Integer > gcd2

instance method Integer#gcd2

gcd2(int) [added by mathn]

例:

12.gcd2 8
# => 4


instance method Integer#gcdlcm

gcdlcm(int) [added by rational]

最大公約数と最小公倍数の配列 [self.gcd, self.lcm] を返します。

6.gcdlcm 9     # -> [3, 18]


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Integer > integer?

instance method Integer#integer?

integer? -> true

常に真を返します。


instance method Integer#lcm

lcm(n) [added by rational]

self と n の最小公倍数を返す。 self や n が負の場合は、正に変換してから計算する。

6.lcm 7        # -> 42
6.lcm 9        # -> 18


instance method Integer#next

next -> Fixnum | Bignum
succ -> Fixnum | Bignum

self の次の整数を返します。


instance method Integer#numerator

numerator [added by rational]

In an integer, the value is the numerator of its rational equivalent. Therefore, this method returns self.


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Integer > odd?

instance method Integer#odd?

odd? -> bool

自身が奇数であれば真を返します。 そうでない場合は偽を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Integer > ord

instance method Integer#ord

ord -> Integer

自身を返します。

10.ord    #=> 10
?a.ord    #=> 97


instance method Integer#power!

power!(other) [added by rational]

rationalで再定義される前のInteger#**の別名。 other が正または 0 の整数 (Integer) ならば、 整数 (Integer) を、それ以外なら、浮動小数 (Float) を返す。


instance method Integer#pred

pred -> Integer

self から -1 した値を返します。

1.pred      #=> 0
(-1).pred   #=> -2


instance method Integer#prime_division

prime_division [added by mathn]

各素因子について素因子と指数の組を並べた配列を返します。

例:

72.prime_division
# => [[2, 3], [3, 2]]


instance method Integer#size

size -> Fixnum

整数の実装上のサイズをバイト数で返します。

現在の実装では Fixnum は、sizeof(long) 固定(多くの 32 bit マシンで 4 バイト)、Bignumは、システム依存です。

p 1.size
p 0x1_0000_0000.size
# => 4
     8


instance method Integer#times

times {|n| ... } -> self
times -> Enumerable::Enumerator

self 回だけ繰り返します。 self が正の整数でない場合は何もしません。

またブロックパラメータには 0 から self - 1 までの数値が渡されます。

3.times { puts "Hello, World!" }  # Hello, World! と3行続いて表示される。
0.times { puts "Hello, World!" }  # 何も表示されない。
5.times {|n| print n }            # 01234 と表示される。

[SEE_ALSO] Integer#upto, Integer#downto, Integer#step


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Integer > to_f

instance method Integer#to_f

to_f -> Float

値を浮動小数点数(Float)に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Integer > to_i

instance method Integer#to_i

to_i -> self
to_int -> self

self を返します。


instance method Integer#to_r

to_r [added by rational]

対応する有理数 (Rational) を返す。 Rational(self, 1) と同じ。


instance method Integer#to_s

to_s -> String
to_s(base) -> String

整数を 10 進文字列表現に変換します。

引数を指定すれば、それを基数とした文字列表 現に変換します。

p 10.to_s(2)    # => "1010"
p 10.to_s(8)    # => "12"
p 10.to_s(16)   # => "a"
p 35.to_s(36)   # => "z"
[RETURN]
数値の文字列表現
[PARAM] base:
基数となる 2 - 36 の数値。
[EXCEPTION] ArgumentError:
base に 2 - 36 以外の数値を指定した場合に発生します。


instance method Integer#upto

upto(max) {|n| ... } -> Fixnum | Bignum
upto(max) -> Enumerable::Enumerator

self から max まで 1 ずつ増やしながら繰り返します。 self > max であれば何もしません。

[PARAM] max:
数値
[RETURN]
self を返します。

[SEE_ALSO] Integer#downto, Integer#step, Integer#times


singleton method Integer.from_prime_division

from_prime_division(pd) -> Integer [added by mathn]

素因数分解の配列 pd から数を求めます。 pd は [素因数, 指数] 組の配列です。

例:

Integer.from_prime_division [[2,3],[3,2]]
# => 72 == 2**3 * 3**2


singleton method Integer.induced_from

induced_from(num) -> Integer

num を Integer に変換した結果を返します。 引数が数値の場合は小数部が切り捨てられ、そうでない場合はTypeErrorをraiseします。

Integer.induced_from 1.4  #=> 1
Integer.induced_from 1.9  #=> 1
Integer.induced_from -1.9 #=> -1
Integer.induced_from '1'  #=> TypeError

include している Precision モジュールの Precision.induced_from を 上書きしています。

[PARAM] num:
数値
[RETURN]
数値


instance method IrbCommands#_

_

直前の式の実行結果です。

例：

$ irb
irb(main):001:0> 10
=> 10
irb(main):002:0> 2**32
=> 4294967296
irb(main):003:0> _
=> 4294967296
irb(main):004:0> _ - 2**31
=> 2147483648
irb(main):005:0>


instance method IrbCommands#__

__

実行結果の履歴です。 __[lineno] で、lineno 行で実行した結果を得られます。 lineno が負の時は、最新の結果から -lineno 行だけ前の 結果を得られます。

この変数はデフォルトでは使えません。 この変数を使用するには、あらかじめ .irbrc などで conf.eval_history の値を指定しておかなければいけません。

例：

$ irb
irb(main):001:0> conf.eval_history = 100
=> 100
irb(main):002:0> 1 + 2
=> 3
irb(main):003:0> 'hoge' + 'foo'
=> "hogefoo"
irb(main):004:0> __[2]
=> 3
irb(main):005:0> __[3]
=> "hogefoo"
irb(main):006:0> __[-1]
=> "hogefoo"
irb(main):007:0>


instance method IrbCommands#chws

cws([obj])
chws([obj])
irb_cws([obj])
irb_chws([obj])
irb_change_workspace([obj])

irb の self を obj に変更します。 obj が省略されたときは、 irb を起動したときの main オブジェクトを self にします。


instance method IrbCommands#conf

conf
irb_context

irb の現在の設定です。IRB::Context オブジェクトです。 このメソッドで得た IRB::Context オブジェクトに対してメソッドを 呼び出すことで、現在稼働中の irb インタプリタの設定を表示・変更できます。


instance method IrbCommands#exit

exit
quit
irb_exit

irb を終了します。 サブ irb で呼び出した場合は、そのサブ irb だけを終了します。


instance method IrbCommands#fg

fg(n)
irb_fg(n)

n で指定したサブ irb に移動します。 n は以下のいずれかの値で指定します。

  • irb インタプリタ番号
  • irb オブジェクト
  • スレッド ID
  • 各インタプリタの self (「irb(obj)」で起動した時の obj)


instance method IrbCommands#irb

irb([obj])

新しいサブ irb インタプリタを起動します。 オブジェクト obj が指定された時はその obj を self にします。


Ruby 1.8.7 Reference Manual > All Libraries > library irb > class IrbCommands > irb_jobs

instance method IrbCommands#irb_jobs

jobs
irb_jobs

サブ irb のリストを返します。


instance method IrbCommands#irb_kill

kill(n)
irb_kill(n)

n で指定したサブ irb を停止します。 n は以下のいずれかの値で指定します。

  • irb インタプリタ番号
  • irb オブジェクト
  • スレッド ID
  • 各インタプリタの self (「irb(obj)」で起動した時の obj)


instance method IrbCommands#irb_load

irb_load(path, prev)

ファイル path を Ruby スクリプトとみなし、 現在の irb インタプリタ上で実行します。 Ruby の load の irb 版です。


instance method IrbCommands#irb_pop_workspace

popws
irb_popws
irb_pop_workspace

UNIX シェルコマンドの popd と同じです。


instance method IrbCommands#irb_push_workspace

pushws([obj])
irb_pushws([obj])
irb_push_workspace([obj])

UNIX シェルコマンドの pushd と同じです。


instance method IrbCommands#irb_source

souce(path)
irb_source(path)

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

source という名前は UNIX シェルの source コマンドに由来します。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/jacobian > module Jacobian > dfdxi

instance method Jacobian#dfdxi

dfdxi(f, fx, x, i)


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/jacobian > module Jacobian > isEqual

instance method Jacobian#isEqual

isEqual(a, b, zero = 0.0, e = 1.0e-8)


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/jacobian > module Jacobian > jacobian

instance method Jacobian#jacobian

jacobian(f, fx, x)


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > ASCII

constant Kconv::ASCII

ASCII -> Integer

ASCII を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > AUTO

constant Kconv::AUTO

AUTO -> Integer

エンコーディングを自動検出します。 入力の指定でのみ有効です。


constant Kconv::BINARY

BINARY -> Integer

JIS EUC SJIS 以外を表します。 この値はKconv.#guessの返り値としてのみ用いられます。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > EUC

constant Kconv::EUC

EUC -> Integer

EUC-JP を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > JIS

constant Kconv::JIS

JIS -> Integer

ISO-2022-JP を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > NOCONV

constant Kconv::NOCONV

NOCONV -> Integer

変換されないことを表します。 出力エンコーディングの指定にのみ用います。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > REVISION

constant Kconv::REVISION

REVISION -> String

この定数は使うべきではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > RegexpEucjp

constant Kconv::RegexpEucjp

RegexpEucjp -> Regexp

この定数は使うべきではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > RegexpShiftjis

constant Kconv::RegexpShiftjis

RegexpShiftjis -> Regexp

この定数は使うべきではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > RegexpUtf8

constant Kconv::RegexpUtf8

RegexpUtf8 -> Regexp

この定数は使うべきではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > SJIS

constant Kconv::SJIS

SJIS -> Integer

Shift_JIS を表します。 cp932ではないことに注意してください。


constant Kconv::UNKNOWN

UNKNOWN -> Integer

出力においては「エンコーディングを判定できなかった」 入力においては AUTO と同様に「自動検出」を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > UTF8

constant Kconv::UTF8

UTF8 -> Integer

UTF8 を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > UTF16

constant Kconv::UTF16

UTF16 -> Integer

UTF16 を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library kconv > module Kconv > UTF32

constant Kconv::UTF32

UTF32 -> Integer

UTF32 を表します。


module function Kconv.#guess

guess(str) -> Integer

文字列 str のエンコーディングを判定します。戻り値は Kconv の定数です。

このモジュール関数で判定できるのは、

  • ISO-2022-JP (Kconv::JIS)
  • Shift_JIS (Kconv::SJIS)
  • EUC-JP (Kconv::EUC)
  • ASCII (Kconv::ASCII)
  • UTF-8 (Kconv::UTF8)
  • UTF-16BE (Kconv::UTF16)
  • 不明 (Kconv::UNKNOWN)
  • 以上のどれでもない (Kconv::BINARY)

のいずれかです。

[PARAM] str:
エンコーディング判定対象の文字列


module function Kconv.#guess_old

guess_old(str) -> Integer

文字列 str のエンコーディングを判定します。戻り値は Kconv の定数です。

このモジュール関数で判定できるのは、

  • ISO-2022-JP (Kconv::JIS)
  • Shift_JIS (Kconv::SJIS)
  • EUC-JP (Kconv::EUC)
  • 不明 (Kconv::UNKNOWN)
  • 以上のどれでもない (Kconv::BINARY)

のいずれかです。

[PARAM] str:
エンコーディング判定対象の文字列

[SEE_ALSO] Kconv.#guess


module function Kconv.#iseuc

iseuc(str) -> bool

文字列 str が EUC-JP なバイト列として正当であるかどうかを判定します。

[PARAM] str:
判定対象の文字列

[SEE_ALSO] String#iseuc


module function Kconv.#issjis

issjis(str) -> bool

文字列 str が Shift_JIS なバイト列として正当であるかどうかを判定します。

[PARAM] str:
判定対象の文字列

[SEE_ALSO] String#issjis


module function Kconv.#isutf8

isutf8(str) -> bool

文字列 str が UTF-8 なバイト列として正当であるかどうかを判定します。

[PARAM] str:
判定対象の文字列

[SEE_ALSO] String#isutf8


module function Kconv.#kconv

kconv(str, out_code, in_code = Kconv::AUTO) -> String

文字列 str のエンコーディングを out_code に変換したものを 返します。in_code も指定されていたら str のエンコーディングが in_code だとして動作します。

このメソッドはMIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf を使ってください。

[PARAM] str:
変換元の文字列
[PARAM] out_code:
変換後のエンコーディング
[PARAM] in_code:
strのエンコーディング

[SEE_ALSO] String#kconv


module function Kconv.#toeuc

toeuc(str) -> String

文字列 str のエンコーディングを EUC-JP に変換して返します。

Kconv.kconv(str, Kconv::EUC)と同じです。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-exm0', str) を使ってください。

[PARAM] str:
変換元の文字列

[SEE_ALSO] Kconv.#kconv, String#toeuc


module function Kconv.#tojis

tojis(str) -> String

文字列 str のエンコーディングを iso-2022-jp に変換して返します。

Kconv.kconv(str, Kconv::JIS) と同じです。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-jxm0', str) を使ってください。

[PARAM] str:
変換元の文字列

[SEE_ALSO] Kconv.#kconv, String#tojis


module function Kconv.#tosjis

tosjis(str) -> String

文字列 str のエンコーディングを shift_jis に変換して返します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-sxm0', str) を使ってください。

Kconv.kconv(str, Kconv::SJIS)と同じです。

[PARAM] str:
変換元の文字列

[SEE_ALSO] Kconv.#kconv, String#tosjis


module function Kconv.#toutf8

toutf8(str) -> String

文字列 str のエンコーディングを UTF-8 に変換して返します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-wxm0', str) を使ってください。

Kconv.kconv(str, Kconv::UTF8)と同じです。

[PARAM] str:
変換元の文字列

[SEE_ALSO] String#toutf8


module function Kconv.#toutf16

toutf16(str) -> String

文字列 str のエンコーディングを UTF-16BE に変換して返します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-w16xm0', str) を使ってください。

Kconv.kconv(str, Kconv::UTF16)と同じです。

[PARAM] str:
変換元の文字列

[SEE_ALSO] String#toutf16


constant Kernel::ARGF

ARGF -> Object

引数 (なければ標準入力) で構成される仮想ファイル (詳細は ARGF を参照)。

つまり Kernel.#gets は ARGF.gets と同じ意味です。 ARGF.file で現在読み込み中のファイルオブジェクトが、 ARGF.filename で現在読み込み中のファイル名が得られます。


constant Kernel::ARGV

ARGV -> Array

Ruby スクリプトに与えられた引数を表す配列です。

組み込み変数 $* の別名です。 Ruby 自身に対する引数は取り除かれています。

例:

スクリプト argv.rb の内容が

p ARGV

であったとします。このときシェルから次を実行すると、

$ ruby argv.rb foo bar baz

結果は以下のように出力されます。

["foo", "bar", "baz"]
ARGV [redefined by optparse]

optparse を require することにより、ARGV は OptionParser::Arguable を extend します。


constant Kernel::CFLAGS

CFLAGS [added by mkmf]

C コンパイラに渡されるコマンドラインオプションです。 この値は Makefile にも反映されます。


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > CONFIG (private)

constant Kernel::CONFIG

CONFIG [added by mkmf]

Config::MAKEFILE_CONFIG と同じです。


constant Kernel::CPP

CPP [added by mkmf]

プリプロセッサを起動するときのコマンドラインのフォーマットです。 Kernel#try_cpp などが使用します。


constant Kernel::DATA

DATA -> File

スクリプトの __END__ プログラムの終り以降をアクセスする File オブジェクト。

プログラム・文・式/プログラムの終りも参照。

ソースファイルの __END__ 以降は解析・実行の対象にならないので その部分にプログラムが利用するためのデータを書き込んでおくことができます。 DATA 定数はそのデータ部分にアクセスするための File オブジェクトを保持しています。

__END__ を含まないプログラムにおいては DATA は定義されません。

注意

  • DATA.rewind で移動する読みとり位置は __END__ 直後ではなく、 スクリプトファイルの先頭です。
  • スクリプトが標準入力から読みこまれた場合は標準入力になります。
  • スクリプトがファイルや標準入力から読みこまれなかった場合や、 __END__ で終っていない場合には定義されません。
  • Kernel.#require や Kernel.#load で 読み込まれたファイルの中であってもそのファイル (Kernel#__FILE__) ではなく実行されたファイル ($0) を指します。

例1

print DATA.gets # => 故人西辞黄鶴楼
print DATA.gets # => 烟花三月下揚州
print DATA.gets # => 孤帆遠影碧空尽
print DATA.gets # => 唯見長江天際流
DATA.gets       # => nil

__END__
故人西辞黄鶴楼
烟花三月下揚州
孤帆遠影碧空尽
唯見長江天際流

例2

sum = 0
DATA.each_line do |line|
  sum += line.to_i
end

DATA.rewind
p DATA.gets    # => "sum = 0￥n"

__END__
17
19
23
29
31

例3

DATA.gets    # => uninitialized constant DATA (NameError)

例4

ファイル library.rb と app.rb の内容が以下であったとします。

library.rb:

print DATA.gets

__END__
data from library

app.rb:

require 'library.rb'

__END__
data from app

このときシェルから次を実行すると

$ ruby app.rb

結果は以下のように出力されます。

data from app


constant Kernel::ENV

ENV -> Object

環境変数を表す (疑似) 連想配列 (詳細は ENV を参照)。

この連想配列の値を変更すると子プロセスの環境として引き継がれます。


constant Kernel::FALSE

FALSE -> FalseClass

非推奨です。代表的な偽の値。false と同じ。

この定数は過去との互換性のために提供されています。擬似変数 false を使ってください。 Ruby では false と nil が偽として扱われます。 偽でない値(false でも nil でもない値) は全て真とみなされます。


constant Kernel::LINK

LINK [added by mkmf]

リンカを起動するときのコマンドラインのフォーマットです。 Kernel#try_link などが使用します。


constant Kernel::NIL

NIL -> NilClass

非推奨です。 nil と同じ。

この定数は過去との互換性のために提供されています。擬似変数 nil を使ってください。

Ruby では false と nil が偽として扱われます。 偽でない値(false でも nil でもない値) は全て真とみなされます。


constant Kernel::PLATFORM

PLATFORM -> String

非推奨です。 Kernel::RUBY_PLATFORM の古い名前です。

この定数は過去との互換性のために提供されています。 RUBY_PLATFORM を使ってください。


constant Kernel::RELEASE_DATE

RELEASE_DATE -> String

非推奨です。 Kernel::RUBY_RELEASE_DATE の古い名前です。

この定数は過去との互換性のために提供されています。 RUBY_RELEASE_DATE を使ってください。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Kernel > RUBY_COPYRIGHT

constant Kernel::RUBY_COPYRIGHT

RUBY_COPYRIGHT -> String

Ruby のコピーライトを表す文字列。


constant Kernel::RUBY_DESCRIPTION

RUBY_DESCRIPTION -> String

Ruby の詳細を表す文字列。

ruby -v で表示される内容が格納されています。


constant Kernel::RUBY_PATCHLEVEL

RUBY_PATCHLEVEL -> Fixnum

Ruby のパッチレベルを表す Fixnum オブジェクトです。

パッチレベルはRubyの各バージョンに対するバグ修正パッチの適用をカウントしています。 teeny リリースのそれぞれについてパッチレベルは 0 から始まり、 その teeny リリースに対してバグ修正パッチが適用される度に増えていきます。

パッチレベルという概念および RUBY_PATCHLEVEL 定数は、 Ruby 1.8.5-p1 以降、 1.8.6 以降で導入されました。 1.8.5やそれ以前のバージョンでは定義されていません。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Kernel > RUBY_PLATFORM

constant Kernel::RUBY_PLATFORM

RUBY_PLATFORM -> String

プラットフォームを表す文字列。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Kernel > RUBY_RELEASE_DATE

constant Kernel::RUBY_RELEASE_DATE

RUBY_RELEASE_DATE -> String

Ruby のリリース日を表す文字列。


constant Kernel::RUBY_VERSION

RUBY_VERSION -> String

Ruby のバージョンを表す文字列。

Ruby のバージョンは、major.minor.teeny という形式です。 それぞれの番号は (今のところ) 2 桁以上にならないと約束されていますので、

if RUBY_VERSION >= '1.6.7'
  # バージョン 1.6.7 以降で有効な処理
else
  # それ以前のバージョンで有効な処理
end

とバージョンの違いによる処理の分岐を書くことができます。

Ruby 1.8 までは、minor が奇数のバージョンは開発版、 minor が偶数のバージョンは安定版です。 RUby 1.9.0 以降は、teeny が 0 のバージョンが開発版となる予定です。


constant Kernel::SCRIPT_LINES__

SCRIPT_LINES__ -> Hash

ソースファイル別にまとめられたソースコードの各行。

この定数は、デフォルトでは定義されていません。 この定数がハッシュとして定義された後にソースが((*コンパイル*))されると、 そのソースファイル名をキーに、 ソースを行毎に分割した配列を値にしたハッシュ要素が設定されます。

この定数はデバッガ (debug) などで利用されています。

なお、 $SAFE レベルが 0 でなければ有効にはなりません。 また、 Kernel.#eval によるコンパイルは対象にはなりません。

例:

require 'pp'
SCRIPT_LINES__ = {}
require 'English'
pp SCRIPT_LINES__

# => {"/usr/local/lib/ruby/1.6/English.rb"=>
#     ["alias $ERROR_INFO              $!\n",
#      "alias $ERROR_POSITION          $@\n",
#      "alias $LOADED_FEATURES         $\"\n",
#               :
#               :
#      "alias $POSTMATCH               $'\n",
#      "alias $LAST_PAREN_MATCH        $+\n"]}


constant Kernel::STDERR

STDERR -> IO

標準エラー出力。$stderr のデフォルト値。 $stderr も参照してください。

STDERR は、 ruby プロセスが起動された時点での標準エラー出力を表します。 起動時点では $stderr も同じ値に初期化されています。

$stderr に他の出力オブジェクトを代入することで簡易なリダイレクトを実現できます。 そして、 $stderr に STDERR を代入すればこのリダイレクトを復元できるわけです。

注意

STDERR は ruby 自体が起動された時点での標準エラー出力です。 「システムにおける標準のエラー出力ストリーム」とは異なります。

多くのシステムでは標準のエラー出力ストリームは端末です。 ruby 自体が他のストリームに向けてエラー出力をリダイレクトされた状態で起動された場合、 STDERR が保持するのは端末ではなく、リダイレクト先のストリームです。


constant Kernel::STDIN

STDIN -> IO

標準入力。$stdin のデフォルト値。 $stdin も参照してください。

STDIN は、 ruby プロセスが起動された時点での標準入力を表します。 起動時点では $stdin も同じ値に初期化されています。

$stdin に他の入力オブジェクトを代入することで簡易なリダイレクトを実現できます。 そして、 $stdin に STDIN を代入すればこのリダイレクトを復元できるわけです。

注意

STDIN は ruby 自体が起動された時点での標準入力です。 「システムにおける標準の入力ストリーム」とは異なります。

多くのシステムでは標準の入力ストリームは端末です。 ruby 自体が他のストリームに向けて入力をリダイレクトされた状態で起動された場合、 STDIN が保持するのは端末ではなく、リダイレクト先のストリームです。


constant Kernel::STDOUT

STDOUT -> IO

標準出力。$stdout のデフォルト値。 $stdout も参照してください。

STDOUT は、 ruby プロセスが起動された時点での標準出力を表します。 起動時点では $stdout も同じ値に初期化されています。

$stdout に他の出力オブジェクトを代入することで簡易なリダイレクトを実現できます。 そして、 $stdout に STDOUT を代入すればこのリダイレクトを復元できるわけです。

注意

STDOUT は ruby 自体が起動された時点での標準出力です。 「システムにおける標準の出力ストリーム」とは異なります。

多くのシステムでは標準の出力ストリームは端末です。 ruby 自体が他のストリームに向けて出力をリダイレクトされた状態で起動された場合、 STDOUT が保持するのは端末ではなく、リダイレクト先のストリームです。


constant Kernel::TOPLEVEL_BINDING

TOPLEVEL_BINDING -> Binding

トップレベルでの Binding オブジェクト。

詳細は Binding を参照してください。


constant Kernel::TRUE

TRUE -> TrueClass

非推奨です。代表的な真の値。true と同じ。

この定数は過去との互換性のために提供されています。擬似変数 true を使ってください。

Ruby では false と nil が偽として扱われます。 偽でない値(false でも nil でもない値) は全て真とみなされます。


constant Kernel::VERSION

VERSION -> String

非推奨です。 Kernel::RUBY_VERSION の古い名前です。

この定数は過去との互換性のために提供されています。 RUBY_VERSION を使ってください。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal > module Kernel > BigDecimal (private)

instance method Kernel#BigDecimal

BigDecimal(s [, n]) [added by bigdecimal]

詳細は BigDecimal.new を参照


instance method Kernel#DelegateClass

DelegateClass(superclass) -> object [added by delegate]

クラス superclass のインスタンスへメソッドを委譲するクラスを定義し、 そのクラスを返します。

[PARAM] superclass:
委譲先となるクラス

例:

require 'delegate'

class ExtArray < DelegateClass(Array)
  def initialize
    super([])
  end
end
a = ExtArray.new
p a.class   # => ExtArray
a.push 25
p a         # => [25]


instance method Kernel#Digest

Digest(name) -> object [added by digest]

"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、 対応するダイジェストのクラスを取得します。

[PARAM] name:
"MD5"や"SHA1"などのダイジェストを示す文字列を指定します。
[RETURN]
Digest::MD5やDigest::SHA1などの対応するダイジェストのクラスを返します。インスタンスではなく、クラスを返します。注意してください。

例: Digest::MD、Digest::SHA1、Digest::SHA512のクラス名を順番に出力する。

for a in ["MD5", "SHA1", "SHA512"]
  p Digest(a) # => Digest::MD5, Digest::SHA1, Digest::SHA512
end


Ruby 1.8.7 Reference Manual > All Libraries > library tkclass > module Kernel > Mainloop (private)

instance method Kernel#Mainloop

Mainloop [added by tkclass]


instance method Kernel#Pathname

Pathname(path) -> Pathname [added by pathname]

文字列 path を元に Pathname オブジェクトを生成します。

Pathname.new(string) と同じです。


instance method Kernel#Rational

Rational(a, b) [added by rational]

Rational オブジェクトを生成する。

Creates a Rational number (i.e. a fraction). +a+ and +b+ should be Integers:

Rational(1,3)           # -> 1/3

Note: trying to construct a Rational with floating point or real values produces errors:

Rational(1.1, 2.3)      # -> NoMethodError


Ruby 1.8.7 Reference Manual > All Libraries > library tk/autoload > module Kernel > TkGrid (private)

instance method Kernel#TkGrid

TkGrid(*args) [added by tk/autoload]

TkGrid.#configure と同じ


Ruby 1.8.7 Reference Manual > All Libraries > library tk/autoload > module Kernel > TkPack (private)

instance method Kernel#TkPack

TkPack(*args) [added by tk/autoload]

TkPack.#configure と同じ


Ruby 1.8.7 Reference Manual > All Libraries > library tk/autoload > module Kernel > TkPlace (private)

instance method Kernel#TkPlace

TkPlace(*args) [added by tk/autoload]

TkPlace.#configure と同じ


instance method Kernel#append_library

append_library(libs, lib) [added by mkmf]

ライブラリのリスト libs の先頭にライブラリ lib を追加し、 その結果を返します。

引数 libs とこのメソッドの戻り値は リンカに渡す引数形式の文字列です。 すなわち、UNIX 系 OS では

"-lfoo -lbar"

であり、MS Windows などでは

"foo.lib bar.lib"

です。 第 2 引数 lib は、この例での "foo" や "bar" にあたります。


instance method Kernel#arg_config

arg_config(config[, default]) [added by mkmf]

configure オプション --config の値を返します。 オプションが指定されていないときは第 2 引数 default を返します。

例えば extconf.rb で arg_config メソッドを使う場合、

$ ruby extconf.rb --foo --bar=baz

と実行したとき、arg_config("--foo") の値は true、 arg_config("--bar") の値は "baz" です。


instance method Kernel#check_sizeof

check_sizeof(type, headers = nil, &b) [added by mkmf]

Returns the size of the given +type+. You may optionally specify additional +headers+ to search in for the +type+.

If found, a macro is passed as a preprocessor constant to the compiler using the type name, in uppercase, prepended with 'SIZEOF_', followed by the type name, followed by '=X' where 'X' is the actual size.

For example, if check_sizeof('mystruct') returned 12, then the SIZEOF_MYSTRUCT=12 preprocessor macro would be passed to the compiler.


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > checking_for (private)

instance method Kernel#checking_for

checking_for [added by mkmf]


instance method Kernel#chmod

chmod -> () [added by un]

ファイルのアクセス権を変更します。

Change the mode of each FILE to OCTAL-MODE.

ruby -run -e chmod -- [OPTION] OCTAL-MODE FILE

-v          詳細表示

[SEE_ALSO] chmod(1)


instance method Kernel#cp

cp -> () [added by un]

ファイルやディレクトリをコピーします。

ruby -run -e cp -- [OPTION] SOURCE DEST

-p          可能であればファイルの属性を保持します。
-r          再帰的にコピーします。
-v          詳細表示

[SEE_ALSO] cp(1)


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > create_header (private)

instance method Kernel#create_header

create_header [added by mkmf]


instance method Kernel#create_makefile

create_makefile(target[, srcdir]) [added by mkmf]

Kernel#have_library などの各種検査の結果を元に、 拡張ライブラリ TARGET.so をビルドするための Makefile を生成します。

第 2 引数 srcdir は make 変数 srcdir の値を指定します。 この変数には、ソースコードがあるディレクトリ名を指定します。 この引数を省略した場合は、extconf.rb があるディレクトリが使われます。

extconf.rb は普通このメソッドの呼び出しで終ります。


instance method Kernel#dir_config

dir_config(target[, default]) [added by mkmf]
dir_config(target[, idefault, ldefault]) [added by mkmf]

configure オプション --with-TARGET-dir, --with-TARGET-include, --with-TARGET-lib をユーザが extconf.rb に指定できるようにします。

--with-TARGET-dir オプションは システム標準ではない、 ヘッダファイルやライブラリがあるディレクトリをまとめて指定するために使います。 ユーザが extconf.rb に --with-TARGET-dir=PATH を指定したときは $CFLAGS に "-IPATH/include" を、 $LDFLAGS に "-LPATH/lib" を、 それぞれ追加します。

--with-TARGET-include オプションは システム標準ではないヘッダファイルのディレクトリを指定するために使います。 ユーザが extconf.rb に --with-TARGET-include=PATH を指定したときは $CFLAGS に PATH を追加します。

--with-TARGET-lib オプションは システム標準ではないライブラリのディレクトリを指定するために使います。 ユーザが extconf.rb に --with-TARGET-lib=PATH を指定したときは $CFLAGS に PATH を追加します。

以上 3 つの configure オプションがいずれも指定されていないときは、 デフォルト値として引数 default、idefault、ldefault の値が使われます。 第 2 引数のみ与えた場合は "-Idefault/include" と "-Ldefault/lib" をそれぞれ追加し、 第 3 引数も与えた場合は "-Iidefault" と "-Lldefault" をそれぞれ追加します。


instance method Kernel#egrep_cpp

egrep_cpp(pat, src[, opt]) [added by mkmf]

C プログラムのソースコード src をプリプロセスし、 その結果が正規表現 pat にマッチするかどうかを判定します。

CPP $CFLAGS opt | egrep pat

を実行し、その結果が正常かどうかを true または false で返します。

第 1 引数 pat には「egrep の」正規表現を文字列で指定します。 Ruby の正規表現ではありません。

第 2 引数 src には C 言語のソースコードを文字列で記述します。

このメソッドはヘッダファイルに関数などの宣言があるかどうか 検査するために使用します。


instance method Kernel#enable_config

enable_config(config[, default]) [added by mkmf]

Kernel#arg_config と同じですが、 --enable-config オプション、 または--disable-config オプションの値だけを参照します。


instance method Kernel#find_header

find_header(header, *paths) [added by mkmf]

Instructs mkmf to search for the given +header+ in any of the +paths+ provided, and returns whether or not it was found in those paths.

If the header is found then the path it was found on is added to the list of included directories that are sent to the compiler (via the -I switch).


instance method Kernel#find_library

find_library(lib, func, *pathes) [added by mkmf]

関数 func が定義されたライブラリ lib を探します。 最初はパスを指定せずに探し、 それに失敗したら pathes[0] を指定して探し、 それにも失敗したら pathes[1] を指定して探し…… というように、リンク可能なライブラリを探索します。

上記の探索でライブラリ lib を発見できた場合は lib を $libs に追加し、 見つかったパスを $LDFLAGS に追加して true を返します。 指定されたすべてのパスを検査してもライブラリ lib が見つからないときは、 変数を変更せず false を返します。

pathes を指定しないときは Kernel#have_library と同じ動作です。


instance method Kernel#getopts

getopts(single_opts, *long_opts) -> Integer | nil [added by getopts]

このメソッドは obsolete です。 optparse ライブラリで提供されている ARGV.getopts を使ってください。Kernel::ARGV, OptionParser::Arguable#getopts を参照。

指定された short_opt や long_opt に応じて ARGV を解析し、 結果をそれぞれのグローバル変数にセットします。

実際にセットされたオプションの数を返します。 また、間違ったオプションを指定した場合は、nil を返します。

オプション解析:

解析結果は全て "$OPT_指定した引数名" という形で処理されます。

  • シングルオプションや引数を伴わないオプションが使用された場合は、 `true' がセットされます。
      -f        → $OPT_f = true
      --version → $OPT_version = true
  • その他はそのオプションの引数がセットされます。
    -d pengo:0.0     → $OPT_d = pengo:0.0
    --geometry 80x25 → $OPT_geometry = 80x25
  • - もしくは -- を指定した場合、それ以降の解析を行ないません。
[PARAM] single_opts:
-f や -x の様な一文字のオプションの指定をします。オプショ ンが -f と -x の2つの場合は "fx" の様に指定します。ここでオプシ ョンがないときは必ず nil を指定して下さい。
[PARAM] long_opts:
ロングネームのオプションや、引数を伴うオプションを文字列で指定をします。 --version や --geometry 300x400、-d host:0.0 等がこれに該当し ます。引数を伴う指定は ":" を必ず付ける様にします。この例の場合、 "version"、"geometry:"、"d:" の様になります。 また、オプションを 指定しなかった場合のデフォルトの値を持たせたい場合は、":" の直後に そのデフォルト値を指定します。例えば、"geometry:80x25" の様になり ます。


instance method Kernel#have_func

have_func(func[, header]) [added by mkmf]

関数 func がシステムに存在するかどうかを検査します。

関数 func が存在すれば $defs に "-DHAVE_func" (func は大文字に変換されます) を追加して true を返します。 関数 func が見つからないときはグローバル変数を変更せず false を返します。

第 2 引数 header には、 関数 func を使用するのに必要なヘッダファイル名を指定します。 これは関数の型をチェックするためではなく、 関数が実際にはマクロで定義されている場合などのために使用します。


instance method Kernel#have_header

have_header(header) [added by mkmf]

ヘッダファイル header がシステムに存在するかどうか調べます。

ヘッダファイル header が存在すれば グローバル変数 $defs に "-DHAVE_header" を追加して true を返します。 ヘッダファイル header が存在しないときは $defs は変更せず false を返します。 なお、-DAHVE_header の header には、 実際には header.upcase.tr('-.', '_') が使われます。


instance method Kernel#have_library

have_library(lib[, func]) [added by mkmf]

ライブラリ lib がシステムに存在し、 関数 func が定義されているかどうかをチェックします。 チェックが成功すれば $libs に lib を追加し true を返します。 チェックが失敗したら false を返します。

第 2 引数 func を省略した場合、関数の存在までは検査せず、 ライブラリが存在するかどうかだけをチェックします。

第 2 引数 func が nil または空文字列 ("") のときは、 何も検査をせず、無条件で lib を追加します。


instance method Kernel#have_macro

have_macro(macro, headers = nil, opt = "", &b) [added by mkmf]

Returns whether or not +macro+ is defined either in the common header files or within any +headers+ you provide.

Any options you pass to +opt+ are passed along to the compiler.


instance method Kernel#have_struct_member

have_struct_member(type, member, headers = nil, &b) [added by mkmf]

Returns whether or not the struct of type +type+ contains +member+. If it does not, or the struct type can't be found, then false is returned. You may optionally specify additional +headers+ in which to look for the struct (in addition to the common header files).

If found, a macro is passed as a preprocessor constant to the compiler using the member name, in uppercase, prepended with 'HAVE_ST_'.

For example, if have_struct_member('foo', 'bar') returned true, then the HAVE_ST_BAR preprocessor macro would be passed to the compiler.


instance method Kernel#have_type

have_type(type, headers = nil, opt = "", &b) [added by mkmf]

Returns whether or not the static type +type+ is defined. You may optionally pass additional +headers+ to check against in addition to the common header files.

You may also pass additional flags to +opt+ which are then passed along to the compiler.

If found, a macro is passed as a preprocessor constant to the compiler using the type name, in uppercase, prepended with 'HAVE_TYPE_'.

For example, if have_type('foo') returned true, then the HAVE_TYPE_FOO preprocessor macro would be passed to the compiler.


instance method Kernel#have_var

have_var(var, headers = nil, &b) [added by mkmf]

Returns whether or not the variable +var+ can be found in the common header files, or within any +headers+ that you provide. If found, a macro is passed as a preprocessor constant to the compiler using the variable name, in uppercase, prepended with 'HAVE_'.

For example, if have_var('foo') returned true, then the HAVE_FOO preprocessor macro would be passed to the compiler.


instance method Kernel#help

help -> () [added by un]

ヘルプメッセージを表示します。

ruby -run -e help [COMMAND]


instance method Kernel#install

install -> () [added by un]

ファイルをコピーし、その属性を設定します。

ruby -run -e install -- [OPTION] SOURCE DEST

-p          ファイルのアクセス時刻と修正時刻を保持します。
            corresponding destination files
-m          chmod と同じようにファイルのパーミッションを設定します。
-v          詳細表示

[SEE_ALSO] install(1)


instance method Kernel#install_rb

install_rb(mfile, dest, srcdir = '.') [added by mkmf]

ディレクトリ srcdir/lib 配下の Ruby スクリプト (*.rb ファイル) を dest にインストールするための Makefile 規則を mfile に出力します。 mfile は IO クラスのインスタンスです。

srcdir/lib のディレクトリ構造はそのまま dest 配下に反映されます。


instance method Kernel#ln

ln -> () [added by un]

ファイルへのリンクを作成します。

ruby -run -e ln -- [OPTION] TARGET LINK_NAME

-s          ハードリンクの代わりにシンボリックリンクを作成します
-f          LINK_NAME を上書きします
-v          詳細表示

[SEE_ALSO] ln(1)


instance method Kernel#mkdir

mkdir -> () [added by un]

ディレクトリを作成します。

ruby -run -e mkdir -- [OPTION] DIR

-p          ディレクトリが存在してもエラーになりません。
            必要であれば親ディレクトリも作成します。
-v          詳細表示

[SEE_ALSO] mkdir(1)


instance method Kernel#mv

mv -> () [added by un]

ファイルを移動します (ファイル名を変更します)。

ruby -run -e mv -- [OPTION] SOURCE DEST

-v          詳細表示

[SEE_ALSO] mv(1)


instance method Kernel#parseArgs

parseArgs(min_argc，check_opts，single_opts，*opts) [added by parsearg]

コマンドラインオプションを解析し、 対応するグローバル変数 $OPT_xxx に値を設定します。 また、指定したオプションが条件にあっていない場合は グローバル変数 $USAGE の値を eval します。

第 1、第 2 引数はオプションの必要条件を記述します。 その意味は以下の通りです。

第 1 引数

`-' や `--' を伴って指定するオプション以外のオプションの 最低必要数を指定します。存在しない場合は 0 を指定します。

第 2 引数

どのオプションが必要条件かを指定します．第 3、第 4 引数で指定する オプションのうち必要なものを '('，')'，'|'，'&' を使って並べ、 全体をダブルクォテーションで括ります。Ruby スクリプト実行時に 全てのオプションが省略可能ならば nil を指定して下さい。

第 3、第 4 引数は Kernel#getopts の第 1、第 2 引数と同じです。

以下の例は、-x，-y，--geometry のどれか一つと -d オプションが 実行時に最低限必要なオプションであると指定しています。

parseArgs(0，"d&(x|y|geometry)"，"fd"，"x:"，"y:"，"geometry:"，"version")


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > pkg_config (private)

instance method Kernel#pkg_config

pkg_config(pkg) [added by mkmf]


instance method Kernel#rm

rm -> () [added by un]

ファイルやディレクトリを削除します。

ruby -run -e rm -- [OPTION] FILE

-f          存在しないファイルを無視します
-r          ディレクトリを再帰的にたどってファイルやディレクトリを削除します
-v          詳細表示

[SEE_ALSO] rm(1)


instance method Kernel#rmdir

rmdir -> () [added by un]

空のディレクトリを削除します。

ruby -run -e rmdir -- [OPTION] DIR

-v          詳細表示

[SEE_ALSO] rmdir(1)


instance method Kernel#scanf

scanf(format) -> Array [added by scanf]
scanf(format) {|*ary| ...} -> Array [added by scanf]

STDIN.scanf と同じです。 IO#scanf、Stdin#scanfも参照してください。

[PARAM] format:
スキャンするフォーマットを文字列で指定します。 詳細は、String#scanf/scanfフォーマット文字列 を参照してください。

[SEE_ALSO] IO#scanf, Stdin#scanf


instance method Kernel#timeout

timeout(sec) {|i| .... } [added by timeout]
timeout(sec, exception_class = nil) {|i| .... } [added by timeout]

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。 exception_class を指定した場合には Timeout::Error の代わりに その例外が発生します。 ブロックパラメータ i は sec がはいります。

また sec が nil のときは制限時間なしで ブロックを実行します。

[PARAM] sec:
タイムアウトする時間を秒数で指定します.
[PARAM] exception_class:
タイムアウトした時、発生させる例外を指定します.

[注意]

timeout による割り込みは Thread によって実現されています。C 言語 レベルで実装され、Ruby のスレッドが割り込めない処理に対して timeout は無力です。 そのような ものは実用レベルでは少ないのですが、例をあげると Socket などは DNSの名前解決に時間がかかった場合割り込めません (resolv-replace を使用する必要があります)。 その処理を Ruby で実装しなおすか C 側で Ruby のスレッドを意識してあげる必要があります。 [[unknown:timeoutの落し穴|trap::timeout]]も参照


instance method Kernel#touch

touch -> () [added by un]

ファイルのアクセス時刻と修正時刻を現在の時刻に変更します。

ruby -run -e touch -- [OPTION] FILE

-v          詳細表示

[SEE_ALSO] touch(1)


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > try_compile (private)

instance method Kernel#try_compile

try_compile [added by mkmf]


instance method Kernel#try_cpp

try_cpp(src[, opt]) [added by mkmf]

C プログラムのソースコード src をプリプロセスします。 問題なくプリプロセスできたら true を返します。 プリプロセスに失敗したら false を返します。

第 1 引数 src は文字列で渡します。

第 2 引数 opt と $CFLAGS の値を プリプロセッサにコマンドライン引数として渡します。

このメソッドはヘッダファイルの存在チェックなどに使用します。

例：

if try_cpp("#include <stdio.h>")
  $stderr.puts "stdio.h exists"
end


instance method Kernel#try_link

try_link(src[, opt]) [added by mkmf]

C プログラムのソースコード src をコンパイル、リンクします。 問題なくリンクできたら true を返します。 コンパイルとリンクに失敗したら false を返します。

第 2 引数 opt が指定されたときは、リンカにコマンド引数として渡します。 また、このメソッドは $CFLAGS と $LDFLAGS の値も コンパイラまたはリンカに渡します。

例：

if try_link("int main() { sin(0.0); }", '-lm')
  $stderr.puts "sin() exists"
end


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > try_run (private)

instance method Kernel#try_run

try_run [added by mkmf]


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > try_static_assert (private)

instance method Kernel#try_static_assert

try_static_assert [added by mkmf]


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > what_type? (private)

instance method Kernel#what_type?

what_type? [added by mkmf]


instance method Kernel#with_config

with_config(config[, default]) [added by mkmf]

Kernel#arg_config と同じですが、 --with-config オプションの値だけを参照します。


Ruby 1.8.7 Reference Manual > All Libraries > library irb/xmp > module Kernel > xmp (private)

instance method Kernel#xmp

xmp [added by irb/xmp]


instance method Kernel#y

y(obj) [added by yaml]

オブジェクトをYAMLフォーマットで表示します。

[PARAM] obj:
YAML フォーマットで表示したいオブジェクト
require 'yaml'

class MyDog
  attr_accessor :name, :age
end

mydog = MyDog.new
mydog.age = 17

p mydog
#=> #<MyDog:0x2b080b8 @age=17>
y mydog
#=> --- !ruby/object:MyDog
#=> age: 17


module function Kernel.#Array

Array(arg) -> Array

引数を配列(Array)に変換した結果を返します。

arg.to_ary と arg.to_a をこの順に呼び出して、返ってきた配列を変換結果とします。

arg に to_ary, to_a のいずれのメソッドもない場合は Object#to_aによって一要素の配列 [arg] を返します。

[PARAM] arg:
変換対象のオブジェクトです。
[EXCEPTION] TypeError:
to_ary, to_a の返り値が配列でなければ発生します
p Array({:it => 3}) #=> [[:it, 3]]
p Array(nil) #=> []
p Array("fefe") #=> ["fefe"]

[SEE_ALSO] Object#to_a,Object#to_ary,Array


module function Kernel.#Float

Float(arg) -> Float

引数を浮動小数点数(Float)に変換した結果を返します。

引数が数値の場合は素直に変換し、文字列の場合 は整数や浮動小数点数と見なせるもののみ変換します。

メソッド Float は文字列に対し String#to_f よりも厳密な変換を行います。

[PARAM] arg:
変換対象のオブジェクトです。
[EXCEPTION] ArgumentError:
整数や浮動小数点数と見なせない文字列を引数に指定した場合に発生します。
[EXCEPTION] TypeError:
nil またはメソッド to_f を持たないオブジェクトを引数に指定したか、 to_f が浮動小数点数を返さなかった場合に発生します。
p Float(4)            #=> 4.0
p Float(4_000)        #=> 4000.0
p Float(9.88)         #=> 9.88

p Float(Time.gm(1986)) #=> 504921600.0
p Float(Object.new)   # cannot convert Object into Float (TypeError)
p Float(nil)          # cannot convert nil into Float (TypeError)

p Float("10")         #=> 10.0
p Float("10e2")       #=> 1000.0
p Float("1e-2")       #=> 0.01
p Float(".1")         #=> 0.1

p Float("nan")        # invalid value (ArgumentError)
p Float("INF")        # invalid value (ArgumentError)
p Float("-Inf")       # invalid value (ArgumentError)
p Float(("10" * 1000)) #=> Infinity
p Float("0xa.a")      # invalid value (ArgumentError)
p Float(" \n10\s \t") #=> 10.0 # 空白類は無視される
p Float("")           # invalid value (ArgumentError)

[SEE_ALSO] String#to_f,Float


module function Kernel.#Integer

Integer(arg) -> Integer

引数を整数(Fixnum,Bignum)に変換した結果を返します。

引数が数値の場合は直接変換し（小数点以下切り落とし）、 文字列の場合は、進数を表す接頭辞を含む整数表現とみなせる文字列のみ 変換します。

数値と文字列以外のオブジェクトに対しては arg.to_int, arg.to_i を この順に使用して変換します。

[PARAM] arg:
変換対象のオブジェクトです。
[EXCEPTION] ArgumentError:
整数と見なせない文字列を引数に指定した場合に発生します。
[EXCEPTION] TypeError:
メソッド to_int, to_i を持たないオブジェクトを引数に指定したか、to_int, to_i が整数(Integerのサブクラス)を返さなかった場合に発生します。
p Integer(4)          #=> 4
p Integer(4_000)      #=> 4000
p Integer(9.88)       #=> 9

p Integer(nil)        #=> 0
p Integer(Object.new) # cannot convert Object into Integer (TypeError)

p Integer("10")       #=> 10
p Integer("0d10")     #=> 10
p Integer("010")      #=> 8
p Integer("0o10")     #=> 8
p Integer("0x10")     #=> 16
p Integer("0b10")     #=> 2
p Integer(" \n10\t ") #=> 10 # 空白類は無視される
p Integer("hoge")     # `Integer': invalid value for Integer: "hoge" (ArgumentError)
p Integer("")         # `Integer': invalid value for Integer: "" (ArgumentError)

[SEE_ALSO] String#hex,String#oct,String#to_i,Integer


module function Kernel.#String

String(arg) -> String

引数を文字列(String)に変換した結果を返します。

arg.to_s を呼び出して文字列に変換します。 arg が文字列の場合、何もせず arg を返します。

[PARAM] arg:
変換対象のオブジェクトです。
[EXCEPTION] TypeError:
to_s の返り値が文字列でなければ発生します。
class Foo
 def to_s
   "hogehoge"
 end
end

arg = Foo.new
p String(arg) #=> "hogehoge"

[SEE_ALSO] Object#to_s,String


module function Kernel.#URI

URI(uri_str) -> object [added by uri]

与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して 返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。

[PARAM] url:
パースしたい URI を文字列として与えます。
[EXCEPTION] URI::InvalidURIError:
パースに失敗した場合に発生します。

[SEE_ALSO] URI.parse


module function Kernel.#`

`command` -> String

command を外部コマンドとして実行し、その標準出力を文字列として 返します。このメソッドは `command` の形式で呼ばれます。

引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、 コマンドとして実行します。 コマンドは評価されるたびに実行されます。コマンドの終了ステータスを得るには、$? を参照します。

コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら Kernel.#system を使います。特に端末を制御するコマンドでは `command` は失敗するかもしれません。

リテラル/コマンド出力 も参照。

[PARAM] command:
コマンドとして実行する引数です。そのまま評価されるのではなく、 ダブルクォート文字列と同様のバックスラッシュ記法の解釈と式展開が行われます。
[RETURN]
コマンドの出力を文字列で返します。
puts `ruby -v` #=> ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
puts $?.inspect #=> #<Process::Status: pid=3580,exited(0)>

[SEE_ALSO] Kernel.#system,Kernel.#exec


module function Kernel.#__method__

__method__ -> Symbol

現在のメソッド名を返します。

def foo
  p __method__
end
foo #=> :foo


module function Kernel.#abort

abort(message = $!.message) -> ()

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

このメソッドと Kernel.#exit との違いは、プログラムの終了ステー タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、 引数を省略した呼び出し時に $! が nil でなければその例外の メッセージを標準エラー出力 $stderr に出力することです。

引数 message を指定すると SystemExit クラスの Exception#message に message を設定し て標準エラー出力に出力します。

[PARAM] message:
エラーメッセージ文字列です。
puts 'start'
begin
  puts 'start1...'
  abort "error1"
rescue SystemExit => err
  puts "end1 with #{err.inspect}"
end

begin
  puts 'start2...'
  $! = RuntimeError.new
  abort
ensure
  puts 'end2...'
end
puts 'end' #実行されない

#=> start
#   start1...
#   end1 with #<SystemExit: error1>
#   start2...
#   end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
#   ..:12: RuntimeError (RuntimeError)

[SEE_ALSO] Kernel.#exit,Kernel.#exit!


module function Kernel.#at_exit

at_exit { ... } -> Proc

与えられたブロックをインタプリタ終了時に実行します。

at_exitがメソッドである点を除けば、END ブロックによる終了 処理の登録と同等です。登録した処理を取り消すことはできません。 終了処理も参照してください。

[RETURN]
登録した処理を Proc オブジェクトで返します。
3.times do |i|
  at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"}
puts "main_end"

#=> main_end
#   at_exit
#   END
#   at_exit2
#   at_exit1
#   at_exit0

[SEE_ALSO] 制御構造/END


module function Kernel.#autoload

autoload(const_name, feature) -> nil

定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。

const_name には、 "::" 演算子を含めることはできません （ネストした定数を指定する方法は後述）。

[PARAM] const_name:
定数をString または Symbol で指定します。
[PARAM] feature:
require と同様な方法で autoload する対象を指定します。
[EXCEPTION] LoadError:
featureのロードに失敗すると発生します。
------- /tmp/foo.rb ---------
class Bar
end
----- end of /tmp/foo.rb ----

autoload :Bar, '/tmp/foo'
p Bar #=> Bar

ネストした定義内の定数

const_name には、 "::" 演算子を含めることはできないので、 Kernel.#autoload ではトップレベルの定数しか指定できません。

Module#autoload と組み合わせることで、任意のクラス／モジュールの定数を autoload できます。 やはりconst_name に "::" 演算子を含めることはで きませんが、以下のように定義する事ができます。

------- /tmp/foo.rb ---------
class Foo
  class Bar
  end
end
----- end of /tmp/foo.rb ----

class Foo
  autoload :Bar, '/tmp/foo'
end
p Foo::Bar #=> Foo::Bar

あるいは、以下のようにもできます。

class Foo
end
Foo.autoload :Bar, '/tmp/foo'
p Foo::Bar #=> Foo::Bar

以下のように、autoload したライブラリがネストした定数を定義しない場 合、一見、正常に動作しているように見えるので注意が必要です(警告メッ セージが出ています)。

------- /tmp/bar.rb ---------
class Bar
end
----- end of /tmp/bar.rb ----

class Foo
  autoload :Bar, '/tmp/bar.rb'
end
p Foo::Bar
p Foo.autoload?(:Bar)
#=> -:4: warning: toplevel constant Bar referenced by Foo::Bar
#   Bar
#   nil

これは以下のようにネストせずに定義したのと同じことです。

class Foo
end
class Bar
end
p Foo::Bar
#=> -:5: warning: toplevel constant Bar referenced by Foo::Bar
#   Bar

[SEE_ALSO] Kernel.#autoload?,Module#autoload,Kernel.#require


module function Kernel.#autoload?

autoload?(const_name) -> String | nil

const_name が Kernel.#autoload 設定されているか調べます。

autoload 設定されていて、autoload 定数がまだ定義されてない(ロードされていない) ときにそのパス名を返します。

autoload 設定されていないか、ロード済みなら nil を返します。

[PARAM] const_name:
定数をString または Symbol で指定します。
------- /tmp/foo.rb ---------
class Foo
  class Bar
  end
end
----- end of /tmp/foo.rb ----

class Foo
end
p Foo.autoload?(:Bar)         #=> nil
Foo.autoload :Bar, '/tmp/foo'
p Foo.autoload?(:Bar)         #=> "/tmp/foo"
p Foo::Bar                    #=> Foo::Bar
p Foo.autoload?(:Bar)         #=> nil

[SEE_ALSO] Kernel.#autoload


module function Kernel.#b64encode

b64encode(bin, len = 60) -> () [added by base64]

Base64.#b64encode と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。


module function Kernel.#binding

binding -> Binding

変数・メソッドなどの環境情報を含んだ Binding オブジェクトを 生成して返します。通常、Kernel.#eval の第二引数として使います。

def foo
  a = 1
  binding
end

eval("p a", foo)  #=> 1

[SEE_ALSO] Kernel.#eval,Kernel::TOPLEVEL_BINDING


module function Kernel.#block_given?

block_given? -> bool
iterator? -> bool

メソッドにブロックが与えられていれば真を返します。

このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、 メソッド内部以外で使っても単に false を返します。

iterator? は （ブロックが必ずイテレートするとはいえないので）推奨されていないの で block_given? を使ってください。

def check
  if block_given?
    puts "Block is given."
  else
    puts "Block isn't given."
  end
end
check{} #=> Block is given.
check #=> Block isn't given.


module function Kernel.#callcc

callcc {|cont| .... } -> object

継続を作成します。 Continuation を参照してください。


module function Kernel.#caller

caller(level_num = 1) -> [String] | nil

level_num 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。

トップレベルでは空の配列を返します。caller の戻り値を $@ に代入することで 例外の発生位置を設定できます。

指定した level_num 段上が存在しない場合は nil を返します。

[PARAM] level_num:
long の範囲を超えない正の整数でスタックレベルを指定します。

[SEE_ALSO] Kernel.#set_trace_func,Kernel.#raise

def foo
  p caller(0)
  p caller(1)
  p caller(2)
  p caller(3)
end

def bar
  foo
end

bar

#=> ["-:2:in `foo'", "-:9:in `bar'", "-:12"]
#   ["-:9:in `bar'", "-:12"]
#   ["-:12"]
#   []

以下の関数は、caller の要素から [ファイル名, 行番号, メソッド名] を取り出して返します。

def parse_caller(at)
  if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at
    file = $1
    line = $2.to_i
    method = $3
    [file, line, method]
  end
end

def foo
  p parse_caller(caller.first)
end

def bar
  foo
  p parse_caller(caller.first)
end

bar
p parse_caller(caller.first)

#=> ["-", 15, "bar"]
#   ["-", 19, nil]
#   nil

以下は、$DEBUG が真の場合に役に立つ debug 関数 のサンプルです。

$DEBUG = true

def debug(*args)
  p [caller.first, *args] if $DEBUG
end

debug "debug information"

#=> ["-:5", "debug information"]


module function Kernel.#catch

catch(tag) {|tag| .... } -> object

Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。

ブロックの実行中に tag と同じ名前の Kernel.#throw が行われた 場合は、その throw の第二引数を戻り値として、ブロックの実行を終了します。

主にネストしたループから一気に脱出するのに使用します。

[PARAM] tag:
シンボルや文字列などシンボル化できるものです。
[RETURN]
ブロックの返り値か、対応するthrowの第二引数を返り値として返します。
result = catch(:tag) do
  for i in 1..2
    for j in 1..2
      for k in 1..2
        throw :tag, k
      end
    end
  end
end

p result #=> 1

[SEE_ALSO] Kernel.#throw


module function Kernel.#chomp

chomp(rs = $/) -> String
chomp!(rs = $/) -> String | nil

組み込み変数 $_ を rs で指定される末尾 の文字列を取り除いたものにします。

chomp! は文字列そのものを変更しその結果を返しますが、 取り除く文字列がなければ nil を返します。 rs のデフォルト値は $/ です。

$_.chomp, $_.chomp! とほぼ同じです。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。 今後はより明示的な $_.chomp, $_.chomp!を使ってください。

$_.chomp とこのメソッド chomp は以下の点で違いがあります。

  • chomp は $_ の値をコピーして、コピーの方を更新し、 $_ に再代入します。
[PARAM] rs:
String#chomp 参照

[SEE_ALSO] String#chomp,$_,$/


module function Kernel.#chop

chop -> String
chop! -> String | nil

組み込み変数 $_ を最後の文字を取り除いたものにし ます(終端が"\r\n"であれば2文字取り除きます)。

chop! は文字列そのものを変更しその結果を返しますが、 取り除く文字列がなければ nil を返します。

$_.chop, $_.chop! とほぼ同じです。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。 今後はより明示的な $_.chop, $_.chop! を使ってください。

$_.chopとこのメソッド chop は以下の点で違いがあります。

  • chop は $_ の値をコピーして、コピーの方を更新し、 $_ に再代入します。

[SEE_ALSO] String#chop,$_


module function Kernel.#decode64

decode64(str) -> String [added by base64]

Base64.#decode64 と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。


module function Kernel.#decode_b

decode_b(str) -> String [added by base64]

Base64.#decode_b と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。


module function Kernel.#encode64

encode64(str) -> String [added by base64]

Base64.#encode64 と同じです。このメソッドは将来的に廃止される可能 性があり、現在は Base64 モジュールを使うことが推奨されています。


module function Kernel.#eval

eval(expr) -> object
eval(expr, bind, fname = __FILE__, lineno = 1) -> object

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Proc オブジェクトまたは Binding オブジェ クトを与えた場合、そのオブジェクトを生成したコンテキストで文字列を 評価します。

expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval 実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。

fname と lineno が与えられた場合には、ファイル fname の行番号 lineno から文字列 expr が書かれているかのように コンパイルされます。スタックトレースの表示などを差し替えることが できます。

bind によらずに特定のオブジェクトのコンテキストで expr を評価したい 場合、 Module#module_eval, Object#instance_eval が使えます。

[PARAM] expr:
評価する文字列です。
[PARAM] bind:
Proc オブジェクトまたは Binding オブジェクトです。
[PARAM] fname:
スタックトレースに表示するファイル名です。
[PARAM] lineno:
文字列 expr が書かれていると想定する先頭の行番号を整数で指定します。
a = nil
eval('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"

eval('def fuga;p 777 end')
fuga #=> 777

eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
#       from ..:9

[SEE_ALSO] Kernel.#binding,Module#module_eval,Object#instance_eval,Object#method,Object#send


module function Kernel.#exec

exec(command) -> ()

引数で指定されたコマンドを実行します。

プロセスの実行コードはそのコマンド(あるいは shell)になるので、 起動に成功した場合、このメソッドからは戻りません。

引数の解釈

この形式では command が shell のメタ文字

  * ? {} [] <> () ~ & | \ $ ; ' ` " \n

を含む場合、shell 経由で実行されます。 そうでなければインタプリタから直接実行されます。

[PARAM] command:
コマンドを文字列で指定します。
[EXCEPTION] Errno::EXXX:
起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。
# a.rb
puts '実行前'
exec 'echo "実行中"'
puts '実行後'

上記のスクリプトを実行すると以下のようになります。

$ ruby a.rb
実行前
実行中
# '実行後' は表示されない
exec(program, *args) -> ()

引数で指定されたコマンドを実行します。

プロセスの実行コードはそのコマンド(あるいは shell)になるので、 起動に成功した場合、このメソッドからは戻りません。

この形式では、常に shell を経由せずに実行されます。

引数の解釈

この形式で呼び出した場合、空白や shell のメタキャラクタも そのまま program の引数に渡されます。 先頭の引数が2要素の配列であった場合、第1要素の文字列が実際に 起動するプログラムのパスであり、第2要素が「みせかけ」のプロ グラム名になります。 また、第1要素はフルパスで指定しなくても環境変数 PATH から探します。

[PARAM] program:
文字列か2要素の配列を指定します。
[PARAM] args:
渡される引数です。0 個以上の文字列を指定します。
[EXCEPTION] ArgumentError:
第一引数が配列かつ要素数が 2 でない場合に発生します。
[EXCEPTION] Errno::EXXX:
起動に失敗し、ruby インタプリタに制御が戻った場合に発生します。

例

# a.rb
exec ['sleep', 'mysleep'], '600'

上記スクリプトを実行すると以下のようになります。

$ ruby a.rb
## sleep してるので制御が戻ってこない。別の仮想端末に切替えて以下を実行
$ ps aux|grep sleep
xxxx    32754  0.0  0.0   2580   468 pts/3    S+   22:01   0:00 mysleep 600
xxxx    32761  0.0  0.0   2824   792 pts/6    S+   22:01   0:00 grep sleep

[SEE_ALSO] Kernel.#system,Kernel.#`,Kernel.#fork,IO.popen,IO.pipe,Kernel.#open,exec(3)


module function Kernel.#exit

exit(status = true) -> ()

Rubyプログラムの実行を終了します。status として整 数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 0(正常終了)です。

status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数 EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

exit は例外 SystemExit を発生させ ることによってプログラムの実行を終了させますので、 必要に応じて begin 節で捕捉することができます。

[PARAM] status:
終了ステータスを整数か true または false で与えます。
puts 'start'
begin
  puts 'start1...'
  exit
rescue SystemExit => err
  puts "end1 with #{err.inspect}"
end

begin
  puts 'start2...'
  exit
ensure
  puts 'end2...'
end
puts 'end' #実行されない

#=> start
#   start1...
#   end1 with #<SystemExit: exit>
#   start2...
#   end2...
#終了ステータス:0

[SEE_ALSO] Kernel.#exit!,Kernel.#abort, 制御構造/begin


module function Kernel.#exit!

exit!(status = false) -> ()

Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。 デフォルトの終了ステータスは 1 です。

status が true の場合 0、 false の場合 1 を引数に指定したとみなされます。この値はCレベルの定数 EXIT_SUCCESS、EXIT_FAILURE の値なので、正確には環境依存です。

exit! は exit とは違って、例外処理などは一切行ないませ ん。 Kernel.#fork の後、子プロセスを終了させる時などに用 いられます。

[PARAM] status:
終了ステータスを整数か true または false で与えます。
STDOUT.sync = true #表示前に終了しないようにする
puts 'start'
begin
  puts 'start1...'
  exit!
ensure
  puts 'end1...' #実行されない
end
puts 'end' #実行されない

#=> start
#   start1...
#終了ステータス:1

[SEE_ALSO] Kernel.#exit,Kernel.#abort


module function Kernel.#fail

raise -> ()
fail -> ()
raise(message) -> ()
fail(message) -> ()
raise(error_type, message = nil, backtrace = caller(0)) -> ()
fail(error_type, message = nil, backtrace = caller(0)) -> ()

例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。

引数無しの場合は、同スレッドの同じブロック内で最後に rescue された 例外オブジェクト ($!) を再発生させます。そのような 例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。

begin
  open("nonexist")
rescue
  raise   #=> `open': No such file or directory - "nonexist" (Errno::ENOENT)
end

引数を渡した場合は、例外メッセージ message を持った error_type の示す例外(省略時 RuntimeError)を 発生させます。

error_type として例外ではないクラスやオブジェクトを指定した場合、 そのオブジェクトの exception メソッドが返す値を発生する例外にします。 その際、exception メソッドに引数として変数 message を渡すことができます。

[PARAM] error_type:
発生させる例外を例外クラスまたは例外クラスのインスタンスで指定します。
[PARAM] message:
例外のメッセージとなる文字列です。
[PARAM] backtrace:
例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ 形式で指定しなければいけません。
[EXCEPTION] TypeError:
exception メソッドが例外オブジェクトを返さなかった場合に発生します。

例外の捕捉の例を示します。

#例1
begin
  raise NameError,"!!error!!"
rescue ArgumentError => rer
rescue NameError => rer
rescue TypeError => rer
ensure
  p rer #=> #<NameError: !!error!!>
end

#例2
def foo num
  print 'in method.'
  raise "error!!" if num <= 9
rescue RuntimeError
  num += 10
  print 'in rescue.'
  retry
else
  print 'in else.'
ensure
  print "in ensure.\n"
end

foo(4) #=> in method.in rescue.in method.in else.in ensure.

#例3
class MyException
  def exception(mesg=nil)
    SecurityError.new(mesg)
  end
end

raise MyException.new rescue p $! #=> #<SecurityError: SecurityError>

[SEE_ALSO] Kernel.#caller


module function Kernel.#fork

fork -> Integer | nil
fork { ... } -> Integer | nil

fork(2) システムコールを使ってプロセスの複製を作 ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成し た子プロセスでブロックを評価します。

fork 前に STDOUT と STDERR を IO#flush します。

[EXCEPTION] NotImplementedError:
実行環境がこのメソッドに対応していないとき発生します。

[SEE_ALSO] IO.popen,IO.pipe, fork(2)


module function Kernel.#format

sprintf(format, *arg) -> String
format(format, *arg) -> String

format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。

[PARAM] format:
フォーマット文字列です。
[PARAM] arg:
フォーマットされる引数です。

[SEE_ALSO] Kernel.#printf,Time#strftime,Date.strptime

sprintf フォーマット

Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3) のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が ないこと、2進数の指示子(%b)が存在すること、sprintf のすべての方言をサ ポートしていないこと(%': 3桁区切り)などの違いがあります。

Ruby には整数の大きさに上限がないので、%b, %o, %x に負の数を与えると (左側に無限に1が続くとみなせるので) ..f のような表示をします。絶対値に符号を付けた形式 で出力するためには %+x、% x のように指定します。

以下は sprintf フォーマットの書式です。[] で囲まれた部分は省略可 能であることを示しています。

%[引数指定$][フラグ][幅][.精度]指示子

`%' 自身を出力するには `%%' とします。

以下それぞれの要素に関して説明します。

フラグ

フラグには #, +, ' '(スペース), -, 0 の5種類があります。

#

2進、8進、16進の指示子(b, o, x, X) ではそれぞれプレフィック スとして "0b", "0", "0x", "0X" を付加します。 C 言語とは異なり引数が 0 の場合にもプレフィックスが付加されます。

  p sprintf("%#b", 10) #=> "0b1010"
  p sprintf("%#o", 10) #=> "012"
  p sprintf("%#x", 10) #=> "0xa"
  p sprintf("%#X", 10) #=> "0XA"

浮動小数点数 (f, e, E, g, G) に対しては必ず出力に"."をつけます。

  p sprintf("%.0f", 10) #=> "10"
  p sprintf("%#.0f", 10) #=> "10."
  p sprintf("%.0e", 10) #=> "1e+01"
  p sprintf("%#.0e", 10) #=> "1.e+01"

また g, G では上記に加えて末尾の余分な0が残ります。

  p sprintf("%.05g", 10) #=> "10"
  p sprintf("%#.05g", 10) #=> "10.000"
+

出力文字列を符号付きにします。特に正の数では`+'が付加されます。 数値の指示子 (d, i, b, o, x, X, u, f, e, E, g, G) に対してだけ意味を持ちます。 また、特に b, o, x, X, u に対しては、負数に対して "-" を付加することを示します。

  p sprintf("%d", 1)   #=> "1"
  p sprintf("%+d", 1)  #=> "+1"

  p sprintf("%x", -1)  #=> "..f"  # ".." は無限に f が続くことを表している
  p sprintf("%+x", -1) #=> "-1"
' '(スペース)

`+' と同じですが正の符号 `+' の代わりに空白を用います。数値の指示子 (d, i, b, o, x, X, u, f, e, E, g, G) に対してだけ意味を持ちます。

  p sprintf("%d", 1)   #=> "1"
  p sprintf("%+d", 1)  #=> "+1"
  p sprintf("% d", 1)  #=> " 1"

  p sprintf("%x", -1)  #=> "..f"
  p sprintf("% x", 1)  #=> " 1"
  p sprintf("% x", -1) #=> "-1"
-

出力を左詰めにします幅の指定がなければ 意味がありません。

0

出力が右詰めの場合に余った部分に空白の代わりに "0" を詰めます。

数値の指示子の一部(d, i, b, o, x, X, u, f, g, G)に対し てだけ意味を持ちます(e, E には意味がない)

  p sprintf("%010d", 10)   #=> "0000000010"

`#' と一緒に指定した場合の出力は以下のようになります。

  p sprintf("%#010x", 10)  #=> "0x0000000a"
  p sprintf("%#010o", 10)  #=> "0000000012"
  p sprintf("%#010b", 10)  #=> "0b00001010"

これは、以下と同じです。

  p sprintf("%#10.8x", 10) #=> "0x0000000a"
  p sprintf("%#10.9o", 10) #=> "0000000012"
  p sprintf("%#10.8b", 10) #=> "0b00001010"

通常は、以下のようになります。

  p sprintf("%#10x", 10)   #=> "       0xa"
  p sprintf("%#10o", 10)   #=> "       012"
  p sprintf("%#10b", 10)   #=> "    0b1010"

幅

0以外の数字で始まる数字列は幅指定になります。幅は生成文字列の長さを示 します。後述の精度の値によらずこの幅分だ けの文字列が生成されます。

幅の指定はフラグで付与される " ", "+", "-", "0b", "0", "0x", "0X" の長さも考慮されます。

p sprintf("%+5d", 11)  #=> "  +11"
p sprintf("%+-5d", 11) #=> "+11  "
p sprintf("%+05d", 11) #=> "+0011"

幅は「最低限必要な幅」の指定になります。結果の文字列が指定した幅を超 える場合は幅の指定は無効になります。

幅として `*' を指定すると幅の値を引数から得ることになります。

p sprintf("%#05x", 10)    #=> "0x00a"
p sprintf("%#0*x", 5, 10) #=> "0x00a"

精度

"." の後に続く数字列は精度を表します("." のみの場合 ".0" と同じです)。精度は 整数の指示子 (d, i, b, o, x, X, u) に対しては、数値列部分の長さを意味します。

p sprintf("%10.5d", 1)  #=> "     00001"
p sprintf("%#10.5x", 1) #=> "   0x00001"
p sprintf("%+10.5x", 1) #=> "    +00001"

浮動小数点数の指示子 (f) に対しては小数部の桁数を意味します。

p sprintf("%10.5f", 1)   #=> "   1.00000"
p sprintf("%10.5f", 10)  #=> "  10.00000"

浮動小数点数の指示子 (e, E, g, G) に対しては有効桁数を意味します。

p sprintf("%10.5e", 1)   #=> "1.00000e+00"
p sprintf("%10.5e", 10)  #=> "1.00000e+01"
p sprintf("%10.5g",  10)  #=> "        10"
p sprintf("%#10.5G", 10)  #=> "    10.000"

文字列の指示子(s, p) に対しては引数の文字列のうち指定した数を超える分を切り捨てます。 幅と精度を同じ値にすれば、どのような引数に対してもその 長さだけの出力を行うことになります。

p sprintf("%10.2s", "foo")  #=> "        fo"

p sprintf("%5.5s", "foo")     #=> "  foo"
p sprintf("%5.5s", "foobar")  #=> "fooba"

精度として `*' を指定すると精度の値を引数から得ることになります。

p sprintf("%.5s", "foobar")    #=> "fooba"
p sprintf("%.*s", 5, "foobar") #=> "fooba"

指示子

指示子は引数の型の解釈を示します。指示子を省略することはできません。 指示子には大きく分けて

  • 文字列を表す指示子: c, s, p
  • 整数を表す指示子: d, i, u, b, o, x, X,
  • 浮動小数点数を表す指示子: f, g, e, E, G

があります

c

引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。 引数が数値以外のオブジェクトの場合 to_int メソッドによる変換を試みます。

  p sprintf("%c", 97)  #=> "a"

フラグ `-' と幅 の指定だけが意味を持ちます。

s

文字列を出力します。

引数が String オブジェクトでなければ to_s メソッドにより文字列化 したものを引数として扱います。

p

Object#inspect の結果を出力します。

  p sprintf("%s", /e+/)  #=> "(?-mix:e+)"
  p sprintf("%p", /e+/)  #=> "/e+/"
d
i

引数の数値を10進表現の整数として出力します。

引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に 変換されます。

  p sprintf("%d", -1) #=> "-1"
  p sprintf("%d", 3.1) #=> "3"
  p sprintf("%d", '0b1010') #=> "10"
u

引数の数値を符号なし整数とみなして10進表現の整数として出力します。

  p sprintf("%u", '0b1010') #=> "10"
  p sprintf("%u", -1) #=> "..4294967295" (warning)
b
o
x
X

整数をそれぞれ2進、8進、16進、16進(大文字)表現の文字列で出力します。

`#' フラグを指定すれば "0b", "0", "0x", "0X" を先頭に付加します。

`+', ` ' フラグがない場合、負の数には ".." が先頭(`#' フラグがあれば "0x" などの後)に付加されます。これは最上位桁の文字が無限に続くことを 意味し、2の補数表現で負の数を表しています。

   p sprintf("%#b", 10)    #=> "0b1010"
   p sprintf("%#o", 10)    #=> "012"
   p sprintf("%#x", 10)    #=> "0xa"

   # 負の数に対して ".." が付加されます
   p sprintf("%#b", -1)    #=> "0b..1"
   p sprintf("%#o", -1)    #=> "0..7"
   p sprintf("%#x", -1)    #=> "0x..f"

   p sprintf("%10x", -1)   #=> "       ..f"
   p sprintf("%-10x", -1)  #=> "..f       "

   # 「精度」を指定した場合、".." は付加されません
   p sprintf("%.10x", -1)  #=> "ffffffffff"
f
e
E
g
G

f は小数点表現(xxx.xxx)で数値を出力します。

e は指数表現(x.xxxe+xx)で数値を出力します。

g は 指数が -4 より小さいか精度以上の場合に e と同じ出力を、それ以 外では f と同じ出力を行います。ただし、小数部の末尾の0は取り除かれ ます。

大文字の指示子(E, G)は出力のアルファベットを大文字にします。

  p sprintf("%f", 1.0) #=> "1.000000"
  p sprintf("%e", 1.0) #=> "1.000000e+00"
  p sprintf("%g", 1.0) #=> "1"

  p sprintf("%f", 10.1) #=> "10.100000"
  p sprintf("%e", 10.1) #=> "1.010000e+01"
  p sprintf("%g", 10.1) #=> "10.1"

  p sprintf("%g", 10 ** 6)  #=> "1e+06"
  p sprintf("%g", 10 ** -5) #=> "1e-05"

精度の省略値は 6 です。

無限大、NaN(Not a Number) に対する出力は以下のとおりです。

  p sprintf("%f",  1.0/0)  #=> "inf"
  p sprintf("%f", -1.0/0)  #=> "-inf"
  p sprintf("%f",  0.0/0)  #=> "nan"

  p sprintf("%E",  1.0/0)  #=> "INF"
  p sprintf("%E", -1.0/0)  #=> "-INF"
  p sprintf("%E",  0.0/0)  #=> "NAN"

f, e, E, g, G に関しては sprintf(3) の結果を利用しています。従って出力結果は 実際にはシステムに依存することになります。

引数指定

利用頻度が低いので最後に説明します。

nth$

nth 番目の引数のフォーマットを行うことを示します。

  p sprintf("%d, %x, %o", 1, 2, 3) #=> "1, 2, 3"
  p sprintf("%3$d, %2$x, %1$o", 1, 2, 3) #=> "3, 2, 1"

  p sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"

状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使 用します。

  case ENV['LC_TIME']
  when /^ja_JP/
    fmt = "%1$d年%2$d月%3$d日"
  else
    fmt = "%2$02d/%03$2d/%1$02d"
  end

  p sprintf(fmt, 1, 4, 22) #=> "04/22/01"

"*" の後に指定することで幅や 精度を引数で指定することもできます。

  p sprintf("%5.2f", 1)              #=> " 1.00"
  p sprintf("%*.*f", 5, 2, 1)        #=> " 1.00"
  p sprintf("%1$*2$.*3$f", 1, 5, 2)  #=> " 1.00"


module function Kernel.#getc

getc -> Fixnum | nil

このメソッドは廃止予定です。代わりに STDIN.getc を使ってください。

[SEE_ALSO] IO#getc


module function Kernel.#gets

gets(rs = $/) -> String | nil

ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。

rs に nil を指定すると行区切りなしとみなしてファイルの内容を すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。 空文字列 "" を指定すると連続する改行を行の区切りとみなします (パラグラフモード)。

読み込んだ文字列は組み込み変数 $_ にもセットされます。

[PARAM] rs:
行の区切りとなる文字列です。
[RETURN]
ファイルの終り(EOF)に到達した時、 nil を返します。
[EXCEPTION] Errno::EXXX:
読み込みに失敗した場合に発生します。
---main.rb---
ARGV << 'b.txt' << 'c.txt'
p gets #=> "hello\n"
p gets(nil) #=> "it\ncommon\n"
p gets("") #=> "ARGF\n\n"
p gets('、') #=> "スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名と\nみなして、"
p gets #=> "それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 \n"
p gets #=> nil
p readline # end of file reached (EOFError)
--- b.txt ---
hello
it
common
--- c.txt ---
ARGF

スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名と
みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。

[SEE_ALSO] $/,ARGF,Kernel.#readlines,Kernel.#readline


module function Kernel.#global_variables

global_variables -> [String]

プログラム中で定義されているグローバル変数(`$'で始まる変数)名の 配列を返します。

p global_variables #=> ["$-p", "$-I", "$-v" ... ]

[SEE_ALSO] Kernel.#local_variables,Object#instance_variables,Module.constants,Module#constants,Module#class_variables


module function Kernel.#gsub

gsub(pattern, replace) -> String
gsub!(pattern, replace) -> String
gsub(pattern) {|matched| ... } -> String
gsub!(pattern) {|matched| ... } -> String

組み込み変数 $_ の指す文字列内で pattern に マッチする部分を全て replace に置き換えます。$_ を返します。

$_.gsub, $_.gsub! とほぼ同じです。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。 今後はより明示的な $_.gsub, $_.gsub! を使ってください。

$_.gsub とこのメソッド gsub は以下の点で違いがあります。

  • gsub は $_ の値をコピーして、コピーの方を更新し、 $_ に再代入します。
[PARAM] pattern:
String#gsub 参照
[PARAM] replace:
String#gsub 参照

[SEE_ALSO] String#gsub,$_


module function Kernel.#lambda

proc { ... } -> Proc
lambda { ... } -> Proc
proc -> Proc
lambda -> Proc

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし で呼ばれると ArgumentError 例外が発生します。

ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック を得たい場合は明示的に & 引数でうけるべきです。

[EXCEPTION] ArgumentError:
スタック上にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。
def foo &block
  lambda(&block)
end

it = foo{p 12}
it.call #=> 12

[SEE_ALSO] Proc,Proc.new

手続きを中断して値を返す

手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call) へジャンプし値を返すには next を使います。break や return ではありません。

例:

 def foo
   f = Proc.new{
     next 1
     2
   }
 end

p foo().call       #=> 1

Proc オブジェクトをブロック付きメソッド呼び出しに使う

ブロック付きメソッドに対して Proc オブジェクトを `&' を指定して渡すと 呼び出しブロックのように動作します。 しかし、厳密には以下の違いがあります これらは、Proc オブジェクトが呼び出しブロックとして振舞う際の制限です。

# 問題なし
(1..5).each { break }

# LocalJumpError が発生します。
pr = Proc.new { break }
(1..5).each(&pr)

# each 再実行
pr = Proc.new { retry }
(1..5).each(&pr)

lambda と proc と Proc.new とイテレータの違い

Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、 生成された手続きオブジェクトはいくつかの場面で挙動が異なります。 lambda の生成する手続きオブジェクトのほうが よりメソッドに近い働きをするように設計されています。

Kernel.#proc は lambda と同じになります。 引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で生成されたそれと 同じにように振る舞います。

引数の扱い

lambda のほうがより厳密です。引数の数が違っていると（メソッドのように）エラーになります。 Proc.new は引数を多重代入に近い扱い方をします。

例:

b1 = Proc.new{|a,b,c|
  p a,b,c
}
b1.call(2, 4)
#=> 2
    4
    nil

b2 = lambda{|a,b,c|
  p a,b,c
}
b2.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)

メソッド呼び出し(super・ブロック付き・yield)/ブロックパラメータの挙動 も参照してください。

ジャンプ構文の挙動の違い

return と break は、lambda と Proc.new では挙動が異なります。 例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、 Proc.new では手続きオブジェクトを囲むメソッドを抜けます。

例:

def foo
  f = Proc.new { return :foo }
  f.call
  return
end

def bar
  f = lambda { return :bar }
  f.call
  return
end

def h
  yield
end

def hoge
  h{ return :hoge }
  nil
end

p foo()  #=> :foo
p bar()  #=> nil
p hoge() #=> :hoge

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたのと 同じメソッド内で行った場合の結果です。

               return                          next                        break
Proc.new   メソッドを抜ける            手続きオブジェクトを抜ける   例外が発生する
proc       手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
lambda     手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
イテレータ メソッドを抜ける            手続きオブジェクトを抜ける   メソッドを抜ける

orphan な手続きオブジェクトの挙動

Proc を生成したメソッドから脱出した後、手続きオブジェクトからの return, retry, break は例外 LocalJumpError を発生させます。 ただし、上でも説明した通り lambda で生成した手続きオブジェクトはメソッドと同じように振る舞う ことを意図されているため、例外 LocalJumpError は発生しません。

例:

def foo
  Proc.new { return }
end

foo.call
# => in `call': return from proc-closure (LocalJumpError)

def foo
  Proc.new { retry }
end

foo.call
# => in `call': retry from proc-closure (LocalJumpError)

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたメソッドを 脱出してから行った場合の結果です。

               return                          next                        break
Proc.new   例外が発生する              手続きオブジェクトを抜ける   例外が発生する
proc       手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける
lambda     手続きオブジェクトを抜ける  手続きオブジェクトを抜ける   手続きオブジェクトを抜ける


module function Kernel.#load

load(file, priv = false) -> true

Ruby プログラム file をロードして実行します。再ロード可能です。

file が絶対パスのときは file からロードします。 file が相対パスのときは組み込み変数 $: に示されるパスを順番に探し、最初に見付かったファイルを ロードします。このとき、$: の要素文字列の先頭文字が `~' (チルダ) だと、環境変数 HOME の値に展開されます。

ロードに成功した場合は true を返します。

[PARAM] file:
ファイル名の文字列です。
[PARAM] priv:
真のとき、ロード・実行は内部的に生成される 無名モジュールをトップレベルとして行われ、 グローバルな名前空間を汚染しません。
[EXCEPTION] LoadError:
ロードに失敗した場合に発生します。

[SEE_ALSO] Kernel.#require

require と load の違い

Kernel.#require は同じファイルは一度だけしかロードしませんが、 Kernel.#load は無条件にロードします。 また、require は拡張子.rb や .so を自動的に補完しますが、 load は行いません。 require はライブラリのロード、load は 設定ファイルの読み込みなどに使うのが典型的な用途です。

# 使用例
load "#{ENV['HOME']}/.myapprc"
load "/etc/myapprc"

なお、特定のディレクトリからファイルをロードしたい場合、 load 'filename' とするのは不適切です。必ず絶対パスを 使ってください。


module function Kernel.#local_variables

local_variables -> [String]

現在のスコープで定義されているローカル変数名の配列を返します。

yuyu = 0
p local_variables #=> ["yuyu"]

[SEE_ALSO] Kernel.#global_variables,Object#instance_variables,Module.constants,Module#constants,Module#class_variables


module function Kernel.#loop

loop { ... } -> object

(中断されない限り)永遠にブロックの評価を繰り返します。

与えられたブロック内で StopIteration を Kernel.#raise すると ループを終了して nil を返します。 ループを終了させる場合、通常は break を使用してください。

[RETURN]
break の引数など、ループ脱出時の値を返します。
def try int
  n = 0
  loop do
    n += 1
    break(n) if rand(n) > int
  end
end

puts "end on #{try(400)}" #=> end on ???


module function Kernel.#open

open(file, mode = "r", perm = 0666) -> IO
open(file, mode = "r", perm = 0666) {|io| ... } -> object

file をオープンして、IO（Fileを含む）クラスのインスタンスを返します。

ブロックが与えられた場合、指定されたファイルをオープンし、 生成した IO オブジェクトを引数としてブロックを実行します。 ブロックの終了時や例外によりブロックを脱出するとき、 ファイルをクローズします。ブロックを評価した結果を返します。

ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、 コマンドの標準入出力に対してパイプラインを生成します

ファイル名が "|-" である時、open は Ruby の子プロセス を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を返し ます。(このときの動作は、IO.popen と同じです。 File.open にはパイプラインを生成する機能はありません)。

Perlと異なりコマンドは常に `|' で始まります。

[PARAM] file:
ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
[PARAM] mode:
モードを文字列か定数の論理和で指定します。後述。
[PARAM] perm:
open(2) の第 3 引数のように、ファイルを生成する場合の ファイルのパーミッションを整数で指定します。
[EXCEPTION] Errno::EXXX:
ファイルのオープンに失敗した場合に発生します。

[SEE_ALSO] File.open,IO.popen,IO.open

第二引数のオープンモード・エンコーディング

文字列("mode" か "mode:ext_enc" か "mode:ext_enc:int_enc" という形式)か 整数(File::Constants モジュールの定数の論理和)を組み合わせて指定します。

mode は以下の三つのうちのいずれかです。

"r", RDONLY

ファイルを読み込みモードでオープンします。（デフォルトのモード）

"w", WRONLY|CREAT|TRUNC

ファイルを書き込みモードでオープンします。 オープン時にファイルがすでに存在していれば その内容を空にします。

"a", WRONLY|CREAT|APPEND

ファイルを書き込みモードでオープンします。 出力は 常に ファイルの末尾に追加されます。 例えば、ファイルオープン中にファイルのサイズが小さ くなってもその末尾に出力されます。

以上の3つの後に "+" があれば、ファイルは読み書き両用モード (RDWR) でオープンされます。

"r+"

ファイルの読み書き位置は先頭にセットされます。

"w+"

"r+" と同じですが、オープン時にファイルがすでに 存在していればその内容を空にします。

"a+"

"r+" と同じですが、オープン時にファイルがすでに 存在していれば読み書き位置がファイルの末尾に セットされます。

これらのいずれに対しても "b" フラグを ("r+b"のように) つけることがで きます (整数なら File::BINARY )。この場合、バイナリモードでオープン します (ただし、DOS/Windowsのようにシステムがテキスト／バイナリでファイルを区別する場 合に限ります)

open(name, mode = 'r', perm = nil, options = {}) -> StringIO | File [redefined by open-uri]
open(name, mode = 'r', perm = nil, options = {}) {|ouri| ...} -> nil [redefined by open-uri]

name が http:// や ftp:// で始まっている文字列なら URI のリソースを 取得した上で StringIO オブジェクトとして返します。 StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

name に open メソッドが定義されている場合は、*rest を引数として渡し name.open(*rest, &block) のように name の open メソッドが呼ばれます。

これ以外の場合は、name はファイル名として扱われ、従来の Kernel.#open(name, *rest) が呼ばれます。

ブロックを与えた場合は上の場合と同様、name が http:// や ftp:// で 始まっている文字列なら URI のリソースを取得した上で StringIO オブジェクトを 引数としてブロックを評価します。後は同様です。 StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

[PARAM] name:
オープンしたいリソースを文字列で与えます。
[PARAM] mode:
モードを文字列で与えます。Kernel.#open と同じです。
[PARAM] perm:
open(2) の第 3 引数のように、ファイルを生成する場合のファイルのパーミッションを 整数で指定します。Kernel.#open と同じです
[PARAM] options:
ハッシュを与えます。詳しくは OpenURI.open_uri を参照してください。
[EXCEPTION] OpenURI::HTTPError:
対象となる URI のスキームが http であり、 かつリソースの取得に失敗した時に発生します。
[EXCEPTION] Net::FTPError:
対象となる URI のスキームが ftp であり、かつリソースの取得に失敗した時に Net::FTPError のサブクラスが発生します。詳しくは net/ftp を参照して下さい。

例:

require 'open-uri'
sio = open('http://www.example.com')
p sio.is_a?(OpenURI::Meta) # => true
p sio.content_type
puts sio.read

[SEE_ALSO] OpenURI.open_uri


module function Kernel.#p

p(*arg) -> nil

引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。

引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。

print arg[0].inspect, "\n", arg[1].inspect, "\n", ...

整形に用いられるObject#inspectは普通に文字列に変換すると 区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。

p に引数を与えずに呼び出した場合は特に何もしません。

[PARAM] arg:
出力するオブジェクトを任意個指定します。
[EXCEPTION] IOError:
標準出力が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
[RETURN]
nil を返します。
puts "" #=> （空行）
p "" #=> ""

puts 50,"50"
#=> 50
#=> 50
p 50,"50"
#=> 50
#=> "50"

[SEE_ALSO] Object#inspect,Kernel.#puts,Kernel.#print


module function Kernel.#pp

pp(*obj) -> nil [added by pp]

指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼びことと同等です。

[PARAM] obj:
表示したいオブジェクトを指定します。

例:

require 'pp'

b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a

#=> [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
     [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
     [...]]

[SEE_ALSO] PP.pp


module function Kernel.#print

print(*arg) -> nil

引数を順に標準出力 $stdout に出力します。引数が与えられない時には変数 $_ の値を出力します。

文字列以外のオブジェクトが引数として与えられた場合には、 to_s メソッドにより文字列に変換してから出力します。 ただし、nil に対しては文字列 "nil" を出力します

変数 $, (出力フィールドセパレータ)に nil で ない値がセットされている時には、各引数の間にその文字列を出力します。 変数 $\ (出力レコードセパレータ)に nil でな い値がセットされている時には、最後にそれを出力します。

[PARAM] arg:
出力するオブジェクトを任意個指定します。
[EXCEPTION] IOError:
標準出力が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
print "Hello, world!"
print "Regexp is",/ant/
print nil
print "\n"
#=> Hello, world!Regexp is(?-mix:ant)nil

$_ = "input"
$, = "<and>"
$\ = "<end>\n"
print
print "AA","BB"
#=> input<end>
#=> AA<and>BB<end>

[SEE_ALSO] Kernel.#puts,Kernel.#p


module function Kernel.#printf

printf(format, *arg) -> nil
printf(port, format, *arg) -> nil

C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。

port を省略した場合は標準出力 $stdout に出力します。

引数を 1 つも指定しなければ何もしません。

Ruby における format 文字列の拡張については Kernel.#sprintfの項を参照してください。

[PARAM] port:
出力先になるIO のサブクラスのインスタンスです。
[PARAM] format:
フォーマット文字列です。
[PARAM] arg:
フォーマットされる引数です。
[EXCEPTION] ArgumentError:
port を指定したのに format を省略した場合に発生します。
[EXCEPTION] IOError:
port が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
printf("calculate%3s%-6s%.15f", 'PI', '...', Math::PI)
#=> calculate PI...   3.141592653589793

printf("%d %04x", 123, 123)               #=> "123 007b"
printf("%08b '%4s'", 123, 123)            #=> "01111011 ' 123'"
printf("%1$*2$s %2$d %1$s", "hello", 8)   #=> "   hello 8 hello"
printf("%1$*2$s %2$d", "hello", -8)       #=> "hello    -8"
printf("%+g:% g:%-g", 1.23, 1.23, 1.23)   #=> "+1.23: 1.23:1.23"
printf("%u", -123)                        #=> "..4294967173"

[SEE_ALSO] Kernel.#sprintf,IO#printf


module function Kernel.#putc

putc(ch) -> object

文字 ch を 標準出力 $stdout に出力します。

ch が数値なら 0 〜 255 の範囲の対応する文字を出力します。 ch が文字列なら、その先頭 1byte を出力します。 どちらでもない場合は、ch.to_int で整数に変換を試みます。

[PARAM] ch:
出力する文字です。数または文字列で指定します。
[RETURN]
ch を返します
[EXCEPTION] RangeError:
Bignum を引数にした場合に発生します。
[EXCEPTION] IOError:
標準出力が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
[EXCEPTION] TypeError:
Integer に変換できないオブジェクトを引数に 指定した場合に発生します。
putc("ch")
putc(?c)
putc(99)
putc(355)
#=> cccc

putc(99.00) #=> c
putc(33333333333333333333333333333333333) # bignum too big to convert into `long' (RangeError)

[SEE_ALSO] IO#putc


module function Kernel.#puts

puts(*arg) -> nil

引数と改行を順番に 標準出力 $stdout に出力します。 引数がなければ改行のみを出力します。

引数が配列の場合、その要素と改行を順に出力します。 配列や文字列以外のオブジェクトが引数として与えられた場合には、 当該オブジェクトを最初に to_ary により配列へ、 次に to_s メソッドにより文字列へ変換を試みます。 ただし、nil に対しては文字列 "nil" を出力します 末尾が改行で終っている引数や配列の要素に対しては puts 自身 は改行を出力しません。

[PARAM] arg:
出力するオブジェクトを任意個指定します。
[EXCEPTION] IOError:
標準出力が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
puts "foo", "bar\n", "baz"
puts ""    # 改行のみ出力
puts       # 改行のみ出力
puts nil
puts ["oui", "non"]
#=> foo
#   bar
#   baz
#
#
#   nil
#   oui
#   non

[SEE_ALSO] Kernel.#print, Kernel.#p, IO#puts


module function Kernel.#rand

rand(max = 0) -> Integer|Float

擬似乱数を得るメソッドです。

max.to_i.abs（引数の整数表現の絶対値）が 0以外 の場合、 0 以上 max.to_i.abs 未満の範囲の整数をランダムに返します。 また 0 の場合、0.0 以上 1.0 未満の範囲の浮動小数点数をランダムに返します。

まだ Kernel.#srand が呼ばれていなければ自動的に呼び出します。

[PARAM] max:
数値オブジェクトです。
p rand(63) #=> 20
p rand(63) #=> 56
p rand(0) #=> 0.341033520223401
p rand(0) #=> 0.31341550089985

p rand(-5) #=> 2
p rand(0.9) #=> 0.195303845149051
p rand(1.5) #=> 0

[SEE_ALSO] Kernel.#srand, Object#to_int, Numeric#abs


module function Kernel.#readline

readline(rs = $/) -> String

ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。

rs に nil を指定すると行区切りなしとみなしてファイルの内容を すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。 空文字列 "" を指定すると連続する改行を行の区切りとみなします (パラグラフモード)。

読み込んだ文字列は組み込み変数 $_ にもセットされます。

[PARAM] rs:
行の区切りとなる文字列です。
[EXCEPTION] Errno::EXXX:
読み込みに失敗した場合に発生します。
[EXCEPTION] EOFError:
readline でファイル末端(EOF)を検出すると発生します。
---main.rb---
ARGV << 'b.txt' << 'c.txt'
p readline #=> "hello\n"
p readline(nil) #=> "it\ncommon\n"
p readline("") #=> "ARGF\n\n"
p readline('、') #=> "スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名と\nみなして、"
p readline #=> "それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 \n"
p readline # end of file reached (EOFError)
--- b.txt ---
hello
it
common
--- c.txt ---
ARGF

スクリプトに指定した引数 (Kernel::ARGV を参照) をファイル名と
みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。

[SEE_ALSO] $/,ARGF,Kernel.#readlines,Kernel.#gets


module function Kernel.#readlines

readlines(rs = $/) -> [String] | nil

ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。

rs に nil を指定すると行区切りなしとみなします。 空文字列 "" を指定すると連続する改行を行の区切りとみなします (パラグラフモード)。

[PARAM] rs:
行の区切りとなる文字列です。
[EXCEPTION] Errno::EXXX:
読み込みに失敗した場合に発生します。
---main.rb---
ARGV << 'b.txt' << 'b.txt'
p readlines #=> ["hello\n", "it\n", "\n", "common\n", "hello\n", "it\n", "\n", "common\n"]

ARGV << 'b.txt' << 'b.txt'
p readlines(nil) #=> ["hello\nit\n\ncommon\n", "hello\nit\n\ncommon\n"]

ARGV << 'b.txt' << 'b.txt'
p readlines("") #=> ["hello\nit\n\n", "common\n", "hello\nit\n\n", "common\n"]

ARGV << 'b.txt' << 'b.txt'
p readlines('it') #=> ["hello\nit", "\n\ncommon\n", "hello\nit", "\n\ncommon\n"]
p readlines #=> nil
--- b.txt ---
hello
it

common

[SEE_ALSO] $/,ARGF,Kernel.#gets


module function Kernel.#require

require(feature) -> bool

Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。

feature が絶対パスのときは feature からロードします。 feature が相対パスのときは組み込み変数 $: に示されるパスを順番に探し、最初に見付かったファイルを ロードします。このとき、$: の要素文字列の先頭文字が `~' (チルダ) だと、環境変数 HOME の値に展開されます。

Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ (*.so,*.o,*.dll など) であり、feature の拡張子が省略された場合はその 両方から探します( *.rb が優先されます)。 省略されなかった場合は指定された種別のみを探します。 また、feature の拡張子にはアーキテクチャで実際に使われる拡張子に 関らず拡張ライブラリの拡張子として常に .so を用いることができます（内部で適切に変換されます）。

ライブラリのロードに成功した時には true を返し、ロードした feature の名前を(拡 張子も含めて) 変数 $" に追加します。ただし、feature の名前が既に $" に含まれていた場合はロードせずに false を返します。

[PARAM] feature:
ファイル名の文字列です。
[EXCEPTION] LoadError:
ロードに失敗した場合に発生します。

[SEE_ALSO] Kernel.#load,Kernel.#autoload


module function Kernel.#require_relative

require_relative(relative_feature) -> bool

現在のファイルからの相対パスで require します。

require File.expand_path(File.join(File.dirname(__FILE__), relative_feature))

とほぼ同じです。

[PARAM] feature:
ファイル名の文字列です。
[EXCEPTION] LoadError:
ロードに失敗した場合に発生します。

[SEE_ALSO] Kernel.#require

require と load のスコープ

ローカル変数はファイル間では共有されません。ですので、 ロードしたライブラリのローカル変数を ロード元のスクリプトから直接取得することはできません。 このスコープの扱い方はKernel.#loadでも同様です。

---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
---------- end some.rb -------

require 'some'
p $a #=> 1
p @a #=> 1
p A #=> 1
p a # undefined local variable or method `a' for #<Object:0x294f9ec @a=1> (NameError)


module function Kernel.#scan

scan(re) -> [String] | [[String]]
scan(re) {|matched| ... } -> [String] | [[String]]

$_.scan と同じです。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。 今後はより明示的な $_.scan を使ってください。

[PARAM] re:
String#scan 参照

[SEE_ALSO] String#scan,$_


module function Kernel.#select

select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil

IO.select と同じです。

[PARAM] reads:
IO.select 参照
[PARAM] writes:
IO.select 参照
[PARAM] excepts:
IO.select 参照
[PARAM] timeout:
IO.select 参照

[SEE_ALSO] IO.select


module function Kernel.#set_trace_func

set_trace_func(proc) -> object
set_trace_func {|event, file, line, id, binding, klass| ... } -> Proc

Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 proc に nil を指定した場合でトレースをオフにします。 ブロックを指定された場合はそのブロックをトレースする Proc オブジェクトとして登録します。

引数 proc かブロックを Proc オブジェクトに変換したものを返します。

Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや 式の評価などのイベントが発生する度に、以下で説明する6個の引数とともに 登録された Proc オブジェクトを実行します。

標準添付の debug、tracer、 profile はこの組み込み関数を利用して実現されています。

ブロック引数の意味

event

実行のタイプを表す、以下のいずれかの文字列。

  "line":      式の評価。
  "call":      メソッドの呼び出し。
  "return":    メソッド呼び出しからのリターン。
  "c-call":    Cで記述されたメソッドの呼び出し。
  "c-return":  Cで記述されたメソッド呼び出しからのリターン。
  "class":     クラス定義、特異クラス定義、モジュール定義への突入。
  "end":       クラス定義、特異クラス定義、モジュール定義の終了。
  "raise":     例外の発生。
file

実行中のプログラムのソースファイル名 (文字列)。

line

実行中のプログラムのソースファイル上の行番号 (整数)。

id

event に応じ、以下のものが渡されます。 第六ブロック引数の klass と対応しています。

    line
        最後に呼び出されたメソッドを表す Symbol オブジェクト。
        トップレベルでは nil。
    call/return/c-call/c-return
        呼び出された/リターンするメソッドを表す Symbol オブジェクト。
    class/end
        nil。
    raise
        最後に呼び出されたメソッドを表す Symbol オブジェクト。
        トップレベルでは nil。
binding

実行中のプログラムのコンテキストを表す Binding オブジェクト。

klass

event に応じ、以下のものが渡されます。 第四ブロック引数の id と対応しています。

    line
        最後に呼び出されたメソッドが属するクラスを表す
        Class オブジェクト。トップレベルでは false。
    call/return/c-call/c-return
        呼び出された/リターンするメソッドが属するクラス
        を表す Class オブジェクト。
    class/end
        false。
    raise
        最後に呼び出されたメソッドが属するクラスを表す
        Class オブジェクト。トップレベルでは false。
[PARAM] proc:
トレース用 Proc オブジェクトを指定します。nil を指定した場合、トレースをオフにします。
[RETURN]
引数 proc が指定された場合は proc を、ブロックの場合は Proc オブジェクトに変換したものを返します。

例:

set_trace_func lambda {|*arg|
  p arg
}
class Foo
end
43.to_s

#----結果----
#["line", "..", 4, nil, #<Binding:0x2b69584>, false]
#  ["c-call", "..", 4, :inherited, #<Binding:0x2b693b8>, Class]
#    ["c-return", "..", 4, :inherited, #<Binding:0x2b6937c>, Class]
#      ["class", "..", 4, nil, #<Binding:0x2b69098>, false]
#        ["end", "..", 4, nil, nil, false]
#        ["line", "..", 6, nil, #<Binding:0x2b68d78>, false]
#          ["c-call", "..", 6, :to_s, #<Binding:0x2b68c88>, Fixnum]
#            ["c-return", "..", 6, :to_s, #<Binding:0x2b68aa8>, Fixnum]

[SEE_ALSO] Kernel.#caller


module function Kernel.#sleep

sleep(sec = 0) -> Integer

sec 秒だけプログラムの実行を停止します。

sec が省略されたり 0 を指定した場合、他スレッドからの Thread#run などで明示的に起こさない限り永久にスリープします。Thread#runを呼ぶとその時点で sleepの実行が中断されます。

[PARAM] sec:
停止する秒数を非負の数値で指定します。浮動小数点数も指定できます。 0 を指定した場合、永久にスリープします。
[RETURN]
実際に停止していた秒数 (整数に丸められた値) です。
it = Thread.new do
  sleep 999
  puts 'it_end'
end

re = sleep 2.11
puts re
it.run
re2 = sleep 0.76
puts re2
#=> 2
#   it_end
#   1


module function Kernel.#split

split(sep = $/, limit = 0) -> [String]

$_.split と同じです。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。 今後はより明示的な $_.split を使ってください。

[PARAM] sep:
String#split 参照
[PARAM] limit:
String#split 参照

[SEE_ALSO] String#split,$_


module function Kernel.#srand

srand -> Integer
srand(seed) -> Integer

Kernel.#rand の乱数の種を設定し、古い種を返します。

seed.to_i（引数の整数表現）を乱数の種に設定します。 seed に既知の値を与えると、以前の Kernel.#rand の値を再現できます。

初期値 seed が省略された時には 現在の時刻やプロセス ID、srand を呼び出した回数、 また可能なら /dev/urandom から読み出したデータなどを元に種を作ります。

[PARAM] seed:
乱数の種となる数値を指定します。to_int メソッドにより整数に変換されます。 Bignum も指定可能です。
num = 455675
seeds = []

srand(num)

p rand(6) #=> 3
p rand(6) #=> 0
p rand(0) #=> 0.445804380918972
p rand(0) #=> 0.422248634121701

seeds << srand

p rand(6) #=> 3
p rand(6) #=> 3
p rand(0) #=> 0.938911141393347
p rand(0) #=> 0.915824970865251

seeds << srand(num)

p rand(6) #=> 3
p rand(6) #=> 0
p rand(0) #=> 0.445804380918972
p rand(0) #=> 0.422248634121701

seeds << srand

p seeds #=> [455675, 2995620310703489221660585195204777696, 455675]

[SEE_ALSO] Kernel.#rand, Object#to_int


module function Kernel.#sub

sub(pattern, replace) -> String
sub!(pattern, replace) -> String
sub(pattern) {|matched| ... } -> String
sub!(pattern) {|matched| ... } -> String

組み込み変数 $_ の指す文字列内で pattern に マッチする最初の部分を replace に置き換えます。$_ を返します。

$_.sub, $_.sub! とほぼ同じです。

暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。 今後はより明示的な $_.sub, $_.sub! を使ってください。

$_.sub とこのメソッド sub は以下の点で違いがあります。

  • sub は $_ の値をコピーして、コピーの方を更新し、 $_ に再代入します。
[PARAM] pattern:
String#sub 参照
[PARAM] replace:
String#sub 参照

[SEE_ALSO] String#sub,$_


module function Kernel.#syscall

syscall(num, *arg) -> Integer

numで指定された番号のシステムコールを実行します。 第2引数以降をシステムコールの引数として渡します。

どの数値がどのシステムコールに対応するかは、 syscall(2) や /usr/include/sys/syscall.h を参照してください。

システムコールの慣習に従い、syscall(2) が -1 を返す場合には例外 Errno::EXXX が発生します。 それ以外では、返した値をそのまま数値で返します。

ライブラリ dl を使えばより高レベルな操作ができます。

[PARAM] num:
システムコール番号です。
[PARAM] arg:
文字列か、整数です。最大 9 個まで渡すことができます。
[EXCEPTION] Errno::EXXX:
syscall(2) が -1 を返した場合に発生します。
[EXCEPTION] NotImplementedError:
実行環境がこのメソッドに対応していないとき発生します。

[SEE_ALSO] dl


module function Kernel.#system

system(command) -> bool

引数を外部コマンドとして実行して、成功した時に真を返します。

子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。 それ以外の終了ステータスの場合 (コマンドを実行できなかった場合も含む)は false を返します。

終了ステータスは変数 $? で参照できます。

引数の解釈

この形式では command が shell のメタ文字

  * ? {} [] <> () ~ & | \ $ ; ' ` " \n

を含む場合、shell 経由で実行されます。 そうでなければインタプリタから直接実行されます。

[PARAM] command:
command コマンドを文字列で指定します。

[SEE_ALSO] Kernel.#`,Kernel.#exec,system(3)

system(program, *args) -> bool

引数を外部コマンドとして実行して、成功した時に真を返します。

子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。 それ以外の終了ステータスの場合は false を返します。 コマンドを実行できなかった場合は nil を返します。

終了ステータスは変数 $? で参照できます。

引数の解釈

この形式で呼び出した場合、空白や shell のメタキャラクタも そのまま program の引数に渡されます。 先頭の引数が2要素の配列であった場合、第1要素の文字列が実際に 起動するプログラムのパスであり、第2要素が「みせかけ」のプロ グラム名になります。 また、第1要素はフルパスで指定しなくても環境変数 PATH から探します。

[PARAM] program:
文字列か2要素の配列です。
[PARAM] args:
program に渡す引数を 0 個以上指定する
[EXCEPTION] ArgumentError:
第一引数が配列かつ要素数が 2 でない場合に発生します。

[SEE_ALSO] Kernel.#`,Kernel.#exec,system(3)


module function Kernel.#test

test(cmd, file) -> bool | Time | Integer | nil

単体のファイルでファイルテストを行います。

[PARAM] cmd:
以下に示す数値リテラルか文字列です(文字列の場合はその先頭の文字だけをコマンドとみなします)。
[PARAM] file:
テストするファイルオブジェクトです。
[RETURN]
下表に特に明記していないものは、真偽値を返します。

以下は cmd として指定できる数値リテラルとその意味です。

?r

ファイルを実効 uid で読むことができる

?w

ファイルに実効 uid で書くことができる

?x

ファイルを実効 uid で実行することができる

?o

ファイルの所有者が実効 uid である

?G

ファイルのグループ所有者が実効 gid である

?R

ファイルを実 uid で読むことができる

?W

ファイルに実 uid で書くことができる

?X

ファイルを実 uid で実行することができる

?O

ファイルの所有者が実 uid である

?e

ファイルが存在する

?z

ファイルサイズが 0 である

?s

ファイルサイズが 0 でない (ファイルサイズを返す、0 ならば nil) -> Integer|nil

?f

ファイルはプレーンファイルである

?d

ファイルはディレクトリである

?l

ファイルはシンボリックリンクである

?p

ファイルは名前つきパイプ(FIFO)である

?S

ファイルはソケットである

?b

ファイルはブロック特殊ファイルである

?c

ファイルはキャラクター特殊ファイルである

?u

ファイルに setuid ビットがセットされている

?g

ファイルに setgid ビットがセットされている

?k

ファイルに sticky ビットがセットされている

?M

ファイルの最終更新時刻を返す -> Time

?A

ファイルの最終アクセス時刻を返す -> Time

?C

ファイルの inode 変更時刻を返す -> Time

test(cmd, file1, file2) -> bool

２ファイル間のファイルテストを行います。

[PARAM] cmd:
以下に示す数値リテラルか文字列です(文字列の場合はその先頭の文字だけをコマンドとみなします)。
[PARAM] file1:
テストするファイルオブジェクトです。
[PARAM] file2:
テストするファイルオブジェクトです。
[RETURN]
真偽値を返します。

以下は cmd として指定できる数値リテラルとその意味です。

?=

ファイル1とファイル2の最終更新時刻が等しい

?>

ファイル1の方がファイル2より最終更新時刻が新しい

?<

ファイル1の方がファイル2より最終更新時刻が古い

?-

ファイル1とファイル2が同一のファイルである


module function Kernel.#throw

throw(tag, value = nil) -> ()

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

throw は探索時に呼び出しスタックをさかのぼるので、 ジャンプ先は同じメソッド内にあるとは限りません。 もし ensure節 が存在するならジャンプ前に実行します。

もし同じ tag で待っている catch が存在しない場合は NameError で スレッドが終了します。

[PARAM] tag:
シンボルまたは文字列です。
[PARAM] value:
catch の戻り値になります。
[EXCEPTION] NameError:
同じ tag で待っている catch が存在しない場合に発生します。
def foo
  throw :exit, 25
end

ret = catch(:exit) do
  begin
    foo
    some_process()    # 絶対に実行されない
    10
  ensure
    puts "ensure"
  end
end
puts ret
#=> ensure
#   25

[SEE_ALSO] Kernel.#catch


module function Kernel.#trace_var

trace_var(varname, hook) -> nil
trace_var(varname) {|new_val| .... } -> nil
trace_var(varname, hook) -> [String|Proc]

グローバル変数 varname への代入のフックを登録します。

ここでの「グローバル変数」は、 [[unknown:特殊変数|組み込み変数]]も含めた `$' で始まる変数のことです。

この呼び出し以降、varname で指定したグローバル変数に 値が代入されるたびに hook かブロックが評価されます。hook が Proc オブジェクトの場合 代入された値がブロック引数に渡されます。文字列の場合はRubyコードとして評価されます。

trace_var がフックするのは明示的な代入だけです。 フックは複数登録できます。

フックを解除するには、hook に nil を 指定するか、Kernel.#untrace_var を用います。

hook が nil ならば、設定されていた hook をすべて解除してその配列を返します(ブロックで登録されていれば Proc オブジェクトで返されます) それ以外は、nil を返します。

[PARAM] varname:
グローバル変数名を文字列か Symbol で指定します。
[PARAM] hook:
フックになる文字列または Proc オブジェクトです。
[RETURN]
フックを登録した場合は nil を返します。解除した場合は解除した フックを並べた配列を返します。
trace_var(:$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1       #=> hook: $v=1
$v = "foo"   #=> hook: $v="foo"
$v.upcase!
p $v         #=> "FOO"

[SEE_ALSO] Kernel.#untrace_var


module function Kernel.#trap

trap(signal, command) -> object
trap(signal) { ... } -> object

signal で指定された割り込みにたいするハンドラとして command を登録します。Signal.#trapと同じです。

Signal.#trapの使用を推奨します。

[PARAM] signal:
Signal.#trap 参照
[PARAM] command:
Signal.#trap 参照

[SEE_ALSO] Signal.#trap,Signal


module function Kernel.#untrace_var

untrace_var(varname, hook = nil) -> [String|Proc]

グローバル変数 varname に関連付けられたフックを解除します。

hook が指定された場合にはそのフックだけを解除します。 省略するか nil を与えた場合は varname のフックを全て解除します。

[PARAM] varname:
グローバル変数名を文字列か Symbol で指定します。
[PARAM] hook:
文字列または Proc オブジェクトです。
[RETURN]
解除されたフックの配列を返します。
trace_var(:$v){|val| print "hookA.#{val.inspect},\n" }
block = proc{|val| print "hookB.#{val.inspect}," }
trace_var(:$v,&block)
$v = 'str'        #=> hookB."str",hookA."str",

untrace_var(:$v,block)
$v = 'str'        #=> hookA."str",

trace_var(:$v){|val| print "hookC.#{val.inspect}," }
p untrace_var(:$v) #=> [#<Proc:0x02b68f58@..:9>, #<Proc:0x02b6978c@..:3>]
$v = 'str'        # なにも出力されない

[SEE_ALSO] Kernel.#trace_var


module function Kernel.#warn

warn(message) -> nil

message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。

文字列以外のオブジェクトが引数として与えられた場合には、 to_s メソッドにより文字列に変換してから出力します。

このメソッドは以下と同じです。

$stderr.print message, "\n" unless $VERBOSE.nil?
[PARAM] message:
出力するオブジェクトです。
[EXCEPTION] IOError:
標準エラー出力が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
warn "caution!" #=> caution!
$VERBOSE = nil
warn "caution!" # 何もしない

[SEE_ALSO] $stderr,$VERBOSE


variable $0

$0 -> String
$PROGRAM_NAME -> String

現在実行中の Ruby スクリプトの名前を表す文字列です。

OS と Ruby のバージョンによっては、この変数に代入すると ps(1) の出力が変化します。 この機能はプログラムの現在の状態を表示するのに便利です。

この変数はグローバルスコープです。


variable $1

$1 -> String | nil
$2 -> String | nil
$3 -> String | nil
$4 -> String | nil
$5 -> String | nil
$6 -> String | nil
$7 -> String | nil
$8 -> String | nil
$9 -> String | nil
$10 -> String | nil
$11 -> String | nil

最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。 該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)

番号 n はいくらでも大きな正整数を利用できます。

Regexp.last_match[1], Regexp.last_match[2], ... と同じ。

これらの変数はローカルスコープかつスレッドローカル、読み取り専用です。

例

str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
  print $1
  print $2
end
#=> "http://example.com"
#=> "example.com"


variable $ARGV

$ARGV -> [String] [added by English]

$* の別名

require "English"
p $ARGV
# end of sample.rb

ruby sample.rb 31 /home/hoge/fuga.txt
#=> ["31", "/home/hoge/fuga.txt"]


variable $CFLAGS

$CFLAGS [added by mkmf]

拡張ライブラリをコンパイルするときの C コンパイラのオプションや、 ヘッダファイルのディレクトリを指定する文字列です。

Kernel#dir_config の検査が成功すると、 この変数の値に " -Idir" が追加されます。


variable $CHILD_STATUS

$CHILD_STATUS -> Process::Status | nil [added by English]

$? の別名

require "English"

out = `wget http://www2.ruby-lang.org/ja/LICENSE.txt -O - 2>/dev/null`

if $CHILD_STATUS.to_i == 0
  print "wget success\n"
  out.split(/\n/).each { |line|
    printf "%s\n", line
  }
else
  print "wget failed\n"
end


variable $DEFAULT_INPUT

$DEFAULT_INPUT -> IO [added by English]

$< の別名

require "English"
while line = $DEFAULT_INPUT.gets
  p line
end
# end of sample.rb

ruby sample.rb < /etc/passwd
# => "hoge:x:500:501::/home/hoge:/bin/bash\n"
     ...


variable $DEFAULT_OUTPUT

$DEFAULT_OUTPUT -> IO [added by English]

$> の別名

require "English"

dout = $DEFAULT_OUTPUT.dup
$DEFAULT_OUTPUT.reopen("out.txt", "w")
print "foo"
$DEFAULT_OUTPUT.close
$DEFAULT_OUTPUT = dout
p "bar" # => bar
p File.read("out.txt") #=> foo


variable $ERROR_INFO

$ERROR_INFO -> Exception [added by English]

$! の別名

require "English"
class SomethingError < StandardError; end

begin
  raise SomethingError
rescue
  p $ERROR_INFO.backtrace #=> ["sample.rb:5"]
  p $ERROR_INFO.to_s #=> "SomethingError"
end


variable $ERROR_POSITION

$ERROR_POSITION -> [String] | nil [added by English]

$@ の別名

require "English"
class SomethingError < StandardError; end

begin
  raise SomethingError
rescue
  p $ERROR_POSITION #=> ["sample.rb:5"]
end


variable $FIELD_SEPARATOR

$FS -> String | nil [added by English]
$FIELD_SEPARATOR -> String | nil [added by English]

$; の別名

require "English"

str = "hoge,fuga,ugo,bar,foo"
p str.split #=> ["hoge,fuga,ugo,bar,foo"]
$FIELD_SEPARATOR = ","
p str.split #=> ["hoge", "fuga", "ugo", "bar", "foo"]


variable $FILENAME

$FILENAME -> String

仮想ファイル Kernel::ARGF で現在読み込み中のファイル名です。 ARGF.filename と同じです。

この変数はグローバルスコープです。


variable $IGNORECASE

$IGNORECASE -> bool [added by English]

非推奨([[unknown:obsolete>]]): この変数は将来のバージョンで削除される予定です。

$= の別名

require "English"

$IGNORECASE=true

str_l = "FOOBAR"
str_s = "foobar"

if str_l == str_s
  p "#{str_l} equal to #{str_s}" #=> "FOOBAR equal to foobar"
end


variable $INPUT_LINE_NUMBER

$INPUT_LINE_NUMBER -> Fixnum [added by English]
$NR -> Fixnum [added by English]

$. の別名

1 e
2 f
3 g
4 h
5 i
# end of a.txt

require "English"

File.foreach(ARGV.at(0)){|line|
  # read line
}
p $INPUT_LINE_NUMBER
# end of sample.rb

ruby sample.rb a.txt
#=> 5


variable $INPUT_RECORD_SEPARATOR

$RS -> String | nil [added by English]
$INPUT_RECORD_SEPARATOR -> String | nil [added by English]

$/ の別名

require "English"

$INPUT_RECORD_SEPARATOR = '|'
array = []
while line = DATA.gets
  array << line
end
p array #=> ["ugo|", "ego|", "fogo\n"]

__END__
ugo|ego|fogo


variable $LAST_MATCH_INFO

$LAST_MATCH_INFO -> MatchData [added by English]

$~ の別名

require "English"

str = "<a href=http://www2.ruby-lang.org/ja/LICENSE.txt>license</a>"

if /<a href=(.+?)>/ =~ str
  p $LAST_MATCH_INFO[0] #=> "<a href=http://www2.ruby-lang.org/ja/LICENSE.txt>"
  p $LAST_MATCH_INFO[1] #=> "http://www2.ruby-lang.org/ja/LICENSE.txt"
  p $LAST_MATCH_INFO[2] #=> nil
end


variable $LAST_PAREN_MATCH

$LAST_PAREN_MATCH -> String | nil [added by English]

$+ の別名

require "English"

r1 = Regexp.compile("<img src=(http:.+?)>")
r2 = Regexp.compile("<a href=(http|ftp).+?>(.+?)</a>")

while line = DATA.gets
  [ r1, r2 ].each {|rep|
    rep =~ line
    p $+
  }
end
__END__
<tr> <td><img src=http://localhost/a.jpg></td> <td>ikkou</td> <td><a href=http://localhost/link.html>link</a></td> </tr>
#enf of sample.rb

$ ruby sample.rb
"http://localhost/a.jpg"
"link"


variable $LAST_READ_LINE

$LAST_READ_LINE -> String | nil [added by English]

$_ の別名

1 e
2 f
3 g
4 h
5 i
# end of a.txt

ruby -rEnglish -ne'p $LAST_READ_LINE' a.txt
#=>
"1 e\n"
"2 f\n"
"3 g\n"
"4 h\n"
"5 i\n"


variable $LDFLAGS

$LDFLAGS [added by mkmf]

拡張ライブラリをリンクするときのリンカのオプション、 ライブラリファイルのディレクトリを指定する文字列です。

Kernel#find_library または Kernel#dir_config の検査が成功すると、$LDFLAGS の値に "-Ldir" を追加します。


variable $MATCH

$MATCH -> String | nil [added by English]

$& の別名

require "English"

str = 'hoge,foo,bar,hee,hoo'

/(foo|bar)/ =~ str
p $MATCH     #=> "foo"


variable $OFS

$OFS -> String | nil [added by English]
$OUTPUT_FIELD_SEPARATOR -> String | nil [added by English]

$, の別名

require "English"

array = %w|hoge fuga ugo bar foo|
p array.join #=> "hogefugaugobarfoo"
$OUTPUT_FIELD_SEPARATOR = ","
p array.join #=> "hoge,fuga,ugo,bar,foo"


variable $ORS

$ORS -> String | nil [added by English]
$OUTPUT_RECORD_SEPARATOR -> String | nil [added by English]

$\ の別名

require "English"

print "hoge\nhuga\n"
$OUTPUT_RECORD_SEPARATOR = "\n"
print "fuge"
print "ugo"
# end of sample.rb

ruby sample.rb
hoge
huga
fuge
ugo


variable $PID

$PID -> Fixnum [added by English]
$PROCESS_ID -> Fixnum [added by English]

$$ の別名

require "English"

      p sprintf("something%s", $PID) #=> "something5543" など


variable $POSTMATCH

$POSTMATCH -> String | nil [added by English]

$' の別名

require "English"

str = 'hoge,foo,bar,hee,hoo'

/foo/ =~ str
p $POSTMATCH #=> ",bar,hee,hoo"


variable $PREMATCH

$PREMATCH -> String | nil [added by English]

$` の別名

require "English"

str = 'hoge,foo,bar,hee,hoo'

/foo/ =~ str
p $PREMATCH  #=> "hoge,"


variable $PROGRAM_NAME

$PROGRAM_NAME -> String [added by English]

$0 の別名

require "English"

p $PROGRAM_NAME
#end of sample.rb

ruby sample.rb  #=> "sample.rb"
ruby ./sample.rb #=> "./sample.rb"
ruby /home/hoge/bin/sample.rb #=> "/home/hoge/bin/sample.rb"


variable $SAFE

$SAFE -> Fixnum

カレントスレッドのセーフレベルを表す整数です。セーフレベルについては セキュリティモデル を参照してください。

Thread.current.safe_level と同じです。 非整数を代入しようとすると TypeError が発生します。

この変数はスレッドローカルです。 Ruby起動時の初期値は 0 です。


variable $*

$* -> [String]

Rubyスクリプトに与えられた引数を表す配列です。 組み込み定数 Kernel::ARGV の別名です。

Ruby 自身に対する引数は取り除かれています。

この変数はグローバルスコープです。


variable $+

$+ -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチで マッチした中で最後の括弧に対応する部分文字列です。

最後のマッチが失敗していた場合には nil。 いくつかある選択型のパターンのどれがマッチしたのか分からない時に便利です。

この変数はローカルスコープかつスレッドローカルです。


variable $,

$, -> String | nil

デフォルトの出力フィールド区切り文字列です。 Array#join で引数を省略した場合と、 Kernel.#print の各引数の間で出力されます。

デフォルト値は nil で、空文字列と同じ結果になります。

この変数はグローバルスコープです。


variable $-0

$/ -> String | nil
$-0 -> String | nil

入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。

Kernel.#gets のような「行」単位の読み込みメソッドが「行」の区切りとして使用します。 Rubyがコマンドオプション -0 付きで起動されたときには -0 で指定された値が規定値となります。そうでないとき、規定値は "\n" です。

この変数に nil を設定すると読み込みメソッドはファイル全体を一度に読み込みます。 空文字列 "" を設定するとパラグラフモードとみなされ、 2 つ以上連続した改行が「行」の区切りになります。

$/ には正規表現は使えません。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-F

$; -> Regexp | String | nil
$-F -> Regexp | String | nil

String#split で引数を省略した場合の区切り文字です。

nilを設定すると特殊な分割を行います。 詳細は String#split を参照してください。

コマンドラインオプション -F を指定して Ruby を起動した場合、 初期値は -F で指定した値です。 それ以外の時には初期値は nil です。

Ruby 1.6 では $; には文字列しか代入できませんが、 Ruby 1.8 以降は任意のオブジェクトを代入できます。 ただし、String#split の仕様変更を考慮すると 常に正規表現を指定すべきです。

Ruby のバージョンによらず動作するプログラムを書くときは $; に頼らないコードを書くべきです。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-I

$: -> [String]
$LOAD_PATH -> [String]
$-I -> [String]

Rubyライブラリをロードするときの検索パスです。

Kernel.#load や Kernel.#require がファイルをロードする時に検索するディレクトリのリストを含む配列です。

起動時にはコマンドラインオプション -I で指定したディレクトリ、 環境変数 RUBYLIB の値、 コンパイル時に指定したデフォルト値、 "." (カレントディレクトリ) をこの順番で含みます。

以下に典型的な UNIX システム上でのロードパスを示します。

-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION        サイト固有、バージョン依存のライブラリ
/usr/local/lib/ruby/site_ruby/VERSION/ARCH   サイト固有、システム依存、拡張ライブラリ
/usr/local/lib/ruby/site_ruby                サイト固有ライブラリ
/usr/local/lib/ruby/VERSION                  標準ライブラリ
/usr/local/lib/ruby/VERSION/ARCH             標準、システム依存、拡張ライブラリ
.                                            カレントディレクトリ

上記表中の VERSION は Ruby のバージョンを表す文字列で、 「1.6」や「1.8」です。 ARCH はハードウェアと OS を表す文字列で、 「i686-linux」や「alpha-osf5.1」などです。 ARCH の値は Config::CONFIG['arch'] で得られます。

コンパイル時のデフォルトパスは 多くの UNIX システムでは "/usr/local/lib/ruby" です。 mswin32、mingw32、Cygwin、 bccwin32、mswince 環境では ruby.dll の位置からの相対で決まります。 DJGPP と emx (OS/2) では ruby.exe の位置からの相対で決まります。

-T オプションで起動時に $SAFE を 1 以上に 設定したときは "." (カレントディレクトリ) はロードパスに入りません。

require 'foo' を実行すると、 以下のように foo.rb と foo.so が交互に探索されます。

/usr/local/lib/ruby/site_ruby/VERSION/foo.rb
/usr/local/lib/ruby/site_ruby/VERSION/foo.so
/usr/local/lib/ruby/site_ruby/VERSION/ARCH/foo.rb
/usr/local/lib/ruby/site_ruby/VERSION/ARCH/foo.so
  :
  :

なお、共有ライブラリの拡張子が .so でないシステムでは 「.so」が適切な拡張子に変更されます。 例えば HP-UX では require 'foo.so' とすると foo.sl を検索します。 したがって Ruby で記述されたコードでは常に .so を使うべきです。

なお、ロードパスをコマンドラインから調べるには

$ ruby -e 'puts $:'

とします。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動, 環境変数


variable $-K

$KCODE -> String
$-K -> String

Ruby の認識するマルチバイト文字列エンコーディングです。 変数の値は "EUC" "SJIS" "UTF8" "NONE" のいずれかの文字列です。

$KCODE の値が "EUC" のときは文字列や正規表現の エンコーディングが EUC-JP であると仮定します。 同様に "SJIS" のときは Shift JIS を仮定します。 "UTF8" のときは UTF-8 を仮定します。 "NONE" のときはマルチバイト文字列を認識しません。

代入するときには値の最初の 1 バイトしか意味がなく、 また大文字小文字の違いも無視されます。すなわち、 "e" "E" は "EUC"、"s" "S" は "SJIS"、 "u" "U" は "UTF8"、"n" "N" は "NONE" に展開されます。

デフォルト値は "NONE" です。

[参考]

現在の実装では $KCODE は Ruby の以下の動作に影響します。

  • インタプリタの字句解析器
  • Regexp のエンコーディングフラグのデフォルト値
  • リテラル/正規表現リテラル
  • Regexp.new
  • String#upcase
  • String#downcase
  • String#swapcase
  • String#capitalize
  • String#inspect
  • String#split
  • String#gsub
  • String#scan

$KCODE はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-a

$-a -> bool

自動 split モードを表すフラグです。

コマンドラインオプション -a を使ったとき true に設定されます。 この変数には代入できません。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-d

$DEBUG -> bool
$-d -> bool

この値が真のときはインタプリタがデバッグモードになります。

コマンドラインオプション -d でセットされます。 スクリプトから代入することもできます。

デバッグモードでは、通常モードに比べて以下の違いがあります。

  • 通常時はいずれかのスレッドが例外によって終了しても 他のスレッドは実行を続けますが、デバッグモードでは いずれかのスレッドが例外によって終了した時に インタプリタ全体が中断されるようになります。 Thread.abort_on_exception を true にセットするのと同じ効果です。
  • Thread.abort_on_exception= の効果がなくなります。
  • 例外を捕捉しているかどうかに関係なく、 例外が発生した時点で $stderr にそれが出力されます。 スクリプトの処理は続行されます。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-i

$-i -> bool

in-place 置換モードで用いられます。

コマンドラインオプション -i を指定したとき、空文字列になります。 -i オプションに拡張子を渡した場合にはその拡張子が文字列として格納されます。

-i オプションが指定されていない時の値は nil です。

スクリプト内で $-i に代入することもでき、 その場合は Kernel::ARGV の次の ファイルを読み込み始めるタイミングで in-place 置換を開始します。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-l

$-l -> bool

コマンドラインオプション -l を指定したとき true に設定されます。 この変数には代入できません。

この変数はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $-p

$-p -> bool

コマンドラインオプション -p を指定したとき true に設定されます。 この変数には代入できません。

この変数はグローバルスコープです。


variable $-v

$VERBOSE -> bool | nil
$-v -> bool | nil
$-w -> bool | nil

冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。

警告レベルは三段階あり、それぞれ以下の通りです。

nil

警告を出力しない

false

重要な警告のみ出力 (デフォルト)

true

すべての警告を出力する

$VERBOSE に nil, false 以外を代入すると値は true になります。

$VERBOSE の値はコマンドラインオプション -W でも設定できます。 -W0 オプションで nil、 -W1 オプションで false、 -W2, -W オプションで true が設定されます。 -v オプションや -w オプションを指定した場合は true が設定されます。

$VERBOSE はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $.

$. -> Fixnum

いずれかの IO オブジェクトが最後に読んだ行の行番号です。 Kernel::ARGF などの IO 互換のオブジェクトも $. を更新します。

IO からの読み込みが起きるタイミングが予測不能であるような複雑なプログラムでは使用すべきではありません。特に、マルチスレッドプログラムではスレッド間で競合を起こす可能性があります。 そのような場合には、 IO#lineno を使用してください。

この変数はグローバルスコープです。 Ruby起動時の初期値は 0 です。


variable $<

$< -> IO

すべての引数または標準入力で構成される仮想ファイルです。 定数 Kernel::ARGF の別名です。

この変数はグローバルスコープ、読み取り専用です。


variable $=

$= -> bool

非推奨([[unknown:obsolete]]): この変数は将来のバージョンで削除される予定です。

パターンマッチや文字列の比較でアルファベットの大文字小文字を 区別するかどうかのフラグです。

過去との互換性のために残されています。Ruby 1.9 以降では意味を持たなくなります。また、将来のバージョンでは文法エラーになる可能性もあります。新規に作成するプログラムでは利用すべきでありません。 この変数はグローバルスコープです。


variable $>

$> -> object
$stdout -> object
$defout -> object

標準出力です。

組み込み関数 Kernel.#print、Kernel.#puts や Kernel.#p などのデフォルトの出力先となります。 初期値は Kernel::STDOUT です。 コマンドラインオプションオプション -i を指定した場合には 読み込み元と同じ名前のファイルを表します。

$stdout には $defout という別名がありますが、 $defout は非推奨([[unknown:obsolete]])になったので、 新しいコードでは常に $stdout を使ってください。

$stdout に代入するオブジェクトには write という名前のメソッドが定義されていなければいけません。

自プロセスの標準出力をリダイレクトしたいときには、 以下のように $stdout に代入すれば十分です。

# 標準出力の出力先を /tmp/foo に変更
$stdout = File.open("/tmp/foo", "w")
puts "foo"         # 出力する
$stdout = STDOUT   # 元に戻す

自プロセスだけでなく、子プロセスの標準出力もリダイレクトしたいときは 以下のように IO#reopen を使います。

STDOUT.reopen("/tmp/foo", "w")

また、リダイレクトしたあと 出力先をまた元に戻したい場合は以下のようにします。

stdout_old = $stdout.dup        # 元の $stdout を保存する
$stdout.reopen("/tmp/foo")      # $stdout を /tmp/foo にリダイレクトする
puts "foo"                      # /tmp/foo に出力
$stdout.flush                   # 念のためフラッシュする
$stdout.reopen stdout_old       # 元に戻す

$stdout はグローバルスコープです。

[SEE_ALSO] Rubyの起動


variable $?

$? -> Process::Status | nil

このスレッドで最後に終了した子プロセスのステータスです。

Process::Status オブジェクトが入っています。 子プロセスの終了時ステータスは Process::Status#exitstatus で得られます。

この変数はスレッドローカルで読み取り専用です。

[SEE_ALSO] Process.#wait


variable $\

$\ -> String | nil

出力レコード区切りを表す文字列です。 Kernel.#print が最後にこの文字列を出力します。

デフォルトは nil で、何も出力しません。

この変数はグローバルスコープです。


variable $~

$~ -> MatchData | nil

現在のスコープで最後に成功したマッチに関する MatchDataオブジェクトです。 Regexp.last_match の別名です。

このデータから n 番目のマッチ ($n) を取り出すためには $~[n] を使います。

この値に代入すると Regexp.last_match や、 $&, $1, $2, ... などの関連する組み込み変数の値が変化します。 MatchData オブジェクトでも nil でもない値を代入しようとすると TypeError が発生します。

この変数はローカルスコープかつスレッドローカルです。 Ruby起動時の初期値は nil です。

例

str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
  p $~[1]
end
#=> "http://example.com"


variable $!

$! -> Exception | nil

最後に例外が発生したときの Exception オブジェクトです。 該当する例外がないときは nil です。

Kernel.#raise によって設定されます。

この変数はスレッドローカルです。


variable $"

$" -> [String]
$LOADED_FEATURES -> [String]

Kernel.#require でロードされたファイル名を含む配列です。

Kernel.#require で同じファイルを 複数回ロードしないようにするためのロックとして使われます。

この変数はグローバルスコープです。


variable $$

$$ -> Fixnum

現在実行中の Ruby プロセスのプロセス ID です。 Process.#pid と同じです。

この変数はグローバルスコープです。


variable $&

$& -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。 最後のマッチが失敗していた場合には nil となります。

Regexp.last_match[0] と同じです。

この変数はローカルスコープかつスレッドローカル、読み取り専用です。 Ruby起動時の初期値は nil です。

例

str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
  p $&
end
#=> "<p><a href=\"http://example.com\">example.com</a></p>"


variable $'

$' -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より後ろの文字列です。 最後のマッチが失敗していた場合には nil となります。

Regexp.last_match.post_match と同じです。

この変数はローカルスコープかつスレッドローカル、読み取り専用です。 Ruby起動時の初期値は nil です。

例

str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
  p $'
end
#=> "</p>"


variable $@

$@ -> [String] | nil

最後に例外が発生した時のバックトレースを表す配列です。 Kernel.#raise によって設定されます。

配列の各要素はメソッドの呼び出し位置を示す文字列で形式は

"filename:line"

または

"filename:line:in `methodname'"

です。これは Kernel.#caller が返す値と同じ形式です。

$@ へ値を代入するときは、$! が nil であってはいけません。 $@ の値は、$!.backtrace の値と同じです。 また、$@ への代入は $!.set_backtrace 呼び出しと同じです。

文字列の配列でも nil でもない値を代入しようとすると、 TypeError 例外が発生します。

この変数はスレッドローカルです。


variable $`

$` -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした 部分より前の文字列です。 最後のマッチが失敗していた場合には nil となります。

Regexp.last_match.pre_match と同じです。

この変数はローカルスコープかつスレッドローカル、読み取り専用です。 Ruby起動時の初期値は nil です。

例

str = '<p><a href="http://example.com">example.com</a></p>'
if %r[<a href="(.*?)">(.*?)</a>] =~ str
  p $`
end
#=> "<p>"


variable $_

$_ -> String | nil

最後に Kernel.#gets または Kernel.#readline で読み込んだ文字列です。 EOF に達した場合には、 nil になります。 (覚え方: Perlと同じ)

Kernel.#print のような Perl 由来の幾つかのメソッドは、引数を省略すると代わりに $_ を利用します。

この変数はローカルスコープかつスレッドローカルです。 Ruby起動時の初期値は nil です。

[SEE_ALSO] Kernel.#print, Kernel.#gets, Kernel.#readline, Kernel::ARGF

例

example.txt:

foo
bar
baz

このとき、コマンド ruby -e 'print while gets' example.txt は次を出力します

foo
bar
baz

ただし、このプログラムは次のように書く方がよりRuby的です。

ARGF.each do |line|
  print line
end


variable $archdir

$archdir [added by mkmf]

マシン固有のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/バージョン/arch" です。


variable $deferr

$stderr -> object
$deferr -> object

標準エラー出力です。

Ruby インタプリタが出力するエラーメッセージや 警告メッセージ、Kernel.#warn の出力先となります。 初期値は Kernel::STDERR です。

$stderr には $deferr という別名がありますが、 $deferr は非推奨([[unknown:obsolete]])になったので、 新しいコードでは常に $stderr を使ってください。

$stderr に代入するオブジェクトには write という名前のメソッドが定義されていなければいけません。

自プロセスの標準エラー出力をリダイレクトしたいときには、 $stderr に代入すれば十分です。

# 標準エラー出力の出力先を /tmp/foo に変更
$stderr = File.open("/tmp/foo", "w")
puts "foo"         # 出力する
$stderr = STDERR   # 元に戻す

自プロセスだけでなく、子プロセスの標準エラー出力も リダイレクトしたいときは以下のように IO#reopen を使います。

$stderr.reopen("/tmp/foo", "w")

また、リダイレクトしたあと 出力先をまた元に戻したい場合は以下のようにします。

stderr_old = $stderr.dup        # 元の $stderr を保存する
$stderr.reopen("/tmp/foo")      # $stderr を /tmp/foo にリダイレクトする
puts "foo"                      # /tmp/foo に出力
$stderr.flush                   # 念のためフラッシュする
$stderr.reopen stderr_old       # 元に戻す

$stderr はグローバルスコープです。


variable $defs

$defs [added by mkmf]

拡張ライブラリをコンパイルするときのマクロ定義を指定する配列です。

この変数の値は、例えば

["-DHAVE_FUNC", "-DHAVE_HEADER_H"]

のような形式の配列です。

Kernel#have_func または Kernel#have_header を呼び出すと、その検査結果が $defs に追加されます。

Kernel#create_header はこの変数の値を参照してヘッダファイルを生成します。


variable $hdrdir

$hdrdir [added by mkmf]

Ruby のヘッダファイル ruby.h が存在するディレクトリです。 通常は $archdir と同じで、"/usr/local/lib/ruby/バージョン/arch" です。


variable $libdir

$libdir [added by mkmf]

Ruby のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/バージョン" です。


variable $libs

$libs [added by mkmf]

拡張ライブラリをリンクするときに 一緒にリンクされるライブラリを指定する文字列です。

この変数の値は、例えば

"-lfoo -lbar"

のような形式の文字列です。

Kernel#have_library または Kernel#find_library を呼び出すと、その検査結果が 間に空白をはさみつつ $libs に連結されます。


variable $sitearchdir

$sitearchdir [added by mkmf]

サイト固有でかつマシン固有のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/site_ruby/バージョン/arch" です。


variable $sitelibdir

$sitelibdir [added by mkmf]

サイト固有のライブラリを置くディレクトリです。 通常は "/usr/local/lib/ruby/site_ruby/バージョン" です。


Ruby 1.8.7 Reference Manual > All Libraries > library mkmf > module Kernel > $srcdir (private)

variable $srcdir

$srcdir [added by mkmf]

Ruby インタプリタを make したときのソースディレクトリです。


variable $stdin

$stdin -> object

標準入力です。

自プロセスの標準入力をリダイレクトしたいときは $stdin に代入すれば十分です。

# 標準入力の入力元 /tmp/foo に変更
$stdin = File.open("/tmp/foo", "w")
gets               # 入力する
$stdin = STDIN     # 元に戻す

ただし、Kernel.#gets など、特定の組み込みメソッドは $stdin オブジェクトにメソッドを転送して実装されています。 従って、Kernel.#gets などが正しく動作するには、 $stdin オブジェクトに代入したオブジェクトが以下のメソッドを 正しく実装していなければいけません。

gets, readline, readlines, getc, readchar, tell, seek,
pos=, rewind, fileno, to_io, eof, each_line, each_byte,
binmode, closed?

例:

$stdin = Object.new
def $stdin.gets
  "foo"
end
p gets()  # => "foo"

自プロセスだけでなく、子プロセスの標準入力もリダイレクトしたいときは 以下のように IO#reopen を使います。

$stdin.reopen("/tmp/foo")

また、リダイレクトしたあと 出力先をまた元に戻したい場合は以下のようにします。

stdin_old = $stdin.dup       # 元の $stdin を保存する
$stdout.reopen("/tmp/foo")   # $stdin を /tmp/foo にリダイレクトする
gets                         # /tmp/foo から入力
$stdin.reopen stdin_old      # 元に戻す

$stdin はグローバルスコープです。


variable $topdir

$topdir [added by mkmf]

拡張ライブラリを make するためのヘッダファイル、 ライブラリ等が存在するディレクトリです。 通常は $archdir と同じで、"/usr/local/lib/ruby/バージョン/arch" です。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/ludcmp > module LUSolve > ludecomp

instance method LUSolve#ludecomp

ludecomp(a, n, zero = 0, one = 1)


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/ludcmp > module LUSolve > lusolve

instance method LUSolve#lusolve

lusolve(a, b, ps, zero = 0.0)


instance method LocalJumpError#exit_value

exit_value -> object

例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。

例:

def foo
  proc { return 10 }
end

begin
  foo.call
rescue LocalJumpError => err
  p err              # => #<LocalJumpError: return from block-closure>
  p err.reason       # => :return
  p err.exit_value   # => 10
end

begin
  Block.new { break 5 }.call
rescue LocalJumpError => err
  p err              # => #<LocalJumpError: break from block-closure>
  p err.reason       # => :break
  p err.exit_value   # => 5
end


instance method LocalJumpError#reason

reason -> Symbol

例外を発生させた原因をシンボルで返します。

返す値は以下のいずれかです。

  • :break
  • :redo
  • :retry
  • :next
  • :return

例:

def foo
  proc { return 10 }
end

begin
  foo.call
rescue LocalJumpError => err
  p err              # => #<LocalJumpError: return from block-closure>
  p err.reason       # => :return
  p err.exit_value   # => 10
end

begin
  Block.new { break 5 }.call
rescue LocalJumpError => err
  p err              # => #<LocalJumpError: break from block-closure>
  p err.reason       # => :break
  p err.exit_value   # => 5
end


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > ProgName

constant Logger::ProgName

ProgName -> String

ログファイル作成時に使うプログラム名。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > SEV_LABEL

constant Logger::SEV_LABEL

SEV_LABEL -> Array

重要度のラベルを格納した配列。


instance method Logger#<<

self << msg -> Integer | nil

ログを出力します。

[PARAM] msg:
ログに出力するメッセージ。


instance method Logger#add

add(severity, message = nil, progname = nil) -> true
add(severity, message = nil, progname = nil) { ... } -> true
log(severity, message = nil, progname = nil) -> true
log(severity, message = nil, progname = nil) { ... } -> true

メッセージをログに記録します。

ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに記録します。 ユーザがこのメソッドを直接使うことはあまりありません。

[PARAM] severity:
重要度。Logger クラスで定義されている定数を指定します。 この値がレシーバーに設定されているレベルよりも低い場合、 メッセージは記録されません。
[PARAM] message:
ログに出力するメッセージを文字列か例外オブジェクトを指定します。 省略すると nil が用いられます。
[PARAM] progname:
ログメッセージと一緒に記録するプログラム名を指定します。 省略すると nil が使用されますが、実際には内部で保持されている値が使用されます。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > close

instance method Logger#close

close -> nil

ログ出力に使用していた IO オブジェクトを閉じます。


instance method Logger#datetime_format

datetime_format -> String

ログに記録する時の日付のフォーマットです。

デフォルトでは "%Y-%m-%dT%H:%M:%S.%06d "です。

[SEE_ALSO] Time#strftime, Logger#datetime_format=


instance method Logger#datetime_format=

datetime_format=(format)

ログに記録する時の日付のフォーマットをセットします。

[SEE_ALSO] Time#strftime, Logger#datetime_format


instance method Logger#debug

debug(progname = nil) -> true
debug(progname = nil) { ... } -> true

重要度がデバッグのメッセージを出力します。

現在の Logger の重要度が DEBUG よりも高い場合、メッセージは出力されません。

ブロックを与えなかった場合は、progname をメッセージとしてログを出力します。

ブロックを与えた場合は、ブロックを評価した結果をメッセージとして ログを出力します。

引数とブロックを同時に与えた場合は、progname をプログラム名、ブロックを評価した をメッセージとしてログを出力します。

[PARAM] progname:
ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。

例:

logger.debug "Waiting for input from user"
# ...
logger.debug { "User typed #{input}" }

logger.debug("MainApp") { "Received connection from #{ip}" }


instance method Logger#debug?

debug? -> bool

現在の Logger オブジェクトが DEBUG 以上の重要度のメッセージを記録するなら 真を返します。


instance method Logger#error

error(progname = nil) { ... } -> true
error(progname = nil) -> true

ERROR 情報を出力します。

[PARAM] progname:
ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。

[SEE_ALSO] Logger#debug


instance method Logger#error?

error? -> bool

現在の Logger オブジェクトが ERROR 以上の重要度のメッセージを記録するなら 真を返します。


instance method Logger#fatal

fatal(progname = nil) { ... } -> true
fatal(progname = nil) -> true

FATAL 情報を出力します。

[PARAM] progname:
ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。

[SEE_ALSO] Logger#debug


instance method Logger#fatal?

fatal? -> bool

現在の Logger オブジェクトが FATAL 以上の重要度のメッセージを記録するなら 真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > formatter

instance method Logger#formatter

formatter -> String

ログを出力する際のフォーマット文字列を取得します。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > formatter=

instance method Logger#formatter=

formatter=(formatter)

ログを出力際のフォーマット文字列をセットします。


instance method Logger#info

info(progname = nil) { ... } -> true
info(progname = nil) -> true

INFO 情報を出力します。

[PARAM] progname:
ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。

[SEE_ALSO] Logger#debug


instance method Logger#info?

info? -> bool

現在の Logger オブジェクトが INFO 以上の重要度のメッセージを記録するなら 真を返します。


instance method Logger#level

level -> Integer
sev_threshold -> Integer

レシーバにセットされているログレベルを取得します。


instance method Logger#level=

level=(level)
sev_threshold=(level)

Logger オブジェクトの重要度を設定します。重要度がこれより低いメッセージは 出力されません。

[PARAM] level:
重要度を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > progname

instance method Logger#progname

progname -> String

ログに出力するプログラム名を取得します。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger > progname=

instance method Logger#progname=

progname=(name)

ログに出力するプログラム名を設定します。


instance method Logger#unknown

unknown(progname = nil) { ... } -> true
unknown(progname = nil) -> true

UNKNOWN 情報を出力します。

[PARAM] progname:
ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。

[SEE_ALSO] Logger#debug


instance method Logger#warn

warn(progname = nil) { ... } -> true
warn(progname = nil) -> true

WARN 情報を出力します。

[PARAM] progname:
ブロックを与えない場合は、メッセージとして文字列または例外オブジェクト指定します。 ブロックを与えた場合は、プログラム名を文字列として与えます。

[SEE_ALSO] Logger#debug


instance method Logger#warn?

warn? -> bool

現在の Logger オブジェクトが WARN 以上の重要度のメッセージを記録するなら 真を返します。


singleton method Logger.new

new(logdev, shift_age = 0, shift_size = 1048576) -> Logger

Logger オブジェクトを生成する。

[PARAM] logdev:
ログを書き込むファイル名か、 IO オブジェクト(STDOUT, STDERR など)を指定します。
[PARAM] shift_age:
ログファイルを保持する数か、ログファイルを切り替える頻度を指定します。 頻度には daily, weekly, monthly を文字列で指定することができます。 省略すると、ログの保存先を切り替えません。
[PARAM] shift_size:
shift_age を整数で指定した場合のみ有効です。 このサイズでログファイルを切り替えます。

例:

logger = Logger.new(STDERR)
logger = Logger.new(STDOUT)
logger = Logger.new('logfile.log')

file = File.open('foo.log', File::WRONLY | File::APPEND)
logger = Logger.new(file, 'daily')


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger::Application > appname

instance method Logger::Application#appname

appname -> String

アプリケーション名を取得します。


instance method Logger::Application#level=

level=(level)

ログの重要度をセットします。

[PARAM] level:
ログの重要度。

[SEE_ALSO] Logger::Severity


instance method Logger::Application#log

log(severity, message = nil) -> true
log(severity, message = nil) { ... } -> true

メッセージをログに記録します。

ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに記録します。

[PARAM] severity:
重要度。Logger::Severity クラスで定義されている定数を指定します。 この値がレシーバーに設定されているレベルよりも低い場合、 メッセージは記録されません。
[PARAM] message:
ログに出力するメッセージを文字列か例外オブジェクトを指定します。 省略すると nil が用いられます。

[SEE_ALSO] Logger#add


instance method Logger::Application#log=

log=(logdev)

ログの出力先をセットします。

[PARAM] logdev:
ログファイル名か IO オブジェクトを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger::Application > logdev

instance method Logger::Application#logdev

logdev -> ()

このメソッドは使用されていません。


instance method Logger::Application#set_log

set_log(logdev, shift_age = 0, shift_size = 1024000) -> Integer

内部で使用する Logger のオブジェクトを初期化します。

[PARAM] logdev:
ログを書き込むファイル名か、 IO オブジェクト(STDOUT, STDERR など)を指定します。
[PARAM] shift_age:
ログファイルを保持する数か、ログファイルを切り替える頻度を指定します。 頻度には daily, weekly, monthly を文字列で指定することができます。 省略すると、ログの保存先を切り替えません。
[PARAM] shift_size:
shift_age を整数で指定した場合のみ有効です。 このサイズでログファイルを切り替えます。
[RETURN]
ログの重要度を返します。


instance method Logger::Application#start

start -> ()

アプリケーションをスタートさせます。

[RETURN]
run メソッドの返値を返します。
[EXCEPTION] RuntimeError:
サブクラスで run メソッドを定義していない場合に発生します。


singleton method Logger::Application.new

new(appname = nil) -> Logger::Application

このクラスを初期化します。

[PARAM] appname:
アプリケーション名を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger::Formatter > Format

constant Logger::Formatter::Format

Format -> String

フォーマット文字列。


instance method Logger::Formatter#call

call(severity, time, progname, msg) -> String

ログ情報をフォーマットして返します。

[PARAM] severity:
重要度。
[PARAM] time:
時間。Time クラスのオブジェクト。
[PARAM] progname:
プログラム名
[PARAM] msg:
メッセージ。


instance method Logger::Formatter#datetime_format

datetime_format -> String

ログの日付フォーマットを取得します。

[SEE_ALSO] Time#strftime


instance method Logger::Formatter#datetime_format=

datetime_format=(format)

ログの日付フォーマットをセットします。

[PARAM] format:
日付のフォーマット文字列。

[SEE_ALSO] Time#strftime


instance method Logger::LogDevice#close

close -> nil

出力先の IO オブジェクトを閉じます。

このメソッドは同期されます。

[SEE_ALSO] IO#close


Ruby 1.8.7 Reference Manual > All Libraries > library logger > class Logger::LogDevice > dev

instance method Logger::LogDevice#dev

dev -> IO

出力先の IO オブジェクトを取得します。


instance method Logger::LogDevice#filename

filename -> String | nil

出力先のファイル名を取得します。

出力先がファイルではない場合は nil を返します。


instance method Logger::LogDevice#write

write(message) -> Integer

出力先の IO オブジェクトにメッセージを書き込みます。

このメソッドは同期されます。

[SEE_ALSO] IO#write


singleton method Logger::LogDevice.new

new(log = nil, opt = {}) -> Logger::LogDevice

ログの出力先を初期化します。

[PARAM] log:
ログの出力先。IO オブジェクトを指定します。 省略すると nil が使用されますが、実行中に例外が発生します。
[PARAM] opt:
オプションをハッシュで指定します。 ハッシュのキーには :shift_age, :shift_size を指定します。 省略すると、それぞれ 7, 1048756 (1 MByte) が使用されます。

[SEE_ALSO] Logger.new


Ruby 1.8.7 Reference Manual > All Libraries > library logger > module Logger::Severity > DEBUG

constant Logger::Severity::DEBUG

DEBUG -> Integer

重要度:デバッグを表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > module Logger::Severity > ERROR

constant Logger::Severity::ERROR

ERROR -> Integer

重要度:エラーを表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > module Logger::Severity > FATAL

constant Logger::Severity::FATAL

FATAL -> Integer

重要度:致命的なエラーを表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > module Logger::Severity > INFO

constant Logger::Severity::INFO

INFO -> Integer

重要度:情報を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > module Logger::Severity > UNKNOWN

constant Logger::Severity::UNKNOWN

UNKNOWN -> Integer

重要度:不明なエラーを表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library logger > module Logger::Severity > WARN

constant Logger::Severity::WARN

WARN -> Integer

重要度:警告を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library md5 > class MD5 > md5

singleton method MD5.md5

md5(*args)

Digest::MD5.newの別名です。


instance method Mail#[]

self[field] -> String | nil

ヘッダの field の値を返します。 m.header[field.capitalize] と同じですので値取得の際は、 フィールド名のアルファベットの大小を気にする必要はありません。

[PARAM] field:
取得したいメールのヘッダフィールド名


Ruby 1.8.7 Reference Manual > All Libraries > library mailread > class Mail > body

instance method Mail#body

body -> [ String ]

本文の各行を要素とする Array を返します。


instance method Mail#header

header -> Hash

ヘッダを Hash で返します。

キーは 'From'、'Subject' などのフィールド名で、すべてのキーは String#capitalize されています。

値の末尾の改行は削除されます。 複数行に分かれている場合、間に改行をはさみます(継続行を表す空白は削除されます)。 MIME encoded-word のデコードなどを行いたい場合は nkf などを使用してください。


singleton method Mail.new

new(file)

メールを解析します。 file にはファイル名か IO オブジェクトを渡します。 このメソッドを実行した時点でヘッダと本文が切り分けられ、 ヘッダのハッシュ(ヘッダフィールド単位)と本文の配列(行単位)が作られます。

[PARAM] file:
ファイル名か IO オブジェクトを指定します。

1ファイル複数メールの形式(Unix mbox 形式)に対応しています (この場合 open 済みの IO を渡す必要があることに注意)。 例えば以下のようにして各メールの Subject を表示できます。

例:

require 'mailread'
require 'nkf'

mailbox = File.open('/var/mail/foo')
until (m = Mail.new(mailbox)).header.empty?
  puts NKF.nkf('-me', m['subject'])
end


constant Marshal::MAJOR_VERSION

MAJOR_VERSION -> Fixnum
MINOR_VERSION -> Fixnum

Marshal.#dump が出力するデータフォーマットのバージョン番号です。

Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな マーシャルデータを読み込んだとき例外 TypeError を発生させます。

マイナーバージョンが古いだけのフォーマットは読み込み可能ですが、 $VERBOSE = true のときには警告メッセージが出力されます

マーシャルされたデータのバージョン番号は以下のようにして取得するこ とができます。

obj = Object.new
major, minor = Marshal.dump(obj).unpack("cc")
p [major, minor]


module function Marshal.#dump

dump(obj, port = '', limit = -1) -> IO | String

obj を指定された出力先に再帰的に出力します。

ファイルに書き出せないオブジェクトをファイルに書き出そうとすると 例外 TypeError が発生します。 ファイルに書き出せないオブジェクトは以下の通りです。

  • 名前のついてない Class/Module オブジェクト。(この場 合は、例外 ArgumentError が発生します。無名クラスについて は、Module.new を参照。)
  • システムがオブジェクトの状態を保持するもの。具体的には以下のイン スタンス。Dir, File::Stat, IO とそのサブクラス File, Socket など。
  • MatchData, Data, Method, UnboundMethod, Proc, Thread, ThreadGroup, Continuation のインスタンス。
  • 特異メソッドを定義したオブジェクト

また、これらのオブジェクトを間接的に指すオブジェクトなども書き出せ ません。例えば、デフォルト値を求めるブロックを持った Hash は Proc を間接的に指していることになります。

p Marshal.dump(Hash.new {})
=> -:1:in `dump': cannot dump hash with default proc (TypeError)

マーシャルの動作を任意に定義することもできます。

[PARAM] obj:
ダンプする対象のオブジェクトを指定します。
[PARAM] port:
IO かそのサブクラスのインスタンスを指定します。
[PARAM] limit:
指定した場合、limit 段以上深くリンクしたオブジェクトを ダンプできません。負の limit を指定すると深さチェックを行いません。 デフォルトは -1 です。
[RETURN]
port を省略すると、obj をダンプした String を返します。 port を指定すると port を返します。
[EXCEPTION] TypeError:
ファイルに書き出せないオブジェクトをファイルに 書きだそうとした場合に発生します。
[EXCEPTION] ArgumentError:
名前の付いていない Class や Module オブジェクトをダンプしようとした場合に発生します。
[EXCEPTION] ArgumentError:
limit 段以上深くリンクしたオブジェクトをダンプしようと した場合に発生します。

[SEE_ALSO] Object#marshal_dump, Object#marshal_load


module function Marshal.#load

load(port, proc = nil) -> object
restore(port, proc = nil) -> object

port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。

proc として手続きオブジェクトが与えられた場合には読み込んだ オブジェクトを引数にその手続きを呼び出します。

str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})

=> "a"
   1
   10000000000
   1.0
   :foo
   ["a", 1, 10000000000, 1.0, :foo]
   ["a", 1, 10000000000, 1.0, :foo]
[PARAM] port:
String か IO (またはそのサブクラス)の インスタンスを指定します。
[PARAM] proc:
手続きオブジェクト。Proc
[EXCEPTION] TypeError:
メジャーバージョンが異なるか、バージョンの大きな マーシャルデータを読み込んだ場合に発生します。


instance method MatchData#[]

self[n] -> String | nil

n 番目の部分文字列を返します。

0 はマッチ全体を意味します。 n の値が負の時には末尾からのインデックスと見倣します(末尾の 要素が -1 番目)。n 番目の要素が存在しない時には nil を返します。

[PARAM] n:
返す部分文字列のインデックスを指定します。
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a       # => ["foobar", "foo", "bar", nil]
p $~[0]         # => "foobar"
p $~[1]         # => "foo"
p $~[2]         # => "bar"
p $~[3]         # => nil        (マッチしていない)
p $~[4]         # => nil        (範囲外)
p $~[-2]        # => "bar"
self[range] -> [String]

Range オブジェクト range の範囲にある要素からなる部分配列を返します。

[PARAM] range:
start..end 範囲式。
/(foo)(bar)/ =~ "foobarbaz"
p $~[0..2]      # => ["foobar", "foo", "bar"]
self[start, length] -> [String]

start 番目から length 個の要素を含む部分配列を返します。

/(foo)(bar)/ =~ "foobarbaz"
p $~[0, 3]      # => ["foobar", "foo", "bar"]

[SEE_ALSO] Array#[]


instance method MatchData#begin

begin(n) -> Fixnum | nil

n 番目の部分文字列先頭のオフセットを返します。

0 はマッチ全体を意味します。 n 番目の部分文字列がマッチしていなければ nilを返します。

[PARAM] n:
部分文字列を指定する数値。
[EXCEPTION] IndexError:
範囲外の n を指定した場合に発生します。
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.begin(0)   # => 0
p $~.begin(1)   # => 0
p $~.begin(2)   # => 3
p $~.begin(3)   # => nil
p $~.begin(4)   # => `begin': index 4 out of matches (IndexError)

[SEE_ALSO] MatchData#end


instance method MatchData#captures

captures -> [String]

$1, $2, ... を格納した配列を返します。

MatchData#to_a と異なり $& を要素に含みません。 グループにマッチした部分文字列がなければ対応する要素は nil になります。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a       # => ["foobar", "foo", "bar", nil]
p $~.captures       # => ["foo", "bar", nil]

[SEE_ALSO] MatchData#to_a


instance method MatchData#end

end(n) -> Fixnum | nil

n 番目の部分文字列終端のオフセットを返します。

0 はマッチ全体を意味します。 n 番目の部分文字列がマッチしていなければ nil を返します。

[PARAM] n:
部分文字列を指定する数値。
[EXCEPTION] IndexError:
範囲外の n を指定した場合に発生します。
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.end(0)   # => 6
p $~.end(1)   # => 3
p $~.end(2)   # => 6
p $~.end(3)   # => nil
p $~.end(4)   # => `end': index 4 out of matches (IndexError)

[SEE_ALSO] MatchData#begin


instance method MatchData#length

length -> Fixnum
size -> Fixnum

部分文字列の数を返します(self.to_a.size と同じです)。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.size       # => 4


instance method MatchData#offset

offset(n) -> [Fixnum]

n 番目の部分文字列のオフセットの配列 [start, end] を返 します。

[ self.begin(n), self.end(n) ]

と同じです。n番目の部分文字列がマッチしていなければ [nil, nil] を返します。

[PARAM] n:
部分文字列を指定する数値
[EXCEPTION] IndexError:
範囲外の n を指定した場合に発生します。

[SEE_ALSO] MatchData#begin, MatchData#end


instance method MatchData#post_match

post_match -> String

マッチした部分より後ろの文字列を返します($'と同じ)。

/(bar)(BAZ)?/ =~ "foobarbaz"
p $~.post_match # => "baz"


instance method MatchData#pre_match

pre_match -> String

マッチした部分より前の文字列を返します($`と同じ)。

/(bar)(BAZ)?/ =~ "foobarbaz"
p $~.pre_match  # => "foo"


instance method MatchData#select

select {|s| ... } -> [String]

各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。

self.to_a.select { ... } と同じです。

m = /(.)(.)(\d+)(\d)/.match("THX1138: The Movie")
p m.select{|x| /X/ =~ x}   #=> ["HX1138", "X"]


instance method MatchData#string

string -> String

マッチ対象になった文字列の複製を返します。

返す文字列はフリーズ(Object#freeze)されています。


instance method MatchData#to_a

to_a -> [String]

$&, $1, $2,... を格納した配列を返します。

/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.to_a       # => ["foobar", "foo", "bar", nil]

[SEE_ALSO] MatchData#captures


instance method MatchData#to_s

to_s -> String

マッチした文字列全体を返します。

/bar/ =~ "foobarbaz"
p $~            # => #<MatchData:0x401b1be4>
p $~.to_s       # => "bar"


instance method MatchData#values_at

values_at(*index) -> [String]

正規表現中の n 番目の括弧にマッチした部分文字列の配列を返します。

0 番目は $& のようにマッチした文字列全体を表します。

[PARAM] index:
インデックスを整数で 0 個以上指定します。
m = /(foo)(bar)(baz)/.match("foobarbaz")
# same as m.to_a.values_at(...)
p m.values_at(0, 1, 2, 3, 4)      #=> ["foobarbaz", "foo", "bar", "baz", nil]
p m.values_at(-1, -2, -3, -4, -5) #=> ["baz", "bar", "foo", nil, nil]

[SEE_ALSO] Array#values_at, Array#[]


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Math > E

constant Math::E

E -> Float

自然対数の底

p Math::E
# => 2.718281828


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Math > PI

constant Math::PI

PI -> Float

円周率

p Math::PI
# => 3.141592654


module function Math.#acos

acos(x) -> Float

x の逆余弦関数の値をラジアンで返します。

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は [0, +π] です。
[EXCEPTION] Errno::EDOM:
引数に範囲外の値を指定した場合に発生します
acos(z) -> Complex [redefined by complex]

複素関数としてのacos関数(逆cos関数)の結果を返します。

acos関数は以下で定義されます。

acos(z) = -i * log(z + i*sqrt(1-z*z))
[PARAM] z:
複素数


module function Math.#acosh

acosh(x) -> Float

x の逆双曲線余弦関数の値を返します。

定義

acosh(x) = log(x + sqrt(x * x - 1)) [x >= 1]
[PARAM] x:
x >= 1 の範囲の実数
[EXCEPTION] Errno::EDOM:
範囲外の値を引数に指定した場合に発生します
acosh(z) -> Complex [redefined by complex]

複素関数としてのacosh関数(双曲逆cos関数)の結果を返します。

acosh関数は以下で定義されます。

acosh(z) = log(z + sqrt(z*z-1))
[PARAM] z:
複素数


module function Math.#asin

asin(x) -> Float

x の逆正弦関数の値をラジアンで返します。

[PARAM] x:
-1.0 <= x <= 1 の範囲内の実数
[RETURN]
返される値の範囲は[-π/2, +π/2] です。
[EXCEPTION] Errno::EDOM:
引数に範囲外の値を指定した場合に発生します
asin(z) -> Complex [redefined by complex]

複素関数としてのasin関数(逆sin関数)の結果を返します。

asin関数は以下で定義されます。

asin(z) = -i * log(i*z + sqrt(1-z*z))
[PARAM] z:
複素数


module function Math.#asinh

asinh(x) -> Float

x の逆双曲線正弦関数の値を返します。

定義

asinh(x) = log(x + sqrt(x * x + 1))
[PARAM] x:
実数
asinh(z) -> Complex [redefined by complex]

複素関数としてのasinh関数(双曲逆sin関数)の結果を返します。

asinh関数は以下で定義されます。

asinh(z) = log(z + sqrt(z*z+1))
[PARAM] z:
複素数


module function Math.#atan

atan(x) -> Float

x の逆正接関数の値をラジアンで返します。

[PARAM] x:
実数
[RETURN]
返される値の範囲は [-π/2, +π/2] です。
atan(z) -> Complex [redefined by complex]

複素関数としてのatan関数(逆tan関数)の結果を返します。

atan関数は以下で定義されます。

atan(z) = i/2 * log((i+z) / (i-z))
[PARAM] z:
複素数


module function Math.#atan2

atan2(x, y) -> Float

x / y の逆正接関数の値を返します。

[PARAM] x:
実数
[PARAM] y:
実数
[RETURN]
返される値の範囲は [-π/2, π/2] です。
Math.atan2(1,0)   #=>  1.5707963267949
Math.atan2(-1,0)  #=> -1.5707963267949
atan2(z) -> Complex [redefined by complex]

複素関数としてのatan2関数の結果を返します。

atan2関数は以下で定義されます。

atan2(y, x) = -i * log( (x + i * y) / sqrt( x*x + y*y ) )
[PARAM] z:
複素数


module function Math.#atanh

atanh(x) -> Float

x の逆双曲線正接関数の値を返します。

定義

atanh(x) = log((1+x)/(1-x)) / 2     [-1 < x < 1]
[PARAM] x:
-1 < x < 1 の実数
[RETURN]
実数
[EXCEPTION] Errno::EDOM:
範囲外の値を引数に指定した場合に発生します
atanh(z) -> Complex [redefined by complex]

複素関数としてのatanh関数(双曲逆tan関数)の結果を返します。

atanh関数は以下で定義されます。

atanh(z) = 1/2 * log((1+z) / (1-z))
[PARAM] z:
複素数


module function Math.#cos

cos(x) -> Float

x の余弦関数の値をラジアンで返します

[PARAM] x:
実数
[RETURN]
[-1, 1] の実数
cos(z) -> Complex [redefined by complex]

複素関数としてのcos関数の結果を返します。

cos関数は以下で定義されます。

cos(z)  = (exp(i * z) + exp(-i * z)) / 2
[PARAM] z:
複素数


module function Math.#cosh

cosh(x) -> Float

x の双曲線余弦関数の値を返します

定義

cosh(x) = (exp(x) + exp(-x)) / 2
[PARAM] x:
実数
cosh(z) -> Complex [redefined by complex]

複素関数としてのcosh関数(双曲線cos関数)の結果を返します。

cosh関数は以下で定義されます。

cosh(z) = (exp(z) + exp(-z)) / 2
[PARAM] z:
複素数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Math > erf

module function Math.#erf

erf(x) -> Float

x の誤差関数の値を返します。

[PARAM] x:
実数


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Math > erfc

module function Math.#erfc

erfc(x) -> Float

x の相補誤差関数の値を返します。

[PARAM] x:
実数


module function Math.#exp

exp(x) -> Float

x の指数関数の値を返します。

すなわち e の x 乗の値を返します( e は自然対数の底)。

[PARAM] x:
実数

[SEE_ALSO] exp(3)

exp(z) -> Complex [redefined by complex]

指数関数(自然対数 e の z 乗)を返します。

複素数 z = a + b *i に対する exp(z) の定義は以下です。

exp(z)  = exp(a) * exp(i * b)
[PARAM] z:
複素数

注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.exp(n) #=> 7.38905609893065
p Math.exp(z) #=> Complex(7.38905609893065, 0.0)


module function Math.#frexp

frexp(x) -> [Float, Fixnum]

実数 x の仮数部と指数部の配列を返します。

[PARAM] x:
実数


module function Math.#hypot

hypot(x, y) -> Float

sqrt(x*x + y*y) を返します。

[PARAM] x:
実数
[PARAM] y:
実数


module function Math.#ldexp

ldexp(x, exp) -> Float

実数 x に 2 の exp 乗をかけた数を返します。

[PARAM] x:
実数
[PARAM] exp:
整数。小数点以下切捨て。


module function Math.#log

log(x) -> Float

x の自然対数を返します。

[PARAM] x:
正の実数
[EXCEPTION] Errno::EDOM:
引数が負の値である場合に発生します
[EXCEPTION] Errno::ERANGE:
引数が 0 の場合に発生します
log(z) -> Complex [redefined by complex]

複素数 z の自然対数を返します。

絶対値 r 偏角 theta の複素数 z に対する log(z) は以下で定義されます。

log(z)  = log(r) + i * theta
[PARAM] z:
複素数

注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.log(n) #=> 0.693147180559945
p Math.log(z) #=> Complex(0.693147180559945, 0.0)


module function Math.#log10

log10(x) -> Float

x の常用対数を返します。

[PARAM] x:
正の実数
[EXCEPTION] Errno::EDOM:
引数が負の値である場合に発生します
[EXCEPTION] Errno::ERANGE:
引数が 0 の場合に発生します
log10(z) -> Complex [redefined by complex]

複素数 z の常用対数を返します。

複素数 z に対する log10(z) は以下で定義されます。

log10(z)  = log(z) / log(10)
[PARAM] z:
複素数

注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.log10(n) #=> 0.301029995663981
p Math.log10(z) #=> Complex(0.301029995663981, 0.0)


module function Math.#rsqrt

rsqrt(a) -> Numeric [redefined by mathn]

複素数を考慮しないので、負の数や Complex をあたえないでください。

a が Float の時は、Float を返します。 それ以外の時、平方根が有理数であれば、Rational または Integer を返します。 無理数であれば、Float を返します。


module function Math.#sin

sin(x) -> Float

x の正弦関数の値をラジアンで返します

[PARAM] x:
実数
[RETURN]
[-1, 1] の実数
sin(z) -> Complex [redefined by complex]

複素関数としてのsin関数の結果を返します。

sin関数は以下で定義されます。

sin(z)  = (exp(i * z) - exp(-i * z)) / 2
[PARAM] z:
複素数


module function Math.#sinh

sinh(x) -> Float

x の双曲線正弦関数の値を返します

定義

sinh(x) = (exp(x) - exp(-x)) / 2
[PARAM] x:
実数
sinh(z) -> Complex [redefined by complex]

複素関数としてのsinh関数(双曲線sin関数)の結果を返します。

sinh関数は以下で定義されます。

sinh(z) = (exp(z) - exp(-z)) / 2
[PARAM] z:
複素数


module function Math.#sqrt

sqrt(x) -> Float

x の平方根を返します。

[PARAM] x:
正の実数
[EXCEPTION] Errno::EDOM:
引数が負の値である場合に発生します。
sqrt(a) -> Numeric [redefined by mathn]

a の正の平方根を返します。 a が Complex の時は、Complex を返します。 a が負の時は、a を正にして、その平方根を Complex の虚数部に入れて返します。 それ以外は、Math.rsqrt の結果を返します。

sqrt(z) -> Complex [redefined by complex]

z の平方根を返します。

複素関数としてのsqrt()の定義は以下です。

sqrt(z) = sqrt(r) * exp(i * t/2)
[PARAM] z:
平方根を求める複素数

注意

虚部が 0 でも Complex クラスのオブジェクトであれば Complex クラスのオブジェクトを返すことに注意してください。

n = 2
z = Complex.new(2, 0)

p Math.sqrt(n) #=> 1.4142135623731
p Math.sqrt(z) #=> Complex(1.4142135623731, 0.0)


module function Math.#tan

tan(x) -> Float

x の正接関数の値をラジアンで返します

[PARAM] x:
実数
[RETURN]
実数
tan(z) -> Complex [redefined by complex]

複素関数としてのtan関数の結果を返します。

tan関数は以下で定義されます。

tan(z)  = sin(z) / cos(z)
[PARAM] z:
複素数


module function Math.#tanh

tanh(x) -> Float

x の双曲線正接関数の値を返します

定義

tanh(x) = sinh(x) / cosh(x)
[PARAM] x:
実数
[RETURN]
[-1, 1] の範囲の実数
tanh(z) -> Complex [redefined by complex]

複素関数としてのtanh関数(双曲線tan関数)の結果を返します。

tanh関数は以下で定義されます。

tanh(z) = sinh(z) / cosh(z)
[PARAM] z:
複素数


instance method Matrix#*

self * m -> Matrix

行列mを右から乗じた行列を返します。

[PARAM] m:
右から乗算する行列。乗算が定義可能な行列を渡します。


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > **

instance method Matrix#**

self ** n -> Matrix

self の n乗をした行列を返します。

[PARAM] n:
べき数の指定


instance method Matrix#+

self + m -> Matrix

行列mを加算した行列を返します。

[PARAM] m:
加算する行列。加算可能な行列を渡します。


instance method Matrix#-

self - m -> Matrix

行列mを減算した行列を返します。

[PARAM] m:
減算する行列。減算可能な行列を渡します。


instance method Matrix#/

self / m -> Matrix

行列mの逆行列を右から乗じた行列を返します。

[PARAM] m:
逆行列を右から乗算する行列。可逆行列でselfと乗算可能な行列を渡します。


instance method Matrix#==

self == other -> bool
eql?(other) -> bool

自分自身と other を比較し、同値であれば真(true)を返します。


instance method Matrix#[]

self[i, j] -> ()

(i,j)要素を返します。

[PARAM] i:
要素の行成分を0オリジンで指定します。
[PARAM] j:
要素の列成分を0オリジンで指定します。

注意

行成分にMatrix#row_sizeより大きな値を指定した場合には例外が発生します。 列成分にMatrix#column_sizeより大きな値を指定した場合にはnilを返します。

例:

a1 = [1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, 2, 1.5]
m = Matrix[a1, a2, a3]

p m[0, 0] #=> 1
p m[1, 1] #=> 15
p m[1, 2] #=> 20
p m[1, 3] #=> nil


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > clone

instance method Matrix#clone

clone -> Matrix

自分自身のコピーを返します。


instance method Matrix#coerce

coerce(other) -> Array

他の数値オブジェクトとの変換を行います。

他の数値オブジェクトをMatrix::Scalarのオブジェクトに変換し、selfとの組を配列として返します。

[PARAM] other:
変換する数値オブジェクト

例:

a1 = [1, 2]
a2 = [-1.25, 2.2]
m = Matrix[a1, a2]
r = Rational(1, 2)
p m.coerce(r) #=> [#<Matrix::Scalar:0x832df18 @value=(1/2)>, Matrix[[1, 2], [-1.25, 2.2]]]


instance method Matrix#collect

collect {|x| ... } -> Matrix
map {|x| ... } -> Matrix

行列の各要素に対してブロックの適用を繰り返した結果を、要素として持つ行列を生成します。

例:

a1 = [ 1,  2,   3]
a2 = [10, 15,  20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]

# 行列mのすべての要素に100を加える。
p m.collect { |x|
  x + 100
} #=> Matrix[[101, 102, 103], [110, 115, 120], [99, 98, 101.5]]


instance method Matrix#column

column(j) -> Vector
column(j) {|x| ... } -> nil

第j番目の列ベクトルを返します。

selfのj列目を列ベクトルとして返します。 ブロックが与えられたときは、各列ベクトルの要素についてブロックを繰り返します。

[PARAM] j:
列ベクトルの位置を指定します。

注意

引数jは0オリジンで指定することに注意してください。

例:

a1 = [ 1,  2,   3]
a2 = [10, 15,  20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]

p m.column(1) #=> Vector[2, 15, -2]

cnt = 0
m.column(0) { |x|
  cnt = cnt + x
}
p cnt #=> 24.5


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > column_size

instance method Matrix#column_size

column_size -> Fixnum

列の大きさを返します。


instance method Matrix#column_vectors

column_vectors -> Array

自分自身を列ベクトルの配列として返します。

例:

a1 = [ 1,  2,  3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]

p m.row_vectors #=> [Vector[1, 10, -1], Vector[2, 15, -2], Vector[3, 20, 1.5]]


instance method Matrix#compare_by_row_vectors

compare_by_row_vectors(rows) -> bool

自分自身(Matrix)を配列の配列(Array)とみなして引数rowsと比較します。

[PARAM] rows:
比較対象の配列の配列
[RETURN]
selfを配列の配列とみなしたときに引数rowと等しい時にtrue, それ以外にはfalseを返します。

例:

a1 = [1, 2]
a2 = [-1.25, 2.2]
m = Matrix[a1, a2] # 行列
rows = Array[a1, a2] # 配列の配列
p m.compare_by_row_vectors(rows) #=> true


instance method Matrix#det

determinant -> Fixnum | Float
det -> Fixnum | Float

行列式 (determinant) を返します。

行列式 (determinant) の値を返します。 self が正方行列ではない場合は0を返します。

注意

全ての要素が整数である場合、正しい答を返さないかも知れません。 その場合は mathn を require して下さい。

p Matrix[[2, 1], [-1, 2]].det #=> 6

p Matrix[[2.0, 1.0], [-1.0, 2.0]].det #=> 5.0

require 'mathn'
p Matrix[[2, 1], [-1, 2]].det #=> 5


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > hash

instance method Matrix#hash

hash -> Fixnum

行列のHash値を返します。


instance method Matrix#inspect

inspect -> String

自分自身を見やすい形式に文字列化し、その文字列を返します。

例:

a1 = [1, 2]
a2 = [3, 4.5]
m = Matrix[a1, a2]

p m.to_s #=> "Matrix[[1, 2], [3, 4.5]]"


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > inv

instance method Matrix#inv

inverse -> Matrix
inv -> Matrix

逆行列を返します。


instance method Matrix#inverse_from

inverse_from(src) -> Matrix

行列1次方程式の解(の行列)を返します。

行列1次方程式の解(の行列)を返します。 行列の関として src * X = self となるような行列Xを返します。 srcが正則行列ではないでは場合には、ExceptionForMatrix::ErrNotRegularの例外が発生します。

注意

inverse_fromメソッドは破壊的なメソッドです。

例:

a1 = [1, 2]
a2 = [3, 4.5]
m = Matrix[a1, a2]

b1 = [1, 0]
b2 = [-1, 1]
n = Matrix[b1, b2]

p x = m.inverse_from(n) #=> Matrix[[1, 2.0], [4, 6.5]]
p m #=> Matrix[[1, 2.0], [4, 6.5]]
p n * x #=> Matrix[[1, 2.0], [3, 4.5]]


instance method Matrix#minor

minor(from_row, row_size, from_col, col_size) -> Matrix
minor(from_row..to_row, from_col..to_col) -> Matrix

selfの部分行列を返します。

自分自身の部分行列を返します。 ただし、パラメータは次の方法で指定します。

  1. 開始行番号, 行の大きさ, 開始列番号, 列の大きさ
  2. 開始行番号..終了行番号, 開始列番号..終了列番号
[PARAM] from_row:
部分行列の開始行(0オリジンで指定)
[PARAM] row_size:
部分行列の行サイズ
[PARAM] from_col:
部分行列の開始列(0オリジンで指定)
[PARAM] col_size:
部分行列の列サイズ

例:

a1 = [ 1,  2,  3,  4,  5]
a2 = [11, 12, 13, 14, 15]
a3 = [21, 22, 23, 24, 25]
a4 = [31, 32, 33, 34, 35]
a5 = [51, 52, 53, 54, 55]
m = Matrix[a1, a2, a3, a4, a5]

p m.minor(0, 2, 1, 2) #=> Matrix[[2, 3], [12, 13]]


instance method Matrix#rank

rank -> Fixnum

階数 (rank) を返します。

selfの行列の階数(rank)を返します。 行列の成分がFloatの場合は正しい値を返さない場合があります。 その場合は行列成分にRationalを使用してください。


instance method Matrix#regular?

regular? -> bool

正則(regular)なら真(true)を返します。

行列が正則であるとは、正方行列であり、かつ、その逆行列が存在することです。

例:

a1 = [ 1,  2,  3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]
p m.regular? #=> true

a1 = [ 1,  2,  3]
a2 = [10, 15, 20]
a3 = [-1, -2, -3]
m = Matrix[a1, a2, a3]
p m.regular? #=> false

a1 = [ 1,  2,  3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
a4 = [1, 1, 1]
m = Matrix[a1, a2, a3, a4]
p m.regular? #=> false


instance method Matrix#row

row(i) -> Vector
row(i) {|x| ... } -> nil

第i番目の行ベクトルを返します。

selfのi行目を行ベクトルとして返します。 ブロックが与えられたときは、各行ベクトルの要素についてブロックを繰り返します。

[PARAM] i:
行ベクトルの位置を指定します。

注意

引数iは0オリジンで指定することに注意してください。

例:

a1 = [1, 2, 3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]

p m.row(1) #=> Vector[10, 15, 20]

cnt = 0
m.row(0) { |x|
  cnt = cnt + x
}
p cnt #=> 6


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > row_size

instance method Matrix#row_size

row_size -> Fixnum

行の大きさを返します。


instance method Matrix#row_vectors

row_vectors -> Array

自分自身を行ベクトルの配列として返します。

例:

a1 = [ 1,  2,  3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]

p m.row_vectors #=> [Vector[1, 2, 3], Vector[10, 15, 20], Vector[-1, -2, 1.5]]


instance method Matrix#singular?

singular? -> bool

特異(singular)なら真(true)を返します。

行列が特異(singular)であるとは、正則でないことです。


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Matrix > square?

instance method Matrix#square?

square? -> bool

正方行列であるなら、真を返します。


instance method Matrix#t

transpose -> Matrix
t -> Matrix

転置行列 (transpose matrix) を返します。

self をMatrixのオブジェクトで、(m,n)型行列としたとき a(j,i) を (i,j) 要素とする (n,m) 型行列を返します。


instance method Matrix#to_a

to_a -> Array

自分自身をArrayに変換したものを返します。

行ベクトルを配列(Array)としたものの配列(つまり配列の配列)として返します。

例:

a1 = [ 1,  2,  3]
a2 = [10, 15, 20]
a3 = [-1, -2, 1.5]
m = Matrix[a1, a2, a3]

p m.to_a #=> [[1, 2, 3], [10, 15, 20], [-1, -2, 1.5]]


instance method Matrix#to_s

to_s -> String

行列を文字列化し、その文字列を返します。

例:

a1 = [1, 2]
a2 = [3, 4.5]
m = Matrix[a1, a2]

p m.to_s #=> "Matrix[[1, 2], [3, 4.5]]"


instance method Matrix#tr

trace -> Fixnum | Float | Rational
tr -> Fixnum | Float | Rational

トレース (trace) を返します。

行列のトレース (trace) とは、対角要素の和です。

例:

Matrix[[7,6], [3,9]].trace #=> 16


singleton method Matrix.I

identity(n) -> Matrix
unit(n) -> Matrix
I(n) -> Matrix

n次の単位行列を生成します。

[PARAM] n:
単位行列の次元

単位行列とは、対角要素が全て1で非対角要素が全て0であるような行列のことです。


singleton method Matrix.[]

self[rows] -> Matrix

rowsを要素とする行列を生成します。 配列を行列の行成分として行列を生成します。

[PARAM] rows:
行列の要素を配列の配列として渡します。

例:

m = Matrix[[11, 12], [21, 22]]
p m  #=> Matrix[[11, 12], [21, 22]]
     #   [11, 12]
     #   [21, 22]


singleton method Matrix.column_vector

column_vector(column) -> Matrix

要素がcolumnの(n,1)型の行列(列ベクトル)を生成します。

[PARAM] column:
(n,1)型の行列として生成するVector Array オブジェクト


singleton method Matrix.columns

columns(columns) -> Matrix

引数 columns を列ベクトルの集合とする行列を生成します。

[PARAM] columns:
配列の配列を渡します。

注意

Matrix.rows との違いは引数として渡す配列の配列を列ベクトルの配列とみなして行列を生成します。

例:

require 'matrix'

a1 = [1, 2, 3]
a2 = [4, 5, 6]
a3 = [-1, -2, -3]

# 配列を行ベクトルとして生成
m = Matrix.rows([a1, a2, a3], true)
p m #=> Matrix[[1, 2, 3], [4, 5, 6], [-1, -2, -3]]
    # 行列としてのイメージ =>  [ 1,  2,  3]
    #                          [ 4,  5,  6]
    #                          [-1, -2, -3]

# 配列を列ベクトルとして生成
m = Matrix.columns([a1, a2, a3])
p m #=> Matrix[[1, 4, -1], [2, 5, -2], [3, 6, -3]]
    # 行列としてのイメージ =>  [1, 4, -1]
    #                          [2, 5, -2]
    #                          [3, 6, -3]


singleton method Matrix.diagonal

diagonal(values) -> Matrix

対角要素がvalues(オブジェクトの並び)で、非対角要素が全て0であるような 正方行列を生成します。

[PARAM] values:
行列の対角要素とするオブジェクトを指定します。

注意

valuesに一次元Arrayを1個指定すると、そのArrayを唯一の要素とした1×1の行列が生成されます。

例:

require 'matrix'

m = Matrix.diagonal(1, 2, 3)
p m # => Matrix[[1, 0, 0], [0, 2, 0], [0, 0, 3]]
a = [1,2,3]
m = Matrix.diagonal(a)
p m # => Matrix[[[1, 2, 3]]]


singleton method Matrix.row_vector

row_vector(row) -> Matrix

要素がrowの(1,n)型の行列(行ベクトル)を生成します。

[PARAM] row:
(1,n)型の行列として生成するVector Array オブジェクト


singleton method Matrix.rows

rows(rows, copy = true) -> Matrix

引数 rows を要素とする行列を生成します。 引数 copy が偽(false)ならば、rows の複製を行いません。

例:

require 'matrix'

a1 = [1, 2, 3]
a2 = [10, 15, 20]

m = Matrix.rows([a1, a2], false) # 配列を複製せずに行列を生成
p m #=> Matrix[[1, 2, 3], [10, 15, 20]]
a2[1] = 1000 # 配列のデータを変更
p m #=> Matrix[[1, 2, 3], [10, 1000, 20]]


singleton method Matrix.scalar

scalar(n, value) -> Matrix

対角要素が全てvalue(数)で、非対角要素が全て0であるようなn次の正方行列を生成します。

[PARAM] n:
生成する行列の次元
[PARAM] value:
生成する行列の対角要素の値

例:

require 'matrix'

m = Matrix.scalar(3, 2.5)
p m # => Matrix[[2.5, 0, 0], [0, 2.5, 0], [0, 0, 2.5]]


singleton method Matrix.zero

zero(n) -> Matrix

n次の零行列を生成します。 零行列とは、要素が全て0の行列です。

[PARAM] n:
生成する行列の次元


instance method Method#==

self == other -> bool
self === other -> bool

自身と other が同じインスタンスの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
s = "bar"
a = s.method(:size)
b = s.method(:size)
p a == b                            #=> true

[SEE_ALSO] Method#eql?


instance method Method#[]

self[*args] -> object
call(*args) -> object
call(*args) { ... } -> object

メソッドオブジェクトに封入されているメソッドを起動します。

引数やブロックはそのままメソッドに渡されます。

self[] の形の呼び出しは通常のメソッド呼び出しに見た目を 近付けるためだけに用意されたもので、Array#[]のような 他の [] メソッドとの意味的な関連性はありません。

メソッドオブジェクトが汚染されている場合、そのメソッドは、セーフレベル 4 で実行されます

[PARAM] args:
self に渡される引数。

[SEE_ALSO] セキュリティモデル


instance method Method#arity

arity -> Fixnum

メソッドが受け付ける引数の数を返します。

ただし、メソッドが可変長引数を受け付ける場合、負の整数

-(必要とされる引数の数 + 1)

を返します。C 言語レベルで実装されたメソッドが可変長引数を 受け付ける場合、-1 を返します。

例:

class C
  def u;               end
  def v(a);            end
  def w(*a);           end
  def x(a, b);         end
  def y(a, b, *c);     end
  def z(a, b, *c, &d); end
end

c = C.new
p c.method(:u).arity     #=> 0
p c.method(:v).arity     #=> 1
p c.method(:w).arity     #=> -1
p c.method(:x).arity     #=> 2
p c.method(:y).arity     #=> -3
p c.method(:x).arity     #=> -3

s = "xyz"
s.method(:size).arity      #=> 0
s.method(:replace).arity   #=> 1
s.method(:squeeze).arity   #=> -1
s.method(:count).arity     #=> -1


instance method Method#eql?

eql?(other) -> bool
equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
s = "bar"
a = s.method(:size)
b = s.method(:size)
p a.eql?(b)          #=> false
p a.eql?(a)          #=> true

[SEE_ALSO] Method#==


instance method Method#hash

hash -> Integer

自身の Object#object_id を返します。 これは Object クラスで定義されたデフォルトの動作です。


instance method Method#inspect

inspect -> String

self を読みやすい文字列として返します。

以下の形式の文字列を返します。

#<Method: klass1(klass2)#method>                (形式1)

klass1 は、Method#inspect では、レシーバのクラス名、 UnboundMethod#inspect では、UnboundMethod オブジェクトの生成 元となったクラス／モジュール名です。

klass2 は、実際にそのメソッドを定義しているクラス／モジュール名、 method は、メソッド名を表します。

module Foo
  def foo
    "foo"
  end
end
class Bar
  include Foo
  def bar
  end
end

p Bar.new.method(:foo)        # => #<Method: Bar(Foo)#foo>
p Bar.new.method(:bar)        # => #<Method: Bar(Bar)#bar>

klass1 と klass2 が同じ場合は以下の形式になります。

#<Method: klass1#method>                        (形式2)

特異メソッドに対しては、

#<Method: obj.method>                           (形式3)
#<Method: klass1(klass2).method>                (形式4)

という形式の文字列を返します。二番目の形式では klass1 はレシーバ、 klass2 は実際にそのメソッドを定義しているオブジェクトになります。

# オブジェクトの特異メソッド
obj = ""
class <<obj
  def foo
  end
end
p obj.method(:foo)      # => #<Method: "".foo>

# クラスメソッド(クラスの特異メソッド)
class Foo
  def Foo.foo
  end
end
p Foo.method(:foo)      # => #<Method: Foo.foo>

# スーパークラスのクラスメソッド
class Bar < Foo
end
p Bar.method(:foo)      # => #<Method: Bar(Foo).foo>

# 以下は(形式1)の出力になる
module Baz
  def baz
  end
end

class <<obj
  include Baz
end
p obj.method(:baz)      # => #<Method: Object(Baz)#baz>

[SEE_ALSO] Object#inspect


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Method > name

instance method Method#name

name -> String

このメソッドの名前を返します。


instance method Method#owner

owner -> Class | Module

このメソッドが定義されている class か module を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Method > receiver

instance method Method#receiver

receiver -> object

このメソッドオブジェクトのレシーバを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Method > to_proc

instance method Method#to_proc

to_proc -> Proc

self を call する Proc オブジェクトを生成して返します。


instance method Method#unbind

unbind -> UnboundMethod

self のレシーバとの関連を取り除いた UnboundMethod オブ ジェクトを生成して返します。


instance method Module#<

self < other -> bool | nil

比較演算子。self が other の子孫である場合、 true を返します。 self が other の先祖か同一のクラス／モジュールである場合、false を返します。

継承関係にないクラス同士の比較では nil を返します。

[PARAM] other:
比較対象のモジュールやクラス
[EXCEPTION] TypeError:
other がクラスやモジュールではない場合に発生します。
module Foo
end
class Bar
  include Foo
end
class Baz < Bar
end
class Qux
end
p Bar < Foo     # => true
p Baz < Bar     # => true
p Baz < Foo     # => true
p Baz < Qux     # => nil
p Baz > Qux     # => nil

p Foo < Object.new # => in `<': compared with non class/module (TypeError)


instance method Module#<=

self <= other -> bool | nil

比較演算子。self が other の子孫であるか、self と other が 同一クラスである場合、 true を返します。 self が other の先祖である場合、false を返します。

継承関係にないクラス同士の比較では nil を返します。

[PARAM] other:
比較対象のモジュールやクラス
[EXCEPTION] TypeError:
other がクラスやモジュールではない場合に発生します。

[SEE_ALSO] Module#<


instance method Module#<=>

self <=> other -> Integer | nil

self と other の継承関係を比較します。

self と other を比較して、 self が other の子孫であるとき -1、 同一のクラス／モジュールのとき 0、 self が other の先祖であるとき 1 を返します。

継承関係にないクラス同士の比較では nil を返します。

other がクラスやモジュールでなければ nil を返します。

[PARAM] other:
比較対象のクラスやモジュール
module Foo
end
class Bar
  include Foo
end
class Baz < Bar
end
class Qux
end
p Bar <=> Foo     # => -1
p Baz <=> Bar     # => -1
p Baz <=> Foo     # => -1
p Baz <=> Qux     # => -1
p Qux <=> Baz     # => -1
p Baz <=> Qux     # => nil
p Qux <=> Baz     # => nil

p Baz <=> Object.new  # => nil


instance method Module#===

self === obj -> bool

指定された obj が自身かそのサブクラスのインスタンスであるとき真を返します。 また、obj が自身をインクルードしたクラスかそのサブクラスのインスタンスである場合にも 真を返します。上記のいずれでもない場合に false を返します。

言い替えると obj.kind_of?(self) が true の場合、 true を返します。

このメソッドは主に case 文での比較に用いられます。 case ではクラス、モジュールの所属関係をチェックすることになります。

str = String.new
case str
when String     # String === str を評価する
  p true        # => true
end
[PARAM] obj:
任意のオブジェクト

[SEE_ALSO] Object#kind_of?, Object#instance_of?, 制御構造/case


instance method Module#>

self > other -> bool | nil

比較演算子。 self が other の先祖である場合、true を返します。 self が other の子孫か同一クラスである場合、false を返します。

継承関係にないクラス同士の比較では nil を返します。

[PARAM] other:
比較対象のモジュールやクラス
[EXCEPTION] TypeError:
other がクラスやモジュールではない場合に発生します。

[SEE_ALSO] Module#<


instance method Module#>=

self >= other -> bool | nil

比較演算子。self が other の先祖か同一クラスである場合、 true を返します。 self が other の子孫である場合、false を返します。

継承関係にないクラス同士の比較では nil を返します。

[PARAM] other:
比較対象のモジュールやクラス
[EXCEPTION] TypeError:
other がクラスやモジュールではない場合に発生します。

[SEE_ALSO] Module#<


instance method Module#alias_method

alias_method(new, original) -> self

メソッドの別名を定義します。

alias との違いは以下の通りです。

  • メソッド名は String または Symbol で指定します
  • グローバル変数の別名をつけることはできません

また、クラスメソッドに対して使用することはできません。

[PARAM] new:
新しいメソッド名。String または Symbol で指定します。
[PARAM] original:
元のメソッド名。String または Symbol で指定します。

[SEE_ALSO] クラス／メソッドの定義/alias


instance method Module#ancestors

ancestors -> [Class, Module]

クラス、モジュールのスーパークラスとインクルードしているモジュール を優先順位順に配列に格納して返します。

module Foo
end
class Bar
  include Foo
end
class Baz < Bar
  p ancestors
  p included_modules
  p superclass
end
# => [Baz, Bar, Foo, Object, Kernel]
# => [Foo, Kernel]
# => Bar

[SEE_ALSO] Module#included_modules


instance method Module#append_features

append_features(module_or_class) -> self

モジュール(あるいはクラス)に self の機能を追加します。

このメソッドは Module#include の実体であり、 include を Ruby で書くと以下のように定義できます。

def include(*modules)
  modules.each {|mod|
    # append_features はプライベートメソッドなので
    # 直接 mod.append_features(self) とは書けない
    mod.__send__(:append_features, self)
    mod.__send__(:included, self)
  }
end


instance method Module#attr

attr(name, assignable = false) -> nil

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

このメソッドで定義されるアクセスメソッドの定義は次の通りです。

def name
  @name
end

省略可能な第 2 引数 assignable が指定されその値が真である 場合には、属性の書き込み用メソッド name= も同時に定義されます。 その定義は次の通りです。

def name=(val)
  @name = val
end
[PARAM] name:
String または Symbol で指定します。
[PARAM] assignable:
true を指定するとインスタンス変数書き込み用のインスタンスメソッドも定義します。


instance method Module#attr_accessor

attr_accessor(*name) -> nil

インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。

このメソッドで定義されるメソッドの定義は以下の通りです。

def name
  @name
end
def name=(val)
  @name = val
end
[PARAM] name:
String または Symbol を 1 つ以上指定します。


instance method Module#attr_reader

attr_reader(*name) -> nil

インスタンス変数 name の読み取りメソッドを定義します。

このメソッドで定義されるメソッドの定義は以下の通りです。

def name
  @name
end
[PARAM] name:
String または Symbol を 1 つ以上指定します。


instance method Module#attr_writer

attr_writer(*name) -> nil

インスタンス変数 name への書き込みメソッド (name=) を定義します。

このメソッドで定義されるメソッドの定義は以下の通りです。

def name=(val)
  @name = val
end
[PARAM] name:
String または Symbol を 1 つ以上指定します。


instance method Module#autoload

autoload(const_name, feature) -> nil

定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。

[PARAM] const_name:
String または Symbol で指定します。 なお、const_name には、"::" 演算子を含めることはできません。 つまり、トップレベルの定数しか指定できません。
[PARAM] feature:
Kernel.#require と同様な方法で autoload する対象を指定する。

[SEE_ALSO] Kernel.#autoload を参照。


instance method Module#autoload?

autoload?(const_name) -> String | nil

autoload 定数がまだ定義されてない(ロードされていない) ときにそのパス名を返します。 また、ロード済みなら nil を返します。

[PARAM] const_name:
String または Symbol で指定します。

[SEE_ALSO] Kernel.#autoload?


instance method Module#class_eval

module_eval(expr, fname = "(eval)", lineno = 1) -> object
module_eval {|mod| ... } -> object
class_eval(expr, fname = "(eval)", lineno = 1) -> object
class_eval {|mod| ... } -> object

モジュールのコンテキストで文字列 expr またはモジュール自身をブロック引数とするブロックを 評価してその結果を返します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。 つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。 文字列が与えられ場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。 ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープになります。

[PARAM] expr:
評価される文字列。
[PARAM] fname:
文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。 スタックトレースの表示などを差し替えることができます。
[PARAM] lineno:
文字列を指定します。行番号 lineno から文字列 expr が書かれているかのように実行されます。 スタックトレースの表示などを差し替えることができます。

例:

class C
end
a = 1
C.class_eval %Q{
  def m                   # メソッドを動的に定義できる。
    return :m, #{a}
  end
}

p C.new.m        #=> [:m, 1]

[SEE_ALSO] Object#instance_eval, Module.new


instance method Module#class_exec

module_exec(*args) {|*vars| ... } -> object
class_exec(*args) {|*vars| ... } -> object

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。 つまり、そのモジュールの定義式の中にあるかのように実行されます。

ローカル変数、定数とクラス変数のスコープはブロックの外側のスコープになります。

[PARAM] args:
ブロックに渡す引数を指定します。
class Thing
end
c = 1

Thing.class_exec{
  def hello()
    "Hello there!"
  end

  define_method(:foo) do   # ローカル変数がブロックの外側を参照している
    c
  end
}

t = Thing.new
p t.hello()            #=> "Hello there!"
p t.foo()              #=> 1

[SEE_ALSO] Module#module_eval, Module#class_eval


instance method Module#class_variable_defined?

class_variable_defined?(name) -> bool

name で与えられた名前のクラス変数がモジュールに存在する場合 true を 返します。

[PARAM] name:
Symbol か String を指定します。
class Fred
  @@foo = 99
end
Fred.class_variable_defined?(:@@foo)    #=> true
Fred.class_variable_defined?(:@@bar)    #=> false
Fred.class_variable_defined?('@@foo')    #=> true
Fred.class_variable_defined?('@@bar')    #=> false


instance method Module#class_variable_get

class_variable_get(name) -> object

クラス／モジュールに定義されているクラス変数 name の値を返します。

[PARAM] name:
String または Symbol を指定します。
[EXCEPTION] NameError:
クラス変数 name が定義されていない場合、発生します。
class Fred
  @@foo = 99
end

def Fred.foo
  class_variable_get(:@@foo)
end

p Fred.foo #=> 99


instance method Module#class_variable_set

class_variable_set(name, val) -> object

クラス／モジュールにクラス変数 name を定義して、その値として val をセットします。val を返します。

[PARAM] name:
String または Symbol を指定します。
class Fred
  @@foo = 99
  def foo
    @@foo
  end
end

def Fred.foo(val)
  class_variable_set(:@@foo, val)
end

p Fred.foo(101)   # => 101
p Fred.new.foo    # => 101


instance method Module#class_variables

class_variables -> [String]

クラス／モジュールに定義されているクラス変数の名前の配列を返します。

スーパークラスやインクルードしているモジュールのクラス変数も含みます。

[SEE_ALSO] Module.constants, Kernel.#local_variables, Kernel.#global_variables, Object#instance_variables, Module#constants


instance method Module#const_defined?

const_defined?(name) -> bool

モジュールに name で指定される名前の定数が定義されている時真 を返します。

スーパークラスや include したモジュールで定義された定数は対象には なりません。(ただし、Object だけは例外)

[PARAM] name:
String, Symbol で指定される定数名。
module Kernel
  FOO = 1
end

# Object は include したモジュールの定数に対しても
# true を返す
p Object.const_defined?(:FOO)   # => true

module Bar
  BAR = 1
end
class Object
  include Bar
end
# ユーザ定義のモジュールに対しても同様
p Object.const_defined?(:BAR)   # => true

class Baz
  include Bar
end
# Object 以外では自身の定数だけがチェック対象
p Baz.const_defined?(:BAR)      # => false


instance method Module#const_get

const_get(name) -> object

モジュールに定義されている name で指定される名前の定数の値を 取り出します。

Module#const_defined? と違って Object を特別扱いすることはありません。

[PARAM] name:
定数名。String か Symbol で指定します。
[EXCEPTION] NameError:
定数が定義されていないときに発生します。
module Bar
  BAR = 1
end
class Object
  include Bar
end
# Object では include されたモジュールに定義された定数を見付ける
p Object.const_get(:BAR)   # => 1

class Baz
  include Bar
end
# Object以外でも同様
p Baz.const_get(:BAR)      # => 1
# 定義されていない定数
p Baz.const_get(:NOT_DEFINED) #=> raise NameError


instance method Module#const_missing

const_missing(name)

定義されていない定数を参照したときに Ruby インタプリタが このメソッドを呼びます。

[PARAM] name:
参照した定数名の Symbol
[EXCEPTION] NameError:
このメソッドを呼び出した場合、デフォルトで発生する例外
class Foo
  def Foo.const_missing(id)
    warn "undefined constant #{id.inspect}"
  end

  Bar
end
Foo::Bar

# => undefined constant :Bar
     undefined constant :Bar


instance method Module#const_set

const_set(name, value) -> object

モジュールに name で指定された名前の定数を value とい う値として定義し、value を返します。

そのモジュールにおいてすでにその名前の定数が定義されている場合、警 告メッセージが出力されます。

[PARAM] name:
Symbol,String で定数の名前を指定します。
[PARAM] value:
セットしたい値を指定します。


instance method Module#constants

constants -> [String]

そのモジュール(またはクラス)で定義されている定数名の配列を返します。 スーパークラスやインクルードしているモジュールの定数も含みます。

[SEE_ALSO] Module.constants, Kernel.#local_variables, Kernel.#global_variables, Object#instance_variables, Module#class_variables

Module.constants と Module#constants の違い

 # 出力の簡略化のため起動時の定数一覧を取得して後で差し引く
 $clist = Module.constants

 class Foo
   FOO = 1
 end
 class Bar
   BAR = 1

   # Bar は BAR を含む
   p constants - $clist                # => ["BAR"]
   # 出力に FOO は含まれない
   p Module.constants - $clist         # => ["BAR", "Bar", "Foo"]
   class Baz
     # Baz は定数を含まない
     p constants - $clist              # => []

     # ネストしたクラスでは、外側のクラスで定義した定数は
     # 参照可能なので、BAR は、Module.constants には含まれる
     # (クラス Baz も Bar の定数なので同様)
     p Module.constants - $clist       # => ["BAR", "Baz", "Bar", "Foo"]
   end
 end


instance method Module#define_method

define_method(name, method) -> Proc | Method | UnboundMethod
define_method(name) { ... } -> Proc

インスタンスメソッド name を定義します。

ブロックを与えた場合、定義したメソッドの実行時にブロックが レシーバクラスのインスタンスの上で Object#instance_eval されます。

[PARAM] name:
String または Symbol を指定します。
[PARAM] method:
Proc、Method あるいは UnboundMethod の いずれかのインスタンスを指定します。
[RETURN]
引数 method を与えたときはそれを、ブロック付きで 呼びだしたときはブロックを Proc 化したオブジェクトを、 それぞれ返します。
class Foo
  def foo() p :foo end
  define_method(:bar, instance_method(:foo))
end
Foo.new.bar    # => :foo


instance method Module#extend_object

extend_object(module) -> Module

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

Object#extend は、Ruby で書くと以下のように定義できます。

def extend(*modules)
  modules.each {|mod| mod.__send__ :extend_object, self }
end

extend_object のデフォルトの実装では、self に定義されて いるメソッドを object の特異メソッドとして追加します。

[PARAM] module:
Enumerable など Module クラスのインスタンスを指定します。
[RETURN]
module で指定されたモジュールを返します。


instance method Module#extended

extended(class_or_module) -> ()

self が他のオブジェクト に Object#extend されたときに 呼ばれます。引数には extend を行ったオブジェクトが渡されます。

[PARAM] class_or_module:
Object#extend を行ったオブジェクト
module Foo
  def self.extended(mod)
    p "#{mod} extend #{self}"
  end
end

Object.new.extend Foo

# => "#<Object:0x401cbc3c> extend Foo"


instance method Module#include

include(*mod) -> self

モジュール mod をインクルードします。

[PARAM] mod:
Module のインスタンス( Enumerable など)を指定します。
[EXCEPTION] ArgumentError:
継承関係が循環してしまうような include を行った場合に発生します。
module M
end
module M2
  include M
end
module M
  include M2
end

実行結果:

-:3:in `append_features': cyclic include detected (ArgumentError)
        from -:3:in `include'
        from -:3

インクルードとは、指定されたモジュールの定義 (メソッド、定数、クラス変数) を引き継ぐことです。 インクルードは多重継承の代わりに用いられており、 mix-in とも呼びます。

class C
  include FileTest
  include Math
end

p C.ancestors

# => [C, Math, FileTest, Object, Kernel]

モジュールの機能追加は、クラスの継承関係の間にそのモジュールが挿入 されることで実現されています。従って、メソッドの探索などは スーパークラスよりもインクルードされたモジュールのほうが 先に行われます (上の例の Module#ancestors の結果がメソッド探索の順序です)。

同じモジュールを二回以上 include すると二回目以降は無視されます。

module M
end
class C1
  include M
end
class C2 < C1
  include M   # この include は無視される
end

p C2.ancestors  # => [C2, C1, M, Object, Kernel]

引数に複数のモジュールを指定した場合、 最後の引数から順にインクルードします。


instance method Module#include?

include?(mod) -> bool

self かその親クラス / 親モジュールがモジュール mod を インクルードしていれば true を返します。

[PARAM] mod:
Module を指定します。
module M
end
class C1
  include M
end
class C2 < C1
end

p C1.include?(M)   # => true
p C2.include?(M)   # => true


instance method Module#included

included(class_or_module) -> ()

self が Module#include されたときに対象のクラスまたはモジュー ルを引数にしてインタプリタがこのメソッドを呼び出します。

[PARAM] class_or_module:
Module#include を実行したオブジェクト
module Foo
  def self.included(mod)
    p "#{mod} include #{self}"
  end
end
class Bar
  include Foo
end
# => "Bar include Foo"


instance method Module#included_modules

included_modules -> [Module]

インクルードされているモジュールの配列を返します。

[SEE_ALSO] Module#ancestors


instance method Module#instance_method

instance_method(name) -> UnboundMethod

self のインスタンスメソッドをオブジェクト化した UnboundMethod を返します。

[PARAM] name:
Symbol か String です。
[EXCEPTION] NameError:
self に存在しないメソッドを指定した場合に発生します。

[SEE_ALSO] Object#method


instance method Module#instance_methods

instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。

[PARAM] inherited_too:
false を指定するとそのモジュールで定義されているメソッドのみ返します。

[SEE_ALSO] Object#methods

例1:

class Foo
  private;   def private_foo()   end
  protected; def protected_foo() end
  public;    def public_foo()    end
end

# あるクラスのインスタンスメソッドの一覧を得る
p Foo.instance_methods(false)
p Foo.public_instance_methods(false)
p Foo.private_instance_methods(false)
p Foo.protected_instance_methods(false)

class Bar < Foo
end

実行結果

["protected_foo", "public_foo"]
["public_foo"]
["private_foo"]
["protected_foo"]

例2:

class Bar
  private;   def private_foo()   end
  protected; def protected_foo() end
  public;    def public_foo()    end
end

# あるクラスのインスタンスメソッドの一覧を得る。
# 親のクラスのインスタンスメソッドも含めるため true を指定して
# いるが、Object のインスタンスメソッドは一覧から排除している。
p Bar.instance_methods(true)           - Object.instance_methods(true)
p Bar.public_instance_methods(true)    - Object.public_instance_methods(true)
p Bar.private_instance_methods(true)   - Object.private_instance_methods(true)
p Bar.protected_instance_methods(true) - Object.protected_instance_methods(true)

実行結果

["protected_foo", "public_foo"]
["public_foo"]
["private_foo"]
["protected_foo"]


instance method Module#method_added

method_added(name) -> ()

メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。

特異メソッドの追加に対するフックには Object#singleton_method_added を使います。

[PARAM] name:
追加されたメソッドの名前が Symbol で渡されます。
class Foo
  def Foo.method_added(name)
    puts "method \"#{name}\" was added"
  end

  def foo
  end
  define_method :bar, instance_method(:foo)
end

=> method "foo" was added
   method "bar" was added


instance method Module#method_defined?

method_defined?(name) -> bool

モジュールにインスタンスメソッド name が定義されているとき true を返します。

[PARAM] name:
Symbol か String を指定します。

[SEE_ALSO] Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined?


instance method Module#method_removed

method_removed(name) -> ()

メソッドが Module#remove_method により削除 された時にインタプリタがこのメソッドを呼び出します。

特異メソッドの削除に対するフックには Object#singleton_method_removed を使います。

[PARAM] name:
削除されたメソッド名が Symbol で渡されます。
class Foo
  def Foo.method_removed(name)
    puts "method \"#{name}\" was removed"
  end

  def foo
  end
  remove_method :foo
end

=> method "foo" was removed


instance method Module#method_undefined

method_undefined(name) -> ()

このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。

特異メソッドの削除をフックするには Object#singleton_method_undefined を使います。

[PARAM] name:
削除/未定義にされたメソッド名が Symbol で渡されます。
class C
  def C.method_undefined(name)
    puts "method C\##{name} was undefined"
  end

  def foo
  end
  def bar
  end

  undef_method :foo
  undef bar
end

実行結果:

method C#foo was undefined
method C#bar was undefined


instance method Module#module_function

module_function(*name) -> self

メソッドをモジュール関数にします。

引数が与えられた時には、 引数で指定されたメソッドをモジュール関数にします。 引数なしのときは今後このモジュール定義文内で 新しく定義されるメソッドをすべてモジュール関数にします。

モジュール関数とは、プライベートメソッドであると同時に モジュールの特異メソッドでもあるようなメソッドです。 例えば Math モジュールのメソッドはすべてモジュール関数です。

self を返します。

[PARAM] name:
String または Symbol を 0 個以上指定します。

注意

module_function はメソッドに「モジュール関数」という属性をつけるメ ソッドではなく、プライベートメソッドとモジュールの特異メソッドの 2 つを同時に定義するメソッドです。 そのため、以下のように書いてもモジュール関数の別名は定義できません。

module M
  def foo
    p "foo"
  end
  module_function :foo
  alias bar foo
end

M.foo   # => "foo"
M.bar   # => undefined method `bar' for Foo:Module (NoMethodError)

このコードでは、モジュール関数 foo と プライベートインスタンスメソッド bar を定義してしまいます。

正しくモジュール関数に別名を付けるには、 以下のように、先に別名を定義してから それぞれをモジュール関数にしなければいけません。

module M
  def foo
    p "foo"
  end

  alias bar foo
  module_function :foo, :bar
end

M.foo   # => "foo"
M.bar   # => "foo"


instance method Module#name

name -> String
to_s -> String

モジュールやクラスの名前を文字列で返します。

このメソッドが返す「モジュール / クラスの名前」とは、 より正確には「クラスパス」を指します。 クラスパスとは、ネストしているモジュールすべてを 「::」を使って表示した名前のことです。 クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。

[RETURN]
名前のないモジュール / クラスに対しては空文字列を返します。
module A
  module B
  end

  p B.name  #=> "A::B"

  class C
  end
end

p A.name    #=> "A"
p A::B.name #=> "A::B"
p A::C.name #=> "A::C"

# 名前のないモジュール / クラス
p Module.new.name   #=> ""
p Class.new.name    #=> ""


instance method Module#private

private(*name) -> self

メソッドを private に設定します。

引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ れるメソッドを関数形式でだけ呼び出せるように(private)設定します。

引数が与えられた時には引数によって指定されたメソッドを private に 設定します。

[PARAM] name:
String または Symbol を 0 個以上指定します。
[EXCEPTION] NameError:
存在しないメソッド名を指定した場合に発生します。
class Foo
  def foo1() 1 end      # デフォルトでは public
  private               # 可視性を private に変更
  def foo2() 2 end      # foo2 は private メソッド
end

foo = Foo.new
p foo.foo1          # => 1
p foo.foo2          # => private method `foo2' called for #<Foo:0x401b7628> (NoMethodError)


instance method Module#private_class_method

private_class_method(*name) -> self

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。

[PARAM] name:
0 個以上の String か Symbol を指定します。


instance method Module#private_instance_methods

private_instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている private メソッド名 の一覧を配列で返します。

[PARAM] inherited_too:
false を指定するとそのモジュールで定義されているメソッドのみ返します。

[SEE_ALSO] Object#private_methods, Module#instance_methods


instance method Module#private_method_defined?

private_method_defined?(name) -> bool

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。

[PARAM] name:
Symbol か String を指定します。

[SEE_ALSO] Module#method_defined?


instance method Module#protected

protected(*name) -> self

メソッドを protected に設定します。

引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ れるメソッドを protected に設定します。

引数が与えられた時には引数によって指定されたメソッドを protected に設定します。

[PARAM] name:
String または Symbol を 0 個以上指定します。
[EXCEPTION] NameError:
存在しないメソッド名を指定した場合に発生します。


instance method Module#protected_instance_methods

protected_instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている protected メソッド名 の一覧を配列で返します。

[PARAM] inherited_too:
false を指定するとそのモジュールで定義されているメソッドのみ返します。

[SEE_ALSO] Object#protected_methods, Module#instance_methods


instance method Module#protected_method_defined?

protected_method_defined?(name) -> bool

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。

[PARAM] name:
Symbol か String を指定します。

[SEE_ALSO] Module#method_defined?


instance method Module#public

public(*name) -> self

メソッドを public に設定します。

引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ れるメソッドをどんな形式でも呼び出せるように(public)設定します。

引数が与えられた時には引数によって指定されたメソッドを public に設 定します。

[PARAM] name:
String または Symbol を 0 個以上指定します。
[EXCEPTION] NameError:
存在しないメソッド名を指定した場合に発生します。
def foo() 1 end
p foo             # => 1
# the toplevel default is private
p self.foo        # => private method `foo' called for #<Object:0x401c83b0> (NoMethodError)

def bar() 2 end
public :bar       # visibility changed (all access allowed)
p bar             # => 2
p self.bar        # => 2


instance method Module#public_class_method

public_class_method(*name) -> self

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を public に変更します。

[PARAM] name:
0 個以上の String か Symbol を指定します。


instance method Module#public_instance_methods

public_instance_methods(inherited_too = true) -> [String]

そのモジュールで定義されている public メソッド名 の一覧を配列で返します。

[PARAM] inherited_too:
false を指定するとそのモジュールで定義されているメソッドのみ返します。

[SEE_ALSO] Object#public_methods, Module#instance_methods


instance method Module#public_method_defined?

public_method_defined?(name) -> bool

インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が public であるときに true を返します。 そうでなければ false を返します。

[PARAM] name:
Symbol か String を指定します。

[SEE_ALSO] Module#method_defined?


instance method Module#remove_class_variable

remove_class_variable(name) -> object

引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。

[PARAM] name:
String または Symbol を指定します。
[RETURN]
引数で指定されたクラス変数に設定されていた値を返します。
[EXCEPTION] NameError:
引数で指定されたクラス変数がそのモジュールやクラスに定義されていない場合に発生します。
class Foo
  @@foo = 1
  remove_class_variable(:@@foo)   # => 1
  p @@foo   # => uninitialized class variable @@foo in Foo (NameError)
end

[SEE_ALSO] Module#remove_const, Object#remove_instance_variable


instance method Module#remove_const

remove_const(name) -> object

name で指定した定数を取り除き、その定数に設定されていた値を 返します。

[PARAM] name:
String または Symbol を指定します。
[RETURN]
引数で指定された定数に設定されていた値を返します。
[EXCEPTION] NameError:
引数で指定された定数がそのモジュールやクラスに定義されていない場合に発生します。
class Foo
  FOO = 1
  p remove_const(:FOO)    # => 1
  p FOO     # => uninitialized constant FOO at Foo (NameError)
end

現在のところ組み込みクラス/モジュールを設定している定数や Kernel.#autoload を指定した(まだロードしてない)定数を削除 できないという制約があります。

class Object
  remove_const :Array
end
=> -:2:in `remove_const': cannot remove Object::Array (NameError)

[SEE_ALSO] Module#remove_class_variable, Object#remove_instance_variable


instance method Module#remove_method

remove_method(*name) -> self

インスタンスメソッド name をモジュールから削除します。

Ruby 1.8.0 以降は複数のメソッド名を指定して一度に削除できます。

[PARAM] name:
String または Symbol を一つ以上指定します。
[EXCEPTION] NameError:
指定したメソッドが定義されていない場合に発生します。
class C
  def foo
  end

  remove_method :foo
  remove_method :no_such_method   # 例外 NameError が発生
end

[SEE_ALSO] Module#undef_method


instance method Module#undef_method

undef_method(*name) -> self

このモジュールのインスタンスメソッド name を未定義にします。

[PARAM] name:
String または Symbol を一つ以上指定します。
[EXCEPTION] NameError:
指定したインスタンスメソッドが定義されていない場合に発生します。

「未定義にする」とは

このモジュールのインスタンスに対して name という メソッドを呼び出すことを禁止するということです。 スーパークラスの定義が継承されるかどうかという点において、 「未定義」は「メソッドの削除」とは区別されます。 以下のコード例を参照してください。

class A
  def ok
    puts 'A'
  end
end
class B < A
  def ok
    puts 'B'
  end
end

B.new.ok   # => B

# undef_method の場合はスーパークラスに同名のメソッドがあっても
# その呼び出しはエラーになる
class B
  undef_method :ok
end
B.new.ok   # => NameError

# remove_method の場合はスーパークラスに同名のメソッドがあると
# それが呼ばれる
class B
  remove_method :ok
end
B.new.ok   # => A

また、undef 文と undef_method の違いは、 メソッド名を String または Symbol で与えられることです。

module M1
  def foo
  end
  def self.moo
    undef foo
  end
end
M1.instance_methods false #=> ["foo"]
M1.moo
M1.instance_methods false #=> []
module M2
  def foo
  end
  def self.moo
    undef_method :foo
  end
end
M2.instance_methods false #=> ["foo"]
M2.moo
M2.instance_methods false #=> []


singleton method Module.constants

constants -> [String]

このメソッドを呼び出した時点で参照可能な定数名の配列を返します。

class C
  FOO = 1
end
p Module.constants   # => ["RUBY_PLATFORM", "STDIN", ..., "C", ...]
                     # 出力中に "FOO" は現われない

[SEE_ALSO] Module#constants, Kernel.#local_variables, Kernel.#global_variables, Object#instance_variables, Module#class_variables


singleton method Module.nesting

nesting -> [Class, Module]

このメソッドを呼び出した時点でのクラス/モジュールのネスト情 報を配列に入れて返します。

module Foo
  module Bar
    module Baz
      p Module.nesting   # => [Foo::Bar::Baz, Foo::Bar, Foo]
    end
  end
end


singleton method Module.new

new -> Module
new {|mod| ... } -> Module

名前の付いていないモジュールを新しく生成して返します。

ブロックが与えられると生成したモジュールをブロックの引数に渡し、 モジュールのコンテキストでブロックを実行します。

mod = Module.new
mod.module_eval {|m| ... }
mod

と同じです。 ブロックの実行は Module#initialize が行います。

ブロックを与えた場合も生成したモジュールを返します。

このメソッドで生成されたモジュールは、 最初に名前が必要になったときに名前が決定します。 モジュールの名前は、 そのモジュールが代入されている定数名のいずれかです。

m = Module.new
p m               # => #<Module 0lx40198a54>
p m.name          # => ""    # まだ名前は未定
Foo = m
# m.name          # ここで m.name を呼べば m の名前は "Foo" に確定する
Bar = m
m.name            # "Foo" か "Bar" のどちらかに決まる


instance method Monitor#enter

mon_enter
enter

モニターをロックします。MonitorMixin#mon_enter を 参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > class Monitor > exit

instance method Monitor#exit

mon_exit
exit

モニターを解放します。MonitorMixin#mon_exit を 参照して下さい。


instance method Monitor#mon_synchronize

mon_synchronize { ... }
synchronize { ... }

MonitorMixin#mon_synchronize を参照して下さい。


instance method Monitor#mon_try_enter

mon_try_enter
try_enter

MonitorMixin#mon_try_enter を参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > class Monitor > new_cond

instance method Monitor#new_cond

new_cond

MonitorMixin#new_cond を参照して下さい。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > class Monitor > new

singleton method Monitor.new

new

Monitor オブジェクトを生成します。


instance method MonitorMixin#mon_enter

mon_enter

モニターをロックします。一度に一つのスレッドだけがモニターをロックできます。 Mutex#lock に相当します。返り値は不定です。 Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、 何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは 解放されません。

例:

require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_enter
buf.mon_enter

Mutex#lock ではデッドロックが起きます。

例:

require 'thread'
m = Mutex.new
m.lock
m.lock # => deadlock; recursive locking (ThreadError)


instance method MonitorMixin#mon_exit

mon_exit

モニターのロックを解放します。mon_enter でロックした回数だけ mon_exit を 呼ばなければモニターは解放されません。返り値は不定です。

モニターが解放されればモニターのロック待ちになっていたスレッドの実行は 再開されます。


instance method MonitorMixin#mon_synchronize

mon_synchronize { ... }
synchronize { ... }

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。


instance method MonitorMixin#mon_try_enter

mon_try_enter
try_mon_enter

モニターを開始しようとして成功した場合、true を返します。 つまりモニターしているスレッドがいないか、モニターしているのがスレッドが 現在のスレッドの場合に true を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > module MonitorMixin > new_cond

instance method MonitorMixin#new_cond

new_cond

新しい MonitorMixin::ConditionVariable を生成して返します。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > class MonitorMixin::ConditionVariable > broadcast

instance method MonitorMixin::ConditionVariable#broadcast

broadcast

待っている全てのスレッドの実行を再開します。nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > class MonitorMixin::ConditionVariable > count_waiters

instance method MonitorMixin::ConditionVariable#count_waiters

count_waiters

待っているスレッドの数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library monitor > class MonitorMixin::ConditionVariable > signal

instance method MonitorMixin::ConditionVariable#signal

signal

待っているスレッドがあれば実行を再開させます。nil を返します。


instance method MonitorMixin::ConditionVariable#wait

wait(timeout = nil)

現在のスレッドを停止します。timeout を与えない場合、 ConditionVariable#signal で起こされるまでスレッドは停止し続けます。 timeout を与えた場合は最大 timeout 秒まで停止した後にスレッドを 再開します。

true を返します。timeout が与えられていて待ち時間が timeout を 越えた場合は false を返します。


instance method MonitorMixin::ConditionVariable#wait_until

wait_until { ... }

block が偽を返している間は ConditionVariable#signal で起こされても スレッドを停止し続けます。block が真を返すとスレッドを再開します。 true を返します。


instance method MonitorMixin::ConditionVariable#wait_while

wait_while { ... }

block が真を返している間は ConditionVariable#signal で起こされても スレッドを停止し続けます。 block が偽を返すとスレッドを再開します。 true を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > BASE_DIR

constant MultiTkIp::BASE_DIR

BASE_DIR


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > SAFE_OPT_LIST

constant MultiTkIp::SAFE_OPT_LIST

SAFE_OPT_LIST


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > SLAVE_IP_ID

constant MultiTkIp::SLAVE_IP_ID

SLAVE_IP_ID


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __create_safe_slave_obj

instance method MultiTkIp#__create_safe_slave_obj

__create_safe_slave_obj(safe_opts, app_name, tk_opts)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __create_trusted_slave_obj

instance method MultiTkIp#__create_trusted_slave_obj

__create_trusted_slave_obj(name, keys)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __eval

instance method MultiTkIp#__eval

__eval(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __invoke

instance method MultiTkIp#__invoke

__invoke(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __pseudo_toplevel

instance method MultiTkIp#__pseudo_toplevel

__pseudo_toplevel


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __pseudo_toplevel=

instance method MultiTkIp#__pseudo_toplevel=

__pseudo_toplevel=(m)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __pseudo_toplevel_evaluable=

instance method MultiTkIp#__pseudo_toplevel_evaluable=

__pseudo_toplevel_evaluable=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __pseudo_toplevel_evaluable?

instance method MultiTkIp#__pseudo_toplevel_evaluable?

__pseudo_toplevel_evaluable?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _add_new_tables

instance method MultiTkIp#_add_new_tables

_add_new_tables


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _add_tk_procs

instance method MultiTkIp#_add_tk_procs

_add_tk_procs(name, args, body)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _conv_listelement

instance method MultiTkIp#_conv_listelement

_conv_listelement(arg)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _create_slave_object

instance method MultiTkIp#_create_slave_object

_create_slave_object(keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _default_delete_hook

instance method MultiTkIp#_default_delete_hook

_default_delete_hook(slave)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _destroy_slaves_of_slaveIP

instance method MultiTkIp#_destroy_slaves_of_slaveIP

_destroy_slaves_of_slaveIP(ip)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _eval

instance method MultiTkIp#_eval

_eval(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _eval_with_enc

instance method MultiTkIp#_eval_with_enc

_eval_with_enc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _eval_without_enc

instance method MultiTkIp#_eval_without_enc

_eval_without_enc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _fromUTF8

instance method MultiTkIp#_fromUTF8

_fromUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_global_var

instance method MultiTkIp#_get_global_var

_get_global_var(var)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_global_var2

instance method MultiTkIp#_get_global_var2

_get_global_var2(var, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_variable

instance method MultiTkIp#_get_variable

_get_variable(var, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_variable2

instance method MultiTkIp#_get_variable2

_get_variable2(varm idx, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _init_ip_env

instance method MultiTkIp#_init_ip_env

_init_ip_env(script)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _init_ip_internal

instance method MultiTkIp#_init_ip_internal

_init_ip_internal(init_ip_env, add_tk_procs)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _invoke

instance method MultiTkIp#_invoke

_invoke(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _invoke_with_enc

instance method MultiTkIp#_invoke_with_enc

_invoke_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _invoke_without_enc

instance method MultiTkIp#_invoke_without_enc

_invoke_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _ip_id_

instance method MultiTkIp#_ip_id_

_ip_id_


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _is_master_of?

instance method MultiTkIp#_is_master_of?

_is_master_of?(tcltkip_obj)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _make_menu_embeddable

instance method MultiTkIp#_make_menu_embeddable

_make_menu_embeddable


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _merge_tklist

instance method MultiTkIp#_merge_tklist

_merge_tklist(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _receiver_mainloop

instance method MultiTkIp#_receiver_mainloop

_receiver_mainloop(check_root)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _remove_tk_procs

instance method MultiTkIp#_remove_tk_procs

_remove_tk_procs(*names)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _return_value

instance method MultiTkIp#_return_value

_return_value


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_global_var

instance method MultiTkIp#_set_global_var

_set_global_var(var, value)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_global_var2

instance method MultiTkIp#_set_global_var2

_set_global_var2(var, idx, value)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_variable

instance method MultiTkIp#_set_variable

_set_variable(var, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_variable2

instance method MultiTkIp#_set_variable2

_set_variable2(var, idx, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _split_tklist

instance method MultiTkIp#_split_tklist

_split_tklist(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _thread_tkwait

instance method MultiTkIp#_thread_tkwait

_thread_tkwait(mode, target)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _thread_vwait

instance method MultiTkIp#_thread_vwait

_thread_vwait(var)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _tk_cmd_tbl

instance method MultiTkIp#_tk_cmd_tbl

_tk_cmd_tbl


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _tk_table_list

instance method MultiTkIp#_tk_table_list

_tk_table_list


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _tk_windows

instance method MultiTkIp#_tk_windows

_tk_windows


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _toUTF8

instance method MultiTkIp#_toUTF8

_toUTF8(str, encoding=nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_global_var

instance method MultiTkIp#_unset_global_var

_unset_global_var(var)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_global_var2

instance method MultiTkIp#_unset_global_var2

_unset_global_var2(var, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_variable

instance method MultiTkIp#_unset_variable

_unset_variable(var, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_variable2

instance method MultiTkIp#_unset_variable2

_unset_variable2(var, idx, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > abort

instance method MultiTkIp#abort

abort(msg = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alias_delete

instance method MultiTkIp#alias_delete

alias_delete(slave, cmd_name)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alias_info

instance method MultiTkIp#alias_info

alias_info(slave, cmd_name)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alias_target

instance method MultiTkIp#alias_target

alias_target(aliascmd, slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > aliases

instance method MultiTkIp#aliases

aliases(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alive?

instance method MultiTkIp#alive?

alive?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > allow_ruby_exit=

instance method MultiTkIp#allow_ruby_exit=

allow_ruby_exit=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > allow_ruby_exit?

instance method MultiTkIp#allow_ruby_exit?

allow_ruby_exit?


instance method MultiTkIp#background_call

bg_eval_proc(*args)
background_eval_proc(*args)
background_call(*args)
bg_call(*args)
thread_eval_proc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > background_eval

instance method MultiTkIp#background_eval

bg_eval(*args, &block)
background_eval(*args, &block)


instance method MultiTkIp#background_eval_str

bg_eval_string(cmd, *eval_args)
bg_eval_str(cmd, *eval_args)
background_eval_string(cmd, *eval_args)
background_eval_str(cmd, *eval_args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > call

instance method MultiTkIp#call

call(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > cb_error

instance method MultiTkIp#cb_error

cb_error(e)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > cb_eval

instance method MultiTkIp#cb_eval

cb_eval(cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > def_alias

instance method MultiTkIp#def_alias

def_alias(slave, new_cmd, org_cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > delete

instance method MultiTkIp#delete

delete(idx, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > delete_cmd

instance method MultiTkIp#delete_cmd

delete_cmd(slave, cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > delete_slaves

instance method MultiTkIp#delete_slaves

delete_slaves(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > deleted?

instance method MultiTkIp#deleted?

deleted?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > encoding

instance method MultiTkIp#encoding

encoding


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > encoding=

instance method MultiTkIp#encoding=

encoding=(enc)


instance method MultiTkIp#encoding_convert_from

encoding_convertfrom(str, enc = Tk::None)
encoding_convert_from(str, enc = Tk::None)


instance method MultiTkIp#encoding_convert_to

encoding_convertto(str, enc = Tk::None)
encoding_convert_to(str, enc = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > eval

instance method MultiTkIp#eval

eval(*args, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > eval_callback

instance method MultiTkIp#eval_callback

eval_callback(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > eval_proc

instance method MultiTkIp#eval_proc

eval_proc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > eval_str

instance method MultiTkIp#eval_str

eval_string(cmd, *eval_args)
eval_str(cmd, *eval_args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > exist?

instance method MultiTkIp#exist?

exist?(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > exit

instance method MultiTkIp#exit

exit(st = true)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > exit!

instance method MultiTkIp#exit!

exit!(st = false)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > expose_cmd

instance method MultiTkIp#expose_cmd

expose_cmd(slave, cmd, aliasname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_bgerror_handler

instance method MultiTkIp#get_bgerror_handler

get_bgerror_handler(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_limit

instance method MultiTkIp#get_limit

get_limit(limit_type, slave = '', slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > has_mainwindow?

instance method MultiTkIp#has_mainwindow?

has_mainwindow?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > hidden_cmds

instance method MultiTkIp#hidden_cmds

hidden_cmds(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > hide_cmd

instance method MultiTkIp#hide_cmd

hide_cmd(slave, cmd, aliasname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > inspect

instance method MultiTkIp#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invalid_namespace?

instance method MultiTkIp#invalid_namespace?

invalid_namespace?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invoke_hidden

instance method MultiTkIp#invoke_hidden

invoke_hidden(slave, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invoke_hidden_on_global

instance method MultiTkIp#invoke_hidden_on_global

invoke_hidden_on_global(slave, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invoke_hidden_on_namespace

instance method MultiTkIp#invoke_hidden_on_namespace

invoke_hidden_on_namespace(slave, ns, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > ip_name

instance method MultiTkIp#ip_name

ip_name


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mainloop

instance method MultiTkIp#mainloop

mainloop(check_root = true, restart_on_dead = true)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > make_safe

instance method MultiTkIp#make_safe

make_safe


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > manipulable?

instance method MultiTkIp#manipulable?

manipulable?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mark_trusted

instance method MultiTkIp#mark_trusted

mark_trusted(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > master?

instance method MultiTkIp#master?

master?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > path

instance method MultiTkIp#path

path


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > recursion_limit

instance method MultiTkIp#recursion_limit

recursion_limit(slave = '', limit = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > restart

instance method MultiTkIp#restart

restart(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > running_mainloop?

instance method MultiTkIp#running_mainloop?

running_mainloop?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe?

instance method MultiTkIp#safe?

safe?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe_base?

instance method MultiTkIp#safe_base?

safe_base?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe_level

instance method MultiTkIp#safe_level

safe_level


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe_level=

instance method MultiTkIp#safe_level=

safe_level=(safe)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safeip_add_to_access_path

instance method MultiTkIp#safeip_add_to_access_path

safeip_add_to_access_path(dir)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safeip_configinfo

instance method MultiTkIp#safeip_configinfo

safeip_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safeip_configure

instance method MultiTkIp#safeip_configure

safeip_configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safeip_delete

instance method MultiTkIp#safeip_delete

safeip_delete


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safeip_find_in_access_path

instance method MultiTkIp#safeip_find_in_access_path

safeip_find_in_access_path(dir)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safeip_set_log_cmd

instance method MultiTkIp#safeip_set_log_cmd

safeip_set_log_cmd(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_bgerror_handler

instance method MultiTkIp#set_bgerror_handler

set_bgerror_handler(cmd = Proc.new, slave = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_cb_error

instance method MultiTkIp#set_cb_error

set_cb_error(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_limit

instance method MultiTkIp#set_limit

set_limit(limit_type, slave = '', opts = {})


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_safe_level

instance method MultiTkIp#set_safe_level

set_safe_level(safe)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stderr

instance method MultiTkIp#share_stderr

share_stderr(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stdin

instance method MultiTkIp#share_stdin

share_stdin(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stdio

instance method MultiTkIp#share_stdio

share_stdio(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stdout

instance method MultiTkIp#share_stdout

share_stdout(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > slave?

instance method MultiTkIp#slave?

slave?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > slaves

instance method MultiTkIp#slaves

slaves(all = false)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > to_eval

instance method MultiTkIp#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stderr

instance method MultiTkIp#transfer_stderr

transfer_stderr(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stdin

instance method MultiTkIp#transfer_stdin

transfer_stdin(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stdio

instance method MultiTkIp#transfer_stdio

transfer_stdio(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stdout

instance method MultiTkIp#transfer_stdout

transfer_stdout(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > wait_on_mainloop=

instance method MultiTkIp#wait_on_mainloop=

wait_on_mainloop=(bool)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > wait_on_mainloop?

instance method MultiTkIp#wait_on_mainloop?

wait_on_mainloop?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > __getip

singleton method MultiTkIp.__getip

__getip


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _conv_listelement

singleton method MultiTkIp._conv_listelement

_conv_listelement(arg)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _create_console

singleton method MultiTkIp._create_console

_create_console


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _eval

singleton method MultiTkIp._eval

_eval(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _eval_with_enc

singleton method MultiTkIp._eval_with_enc

_eval_with_enc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _eval_without_enc

singleton method MultiTkIp._eval_without_enc

_eval_without_enc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _fromUTF8

singleton method MultiTkIp._fromUTF8

_fromUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_global_var

singleton method MultiTkIp._get_global_var

_get_global_var(var)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_global_var2

singleton method MultiTkIp._get_global_var2

_get_global_var2(var, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_variable

singleton method MultiTkIp._get_variable

_get_variable(var, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _get_variable2

singleton method MultiTkIp._get_variable2

_get_variable2(var, idx, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _invoke

singleton method MultiTkIp._invoke

_invoke(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _invoke_with_enc

singleton method MultiTkIp._invoke_with_enc

_invoke_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _invoke_without_enc

singleton method MultiTkIp._invoke_without_enc

_invoke_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _ip_id_

singleton method MultiTkIp._ip_id_

_ip_id_


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _make_menu_embeddable

singleton method MultiTkIp._make_menu_embeddable

_make_menu_embeddable(menu_path)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _merge_tklist

singleton method MultiTkIp._merge_tklist

_merge_tklist(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _return_value

singleton method MultiTkIp._return_value

_return_value


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_global_var

singleton method MultiTkIp._set_global_var

_set_global_var(var, value)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_global_var2

singleton method MultiTkIp._set_global_var2

_set_global_var2(var, idx, value)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_variable

singleton method MultiTkIp._set_variable

_set_variable(var, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _set_variable2

singleton method MultiTkIp._set_variable2

_set_variable2(var, idx, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _split_tklist

singleton method MultiTkIp._split_tklist

_split_tklist(str)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _thread_tkwait

singleton method MultiTkIp._thread_tkwait

_thread_tkwait(mode, target)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _thread_vwait

singleton method MultiTkIp._thread_vwait

_thread_vwait(var)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _toUTF8

singleton method MultiTkIp._toUTF8

_toUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_global_var

singleton method MultiTkIp._unset_global_var

_unset_global_var(var)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_global_var2

singleton method MultiTkIp._unset_global_var2

_unset_global_var2(var, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_variable

singleton method MultiTkIp._unset_variable

_unset_variable(var, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > _unset_variable2

singleton method MultiTkIp._unset_variable2

_unset_variable2(var, idx, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > abort

singleton method MultiTkIp.abort

abort(msg = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > add_tk_procs

singleton method MultiTkIp.add_tk_procs

add_tk_procs(name, args = nil, body = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alias_delete

singleton method MultiTkIp.alias_delete

alias_delete(slave, cmd_name)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alias_info

singleton method MultiTkIp.alias_info

alias_info(slave, cmd_name)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alias_target

singleton method MultiTkIp.alias_target

alias_target(aliascmd, slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > aliases

singleton method MultiTkIp.aliases

aliases(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > alive?

singleton method MultiTkIp.alive?

alive?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > allow_ruby_exit=

singleton method MultiTkIp.allow_ruby_exit=

allow_ruby_exit=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > allow_ruby_exit?

singleton method MultiTkIp.allow_ruby_exit?

allow_ruby_exit?


singleton method MultiTkIp.background_call

bg_eval_proc(*args)
bg_call(*args)
background_call(*args)
background_eval_proc(*args)
thread_eval_proc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > background_eval

singleton method MultiTkIp.background_eval

bg_eval(*args, &block)
background_eval(*args, &block)


singleton method MultiTkIp.background_eval_str

bg_eval_string(cmd, *eval_args)
bg_eval_str(cmd, *eval_args)
background_eval_string(cmd, *eval_args)
background_eval_str(cmd, *eval_args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > bgerror

singleton method MultiTkIp.bgerror

bgerror(cmd = Proc.new, slave = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > call

singleton method MultiTkIp.call

eval_proc
call


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > cb_entry_class

singleton method MultiTkIp.cb_entry_class

cb_entry_class


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > create_table

singleton method MultiTkIp.create_table

create_table


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > def_alias

singleton method MultiTkIp.def_alias

def_alias(slave, new_cmd, org_cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > delete

singleton method MultiTkIp.delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > delete_cmd

singleton method MultiTkIp.delete_cmd

delete_cmd(slave, cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > delete_slaves

singleton method MultiTkIp.delete_slaves

delete_slaves(*args)


singleton method MultiTkIp.deleted?

deleted?
deleteed?
do_one_event(flag = TclTkLib::EventFlag::ALL)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > eval

singleton method MultiTkIp.eval

eval(*args, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > eval_str

singleton method MultiTkIp.eval_str

eval_string(cmd, *eval_args)
eval_str(cmd, *eval_args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > exist?

singleton method MultiTkIp.exist?

exist?(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > exit

singleton method MultiTkIp.exit

exit(st = true)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > exit!

singleton method MultiTkIp.exit!

exit!(st = false)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > expose_cmd

singleton method MultiTkIp.expose_cmd

expose_cmd(slave, cmd, aliasname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_cb_entry

singleton method MultiTkIp.get_cb_entry

get_cb_entry(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_eventloop_tick

singleton method MultiTkIp.get_eventloop_tick

get_eventloop_tick


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_eventloop_weight

singleton method MultiTkIp.get_eventloop_weight

get_eventloop_weight


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_limit

singleton method MultiTkIp.get_limit

get_limit(limit_type, slave = '', slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > get_no_event_wait

singleton method MultiTkIp.get_no_event_wait

get_no_event_wait


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > has_mainwindow?

singleton method MultiTkIp.has_mainwindow?

has_mainwindow?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > hidden_cmds

singleton method MultiTkIp.hidden_cmds

hidden_cmds(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > hide_cmd

singleton method MultiTkIp.hide_cmd

hide_cmd(slave, cmd, aliasname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > inherited

singleton method MultiTkIp.inherited

inherited(subclass)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > init_ip_env

singleton method MultiTkIp.init_ip_env

init_ip_env(script = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > init_ip_internal

singleton method MultiTkIp.init_ip_internal

init_ip_internal


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invalid_namespace?

singleton method MultiTkIp.invalid_namespace?

invalid_namespace?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invoke_hidden

singleton method MultiTkIp.invoke_hidden

invoke_hidden(slave, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invoke_hidden_on_global

singleton method MultiTkIp.invoke_hidden_on_global

invoke_hidden_on_global(slave, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > invoke_hidden_on_namespace

singleton method MultiTkIp.invoke_hidden_on_namespace

invoke_hidden_on_namespace(slave, ns, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > ip_name

singleton method MultiTkIp.ip_name

ip_name


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mainloop

singleton method MultiTkIp.mainloop

mainloop(check_root = true)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mainloop_abort_on_exception

singleton method MultiTkIp.mainloop_abort_on_exception

mainloop_abort_on_exception


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mainloop_abort_on_exception=

singleton method MultiTkIp.mainloop_abort_on_exception=

mainloop_abort_on_exception=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mainloop_watchdog

singleton method MultiTkIp.mainloop_watchdog

mainloop_watchdog(check_root = true)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > make_safe

singleton method MultiTkIp.make_safe

make_safe


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > manipulable?

singleton method MultiTkIp.manipulable?

manipulable?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > mark_trusted

singleton method MultiTkIp.mark_trusted

mark_trusted(slave = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > master?

singleton method MultiTkIp.master?

master?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > method_missing

singleton method MultiTkIp.method_missing

method_missing


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > new

singleton method MultiTkIp.new

new_master(safe = nil, keys = {})
new(safe=nil, keys={})


singleton method MultiTkIp.new_safeTk

new_safe_slave(safe = 4, keys = {})
new_safeTk(safe = 4, keys = {})


singleton method MultiTkIp.new_slave

new_slave(safe = nil, keys = {})
new_trusted_slave(safe = nil, keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > path

singleton method MultiTkIp.path

path


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > recursion_limit

singleton method MultiTkIp.recursion_limit

recursion_limit(slave = '', limit = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > remove_tk_procs

singleton method MultiTkIp.remove_tk_procs

remove_tk_procs(*names)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > restart

singleton method MultiTkIp.restart

restart(app_name = nil, keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe?

singleton method MultiTkIp.safe?

safe?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe_base?

singleton method MultiTkIp.safe_base?

safe_base?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe_level

singleton method MultiTkIp.safe_level

safe_level


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > safe_level=

singleton method MultiTkIp.safe_level=

safe_level=(safe)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_eventloop_tick

singleton method MultiTkIp.set_eventloop_tick

set_eventloop_tick(tick)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_eventloop_weight

singleton method MultiTkIp.set_eventloop_weight

set_eventloop_weight(loop_max, no_event_tick)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_limit

singleton method MultiTkIp.set_limit

set_limit(limit_type, slave = '', opts = {})


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_no_event_wait

singleton method MultiTkIp.set_no_event_wait

set_no_event_wait(tick)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > set_safe_level

singleton method MultiTkIp.set_safe_level

set_safe_level(safe)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stderr

singleton method MultiTkIp.share_stderr

share_stderr(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stdin

singleton method MultiTkIp.share_stdin

share_stdin(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stdio

singleton method MultiTkIp.share_stdio

share_stdio(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > share_stdout

singleton method MultiTkIp.share_stdout

share_stdout(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > slave?

singleton method MultiTkIp.slave?

slave?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > slaves

singleton method MultiTkIp.slaves

slaves(all = false)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > tk_cmd_tbl

singleton method MultiTkIp.tk_cmd_tbl

tk_cmd_tbl


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > tk_object_table

singleton method MultiTkIp.tk_object_table

tk_object_table(id)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > tk_windows

singleton method MultiTkIp.tk_windows

tk_windows


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > to_eval

singleton method MultiTkIp.to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stderr

singleton method MultiTkIp.transfer_stderr

transfer_stderr(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stdin

singleton method MultiTkIp.transfer_stdin

transfer_stdin(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stdio

singleton method MultiTkIp.transfer_stdio

transfer_stdio(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp > transfer_stdout

singleton method MultiTkIp.transfer_stdout

transfer_stdout(dist, src = '')


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp_OK > return_value

instance method MultiTkIp_OK#return_value

return_value
value


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp_OK > new

singleton method MultiTkIp_OK.new

new(ret = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > class MultiTkIp_OK > send

singleton method MultiTkIp_OK.send

send(thread, ret = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > module MultiTkIp_PseudoToplevel_Evaluable > pseudo_toplevel_evaluable=

instance method MultiTkIp_PseudoToplevel_Evaluable#pseudo_toplevel_evaluable=

pseudo_toplevel_evaluable=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > module MultiTkIp_PseudoToplevel_Evaluable > pseudo_toplevel_evaluable?

instance method MultiTkIp_PseudoToplevel_Evaluable#pseudo_toplevel_evaluable?

pseudo_toplevel_evaluable?


Ruby 1.8.7 Reference Manual > All Libraries > library multi-tk > module MultiTkIp_PseudoToplevel_Evaluable > extend

singleton method MultiTkIp_PseudoToplevel_Evaluable.extend

extend(mod)


instance method Mutex#exclusive_unlock

exclusive_unlock { ... }

ロックを解放し、ロック待ちになっているスレッドを実行可能状態に した後、ブロックを実行します。

ブロックの実行が終了するまで、スレッドは切り替わりません。

self がロックされていなければ nil を返します。そうでな ければself を返します。


instance method Mutex#lock

lock

mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。

self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Mutex > locked?

instance method Mutex#locked?

locked?

mutex がロックされている時、真を返します。


instance method Mutex#synchronize

synchronize { ... }

mutex をロックし、ブロックを実行します。実行後に必ず mutex のロッ クを解放します。


instance method Mutex#try_lock

try_lock

mutex をロックしようとして、ロックが成功した場合、真を返しま す。ロックできなかった場合にはブロックせず偽を返します。


instance method Mutex#unlock

unlock -> self | nil

mutex のロックを解放します。mutex のロック待ちになっていたスレッ ドの実行は再開されます。

self がロックされていなければ nil を返します。そうでな ければself を返します。

例:

m = Mutex.new
begin
  m.lock
  # critical part
ensure
  m.unlock
end


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Mutex > new

singleton method Mutex.new

new

新しい mutex を生成して返します。


instance method Mutex_m#lock

mu_lock
lock

Mutex_m をロックします。一度にひとつのスレッドしかロックできません。 既にロックされている mutex に対してロックを行おうとしたスレッドは Mutex_m のロックが解放されるまで、実行が停止されます。

self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library mutex_m > module Mutex_m > locked?

instance method Mutex_m#locked?

mu_locked?
locked?

Mutex_m がロックされている時、真を返します。


instance method Mutex_m#mu_synchronize

mu_synchronize { ... }
synchronize { ... }

Mutex_m をロックし、ブロックを実行します。実行後に必ず Mutex_m のロックを解放します。


instance method Mutex_m#mu_try_lock

mu_try_lock
try_lock

Mutex_m をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。


instance method Mutex_m#mu_unlock

mu_unlock
unlock

Mutex_m のロックを解放します。 Mutex_m のロック待ちになっていたスレッドの実行は再開されます。

self がロックされていなければ nil を返します。そうでなければself を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class MutiTkIp > _DEFAULT_MASTER

singleton method MutiTkIp._DEFAULT_MASTER

_DEFAULT_MASTER


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > ASCII

constant NKF::ASCII

ASCII -> Integer

ASCII コードを表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > AUTO

constant NKF::AUTO

AUTO -> Integer

コードを自動判別することを表します。

NKFモジュール自体からは利用しません。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > BINARY

constant NKF::BINARY

BINARY -> Integer

バイナリ列を表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > EUC

constant NKF::EUC

EUC -> Integer

EUC コードを表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > JIS

constant NKF::JIS

JIS -> Integer

JIS コードを表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > NKF_RELEASE_DATE

constant NKF::NKF_RELEASE_DATE

NKF_RELEASE_DATE -> String

nkf のリリース日を表す文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > NKF_VERSION

constant NKF::NKF_VERSION

NKF_VERSION -> String

nkf 自体のバージョンを表す文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > NOCONV

constant NKF::NOCONV

NOCONV -> Integer

コードを変換しないことを表します。

NKFモジュール自体からは利用しません。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > SJIS

constant NKF::SJIS

SJIS -> Integer

SJIS コードを表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > UNKNOWN

constant NKF::UNKNOWN

UNKNOWN -> Integer

コード判定に失敗したことを表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > UTF8

constant NKF::UTF8

UTF8 -> Integer

UTF-8 コードを表します。


Ruby 1.8.7 Reference Manual > All Libraries > library nkf > module NKF > UTF16

constant NKF::UTF16

UTF16 -> Integer

UTF-16 コードを表します。


constant NKF::VERSION

VERSION -> String

"#{NKF::NKF_VERSION} (#{NKF_RELEASE_DATE})" と あらわされる文字列です。


module function NKF.#guess

guess(str) -> Integer

文字列 str の漢字コードを判別して返します。

返される値は、NKF モジュールのモジュール定数です。 ruby 1.8.2 より前は現在の NKF.guess1 と同じものです。 ruby 1.8.2 以降では NKF.guess2 と同じものです。

[PARAM] str:
推測対象の文字列です。


module function NKF.#guess1

guess1(str) -> Integer

ruby 1.8.1 以前の NKF.guess と同じものです。

[PARAM] str:
推測対象の文字列です。


module function NKF.#guess2

guess2(str) -> Integer

nkf2の漢字コード自動判定ルーチンを利用したものです。

[PARAM] str:
推測対象の文字列です。


module function NKF.#nkf

nkf(opt, str) -> String

文字列 str の文字コードを変換し、変換結果の文字列を返します。

opt には、nkf と同じコマンドラインオプションを指定します。 オプション文字列は NKF のオプション文字列の項を 見てください。 オプションを複数指定する場合は、NKF.nkf('-Se', str) や NKF.nkf('-S -e', str) などとします。optは、必ず '-' で始めなければいけないことに注意してください。

[PARAM] opt:
オプション文字列です。
[PARAM] str:
変換対象の文字列です。

注意

このメソッドは(nkf コマンドがそうであるように)、MIME Base64 の デコード処理がデフォルトでオンになっています。この動作を無効にしたけ れば opt に '-m0' を含めてください。


instance method NameError#name

name -> Symbol

この例外オブジェクトを発生させる原因となった 変数や定数、メソッドの名前をシンボルで返します。

例:

begin
  foobar
rescue NameError => err
  p err       # => #<NameError: undefined local variable or method `foobar' for main:Object>
  p err.name  # => :foobar
end


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class NameError > to_s

instance method NameError#to_s

to_s -> String

例外オブジェクトを文字列に変換して返します。


singleton method NameError.new

new(error_message = "", name = nil) -> NameError

例外オブジェクトを生成して返します。

[PARAM] error_message:
エラーメッセージを表す文字列です
[PARAM] name:
未定義だったシンボルです

例:

err = NameError.new("message", "foo")
p err       # => #<NameError: message>
p err.name  # => "foo"


Ruby 1.8.7 Reference Manual > All Libraries > library net/ftp > class Net::FTP > DEFAULT_BLOCKSIZE

constant Net::FTP::DEFAULT_BLOCKSIZE

DEFAULT_BLOCKSIZE -> Integer

get, put をするときのデフォルトのブロックサイズです。


Ruby 1.8.7 Reference Manual > All Libraries > library net/ftp > class Net::FTP > FTP_PORT

constant Net::FTP::FTP_PORT

FTP_PORT -> Integer

FTPのデフォルトのポート番号(21)です。


instance method Net::FTP#abort

abort -> String

データの転送を中止します。

[RETURN]
サーバからの応答を文字列で返します。
[EXCEPTION] Net::FTPReplyError:
応答コードが正しくない場合に発生します。


instance method Net::FTP#acct

acct(account) -> nil

サーバーに ACCT コマンドでアカウント情報を送ります。

[PARAM] account:
送りたいアカウント情報を文字列で与えます。
[EXCEPTION] Net::FTPReplyError:
応答コードが2yzでない場合にに発生します。


instance method Net::FTP#binary

binary -> bool

Net::FTP#put, Net::FTP#get による転送を バイナリモード(IMAGE)で行うかどうかを返します。

デフォルトの値は true です。

偽の場合、テキストモード(ASCII)が仮定されます。

EBCDIC や LOCAL など他の表現タイプはサポートされていません。

[SEE_ALSO] Net::FTP#binary=


instance method Net::FTP#binary=

binary=(bool)

Net::FTP#put, Net::FTP#get による転送を バイナリモード(IMAGE)で転送するかどうかを指定します。

デフォルトの値は true です。

偽の場合、テキストモード(ASCII)が仮定されます。

EBCDIC や LOCAL など他の表現タイプはサポートされていません。

[PARAM] bool:
真ならばバイナリモードを on にします。

[SEE_ALSO] Net::FTP#binary


instance method Net::FTP#chdir

chdir(dirname) -> nil

リモートサーバでのカレントディレクトリを dirname に変更します。

[PARAM] dirname:
変更先のディレクトリを与えます。
[EXCEPTION] Net::FTPReplyError:
応答コードがエラーである場合に発生します。カレントディレクトリ変更に失敗した場合に発生します。


instance method Net::FTP#close

close -> ()

サーバとの接続を切ります。

再び Net::FTP#connect で接続しない限り 一切の操作が不可能になります。


Ruby 1.8.7 Reference Manual > All Libraries > library net/ftp > class Net::FTP > closed?

instance method Net::FTP#closed?

closed? -> bool

接続が切れている時に真を返します。


instance method Net::FTP#connect

connect(host, port = FTP_PORT) -> ()

host で指定されたホストに接続します。

環境変数 SOCK_SERVER が指定されている場合、SOCKS プロクシを 経由して接続します。

[PARAM] host:
接続するホスト名です。
[PARAM] port:
接続するポート番号です。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#debug_mode

debug_mode -> bool

デバッグモードであれば真を、そうでなければ偽を返します。

値が真であるとき、送受信の記録と ABOR, STAT の結果が $stdout に随時表示されます。

デフォルトは偽です。

[SEE_ALSO] Net::FTP#debug_mode=


instance method Net::FTP#debug_mode=

debug_mode=(boolean)

デバッグモードの on/off を設定します。

[PARAM] boolean:
真ならばデバッグモードを on にします。

[SEE_ALSO] Net::FTP#debug_mode


instance method Net::FTP#delete

delete(filename) -> nil

ファイルを削除します。

リモートサーバ上の fromname という名前のファイルを削除します。

削除に失敗した場合には 例外が発生します。

[PARAM] filename:
削除するファイルの名前を与えます。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz であった場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが 5yz 以外で正しくない場合に発生します。


instance method Net::FTP#dir

list(*args) -> [String]
list(*args) {|line| ... } -> nil
ls(*args) -> [String]
ls(*args) {|line| ... } -> nil
dir(*args) -> [String]
dir(*args) {|line| ...} -> nil

LIST コマンドを送信し、結果を返します。

ブロックとともに呼び出された場合は各行に対してブロックを 実行します。ブロックなしの場合には文字列の配列で結果を返します。

[PARAM] args:
LIST の引数を文字列で渡します。複数渡すことができます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#get

get(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) -> nil
get(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) { |data| .... } -> nil

サーバ上のファイルを取得します。

Net::FTP#binary の値に従って
Net::FTP#getbinaryfile もしくは
Net::FTP#gettextfile を呼びだします。

binary が偽のとき、つまりテキストモードの ときには blocksize は無視されます。

[PARAM] remotefile:
取得対象のリモートのファイル名を与えます。
[PARAM] localfile:
取得したデータを格納するローカルのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。


instance method Net::FTP#getbinaryfile

getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) {|data| ...} -> nil
getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) -> nil

サーバ上のファイルをバイナリモードで取得します。

サーバー上にある remotefile という名前のファイルを取得し、 ローカルの localfile という名前のファイルに保存します。

localfile が nil である場合には保存はしません。

データの転送は blocksize バイト毎に行なわれます。

ブロックが指定された場合は データを blocksize バイト受信するごとに、そのデータを ブロックに渡します。

[PARAM] remotefile:
取得対象のリモートのファイル名を与えます。
[PARAM] localfile:
取得したデータを格納するローカルのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#getdir

pwd -> String
getdir -> String

カレントディレクトリを返します。

[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。


instance method Net::FTP#gettextfile

gettextfile(remotefile, localfile = File.basename(remotefile)) -> nil
gettextfile(remotefile, localfile = File.basename(remotefile)) {|line| ...} -> nil

サーバ上のファイルをテキストモードで取得します。

サーバー上にある remotefile という名前のファイルを取得し、 ローカルの localfile という名前のファイルに保存します。

localfile が nil である場合には保存はしません。

ブロックが指定された場合は データを1行受信するごとに、その行をブロックに渡します。

[PARAM] remotefile:
取得対象のリモートのファイル名を与えます。
[PARAM] localfile:
取得したデータを格納するローカルのファイル名を与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#help

help(arg = nil) -> String

サーバからの help 情報を返します。

[PARAM] arg:
HELP コマンドのパラメータを指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。


instance method Net::FTP#last_response

last_response -> String

サーバからの最後の応答を文字列で返します。

例えばログイン(Net::FTP#login)に成功した場合には "230 Login successful.\n" を返します。

[SEE_ALSO] Net::FTP#last_response_code


instance method Net::FTP#last_response_code

lastresp -> String
last_response_code -> String

サーバからの最後の応答のコードを文字列で返します。

例えばログイン(Net::FTP#login)に成功した場合には "230" を返します。

数字の意味は [RFC959] 参照してください。

[SEE_ALSO] Net::FTP#last_response


instance method Net::FTP#login

login(user = "anonymous", passwd = nil, acct = nil) -> ()

ホストへのログイン処理を行ないます。

このメソッドはホストへの接続後にしか使えません。

user, passwd が省略された場合、ユーザ名 "anonymous", パスワード user@host となります。

acct を省略しなかった場合には、 ACCT コマンドを acct で指定したパラメータで送ります。

[PARAM] user:
ログインに使うユーザ名を指定します。
[PARAM] passwd:
ログインに使うパスワードを指定します。
[PARAM] acct:
ログイン後に送る ACCT コマンドのパラメータを指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#mdtm

mdtm(filename) -> String

MDTM コマンドを送信し、結果を返します。

[PARAM] filename:
コマンドを発行したいファイル名を文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。


instance method Net::FTP#mkdir

mkdir(dirname) -> String

リモートサーバ上にディレクトリを作成します。

作成に失敗した場合には例外が発生します。

[PARAM] dirname:
作成するディレクトリ名を文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。


instance method Net::FTP#mtime

mtime(filename, local = false) -> Time

filename の更新時刻を Time オブジェクトで返します。

local を真とすると、得られた更新時刻を地方時とみなします。 偽の場合は更新時刻を協定世界時とみなします。

[PARAM] filename:
更新時刻を得たいファイルの名前を文字列で与えます。
[PARAM] local:
返り値の時刻を地方時とみなすかどうかを真偽値で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。


instance method Net::FTP#nlst

nlst(dir = nil) -> [String]

dir で指定したディレクトリのファイルの配列を返します。

dir を省略した場合カレントディレクトリが指定されます。

[PARAM] dir:
ディレクトリを文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#noop

noop -> nil

NOOP コマンドを発行します。

サーバから応答が得られる他は何もしません。

[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外でエラーである場合に発生します。


instance method Net::FTP#passive

passive -> bool

passive モードであるならば真を、そうでなければ 偽を返します。

デフォルトは偽です。

[SEE_ALSO] Net::FTP#passive=


instance method Net::FTP#passive=

passive=(bool)

passive モードを設定します。

[SEE_ALSO] Net::FTP#passive


instance method Net::FTP#put

put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil
put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) { |data| .... } -> nil

サーバへファイルを転送します。

Net::FTP#binary の値に従って
Net::FTP#putbinaryfile もしくは
Net::FTP#puttextfile を呼びだします。

binary が偽のとき、つまりテキストモードの ときには blocksize は無視されます。

[PARAM] localfile:
転送するローカルのファイル名を与えます。
[PARAM] remotefile:
転送データを保存するリモートのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。


instance method Net::FTP#putbinaryfile

putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil
putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) {|data| ...} -> nil

サーバにファイルをバイナリモードで転送します。

ローカルの localfile という名前のファイルを読みだし、 サーバー上の remotefile という名前のファイルに保存します。

データの転送は blocksize バイト毎に行なわれます。

ブロックが指定された場合は データを blocksize バイト転送するごとに、そのデータを ブロックに渡します。

[PARAM] localfile:
転送するローカルのファイル名を与えます。
[PARAM] remotefile:
転送データを保存するリモートのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


instance method Net::FTP#puttextfile

puttextfile(localfile, remotefile = File.basename(localfile)) -> nil
puttextfile(localfile, remotefile = File.basename(localfile)) {|line| ... } -> nil

サーバにファイルをテキストモードで転送します。

ローカルの localfile という名前のファイルを読みだし、 サーバー上の remotefile という名前のファイルに保存します。

ブロックが指定された場合は データを1行転送するごとに、その行を ブロックに渡します。

[PARAM] localfile:
転送するローカルのファイル名を与えます。
[PARAM] remotefile:
転送データを保存するリモートのファイル名を与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/ftp > class Net::FTP > quit

instance method Net::FTP#quit

quit -> nil

FTP のセッションからログアウトします。


instance method Net::FTP#rename

rename(fromname, toname) -> nil

ファイルをリネームします。

リモートサーバ上の fromname という名前のファイルを toname という名前に変更します。

[PARAM] fromname:
変更前のファイル名を与えます。
[PARAM] toname:
変更後のファイル名を与えます。
[EXCEPTION] Net::FTPReplyError:
応答コードが正しくない場合に発生します。リネームに失敗した場合に発生します。


instance method Net::FTP#resume

resume -> bool

現在のリジュームモードの状態を返します。

リジュームモードが有効であるならば、 いくつかの転送メソッドにおいて 転送が中断され不完全な転送しかできなかった場合に 再開が可能になります。

デフォルトは false です。

転送の中断と再開が可能なのは以下のメソッドです。

  • Net::FTP#get
  • Net::FTP#put
  • Net::FTP#getbinaryfile
  • Net::FTP#putbinaryfile

転送が中断したかどうかは転送先に問題のファイルが存在するか どうかで判定され、そのファイルサイズで再開する位置を 決めます。

[SEE_ALSO] Net::FTP#resume=


instance method Net::FTP#resume=

resume=(boolean)

現在のリジュームモードを設定します。

[PARAM] boolean:
trueならばリジュームモードを on にします。

[SEE_ALSO] Net::FTP#resume


instance method Net::FTP#retrbinary

retrbinary(cmd, blocksize, rest_offset = nil) -> nil
retrbinary(cmd, blocksize, rest_offset = nil) {|data| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、バイナリデータを 取り寄せます。

blocksize で指定されたバイト単位でデータを 読み込み、ブロックに渡します。

rest_offset が省略されなかった場合は、cmdを送る前に REST コマンドを送り、指定したバイト数の位置から 転送を開始します。

[PARAM] cmd:
コマンドを文字列で与えます。
[PARAM] blocksize:
読み込み単位をバイト単位で与えます。
[PARAM] rest_offset:
REST コマンドに与えるオフセットを与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#getbinaryfile


instance method Net::FTP#retrlines

retrlines(cmd) {|line| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、テキストデータを 取り寄せます。

一行づつテキストを読み込み、ブロックに渡します。

[PARAM] cmd:
コマンドを文字列で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#gettextfile


instance method Net::FTP#return_code

return_code -> String

このメソッドは obsolete です。使わないでください。

"\n" を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/ftp > class Net::FTP > return_code=

instance method Net::FTP#return_code=

return_code=(string)

このメソッドは obsolete です。使わないでください。


instance method Net::FTP#rmdir

rmdir(dirname) -> nil

リモートサーバ上のディレクトリを削除します。

[PARAM] dirname:
削除するディレクトリ名を文字列で指定します。
[EXCEPTION] Net::FTPReplyError:
応答コードが正しくない場合に発生します。削除に失敗した場合に発生します。


instance method Net::FTP#sendcmd

sendcmd(cmd) -> String

cmd で指定されたコマンドをサーバーに送り、 サーバーからの応答を返します。

[PARAM] cmd:
コマンドを文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。


instance method Net::FTP#set_socket

set_socket(sock, get_greeting = true) -> nil

FTP のコントロール接続の ソケットを TCPSocket オブジェクト sock に設定します。

get_greeting に偽が与えられると、 set_socket は通信先を設定するだけで sock に対する操作を 何も行ないません。 get_greeting が真ならば、通信先を sock に 設定したあと、通常FTPサーバが接続時に送ってくるメッセージを読み込みます。

通常このメソッドは使うべきではありません。このライブラリの 実装を理解した上で必要な場合のみ利用してください。

[PARAM] sock:
コントロール接続に使うソケットを指定します。
[PARAM] get_greeting:
ソケットを設定した後接続時メッセージをソケットから読みこむかどうかを指定します。


instance method Net::FTP#site

site(arg) -> nil

SITE コマンドを発行します。

[PARAM] arg:
SITEコマンドのパラメータを指定します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外でエラーである場合に発生します。


instance method Net::FTP#size

size(filename) -> Integer

リモートサーバ上のファイルのサイズを返します。

[PARAM] filename:
サイズを調べたいファイル名を与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。


instance method Net::FTP#status

status -> String

現在の状態を返します。

[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。


instance method Net::FTP#storbinary

storbinary(cmd, file, blocksize, rest_offset = nil) -> nil
storbinary(cmd, file, blocksize, rest_offset = nil) {|data| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、バイナリデータを 送ります。

送るデータは IO のインスタンスを file で指定します。 (実際には StringIO のような IO とメソッドレベルで 互換するオブジェクトであればなんでもかまいません)。

blocksize で指定されたバイト単位で file からデータを読みこみ、 サーバに送ります。

rest_offset が省略されなかった場合は、cmdを送る前に REST コマンドを送り、指定したバイト数の位置から 転送を開始します。

ブロックが指定された場合には、転送するデータを blocksize ごとに ブロックにも渡します。

[PARAM] cmd:
コマンドを文字列で与えます。
[PARAM] file:
送るデータを与えます。
[PARAM] blocksize:
読み込み単位をバイト単位で与えます。
[PARAM] rest_offset:
REST コマンドに与えるオフセットを与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#putbinaryfile


instance method Net::FTP#storlines

storlines(cmd, file) -> nil
storlines(cmd, file) {|line| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、テキストデータを 送ります。

一行づつで file からテキストを読み込み、サーバーに送ります。

送るデータは IO のインスタンスを file で指定します。 (実際には StringIO のような IO とメソッドレベルで 互換するオブジェクトであればなんでもかまいません)。

ブロックが与えられた場合には各行をそのブロックに渡します。

[PARAM] cmd:
コマンドを文字列で与えます。
[PARAM] file:
送るデータを与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#puttextfile


instance method Net::FTP#system

system -> String

サーバーの OS のタイプを返します。

[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外でエラーである場合に発生します。


instance method Net::FTP#voidcmd

voidcmd(cmd) -> nil

cmd で指定されたコマンドをサーバーに送ります。

[PARAM] cmd:
コマンドを文字列で指定します。
[EXCEPTION] Net::FTPReplyError:
応答コードが 2yz 以外の場合に発生します。


instance method Net::FTP#welcome

welcome -> String

サーバのウェルカムメッセージを返します。

このメッセージはログイン(Net::FTP#login)時に サーバから送られます。


singleton method Net::FTP.new

new(host = nil, user = nil, passwd = nil, acct = nil) -> Net::FTP

新しい Net::FTP のインスタンスを生成します。

host が指定された場合、生成されたインスタンスに対して Net::FTP#connect を呼び出し、 さらに user が指定された場合は Net::FTP#login を呼び出します。

[PARAM] host:
接続するホストを指定します。
[PARAM] user:
ログインに使うユーザ名を指定します。
[PARAM] passwd:
ログインに使うパスワードを指定します。
[PARAM] acct:
ログイン後に送る ACCT コマンドのパラメータを指定します。

[SEE_ALSO] Net::FTP.open


singleton method Net::FTP.open

open(host, user = nil, passwd = nil, acct = nil) -> Net::FTP
open(host, user = nil, passwd = nil, acct = nil) {|ftp| ... } -> object

新しい Net::FTP インスタンスを生成します。

Net::FTP.new と異なり host を省略できません。

ブロックを与えた場合には、生成したインスタンスを ブロックに渡して呼びだします。この場合、ブロック終了時に Net::FTP#close を呼びだし、ブロックの値を 返します。

ブロックを与えなかった場合には生成したインスタンスを返します。

user が指定された場合は Net::FTP#login を呼び出します。

[PARAM] host:
接続するホストを指定します。
[PARAM] user:
ログインに使うユーザ名を指定します。
[PARAM] passwd:
ログインに使うパスワードを指定します。
[PARAM] acct:
ログイン後に送る ACCT コマンドのパラメータを指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/ftptls > class Net::FTPTLS > login

instance method Net::FTPTLS#login

login(user = "anonymous", passwd = nil, acct = nil)


instance method Net::HTTP#active?

started? -> bool
active? -> bool

HTTP セッションが開始されていたら真を返します。

active? は時代遅れのメソッドです。


Ruby 1.8.7 Reference Manual > All Libraries > library net/http > class Net::HTTP > address

instance method Net::HTTP#address

address -> String

接続するアドレスを返します。

[SEE_ALSO] Net::HTTP.new


instance method Net::HTTP#ca_file

ca_file [added by net/https]
ca_file=(path) [added by net/https]

PEM 形式で保存された CA 証明書ファイルのパスを設定します。 ファイルには複数の CA 証明書が含まれていても構いません。


instance method Net::HTTP#ca_path

ca_path [added by net/https]
ca_path=(path) [added by net/https]

PEM 形式で保存された CA 証明書ファイルが存在するディレクトリを設定します。


instance method Net::HTTP#cert

cert [added by net/https]
cert=(certificate) [added by net/https]

クライアント証明書として OpenSSL::X509::Certificate オブジェクトを設定します。


instance method Net::HTTP#cert_store

cert_store [added by net/https]
cert_store=(store) [added by net/https]

サーバ証明書の検証のために使う信頼している CA 証明書のストレージ OpenSSL::X509::Store オブジェクトを設定します。 通常は ca_path=(path) や ca_file=(path) を使います。


instance method Net::HTTP#close_on_empty_response

close_on_empty_response -> bool

レスポンスがボディを持っていない場合にコネクションを 閉じるかどうかを返します。

デフォルトでは偽(閉じない)です。

[SEE_ALSO] Net::HTTP#close_on_empty_response=


instance method Net::HTTP#close_on_empty_response=

close_on_empty_response=(bool)

レスポンスがボディを持っていない場合にコネクションを 閉じるかどうかを設定します。

[PARAM] bool:
レスポンスがボディを持っていない場合にコネクションを 閉じるかどうか指定します。

[SEE_ALSO] Net::HTTP#close_on_empty_response


instance method Net::HTTP#copy

copy(path, initheader = nil) -> Net::HTTPResponse

サーバの path に COPY リクエストを ヘッダを initheader として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Copy


instance method Net::HTTP#delete

delete(path, initheader = nil) -> Net::HTTPResponse

サーバの path に DELETE リクエストを ヘッダを initheader として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Delete


instance method Net::HTTP#finish

finish -> ()

HTTP セッションを終了します。セッション開始前にこのメソッドが 呼ばれた場合は例外 IOError を発生します。

[EXCEPTION] IOError:
セッション開始前に呼ぶと発生します。


instance method Net::HTTP#get

get(path, header = nil, dest = nil) -> Net::HTTPResponse
get(path, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティを取得し、 Net::HTTPResponse のインスタンスとして返します。

header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして 送ります。 header は { 'Accept' = > '*/*', ... } という 形のハッシュでなければいけません。

ブロックと一緒に呼びだされたときは エンティティボディを少しずつ文字列として ブロックに与えます。このとき戻り値の Net::HTTPResponse オブジェクトは有効な body を 持ちません。

dest は時代遅れの引数です。利用しないでください。 dest を指定した場合には ボディを少しずつ取得して順次 「dest << ボディの断片」を実行します。

[PARAM] path:
取得するエンティティのパスを文字列で指定します。
[PARAM] header:
リクエストの HTTP ヘッダをハッシュで指定します。
[PARAM] dest:
利用しないでください。

1.1 互換モードの場合は、レスポンスに応じて例外が発生します。 また、返り値が [レスポンスオブジェクト, そのボディ] となります。

# net/http version 1.1 (Ruby 1.6.x)
response, body = http.get( '/index.html' )

# net/http version 1.2 (Ruby 1.8.x or later)
response = http.get('/index.html')

# compatible in both version
response , = http.get('/index.html')
response.body

# compatible, using block
File.open('save.txt', 'w') {|f|
  http.get('/~foo/', nil) do |str|
    f.write str
  end
}

[SEE_ALSO] Net::HTTP#request_get


instance method Net::HTTP#get2

request_get(path, header = nil) -> Net::HTTPResponse
request_get(path, header = nil) {|response| .... } -> Net::HTTPResponse
get2(path, header = nil) -> Net::HTTPResponse
get2(path, header = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティを取得します。 Net::HTTPResponse オブジェクトを返します。

header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして 送ります。 header は { 'Accept' = > '*/*', ... } という 形のハッシュでなければいけません。

ブロックとともに呼び出されたときは、 エンティティボディをソケットから読み出す前に、 接続を維持した状態で Net::HTTPResponse オブジェクトをブロックに渡します。 大きなサイズのボディを一度に読みだすとまずく、 小さなサイズに分けて取りだしたい場合にはこれを利用します。

[PARAM] path:
取得するエンティティのパスを文字列で指定します。
[PARAM] header:
リクエストの HTTP ヘッダをハッシュで指定します。
# example
response = http.request_get('/index.html')
p response['content-type']
puts response.body          # body is already read

# using block
http.request_get('/index.html') {|response|
  p response['content-type']
  response.read_body do |str|   # read body now
    print str
  end
}

get2 は時代遅れなので使わないでください。

[SEE_ALSO] Net::HTTP#get, Net::HTTPResponse#read_body


instance method Net::HTTP#head

head(path, header = nil) -> Net::HTTPResponse

サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse のインスタンスを返します。

header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして 送ります。 header は { 'Accept' = > '*/*', ... } という 形のハッシュでなければいけません。

[PARAM] path:
取得するエンティティのパスを文字列で指定します。
[PARAM] header:
リクエストの HTTP ヘッダをハッシュで指定します。

1.1 互換モードの場合は、レスポンスに応じて例外が発生します。

response = nil
Net::HTTP.start('some.www.server', 80) {|http|
  response = http.head('/index.html')
}
p response['content-type']

[SEE_ALSO] Net::HTTP#request_head


instance method Net::HTTP#head2

request_head(path, header = nil) -> Net::HTTPResponse
request_head(path, header = nil) {|response| .... } -> Net::HTTPResponse
head2(path, header = nil) -> Net::HTTPResponse
head2(path, header = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティのヘッダのみを取得します。 Net::HTTPResponse オブジェクトを返します。

header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして 送ります。 header は { 'Accept' = > '*/*', ... } という 形のハッシュでなければいけません。

ブロックとともに呼び出されたときは、 Net::HTTP#request_get と同じ動作を しますが、そもそもヘッダしか要求していないので body は空です。そのためこの動作はそれほど意味はありません。

[PARAM] path:
ヘッダを取得するエンティティのパスを 文字列で指定します。
[PARAM] header:
リクエストの HTTP ヘッダをハッシュで指定します。

head2 は時代遅れなので使わないでください。

response = http.request_head('/index.html')
p response['content-type']

[SEE_ALSO] Net::HTTP#head


instance method Net::HTTP#key

key [added by net/https]
key=(key) [added by net/https]

OpenSSL::PKey::RSA オブジェクトか OpenSSL::PKey::DSA オブジェクトを設定します。


instance method Net::HTTP#lock

lock(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に LOCK リクエストを ヘッダを initheader, ボディを body として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] body:
リクエストのボディを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Lock


instance method Net::HTTP#mkcol

mkcol(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に MKCOL リクエストを ヘッダが initheader, ボディを body として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] body:
リクエストのボディを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Mkcol


instance method Net::HTTP#move

move(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に MOVE リクエストを ヘッダが initheader, ボディを body として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] body:
リクエストのボディを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Move


instance method Net::HTTP#open_timeout

open_timeout -> Integer

接続時に待つ最大秒数を返します。

この秒数たってもコネクションが 開かなければ例外 TimeoutError を発生します。 デフォルトは 30 (秒)です。

[SEE_ALSO] Net::HTTP#read_timeout, Net::HTTP#open_timeout=


instance method Net::HTTP#open_timeout=

open_timeout=(seconds)

接続時に待つ最大秒数を設定します。

この秒数たってもコネクションが 開かなければ例外 TimeoutError を発生します。

[PARAM] second:
待つ秒数を指定します。

[SEE_ALSO] Net::HTTP#read_timeout, Net::HTTP#open_timeout


instance method Net::HTTP#options

options(path, initheader = nil) -> Net::HTTPResponse

サーバの path に OPTIONS リクエストを ヘッダが initheader として送り、 レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Options


instance method Net::HTTP#peer_cert

peer_cert [added by net/https]

サーバが送ってきた X.509 証明書を OpenSSL::X509::Certificate オブジェクトとして返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/http > class Net::HTTP > port

instance method Net::HTTP#port

port -> Integer

接続するポート番号を返します。

[SEE_ALSO] Net::HTTP.new


instance method Net::HTTP#post

post(path, data, header = nil, dest = nil) -> Net::HTTPResponse
post(path, data, header = nil, dest = nil) {|body_segment| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。

返り値は Net::HTTPResponse のインスタンスです。

ブロックと一緒に呼びだされたときはエンティティボディを少しずつ文字列として ブロックに与えます。このとき戻り値の HTTPResponse オブジェクトは有効な body を 持ちません。

POST する場合にはヘッダに Content-Type: を指定する必要があります。 もし header に指定しなかったならば、 Content-Type として "application/x-www-form-urlencoded" を用います。

dest は時代遅れの引数です。利用しないでください。 dest を指定した場合には ボディを少しずつ取得して順次 「dest << ボディの断片」を実行します。

[PARAM] path:
POST先のパスを文字列で指定します。
[PARAM] header:
リクエストの HTTP ヘッダをハッシュで指定します。
[PARAM] dest:
利用しないでください。

1.1 互換モードの場合は、レスポンスに応じて例外が発生します。 また、返り値が [レスポンスオブジェクト, そのボディ] となります。

例:

# net/http version 1.1 (Ruby 1.6.x)
response, body = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby')

# version 1.2 (Ruby 1.8.x or later)
response = http.post('/cgi-bin/search.rb', 'query=subject&target=ruby')

# using block
File.open('save.html', 'w') {|f|
  http.post('/cgi-bin/search.rb', 'query=subject&target=ruby') do |str|
    f.write str
  end
}

[SEE_ALSO] Net::HTTP#request_post


instance method Net::HTTP#post2

request_post(path, data, header = nil) -> Net::HTTPResponse
request_post(path, data, header = nil) {|response| .... } -> Net::HTTPResponse
post2(path, data, header = nil) -> Net::HTTPResponse
post2(path, data, header = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を POST で送ります。 返り値は Net::HTTPResponse のインスタンスです。

header が nil でなければ、リクエストを送るときにその内容を HTTP ヘッダとして 送ります。 header は { 'Accept' = > '*/*', ... } という 形のハッシュでなければいけません。

ブロックとともに呼び出されたときは、 エンティティボディをソケットから読み出す前に、 接続を維持した状態で Net::HTTPResponse オブジェクトをブロックに渡します。

POST する場合にはヘッダに Content-Type: を指定する必要があります。 もし header に指定しなかったならば、 Content-Type として "application/x-www-form-urlencoded" を用います。

[PARAM] path:
POST先のエンティティのパスを文字列で指定します。
[PARAM] data:
POSTするデータを与えます。
[PARAM] header:
リクエストの HTTP ヘッダをハッシュで指定します。

post2 は時代遅れなので使わないでください。

# 例
response = http.request_post('/cgi-bin/nice.rb', 'datadatadata...')
p response.status
puts response.body          # body is already read

# using block
http.request_post('/cgi-bin/nice.rb', 'datadatadata...') {|response|
  p response.status
  p response['content-type']
  response.read_body do |str|   # read body now
    print str
  end
}

[SEE_ALSO] Net::HTTP#post, Net::HTTPResponse#read_body


instance method Net::HTTP#propfind

propfind(path, body, initheader = {'Depth' => '0'}) -> Net::HTTPResponse

サーバの path に PROPFIND リクエストを ヘッダを initheader, ボディを body として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] body:
リクエストのボディを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Propfind


instance method Net::HTTP#proppatch

proppatch(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に PROPPATCH リクエストを ヘッダを initheader, ボディを body として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] body:
リクエストのボディを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Proppatch


instance method Net::HTTP#proxy?

proxy? -> bool

プロクシを介して接続するなら真を返します。

[SEE_ALSO] Net::HTTP.Proxy


instance method Net::HTTP#proxy_address

proxy_address -> String|nil
proxyaddr -> String|nil

プロクシ経由で接続する HTTP オブジェクトならプロクシのアドレス を返します。

そうでないなら nil を返します。

proxyaddr は時代遅れのメソッドです。

[SEE_ALSO] Net::HTTP.Proxy


instance method Net::HTTP#proxy_pass

proxy_pass -> String|nil

プロクシ経由で接続し、さらにプロクシのユーザ認証を する HTTP オブジェクトなら認証のパスワードを を返します。

そうでないなら nil を返します。

[SEE_ALSO] Net::HTTP.Proxy


instance method Net::HTTP#proxy_port

proxy_port -> Integer|nil
proxyport -> Integer|nil

プロクシ経由で接続する HTTP オブジェクトならプロクシのポート番号 を返します。

そうでないなら nil を返します。

proxyport は時代遅れのメソッドです。

[SEE_ALSO] Net::HTTP.Proxy


instance method Net::HTTP#proxy_user

proxy_user -> String|nil

プロクシ経由で接続し、さらにプロクシのユーザ認証を する HTTP オブジェクトなら認証のユーザ名を を返します。

そうでないなら nil を返します。

[SEE_ALSO] Net::HTTP.Proxy


instance method Net::HTTP#put

put(path, data, initheader = nil) -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を PUT で送ります。

返り値は Net::HTTPResponse のインスタンスです。

[PARAM] path:
取得するエンティティのパスを文字列で指定します。
[PARAM] data:
送るデータを文字列で指定します。
[PARAM] initheader:
リクエストの HTTP ヘッダをハッシュで指定します。

[SEE_ALSO] Net::HTTP#request_put

1.1 互換モードの場合は、レスポンスに応じて例外が発生します。


instance method Net::HTTP#put2

request_put(path, data, initheader = nil) -> Net::HTTPResponse
request_put(path, data, initheader = nil) {|response| .... } -> Net::HTTPResponse
put2(path, data, initheader = nil) -> Net::HTTPResponse
put2(path, data, initheader = nil) {|response| .... } -> Net::HTTPResponse

サーバ上の path にあるエンティティに対し文字列 data を PUT で送ります。

返り値は Net::HTTPResponse のインスタンスです。

ブロックとともに呼び出されたときは、 ボディをソケットから読み出す前に、 接続を維持した状態で Net::HTTPResponse オブジェクトをブロックに渡します。

[PARAM] path:
取得するエンティティのパスを文字列で指定します。
[PARAM] data:
送るデータを文字列で指定します。
[PARAM] initheader:
リクエストの HTTP ヘッダをハッシュで指定します。

put2 は時代遅れなので使わないでください。

[SEE_ALSO] Net::HTTP#put


instance method Net::HTTP#read_timeout

read_timeout -> Integer

読みこみ(read(2)) 一回でブロックしてよい最大秒数 を返します。

この秒数たっても読みこめなければ例外 TimeoutError を発生します。 デフォルトは 60 (秒)です。

[SEE_ALSO] Net::HTTP#open_timeout, Net::HTTP#read_timeout=


instance method Net::HTTP#read_timeout=

read_timeout=(seconds)

読みこみ(read(2)) 一回でブロックしてよい最大秒数を 設定します。

この秒数たっても読みこめなければ例外 TimeoutError を発生します。

[PARAM] second:
待つ秒数を指定します。

[SEE_ALSO] Net::HTTP#open_timeout, Net::HTTP#read_timeout


instance method Net::HTTP#request

request(request [, data]) -> Net::HTTPResponse
request(request [, data]) {|response| .... } -> Net::HTTPResponse

Net::HTTPRequest オブジェクト request をサーバに送信します。

POST/PUT の時は data も与えられます (GET/HEAD などで data を与えると ArgumentError を発生します)。

ブロックとともに呼びだされたときは ソケットからボディを読みこまずに Net::HTTPResponse オブジェクトをブロックに与えます。

[PARAM] request:
リクエストオブジェクトを与えます。
[PARAM] data:
リクエストのボディを文字列で与えます。
[EXCEPTION] ArgumentError:
dataを与えるべきでないリクエストでdataを 与えた場合に発生します。

[SEE_ALSO] Net::HTTP#send_request


instance method Net::HTTP#send_request

send_request(name, path, data = nil, header = nil) -> Net::HTTPResponse

HTTP リクエストをサーバに送り、そのレスポンスを Net::HTTPResponse のインスタンスとして返します。

[PARAM] name:
リクエストのメソッド名を文字列で与えます。
[PARAM] path:
リクエストのパスを文字列で与えます。
[PARAM] data:
リクエストのボディを文字列で与えます。
[PARAM] header:
リクエストのヘッダをハッシュで与えます。
response = http.send_request('GET', '/index.html')
puts response.body

[SEE_ALSO] Net::HTTP#request


instance method Net::HTTP#set_debug_output

set_debug_output(io) -> ()

デバッグ出力の出力先を指定します。 このメソッドは深刻なセキュリティホールの原因 になるため、デバッグ以外では決して使わないでください。

io に nil を指定するとデバッグ出力を止めます。

[PARAM] io:
出力先を指定します。このオブジェクトは メソッド << を持っている必要があります。
http.set_debug_output($stderr)


Ruby 1.8.7 Reference Manual > All Libraries > library net/https > class Net::HTTP > ssl_timeout

instance method Net::HTTP#ssl_timeout

ssl_timeout [added by net/https]


instance method Net::HTTP#ssl_timeout=

ssl_timeout=(sec) [added by net/https]
timeout=(sec) [added by net/https]


instance method Net::HTTP#start

start -> self
start {|http| .... } -> object

TCP コネクションを張り、HTTP セッションを開始します。 すでにセッションが開始していたら例外 IOError を発生します。

ブロックを与えた場合には自分自身をそのブロックに 渡し、ブロックが終わったときに接続を閉じます。このときは ブロックの値を返り値とします。

ブロックを与えなかった場合には自分自身を返します。 利用後にはこのオブジェクトを Net::HTTP#finish してください。

[EXCEPTION] IOError:
すでにセッションが開始していた場合に発生します。


instance method Net::HTTP#trace

trace(path, initheader = nil) -> Net::HTTPResponse

サーバの path に TRACE リクエストを ヘッダを initheader として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Trace


instance method Net::HTTP#unlock

unlock(path, body, initheader = nil) -> Net::HTTPResponse

サーバの path に UNLOCK リクエストを ヘッダを initheader, ボディを body として送ります。

レスポンスを Net::HTTPResponse のオブジェクト で返します。

[PARAM] path:
リクエストを送るパスを文字列で与えます。
[PARAM] body:
リクエストのボディを文字列で与えます。
[PARAM] initheader:
リクエストのヘッダを「文字列=>文字列」の ハッシュで与えます。

[SEE_ALSO] Net::HTTP::Unlock


instance method Net::HTTP#use_ssl=

use_ssl=(bool) [added by net/https]

HTTP で SSL/TLS を使うかどうかを設定します。 HTTPS 使う場合は true を代入します。 デフォルトでは false です。 つまり SSL/TLS を有効にするには必ず use_ssl = true を呼ぶ必要があります。


instance method Net::HTTP#use_ssl?

use_ssl? -> bool

SSLを利用して接続する場合に真を返します。

net/https を使わない場合には常に偽を返します。

[SEE_ALSO] net/https, openssl

use_ssl? [added by net/https]

HTTP で SSL/TLS を使うなら true を返します。


instance method Net::HTTP#verify_callback

verify_callback [added by net/https]
verify_callback=(proc) [added by net/https]

通常のサーバ証明書の検証に加えてさらに適用される Proc オブジェクトを設定します。


instance method Net::HTTP#verify_depth

verify_depth [added by net/https]
verify_depth=(depth) [added by net/https]

サーバ証明書を検証する時の証明書チェーンの最大の深さを設定します。


instance method Net::HTTP#verify_mode

verify_mode [added by net/https]
verify_mode=(mode) [added by net/https]

サーバ証明書に対する検証モードを設定します。 OpenSSL::SSL::VERIFY_NONE か OpenSSL::SSL::VERIFY_PEER が設定可能です。 OpenSSL::SSL も参照してください。


singleton method Net::HTTP.Proxy

Proxy(address, port = 80) -> Class

Proxy 経由で http サーバに接続するためのクラスを作成し返します。

このクラスは Net::HTTP を継承しているので Net::HTTP と全く 同じように使えます。指定されたプロクシを常に経由して http サーバ に接続します。

address が nil のときは Net::HTTP クラスをそのまま返します。

例1: Net::HTTP.new を使う

require 'net/http'
proxy_class = Net::HTTP::Proxy('proxy.example.com', 8080)
http = proxy_class.new('www.example.org')
http.start {|h|
  h.get('/ja/') # proxy.example.com 経由で接続します。
}

例2: Net::HTTP.start を使う

require 'net/http'
proxy_class = Net::HTTP::Proxy('proxy.example.com', 8080)
proxy_class.start('www.example.org') {|h|
  h.get('/ja/') # proxy.example.com 経由で接続します。
}
[PARAM] address:
プロクシのホスト名を文字列で与えます。
[PARAM] port:
プロクシのポート番号を与えます。


singleton method Net::HTTP.default_port

http_default_port -> Integer
default_port -> Integer

HTTP のデフォルトポート (80) を返します。


singleton method Net::HTTP.get

get(uri) -> String
get(host, path, port = 80) -> String

指定した対象に GET リクエストを送り、そのボディを 文字列として返します。

対象の指定方法は URI で指定するか、 (host, port, path) で指定するかのいずれかです。

[PARAM] uri:
データの取得対象を URI で指定します。
[PARAM] host:
接続先のホストを文字列で指定します。
[PARAM] path:
データの存在するパスを文字列で指定します。
[PARAM] port:
接続するポートを整数で指定します。

[SEE_ALSO] Net::HTTP#get


singleton method Net::HTTP.get_print

get_print(uri) -> ()
get_print(host, path, port = 80) -> ()

指定した対象から HTTP でエンティティボディを取得し、 $stdout に出力します。

対象の指定方法は URI で指定するか、 (host, port, path) で指定するかのいずれかです。

[PARAM] uri:
データの取得対象を URI で指定します。
[PARAM] host:
接続先のホストを文字列で指定します。
[PARAM] path:
データの存在するパスを文字列で指定します。
[PARAM] port:
接続するポートを整数で指定します。

[SEE_ALSO] Net::HTTP.get

例

Net::HTTP.get_print URI.parse('http://www.example.com/index.html')

もしくは

Net::HTTP.get_print 'www.example.com', '/index.html'


singleton method Net::HTTP.get_response

get_response(uri) -> Net::HTTPResponse
get_response(host, path = nil, port = nil) -> Net::HTTPResponse

指定した対象に GET リクエストを送り、そのレスポンスを Net::HTTPResponse として返します。

対象の指定方法は URI で指定するか、 (host, port, path) で指定するかのいずれかです。

[PARAM] uri:
データの取得対象を URI で指定します。
[PARAM] host:
接続先のホストを文字列で指定します。
[PARAM] path:
データの存在するパスを文字列で指定します。
[PARAM] port:
接続するポートを整数で指定します。

[SEE_ALSO] Net::HTTP#get


singleton method Net::HTTP.https_default_port

https_default_port -> Integer

HTTPS のデフォルトポート (443) を返します。


singleton method Net::HTTP.is_version_1_1?

version_1_1? -> bool
is_version_1_1? -> bool

ライブラリの動作がバージョン1.1互換である場合に真を返します。

[SEE_ALSO] Net::HTTP.version_1_1, Net::HTTP.version_1_2 Net::HTTP.version_1_2?


singleton method Net::HTTP.is_version_1_2?

version_1_2? -> bool
is_version_1_2? -> bool

ライブラリの動作がバージョン1.2互換である場合に真を返します。

[SEE_ALSO] Net::HTTP.version_1_1, Net::HTTP.version_1_2 Net::HTTP.version_1_1?


singleton method Net::HTTP.new

new(address, port = 80, proxy_addr = nil, proxy_port = nil, proxy_user=nil, proxy_pass=nil) -> Net::HTTP

新しい Net::HTTP オブジェクトを生成します。

proxy_addr を与えるとプロクシを介して接続するオブジェクトを 生成します。このときに proxy_userを指定するとプロクシの認証が 行われます

このメソッドは TCP コネクションを張りません。

[PARAM] address:
接続するホスト名を文字列で指定します。
[PARAM] port:
接続するポート番号を指定します。
[PARAM] proxy_addr:
プロクシのホスト名を指定します。省略した場合には直接接続します。
[PARAM] proxy_port:
プロクシのホスト名を指定します。
[PARAM] proxy_user:
プロクシの認証のユーザ名を指定します。省略した場合には認証はなされません。
[PARAM] proxy_pass:
プロクシの認証のパスワードを指定します。


singleton method Net::HTTP.post_form

post_form(uri, params) -> Net::HTTPResponse

URI で指定した対象に フォームのデータを HTTP で POST します。

送るデータは param に文字列から文字列への Hash として 渡します。

[PARAM] uri:
POST する対象を URI で指定します。
[PARAM] param:
POST するデータです。


singleton method Net::HTTP.proxy_address

proxy_address -> String|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシのアドレスを返します。

そうでなければ nil を返します。

[SEE_ALSO] Net::HTTP.Proxy


singleton method Net::HTTP.proxy_class?

proxy_class? -> bool

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならば真を返し、そうでなければ偽を返します。

[SEE_ALSO] Net::HTTP.Proxy


singleton method Net::HTTP.proxy_pass

proxy_pass -> String|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシ認証のパスワードを返します。

そうでなければ nil を返します。

[SEE_ALSO] Net::HTTP.Proxy


singleton method Net::HTTP.proxy_port

proxy_port -> Integer|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスならばプロクシのポート番号を返します。

そうでなければ nil を返します。

[SEE_ALSO] Net::HTTP.Proxy


singleton method Net::HTTP.proxy_user

proxy_user -> String|nil

自身が (Net::HTTP.Proxy によって作成された) プロクシ用のクラスで、かつプロクシの認証を利用する場合は プロクシ認証のユーザ名を返します。

そうでなければ nil を返します。

[SEE_ALSO] Net::HTTP.Proxy


singleton method Net::HTTP.start

start(address, port = 80, proxy_addr = nil, proxy_port = nil, proxy_user=nil, proxy_pass=nil) -> Net::HTTP
start(address, port = 80, proxy_addr = nil, proxy_port = nil, proxy_user=nil, proxy_pass=nil) {|http| .... } -> object

新しい Net::HTTP オブジェクトを生成し、 TCP コネクション、 HTTP セッションを開始します。

ブロックを与えた場合には生成したオブジェクトをそのブロックに 渡し、ブロックが終わったときに接続を閉じます。このときは ブロックの値を返り値とします。

ブロックを与えなかった場合には生成したオブジェクトを渡します。 利用後にはこのオブジェクトを Net::HTTP#finish してください。

このメソッドは以下と同じです。

Net::HTTP.new(address, port, proxy_addr, proxy_port, proxy_user, proxy_pass).start(&block)
[PARAM] address:
接続するホスト名を文字列で指定します。
[PARAM] port:
接続するポート番号を指定します。
[PARAM] proxy_addr:
プロクシのホスト名を指定します。省略した場合には直接接続します。
[PARAM] proxy_port:
プロクシのホスト名を指定します。
[PARAM] proxy_user:
プロクシの認証のユーザ名を指定します。省略した場合には認証はなされません。
[PARAM] proxy_pass:
プロクシの認証のパスワードを指定します。

[SEE_ALSO] Net::HTTP.new, Net::HTTP#start


singleton method Net::HTTP.version_1_1

version_1_1 -> ()

ライブラリの動作をバージョン1.1互換にします。

[SEE_ALSO] Net::HTTP.version_1_2, Net::HTTP.version_1_1? Net::HTTP.version_1_2?


singleton method Net::HTTP.version_1_2

version_1_2 -> ()

ライブラリの動作をバージョン1.2互換、つまり 通常の動作にします。

[SEE_ALSO] Net::HTTP.version_1_1, Net::HTTP.version_1_1? Net::HTTP.version_1_2?


instance method Net::HTTPExceptions#data

response -> Net::HTTPResponse
data -> Net::HTTPResponse

例外の原因となったレスポンスオブジェクトを返します。


instance method Net::HTTPGenericRequest#body

body -> String

サーバに送るリクエストのエンティティボディを返します。

[SEE_ALSO] Net::HTTPGenericRequest#body=


instance method Net::HTTPGenericRequest#body=

body=(body)

サーバに送るリクエストのエンティティボディを文字列で設定します。

[PARAM] body:
設定するボディを文字列で与えます。

[SEE_ALSO] Net::HTTPGenericRequest#body


instance method Net::HTTPGenericRequest#body_exist?

body_exist? -> bool

このメソッドは obsolete です。

Net::HTTPGenericRequest#response_body_permitted? の別名です。


Ruby 1.8.7 Reference Manual > All Libraries > library net/http > class Net::HTTPGenericRequest > method

instance method Net::HTTPGenericRequest#method

method -> String

リクエストの HTTP メソッドを文字列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/http > class Net::HTTPGenericRequest > path

instance method Net::HTTPGenericRequest#path

path -> String

リクエストする path を文字列で返します。


instance method Net::HTTPGenericRequest#request_body_permitted?

request_body_permitted? -> bool

リクエストにエンティティボディを一緒に送ることが許されている HTTP メソッド (POST など)の場合真を返します。


instance method Net::HTTPGenericRequest#response_body_permitted?

response_body_permitted? -> bool

サーバからのレスポンスにエンティティボディを含むことが許されている HTTP メソッド (GET, POST など)の場合真を返します。


instance method Net::HTTPHeader#[]

self[key] -> String|nil

key ヘッダフィールドを返します。

たとえばキー 'content-length' に対しては '2048' のような文字列が得られます。キーが存在しなければ nil を返します。

一種類のヘッダフィールドが一つのヘッダの中に複数存在する 場合にはそれを全て ", " で連結した文字列を返します。 key は大文字小文字を区別しません。

[PARAM] key:
ヘッダフィール名を文字列で与えます。

[SEE_ALSO] Net::HTTPHeader#[]=,
     Net::HTTPHeader#add_field,
     Net::HTTPHeader#get_fields


instance method Net::HTTPHeader#[]=

self[key] = val

key ヘッダフィールドに文字列 val をセットします。

key に元々設定されていた値は破棄されます。 key は大文字小文字を区別しません。 val に nil を与えるとそのフィールドを削除します。

[PARAM] key:
ヘッダフィール名を文字列で与えます。
[PARAM] val:
keyで指定したフィールドにセットする文字列を与えます。

[SEE_ALSO] Net::HTTPHeader#[],
     Net::HTTPHeader#add_field,
     Net::HTTPHeader#get_fields


instance method Net::HTTPHeader#add_field

add_field(key, val) -> ()

key ヘッダフィールドに val を追加します。

key に元々設定されていた値は破棄されず、それに val 追加されます。

[PARAM] key:
ヘッダフィール名を文字列で与えます。
[PARAM] val:
keyで指定したフィールドに追加する文字列を与えます。

[SEE_ALSO] Net::HTTPHeader#[], Net::HTTPHeader#[]=, Net::HTTPHeader#get_fields

例:

request.add_field 'X-My-Header', 'a'
p request['X-My-Header']              #=> "a"
p request.get_fields('X-My-Header')   #=> ["a"]
request.add_field 'X-My-Header', 'b'
p request['X-My-Header']              #=> "a, b"
p request.get_fields('X-My-Header')   #=> ["a", "b"]
request.add_field 'X-My-Header', 'c'
p request['X-My-Header']              #=> "a, b, c"
p request.get_fields('X-My-Header')   #=> ["a", "b", "c"]


instance method Net::HTTPHeader#basic_auth

basic_auth(account, password) -> ()

Authorization: ヘッダを BASIC 認証用にセットします。

[PARAM] account:
アカウント名を文字列で与えます。
[PARAM] password:
パスワードを文字列で与えます。


instance method Net::HTTPHeader#canonical_each

each_capitalized {|name, value| .... } -> ()
canonical_each {|name, value| .... } -> ()

ヘッダフィールドの正規化名とその値のペアを ブロックに渡し、呼びだします。

正規化名は name に対し

name.downcase.split(/-/).capitalize.join('-')

で求まる文字列です。


instance method Net::HTTPHeader#chunked?

chunked? -> bool

Transfer-Encoding: ヘッダフィールドが "chunked" である 場合に真を返します。

Transfer-Encoding: ヘッダフィールドが存在しなかったり、 "chunked" 以外である場合には偽を返します。


instance method Net::HTTPHeader#content_length

content_length -> Integer|nil

Content-Length: ヘッダフィールドの表している値を整数で返します。

ヘッダが設定されていない場合には nil を返します。

[EXCEPTION] Net::HTTPHeaderSyntaxError:
フィールドの値が不正である場合に 発生します。


instance method Net::HTTPHeader#content_length=

content_length=(len)

Content-Length: ヘッダフィールドに値を設定します。

len に nil を与えると Content-Length: ヘッダフィールドを 削除します。

[PARAM] len:
設定する値を整数で与えます。


instance method Net::HTTPHeader#content_range

content_range -> Range|nil

Content-Range: ヘッダフィールドの値を Range で返します。 Range の表わす長さは Net::HTTPHeader#range_length で得られます。

ヘッダが設定されていない場合には nil を返します。


instance method Net::HTTPHeader#content_type

content_type -> String|nil

"text/html" のような Content-Type を表す 文字列を返します。

Content-Type: ヘッダフィールドが存在しない場合には nil を返します。


instance method Net::HTTPHeader#content_type=

content_type=(type)
set_content_type(type, params = {})

type と param から Content-Type: ヘッダフィールドの 値を設定します。

[PARAM] type:
メディアタイプを文字列で指定します。
[PARAM] params:
パラメータ属性をハッシュで指定します。


instance method Net::HTTPHeader#delete

delete(key) -> String | nil

key ヘッダフィールドを削除します。

[PARAM] key:
削除するフィールド名
[RETURN]
取り除かれたフィールドの値を返します。 key ヘッダフィールドが存在しなかった場合には nil を返します。


instance method Net::HTTPHeader#each

each {|name, val| .... } -> ()
each_header {|name, val| .... } -> ()

保持しているヘッダ名とその値をそれぞれ ブロックに渡して呼びだします。

ヘッダ名は小文字で統一されます。 val は ", " で連結した文字列がブロックに渡されます。


instance method Net::HTTPHeader#each_capitalized_name

each_capitalized_name {|name| .... } -> ()

保持しているヘッダ名を正規化 ('x-my-header' -> 'X-My-Header') して、ブロックに渡します。


instance method Net::HTTPHeader#each_key

each_name {|name| ... } -> ()
each_key {|name| ... } -> ()

保持しているヘッダ名をブロックに渡して呼びだします。

ヘッダ名は小文字で統一されます。


instance method Net::HTTPHeader#each_value

each_value {|value| .... } -> ()

保持しているヘッダの値をブロックに渡し、呼びだします。

渡される文字列は ", " で連結したものです。


instance method Net::HTTPHeader#fetch

fetch(key) -> String
fetch(key, default) -> String
fetch(key) {|hash| .... } -> String

key ヘッダフィールドを返します。

たとえばキー 'content-length' に対しては '2048' のような文字列が得られます。キーが存在しなければ nil を返します。

該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。

一種類のヘッダフィールドが一つのヘッダの中に複数存在する 場合にはそれを全て ", " で連結した文字列を返します。 key は大文字小文字を区別しません。

[PARAM] key:
ヘッダフィール名を文字列で与えます。
[PARAM] default:
該当するキーが登録されていない時の返り値を指定します。
[EXCEPTION] IndexError:
引数defaultもブロックも与えられてない時、キーの探索に 失敗すると発生します。

[SEE_ALSO] Net::HTTPHeader#[]


instance method Net::HTTPHeader#form_data=

form_data=(params) -> ()
set_form_data(params, sep = '&') -> ()

HTMLのフォームのデータ params から ヘッダフィールドとボディを設定します。

ヘッダフィールド Content-Type: には 'application/x-www-form-urlencoded' が設定されます。

[PARAM] params:
HTML のフォームデータの Hash を与えます。
[PARAM] sep:
データのセパレータを文字列で与えます。


instance method Net::HTTPHeader#get_fields

get_fields(key) -> [String]

key ヘッダフィールドの値 (文字列) を配列で返します。

たとえばキー 'content-length' に対しては ['2048'] のような 文字列が得られます。一種類のヘッダフィールドが一つのヘッダの中 に複数存在することがありえます。 key は大文字小文字を区別しません。

[PARAM] key:
ヘッダフィール名を文字列で与えます。

[SEE_ALSO] Net::HTTPHeader#[], Net::HTTPHeader#[]=, Net::HTTPHeader#add_field,


instance method Net::HTTPHeader#key?

key?(key) -> bool

key というヘッダフィールドがあれば真を返します。 key は大文字小文字を区別しません。

[PARAM] key:
探すヘッダフィールド名を文字列で与えます。


instance method Net::HTTPHeader#length

size -> Integer
length -> Integer

このメソッドは obsolete です。

ヘッダフィールドの数を返します。


instance method Net::HTTPHeader#main_type

main_type -> String|nil

"text/html" における "text" のようなタイプを表す 文字列を返します。

Content-Type: ヘッダフィールドが存在しない場合には nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/http > module Net::HTTPHeader > method

instance method Net::HTTPHeader#method

method -> String

リクエストの HTTP メソッドを文字列で返します。


instance method Net::HTTPHeader#proxy_basic_auth

proxy_basic_auth(account, password) -> ()

Proxy 認証のために Proxy-Authorization: ヘッダをセットします。

[PARAM] account:
アカウント名を文字列で与えます。
[PARAM] password:
パスワードを文字列で与えます。


instance method Net::HTTPHeader#range

range -> Range|nil

Range: ヘッダの示す範囲を Range オブジェクトで返します。

ヘッダにない場合は nil を返します。

[EXCEPTION] Net::HTTPHeaderSyntaxError:
Range:ヘッダの中身が規格通り でない場合に発生します。


instance method Net::HTTPHeader#range=

range=(r)
range=(n)
set_range(i, len) -> ()
set_range(r) -> ()
set_range(n) -> ()

範囲を指定してエンティティを取得するためのヘッダ Range: をセットします。

以下は同じことを表しています。

req.range = 0..1023
req.range = 0...1024
req.range = 1024
req.set_range(0, 1024)
req.set_range(0..1023)
req.set_range(0...1024)
req.set_range(1024)

特別な場合として、 n に負数を与えた場合にnは最初から(-n)バイトまでの範囲を表します。 r を x..-1 とした場合には、x が正ならば x バイト目から最後までの範囲を、 x が負ならば最初から x バイト目までの範囲を表します。

[PARAM] r:
範囲を Range オブジェクトで与えます。
[PARAM] i:
範囲の始点を整数で与えます。
[PARAM] len:
範囲の長さを整数で与えます。
[PARAM] n:
0からの長さを整数で与えます。


instance method Net::HTTPHeader#range_length

range_length -> Integer|nil

Content-Range: ヘッダフィールドの表している長さを整数で返します。

ヘッダが設定されていない場合には nil を返します。

[EXCEPTION] Net::HTTPHeaderSyntaxError:
Content-Range: ヘッダフィールド の値が不正である場合に 発生します。


instance method Net::HTTPHeader#sub_type

sub_type -> String|nil

"text/html" における "html" のようなサブタイプを表す 文字列を返します。

Content-Type: ヘッダフィールドが存在しない場合には nil を返します。


instance method Net::HTTPHeader#type_params

type_params -> Hash

Content-Type のパラメータを {"charset" => "iso-2022-jp"} という形の Hash で返します。

Content-Type: ヘッダフィールドが存在しない場合には 空のハッシュを返します。


singleton method Net::HTTPRequest.new

new(path, initheader = nil) -> Net::HTTPRequest

HTTP リクエストオブジェクトを生成します。

initheader でリクエストヘッダを指定することができます。 {ヘッダフィールド名(文字列)=>その中身(文字列)} という Hash を用います。

[PARAM] path:
リクエストする path を文字列で与えます。
[PARAM] initheader:
リクエストヘッダをハッシュで指定します。


instance method Net::HTTPResponse#body

body -> String | () | nil
entity -> String | () | nil

エンティティボディを返します。

レスポンスにボディがない場合には nil を返します。

Net::HTTPResponse#read_body をブロック付きで呼んだ場合には このメソッドはNet::ReadAdapter のインスタンスを返しますが、 これは使わないでください。

entity は obsolete です。


instance method Net::HTTPResponse#code

code -> String

HTTP のリザルトコードです。例えば '302' などです。

この値を見ることでレスポンスの種類を判別できますが、 レスポンスオブジェクトがどのクラスのインスタンスかを 見ることでもレスポンスの種類を判別できます。


instance method Net::HTTPResponse#header

response -> self
header -> self
reader_header -> self

互換性を保つためだけに導入されたメソッドです。 使わないでください。

自分自身を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/http > class Net::HTTPResponse > http_version

instance method Net::HTTPResponse#http_version

http_version -> String

サーバがサポートしている HTTP のバージョンを文字列で返します。


instance method Net::HTTPResponse#message

message -> String
msg -> String

HTTP サーバがリザルトコードに付加して返すメッセージです。 例えば 'Not Found' などです。

msg は obsolete です。使わないでください。


instance method Net::HTTPResponse#read_body

read_body(dest=nil) -> String|nil
read_body {|str| .... } -> ()

ブロックを与えなかった場合にはエンティティボディを 文字列で返します。 ブロックを与えた場合には エンティティボディを少しずつ取得して順次ブロックに 文字列で与えます。

レスポンスがボディを持たない場合には nil を返します。

一度ブロックを与えずにこのメソッドを呼んだ場合には、 次からはすでに読みだしたボディを文字列として 返します。また一度ブロックを与えてこのメソッドを呼んだ場合には、 次からは Net::ReadAdapter のインスタンスが返ってきますが、 その場合はそのオブジェクトは使わないでください。

dest は obsolete です。使わないでください。 dest を指定した場合には ボディを少しずつ取得して順次 「dest << ボディの断片」を実行します。

[PARAM] dest:
obsoleteな引数です。利用しないでください。


instance method Net::HTTPResponse#to_ary

to_ary -> [Net::HTTPResponse, String]

このメソッドは net/http.rb 1.1 との互換性のために存在します。

[self, self.body] を返します。


instance method Net::HTTPResponse#value

value -> nil

レスポンスが 2xx(成功)でなかった場合に、対応する 例外を発生させます。

[EXCEPTION] HTTPError:
レスポンスが 1xx であるか、 net/http が知らない 種類のレスポンスである場合に発生します。
[EXCEPTION] HTTPRetriableError:
レスポンスが 3xx である場合に発生します。
[EXCEPTION] HTTPFatalError:
レスポンスが 4xx である場合に発生します。
[EXCEPTION] HTTPServerError:
レスポンスが 5xx である場合に発生します。


singleton method Net::HTTPResponse.body_permitted?

body_permitted? -> bool

エンティティボディを含むことが許されているレスポンスクラス ならば真を、そうでなければ偽を返します。


instance method Net::IMAP#add_response_handler

add_response_handler(handler = Proc.new)

Adds a response handler.

ex).

imap.add_response_handler do |resp|
  p resp
end


instance method Net::IMAP#append

append(mailbox, message, flags = nil, date_time = nil)

Sends a APPEND command to append the message to the end of the mailbox.

ex).

imap.append("inbox", <<EOF.gsub(/\n/, "\r\n"), [:Seen], Time.now)
Subject: hello
From: shugo@ruby-lang.org
To: shugo@ruby-lang.org

hello world
EOF


instance method Net::IMAP#authenticate

authenticate(auth_type, arg...)

Sends an AUTEHNTICATE command to authenticate the client. The auth_type parameter is a string that represents the authentication mechanism to be used. Currently Net::IMAP supports "LOGIN" and "CRAM-MD5" for the auth_type.

ex).

imap.authenticate('LOGIN', user, password)


instance method Net::IMAP#capability

capability

Sends a CAPABILITY command, and returns a listing of capabilities that the server supports.


instance method Net::IMAP#check

check

Sends a CHECK command to request a checkpoint of the currently selected mailbox.


instance method Net::IMAP#client_thread

client_thread
client_thread=(th)

The thread to receive exceptions.


instance method Net::IMAP#close

close

Sends a CLOSE command to close the currently selected mailbox. The CLOSE command permanently removes from the mailbox all messages that have the \Deleted flag set.


instance method Net::IMAP#copy

copy(set, mailbox)
uid_copy(set, mailbox)

Sends a COPY command to copy the specified message(s) to the end of the specified destination mailbox. the set parameter is a number or an array of numbers or a Range object. the number is a message sequence number (copy) or a unique identifier (uid_copy).


instance method Net::IMAP#create

create(mailbox)

Sends a CREATE command to create a new mailbox.


instance method Net::IMAP#delete

delete(mailbox)

Sends a DELETE command to remove the mailbox.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > disconnect

instance method Net::IMAP#disconnect

disconnect

Disconnects from the server.


instance method Net::IMAP#disconnected?

disconnected?

Returns true if disconnected from the server.


instance method Net::IMAP#examine

examine(mailbox)

Sends a EXAMINE command to select a mailbox so that messages in the mailbox can be accessed. However, the selected mailbox is identified as read-only.


instance method Net::IMAP#expunge

expunge

Sends a EXPUNGE command to permanently remove from the currently selected mailbox all messages that have the \Deleted flag set.


instance method Net::IMAP#fetch

fetch(set, attr)
uid_fetch(set, attr)

Sends a FETCH command to retrieve data associated with a message in the mailbox. the set parameter is a number or an array of numbers or a Range object. the number is a message sequence number (fetch) or a unique identifier (uid_fetch). The return value is an array of Net::IMAP::FetchData.

ex).

p imap.fetch(6..8, "UID")
#=> [#<Net::IMAP::FetchData seqno=6, attr={"UID"=>98}>, #<Net::IMAP::FetchData seqno=7, attr={"UID"=>99}>, #<Net::IMAP::FetchData seqno=8, attr={"UID"=>100}>]
p imap.fetch(6, "BODY[HEADER.FIELDS (SUBJECT)]")
#=> [#<Net::IMAP::FetchData seqno=6, attr={"BODY[HEADER.FIELDS (SUBJECT)]"=>"Subject: test\r\n\r\n"}>]
data = imap.uid_fetch(98, ["RFC822.SIZE", "INTERNALDATE"])[0]
p data.seqno
#=> 6
p data.attr["RFC822.SIZE"]
#=> 611
p data.attr["INTERNALDATE"]
#=> "12-Oct-2000 22:40:59 +0900"
p data.attr["UID"]
#=> 98


instance method Net::IMAP#getacl

getacl(mailbox)

Send the GETACL command along with specified mailbox. If this mailbox exists, an array containing objects of Net::IMAP::MailboxACLItem will be returned.


instance method Net::IMAP#getquota

getquota(mailbox)

Sends the GETQUOTA command along with specified mailbox. If this mailbox exists, then an array containing a Net::IMAP::MailboxQuota object is returned. This command generally is only available to server admin.


instance method Net::IMAP#getquotaroot

getquotaroot(mailbox)

Sends the GETQUOTAROOT command along with specified mailbox. This command is generally available to both admin and user. If mailbox exists, returns an array containing objects of Net::IMAP::MailboxQuotaRoot and Net::IMAP::MailboxQuota.


instance method Net::IMAP#greeting

greeting

Returns an initial greeting response from the server.


instance method Net::IMAP#list

list(refname, mailbox)

Sends a LIST command, and returns a subset of names from the complete set of all names available to the client. The return value is an array of Net::IMAP::MailboxList.

ex).

imap.create("foo/bar")
imap.create("foo/baz")
p imap.list("", "foo/%")
#=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">]


instance method Net::IMAP#login

login(user, password)

Sends a LOGIN command to identify the client and carries the plaintext password authenticating this user.


instance method Net::IMAP#logout

logout

Sends a LOGOUT command to inform the server that the client is done with the connection.


instance method Net::IMAP#lsub

lsub(refname, mailbox)

Sends a LSUB command, and returns a subset of names from the set of names that the user has declared as being "active" or "subscribed". The return value is an array of Net::IMAP::MailboxList.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > noop

instance method Net::IMAP#noop

noop

Sends a NOOP command to the server. It does nothing.


instance method Net::IMAP#remove_response_handler

remove_response_handler(handler)

Removes the response handler.


instance method Net::IMAP#rename

rename(mailbox, newname)

Sends a RENAME command to change the name of the mailbox to the newname.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > response_handlers

instance method Net::IMAP#response_handlers

response_handlers

Returns all response handlers.


instance method Net::IMAP#responses

responses

Returns recorded untagged responses.

ex).

imap.select("inbox")
p imap.responses["EXISTS"][-1]
#=> 2
p imap.responses["UIDVALIDITY"][-1]
#=> 968263756


instance method Net::IMAP#search

search(keys, charset = nil)
uid_search(keys, charset = nil)

Sends a SEARCH command to search the mailbox for messages that match the given searching criteria, and returns message sequence numbers (search) or unique identifiers (uid_search).

ex).

p imap.search(["SUBJECT", "hello"])
#=> [1, 6, 7, 8]
p imap.search('SUBJECT "hello"')
#=> [1, 6, 7, 8]


instance method Net::IMAP#select

select(mailbox)

Sends a SELECT command to select a mailbox so that messages in the mailbox can be accessed.


instance method Net::IMAP#setacl

setacl(mailbox, user, rights)

Sends the SETACL command along with mailbox, user and the rights that user is to have on that mailbox. If rights is nil, then that user will be stripped of any rights to that mailbox. The IMAP ACL commands are described in [RFC2086].


instance method Net::IMAP#setquota

setquota(mailbox, quota)

Sends a SETQUOTA command along with the specified mailbox and quota. If quota is nil, then quota will be unset for that mailbox. Typically one needs to be logged in as server admin for this to work. The IMAP quota commands are described in [RFC2087].


instance method Net::IMAP#sort

sort(sort_keys, search_keys, charset)
uid_sort(sort_keys, search_keys, charset)

Sends a SORT command to sort messages in the mailbox.

ex).

p imap.sort(["FROM"], ["ALL"], "US-ASCII")
#=> [1, 2, 3, 5, 6, 7, 8, 4, 9]
p imap.sort(["DATE"], ["SUBJECT", "hello"], "US-ASCII")
#=> [6, 7, 8, 1]


instance method Net::IMAP#status

status(mailbox, attr)

Sends a STATUS command, and returns the status of the indicated mailbox. return value is a hash of attributes.

ex).

p imap.status("inbox", ["MESSAGES", "RECENT"])
#=> {"RECENT"=>0, "MESSAGES"=>44}


instance method Net::IMAP#store

store(set, attr, flags)
uid_store(set, attr, flags)

Sends a STORE command to alter data associated with a message in the mailbox. the set parameter is a number or an array of numbers or a Range object. the number is a message sequence number (store) or a unique identifier (uid_store). The return value is an array of Net::IMAP::FetchData.

ex).

p imap.store(6..8, "+FLAGS", [:Deleted])
#=> [#<Net::IMAP::FetchData seqno=6, attr={"FLAGS"=>[:Seen, :Deleted]}>, #<Net::IMAP::FetchData seqno=7, attr={"FLAGS"=>[:Seen, :Deleted]}>, #<Net::IMAP::FetchData seqno=8, attr={"FLAGS"=>[:Seen, :Deleted]}>]


instance method Net::IMAP#subscribe

subscribe(mailbox)

Sends a SUBSCRIBE command to add the specified mailbox name to the server's set of "active" or "subscribed" mailboxes.


instance method Net::IMAP#thread

thread(algorithm, search_keys, charset)

As for #search(), but returns message sequence numbers in threaded format, as a Net::IMAP::ThreadMember tree. The supported algorithms are:

ORDEREDSUBJECT:: split into single-level threads according to subject,

ordered by date.

REFERENCES:: split into threads by parent/child relationships determined

by which message is a reply to which.

Unlike #search(), +charset+ is a required argument. US-ASCII and UTF-8 are sample values.

See [SORT-THREAD-EXT] for more details.


instance method Net::IMAP#uid_thread

uid_thread(algorithm, search_keys, charset)

As for #thread(), but returns unique identifiers instead of message sequence numbers.


instance method Net::IMAP#unsubscribe

unsubscribe(mailbox)

Sends a UNSUBSCRIBE command to remove the specified mailbox name from the server's set of "active" or "subscribed" mailboxes.


singleton method Net::IMAP.add_authenticator

add_authenticator(auth_type, authenticator)

Adds an authenticator for Net::IMAP#authenticate.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > debug

singleton method Net::IMAP.debug

debug

Returns the debug mode.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > debug=

singleton method Net::IMAP.debug=

debug=(val)

Sets the debug mode.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > decode_utf7

singleton method Net::IMAP.decode_utf7

decode_utf7


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP > encode_utf7

singleton method Net::IMAP.encode_utf7

encode_utf7


singleton method Net::IMAP.new

new(host, port = 143, usessl = false, certs = nil, verify = false)

Creates a new Net::IMAP object and connects it to the specified port on the named host. If usessl is true, then an attempt will be made to use SSL (now TLS) to connect to the server. For this to work OpenSSL[OSSL] and the Ruby OpenSSL (openssl) extension need to be installed. The certs parameter indicates the path or file containing the CA cert of the server, and the verify parameter is for the OpenSSL verification callback.


instance method Net::IMAP::Address#host

host

nil indicates [RFC822] group syntax. Otherwise, returns [RFC822] domain name.


instance method Net::IMAP::Address#mailbox

mailbox

nil indicates end of [RFC822] group. If non-nil and host is nil, returns [RFC822] group name. Otherwise, returns [RFC822] local-part


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::Address > name

instance method Net::IMAP::Address#name

name

Returns the phrase from [RFC822] mailbox.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::Address > route

instance method Net::IMAP::Address#route

route

Returns the route from [RFC822] route-addr.


instance method Net::IMAP::BodyTypeBasic#content_id

content_id

Returns a string giving the content id as defined in [MIME-IMB].


instance method Net::IMAP::BodyTypeBasic#description

description

Returns a string giving the content description as defined in [MIME-IMB].


instance method Net::IMAP::BodyTypeBasic#disposition

disposition

Returns a Net::IMAP::ContentDisposition object giving the content disposition.


instance method Net::IMAP::BodyTypeBasic#encoding

encoding

Returns a string giving the content transfer encoding as defined in [MIME-IMB].


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeBasic > extension

instance method Net::IMAP::BodyTypeBasic#extension

extension

Returns extension data.


instance method Net::IMAP::BodyTypeBasic#language

language

Returns a string or an array of strings giving the body language value as defined in [LANGUAGE-TAGS].


instance method Net::IMAP::BodyTypeBasic#md5

md5

Returns a string giving the body MD5 value as defined in [MD5].


instance method Net::IMAP::BodyTypeBasic#media_subtype

media_subtype

media_subtype is obsolete. Use #subtype instead.


instance method Net::IMAP::BodyTypeBasic#media_type

media_type

Returns the content media type name as defined in [MIME-IMB].


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeBasic > multipart?

instance method Net::IMAP::BodyTypeBasic#multipart?

multipart?

Returns false.


instance method Net::IMAP::BodyTypeBasic#param

param

Returns a hash that represents parameters as defined in [MIME-IMB].


instance method Net::IMAP::BodyTypeBasic#size

size

Returns a number giving the size of the body in octets.


instance method Net::IMAP::BodyTypeBasic#subtype

subtype

Returns the content subtype name as defined in [MIME-IMB].


instance method Net::IMAP::BodyTypeMessage#body

body

Returns an object giving the body structure.

And Net::IMAP::BodyTypeMessage has all methods of Net::IMAP::BodyTypeText.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > content_id

instance method Net::IMAP::BodyTypeMessage#content_id

content_id


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > description

instance method Net::IMAP::BodyTypeMessage#description

description


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > disposition

instance method Net::IMAP::BodyTypeMessage#disposition

disposition


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > encoding

instance method Net::IMAP::BodyTypeMessage#encoding

encoding


instance method Net::IMAP::BodyTypeMessage#envelope

envelope

Returns a Net::IMAP::Envelope giving the envelope structure.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > extension

instance method Net::IMAP::BodyTypeMessage#extension

extension


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > language

instance method Net::IMAP::BodyTypeMessage#language

language


instance method Net::IMAP::BodyTypeMessage#lines

lines

Returns the size of the body in text lines.

And Net::IMAP::BodyTypeText has all methods of Net::IMAP::BodyTypeBasic.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > md5

instance method Net::IMAP::BodyTypeMessage#md5

md5


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > media_subtype

instance method Net::IMAP::BodyTypeMessage#media_subtype

media_subtype

obsolete. use #subtype instead.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > media_type

instance method Net::IMAP::BodyTypeMessage#media_type

media_type


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > multipart?

instance method Net::IMAP::BodyTypeMessage#multipart?

multipart?

Returns false.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > param

instance method Net::IMAP::BodyTypeMessage#param

param


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > size

instance method Net::IMAP::BodyTypeMessage#size

size


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMessage > subtype

instance method Net::IMAP::BodyTypeMessage#subtype

subtype


instance method Net::IMAP::BodyTypeMultipart#disposition

disposition

Returns a Net::IMAP::ContentDisposition object giving the content disposition.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMultipart > extension

instance method Net::IMAP::BodyTypeMultipart#extension

extension

Returns extension data.


instance method Net::IMAP::BodyTypeMultipart#language

language

Returns a string or an array of strings giving the body language value as defined in [LANGUAGE-TAGS].


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMultipart > media_subtype

instance method Net::IMAP::BodyTypeMultipart#media_subtype

media_subtype

obsolete. use #subtype instead.


instance method Net::IMAP::BodyTypeMultipart#media_type

media_type

Returns the content media type name as defined in [MIME-IMB].


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMultipart > multipart?

instance method Net::IMAP::BodyTypeMultipart#multipart?

multipart?

Returns true.


instance method Net::IMAP::BodyTypeMultipart#param

param

Returns a hash that represents parameters as defined in [MIME-IMB].


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeMultipart > parts

instance method Net::IMAP::BodyTypeMultipart#parts

parts

Returns multiple parts.


instance method Net::IMAP::BodyTypeMultipart#subtype

subtype

Returns the content subtype name as defined in [MIME-IMB].


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > content_id

instance method Net::IMAP::BodyTypeText#content_id

content_id


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > description

instance method Net::IMAP::BodyTypeText#description

description


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > disposition

instance method Net::IMAP::BodyTypeText#disposition

disposition


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > encoding

instance method Net::IMAP::BodyTypeText#encoding

encoding


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > extension

instance method Net::IMAP::BodyTypeText#extension

extension


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > language

instance method Net::IMAP::BodyTypeText#language

language


instance method Net::IMAP::BodyTypeText#lines

lines

Returns the size of the body in text lines.

And Net::IMAP::BodyTypeText has all methods of Net::IMAP::BodyTypeBasic.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > md5

instance method Net::IMAP::BodyTypeText#md5

md5


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > media_subtype

instance method Net::IMAP::BodyTypeText#media_subtype

media_subtype

obsolete. use #subtype instead.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > media_type

instance method Net::IMAP::BodyTypeText#media_type

media_type


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > multipart?

instance method Net::IMAP::BodyTypeText#multipart?

multipart?

Returns false.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > param

instance method Net::IMAP::BodyTypeText#param

param


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > size

instance method Net::IMAP::BodyTypeText#size

size


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::BodyTypeText > subtype

instance method Net::IMAP::BodyTypeText#subtype

subtype


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::ContentDisposition > dsp_type

instance method Net::IMAP::ContentDisposition#dsp_type

dsp_type

Returns the disposition type.


instance method Net::IMAP::ContentDisposition#param

param

Returns a hash that represents parameters of the Content-Disposition field.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::ContinuationRequest > data

instance method Net::IMAP::ContinuationRequest#data

data

Returns the data (Net::IMAP::ResponseText).


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::ContinuationRequest > raw_data

instance method Net::IMAP::ContinuationRequest#raw_data

raw_data

Returns the raw data string.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::CramMD5Authenticator > process

instance method Net::IMAP::CramMD5Authenticator#process

process(challenge)


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::CramMD5Authenticator > new

singleton method Net::IMAP::CramMD5Authenticator.new

new(user, password)


instance method Net::IMAP::Envelope#bcc

bcc

Retunns an array of Net::IMAP::Address that represents the bcc.


instance method Net::IMAP::Envelope#cc

cc

Retunns an array of Net::IMAP::Address that represents the cc.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::Envelope > date

instance method Net::IMAP::Envelope#date

date

Retunns a string that represents the date.


instance method Net::IMAP::Envelope#from

from

Retunns an array of Net::IMAP::Address that represents the from.


instance method Net::IMAP::Envelope#in_reply_to

in_reply_to

Retunns a string that represents the in-reply-to.


instance method Net::IMAP::Envelope#message_id

message_id

Retunns a string that represents the message-id.


instance method Net::IMAP::Envelope#reply_to

reply_to

Retunns an array of Net::IMAP::Address that represents the reply-to.


instance method Net::IMAP::Envelope#sender

sender

Retunns an array of Net::IMAP::Address that represents the sender.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::Envelope > subject

instance method Net::IMAP::Envelope#subject

subject

Retunns a string that represents the subject.


instance method Net::IMAP::Envelope#to

to

Retunns an array of Net::IMAP::Address that represents the to.


instance method Net::IMAP::FetchData#attr

attr

Returns a hash. Each key is a data item name, and each value is its value.

The current data items are:

BODY

A form of BODYSTRUCTURE without extension data.

BODY[<section>]<<origin_octet>>

A string expressing the body contents of the specified section.

BODYSTRUCTURE

An object that describes the [MIME-IMB] body structure of a message. See Net::IMAP::BodyTypeBasic, Net::IMAP::BodyTypeText, Net::IMAP::BodyTypeMessage, Net::IMAP::BodyTypeMultipart.

ENVELOPE

A Net::IMAP::Envelope object that describes the envelope structure of a message.

FLAGS

A array of flag symbols that are set for this message. flag symbols are capitalized by String#capitalize.

INTERNALDATE

A string representing the internal date of the message.

RFC822

Equivalent to BODY[].

RFC822.HEADER

Equivalent to BODY.PEEK[HEADER].

RFC822.SIZE

A number expressing the [RFC822] size of the message.

RFC822.TEXT

Equivalent to BODY[TEXT].

UID

A number expressing the unique identifier of the message.


instance method Net::IMAP::FetchData#seqno

seqno

Returns the message sequence number. (Note: not the unique identifier, even for the UID command response.)


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::LoginAuthenticator > process

instance method Net::IMAP::LoginAuthenticator#process

process(data)


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::LoginAuthenticator > new

singleton method Net::IMAP::LoginAuthenticator.new

new(user, password)


instance method Net::IMAP::MailboxACLItem#rights

rights

The access rights the indicated user has to the mailbox.


instance method Net::IMAP::MailboxACLItem#user

user

Login name that has certain rights to the mailbox that was specified with the getacl command.


instance method Net::IMAP::MailboxList#attr

attr

Returns the name attributes. Each name attribute is a symbol capitalized by String#capitalize, such as :Noselect (not :NoSelect).


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::MailboxList > delim

instance method Net::IMAP::MailboxList#delim

delim

Returns the hierarchy delimiter


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::MailboxList > name

instance method Net::IMAP::MailboxList#name

name

Returns the mailbox name.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::MailboxQuota > mailbox

instance method Net::IMAP::MailboxQuota#mailbox

mailbox

The mailbox with the associated quota.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::MailboxQuota > quota

instance method Net::IMAP::MailboxQuota#quota

quota

Quota limit imposed on mailbox.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::MailboxQuota > usage

instance method Net::IMAP::MailboxQuota#usage

usage

Current storage usage of mailbox.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::MailboxQuotaRoot > mailbox

instance method Net::IMAP::MailboxQuotaRoot#mailbox

mailbox

The mailbox with the associated quota.


instance method Net::IMAP::MailboxQuotaRoot#quotaroots

quotaroots

Zero or more quotaroots that effect the quota on the specified mailbox.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::ResponseCode > data

instance method Net::IMAP::ResponseCode#data

data

Returns the data if it exists.


instance method Net::IMAP::ResponseCode#name

name

Returns the name such as "ALERT", "PERMANENTFLAGS", "UIDVALIDITY"....


instance method Net::IMAP::ResponseText#code

code

Returns the response code. See Net::IMAP::ResponseCode.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::ResponseText > text

instance method Net::IMAP::ResponseText#text

text

Returns the text.


instance method Net::IMAP::StatusData#attr

attr

Returns a hash. Each key is one of "MESSAGES", "RECENT", "UIDNEXT", "UIDVALIDITY", "UNSEEN". Each value is a number.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::StatusData > mailbox

instance method Net::IMAP::StatusData#mailbox

mailbox

Returns the mailbox name.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::TaggedResponse > data

instance method Net::IMAP::TaggedResponse#data

data

Returns the data. See Net::IMAP::ResponseText.


instance method Net::IMAP::TaggedResponse#name

name

Returns the name. the name is one of "OK", "NO", "BAD".


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::TaggedResponse > raw_data

instance method Net::IMAP::TaggedResponse#raw_data

raw_data

Returns the raw data string.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::TaggedResponse > tag

instance method Net::IMAP::TaggedResponse#tag

tag

Returns the tag.


instance method Net::IMAP::ThreadMember#children

children

an array of Net::IMAP::ThreadMember objects for mail items that are children of this in the thread.


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::ThreadMember > seqno

instance method Net::IMAP::ThreadMember#seqno

seqno

The sequence number of this message.


instance method Net::IMAP::UntaggedResponse#data

data

Returns the data such as an array of flag symbols, a Net::IMAP::MailboxList object....


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::UntaggedResponse > name

instance method Net::IMAP::UntaggedResponse#name

name

Returns the name such as "FLAGS", "LIST", "FETCH"....


Ruby 1.8.7 Reference Manual > All Libraries > library net/imap > class Net::IMAP::UntaggedResponse > raw_data

instance method Net::IMAP::UntaggedResponse#raw_data

raw_data

Returns the raw data string.


instance method Net::POPMail#all

pop
all
mail

メールを受信して文字列で返します。

pop, all, mail はすべて同じ効果ですが、 all と mail は obsolete です。 これからは常に pop を使ってください。

使用例:

require 'net/pop'

Net::POP3.start('your.pop3.server', 110,
                'YourAccount, 'YourPassword') {|pop|
  pop.mails.each do |m|
    puts m.pop
  end
}
pop {|str| .... }
all {|str| .... }
mail {|str| .... }

メールの文字列を少しずつ読みこみ、順次ブロックに与えます。

pop, all, mail はすべて同じ効果ですが、 all と mail は obsolete です。 これからは常に pop を使ってください。

使用例:

require 'net/pop'

Net::POP3.start('localhost', 110) {|pop|
  pop.each_mail do |m|
    m.pop do |str|
      print str
    end
  end
}


instance method Net::POPMail#delete

delete
delete!

サーバ上からメールを削除します。

Ruby 1.8 以降では delete と delete! は同じ効果です。 また、delete! は obsolete なので、 これからは常に delete を使うべきです。


instance method Net::POPMail#deleted?

deleted?

メールがサーバ上で消去されていたら true を返します。

いったんメールを消去したら Net::POP3#reset を使う以外に復活する方法はありません。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POPMail > header

instance method Net::POPMail#header

header

ヘッダだけを受信して文字列で返します。


instance method Net::POPMail#number

number

メールに対して振られた、そのメールボックスで一意な番号です。 サーバに接続しなおすとこの番号は変化する場合があります。 メールごとに一意な識別子が必要なときは Net::POPMail#uidl を使ってください。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POPMail > size

instance method Net::POPMail#size

size

メールのサイズ (単位はバイト) をかえします。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POPMail > top

instance method Net::POPMail#top

top(lines)

メールヘッダと lines 行ぶんの本文を取得し文字列で返します。


instance method Net::POPMail#uidl

uidl
unique_id

メールに対して振られた、サーバ上で一意な識別子 (UIDL) をかえします。 Net::POPMail#number と違い、 この UIDL は接続しなおしても変化しません。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > Revision

constant Net::POP3::Revision

Revision

net/pop3 file revision.


instance method Net::POP3#active?

started?
active?

POP3 セッションが開始されていたら真を返します。

Ruby 1.8.0 以降では active? は obsolete です。 これからは常に started? を使ってください。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > address

instance method Net::POP3#address

address

接続するアドレスです。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > apop?

instance method Net::POP3#apop?

apop?

このインスタンスが APOP を使ってサーバに接続するなら true を返します。


instance method Net::POP3#auth_only

auth_only(account, password)

POP セッションを開き認証だけを行って接続を切ります。 主に POP before SMTP のために用意されています。

使用例:

require 'net/pop'

pop = Net::POP3.new('your.pop3.server')
pop.auth_only 'YourAccount', 'YourPassword'


instance method Net::POP3#delete_all

delete_all
delete_all {|popmail| .... }

サーバ上のメールを全て消去します。 ブロックを与えられたときは消去する前にその POPMail オブジェクトを ブロックに渡します。

使用例:

require 'net/pop'

n = 1
pop.delete_all do |m|
  File.open("inbox/#{n}") {|f| f.write m.pop }
  n += 1
end


instance method Net::POP3#each

each_mail {|popmail| .... }
each {|popmail| .... }

pop3.mails.each と同じです。


instance method Net::POP3#finish

finish

POP3 セッションを終了します。セッション開始前にこのメソッドが 呼ばれた場合は例外 IOError を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > inspect

instance method Net::POP3#inspect

inspect


instance method Net::POP3#mails

mails

Net::POPMail オブジェクトの配列をかえします。 この配列はセッションを開始したときに自動的に更新されます。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > n_bytes

instance method Net::POP3#n_bytes

n_bytes

サーバにあるメールの総バイト数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > n_mails

instance method Net::POP3#n_mails

n_mails

サーバにあるメールの数を返します。


instance method Net::POP3#open_timeout

open_timeout
open_timeout=(n)

接続時に待つ最大秒数です。 この秒数たってもコネクションが開かないときは 例外 TimeoutError を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > port

instance method Net::POP3#port

port

接続するポート番号です。


instance method Net::POP3#read_timeout

read_timeout
read_timeout=(n)

読みこみ (read(2) 一回) でブロックしてよい最大秒数です。 この秒数たっても読みこめなければ例外 TimeoutError を発生します。


instance method Net::POP3#reset

reset

セッションをリセットします。 具体的には Net::POPMail#delete で消去したメールが全て復活します。

POP3 ではメール一個だけを復活する方法はありません。


instance method Net::POP3#set_debug_output

set_debug_output(f)

デバッグ用の出力 f をセットします。 f は << メソッドを持っているオブジェクトでなければなりません。

使用例:

require 'net/pop'

pop = Net::POP3.new('your.pop3.server', 110)
pop.set_debug_output $stderr
pop.start('YourAccount', 'YourPassword') {
  p pop.n_bytes
}

実行結果:

POP session started: your.pop3.server:110 (POP)
-> "+OK popd <1162042773.26346.155555a1861c@your.pop3.server>\r\n"
<- "APOP YourAccount XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n"
-> "+OK\r\n"
<- "STAT\r\n"
-> "+OK 37 339936\r\n"
339936
<- "QUIT\r\n"
-> "+OK\r\n"


instance method Net::POP3#start

start(account, password)
start(account, password) {|pop| .... }

リモートホストとの TCP 接続を開始し、アカウントに account、 パスワードに password を使って POP ログインします。


singleton method Net::POP3.APOP

APOP(is_apop)

bool が真なら Net::APOP クラス、偽なら Net::POP3 クラスを返します。

使用例:

require 'net/pop'

pop = Net::POP3::APOP($isapop).new(addr, port)
pop.start(account, password) {
  ....
}


singleton method Net::POP3.auth_only

auth_only(address, port = 110, account, password)

POP セッションを開き認証だけを行って接続を切ります。 主に POP before SMTP のために用意されています。

使用例:

require 'net/pop'

Net::POP3.auth_only('your.pop3.server', nil,     # using default port (110)
                    'YourAccount', 'YourPassword')


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > default_port

singleton method Net::POP3.default_port

default_port


singleton method Net::POP3.delete_all

delete_all(address, port = 110, account, password)
delete_all(address, port = 110, account, password) {|mail| .... }

POP セッションを開き、サーバ上のメールをすべて削除します。 ブロックが与えられた時は削除する前にブロックにそのメールを渡します。

使用例:

require 'net/pop'

Net::POP3.delete_all(addr, nil, 'YourAccount', 'YourPassword') do |m|
  puts m.pop
end


singleton method Net::POP3.foreach

foreach(address, port = 110, account, password) {|mail| .... }

POP セッションを開き、サーバ上のすべてのメールに対して繰り返します。 以下と同じです。

Net::POP3.start(address, port, account, password) {|pop|
  pop.each_mail do |m|
    yield m
  end
}

使用例:

require 'net/pop'

Net::POP3.foreach('your.pop.server', 110,
                  'YourAccount', 'YourPassword') do |m|
  file.write m.pop
  m.delete if $DELETE
end


singleton method Net::POP3.new

new(address, port = 110, apop = false)

Net::POP3 オブジェクトを生成します。まだ接続はしません。 apop が真のときは APOP 認証を行うオブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/pop > class Net::POP3 > socket_type

singleton method Net::POP3.socket_type

socket_type

このメソッドは obsolete です。 使わないでください。


singleton method Net::POP3.start

start(address, port = 110, account, password)
start(address, port = 110, account, password) {|pop| .... }

address の port 番ポートに接続し、アカウント account パスワード password で POP ログインします。第二引数 port に nil を渡すと POP3 のデフォルトポート(110)を使います。

使用例:

require 'net/pop'

Net::POP3.start(addr, port, account, password) {|pop|
  pop.each_mail do |m|
    file.write m.pop
    m.delete
  end
}


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > Revision

constant Net::SMTP::Revision

Revision

File revision. You cannot assume any specific format.


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > address

instance method Net::SMTP#address

address

接続するアドレス


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > esmtp

instance method Net::SMTP#esmtp

esmtp
esmtp=(bool)


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > esmtp?

instance method Net::SMTP#esmtp?

esmtp?


instance method Net::SMTP#finish

finish

SMTP セッションを終了します。

セッション開始前にこのメソッドが呼ばれた場合は例外 IOError を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > inspect

instance method Net::SMTP#inspect

inspect


instance method Net::SMTP#open_message_stream

open_message_stream(from_addr, *to_addrs) {|f| .... }
ready(from_addr, *to_addrs) {|f| .... }

メール書きこみの準備をしたうえで、 write, print, printf, puts メソッドを持つオブジェクト f をブロックにあたえます。 from_addr は送信元メールアドレスで to_addrs は宛先のメールボックスです。

require 'net/smtp'

Net::SMTP.start('your.smtp.server', 25) {|smtp|
  smtp.open_message_stream('from@mail.addr', 'dest@mail.addr') {|f|
    f.puts 'From: aamine@loveruby.net'
    f.puts 'To: someone@somedomain.org'
    f.puts 'Subject: test mail'
    f.puts
    f.puts 'This is test mail.'
  }
}


instance method Net::SMTP#open_timeout

open_timeout
open_timeout=(n)

接続時に待つ最大秒数。この秒数たってもコネクションが 開かなければ例外 TimeoutError を発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > port

instance method Net::SMTP#port

port

接続するポート番号


instance method Net::SMTP#read_timeout

read_timeout
read_timeout=(n)

読みこみ (read(2) 一回) でブロックしてよい最大秒数。 この秒数たっても読みこめなければ例外 TimeoutError を発生します。


instance method Net::SMTP#send_mail

send_message(mailsrc, from_addr, *to_addrs)
send_mail(mailsrc, from_addr, *to_addrs)
sendmail(mailsrc, from_addr, *to_addrs)

mailsrc をメールとして送信します。 mailsrc は each イテレータを持つ オブジェクトならなんでも構いません (たとえば String や File)。

from_domain は送り主のメールアドレス ('...@...'のかたちのもの) で、 to_addrs には送信先メールアドレスを並べます。

require 'net/smtp'

Net::SMTP.start('your.smtp.server') {|smtp|
  smtp.send_message mail_string,
                    'from@mail.address',
                    'dest@mail.address', 'dest2@mail.address'
}


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > set_debug_output

instance method Net::SMTP#set_debug_output

set_debug_output(f)


instance method Net::SMTP#start

start(helo_domain = <local host name>, account = nil, password = nil, authtype = nil)
start(helo_domain = <local host name>, account = nil, password = nil, authtype = nil) {|smtp| .... }

TCP コネクションを張り、同時に SMTP セッションを開始します。 そのとき、こちらのホストの FQDN を helo_domain に指定します。 もしすでにセッションが開始していたら IOError を発生します。

account と password の両方が与えられた場合、 SMTP AUTH コマンドによって認証を行います。 authtype は使用する認証のタイプで、 シンボルで :plain か :cram_md5 を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > started?

instance method Net::SMTP#started?

started?

SMTP セッションが開始されていたら真。


Ruby 1.8.7 Reference Manual > All Libraries > library net/smtp > class Net::SMTP > default_port

singleton method Net::SMTP.default_port

default_port

The default SMTP port number, 25.


singleton method Net::SMTP.new

new(address, port = 25)

新しい SMTP オブジェクトを生成します。 address はSMTPサーバーのFQDNで、 port は接続するポート番号です。 ただし、このメソッドではまだ接続はしません。


singleton method Net::SMTP.start

start(address, port = 25, helo_domain = 'localhost.localdomain', account = nil, password = nil, authtype = nil)
start(address, port = 25, helo_domain = 'localhost.localdomain', account = nil, password = nil, authtype = nil) {|smtp| .... }

以下と同じです。

Net::SMTP.new(address, port).start(helo_domain, account, password, authtype)

Example:

require 'net/smtp'

Net::SMTP.start('your.smtp.server') {|smtp|
  smtp.send_message mail_string, 'from@mail.address', 'dest@mail.address'
}


constant Net::Telnet::ABORT

IAC
DONT
DO
WONT
WILL
SB
GA
EL
EC
AYT
AO
IP
BREAK
DM
NOP
SE
EOR
ABORT
SUSP
EOF
SYNCH
OPT_BINARY
OPT_ECHO
OPT_RCP
OPT_SGA
OPT_NAMS
OPT_STATUS
OPT_TM
OPT_RCTE
OPT_NAOL
OPT_NAOP
OPT_NAOCRD
OPT_NAOHTS
OPT_NAOHTD
OPT_NAOFFD
OPT_NAOVTS
OPT_NAOVTD
OPT_NAOLFD
OPT_XASCII
OPT_LOGOUT
OPT_BM
OPT_DET
OPT_SUPDUP
OPT_SUPDUPOUTPUT
OPT_SNDLOC
OPT_TTYPE
OPT_EOR
OPT_TUID
OPT_OUTMRK
OPT_TTYLOC
OPT_3270REGIME
OPT_X3PAD
OPT_NAWS
OPT_TSPEED
OPT_LFLOW
OPT_LINEMODE
OPT_XDISPLOC
OPT_OLD_ENVIRON
OPT_AUTHENTICATION
OPT_ENCRYPT
OPT_NEW_ENVIRON
OPT_EXOPL
NULL
CR
LF
EOL
REVISION


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > binmode

instance method Net::Telnet#binmode

binmode
binmode(bool)
binmode=(bool)
...


instance method Net::Telnet#cmd

cmd(string)
cmd("String" => string, "Match" => match, "Timeout" => timeout)

string を改行付きでリモートホストに送り、次のプロンプト match が出力されるまで待ちます。

match のデフォルト値は new で指定した "Prompt" の値です。 timeout のデフォルト値は new で指定した "Timeout" の値です。

ブロックを指定した場合、出力文字列を引数にブロックを逐次実行します。


instance method Net::Telnet#login

login(user[, password])
login("Name" => user, "Password" => password)

ユーザ名 user, パスワード password でログインします。 リモートホストが以下のプロンプトでユーザ名、パスワードの入力を要求する ことを期待しています。

xxxlogin:
Password:

これに適合しない場合は、自分で例えば以下のようにログインを行う必要があ ります。

# ログイン時にいきなりパスワードの問い合わせが来る場合
telnet = Net::Telnet.new("Host"=>"localhost") {|c| print c}
telnet.waitfor(/Password[: ]*\z/n) {|c| print c}
telnet.cmd("your password")

ブロックを指定した場合、出力文字列を引数にブロックを逐次実行します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > preprocess

instance method Net::Telnet#preprocess

preprocess(string)
preprocess(string) [added by net/telnets]


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > print

instance method Net::Telnet#print

print(string)


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > puts

instance method Net::Telnet#puts

puts(string)

string を改行を付けてリモートホストに送ります。


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > sock

instance method Net::Telnet#sock

sock

リモートホストに接続している IO オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnets > class Net::Telnet > ssl

instance method Net::Telnet#ssl

ssl [added by net/telnets]


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnets > class Net::Telnet > ssl?

instance method Net::Telnet#ssl?

ssl? [added by net/telnets]


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > telnetmode

instance method Net::Telnet#telnetmode

telnetmode
telnetmode(bool)
telnetmode=(bool)
...


instance method Net::Telnet#waitfor

waitfor(match)
waitfor("Match" => match, "Timeout" => timeout, "Waittime" => waittime)

正規表現 match で指定した文字列が出力されるまで待ち合わせます。 match の代わりに "String" をキーに文字列を指定した場合、 リモートホストからの出力にその文字列が現れるまで待ち合わせます。

timeout 待っても何も出力がなければ TimeoutError 例外が発生 します．

timeout, waittime のデフォルト値は new で指定した "Timeout", "Waittime" の値です。

ブロックを指定した場合、出力文字列を引数にブロックを逐次実行します。

waitfor(options) [added by net/telnets]


Ruby 1.8.7 Reference Manual > All Libraries > library net/telnet > class Net::Telnet > write

instance method Net::Telnet#write

write(string)


singleton method Net::Telnet.new

new(opts)

Telnet オブジェクトを生成します。このときリモートホストへの接続も行いま す。opts には Telnet オブジェクトに設定する以下のオプションをハッ シュで指定します。オプションは省略時にはそれぞれ右に示すデフォルト値が 適用されます。

"Host"       => "localhost"
"Port"       => 23
"Prompt"     => /[$%#>] \z/n
"Timeout"    => 10  # 接続待ちタイムアウト値(sec)
"Waittime"   => 0   # Prompt を待ち合わせる時間。この値を nil にしてはいけません
"Binmode"    => false
"Telnetmode" => true
"Output_log" => nil # 出力ファイル名
"Dump_log"   => nil # 出力ファイル名
"Proxy"      => nil # Net::Telnet または IO のオブジェクトを指定する

生成されたインスタンスは TCPSocket あるいは "Proxy" で指定したオ ブジェクトが持つメソッドを受け付けます(SimpleDelegatorにより delegateされる)．

"Timeout" で指定した時間までに接続できない場合 TimeoutError 例外 が発生します。

"Waittime" は Net::Telnet#waitfor メソッドの "Waittime" のデフォ ルト値になります。waitfor メソッドのプロンプト待ち合わせの処理は、リモー トホストからの出力が "Prompt" で指定した正規表現にマッチしてから "Waittime" 秒待っても出力がないかどうかで判断されます。 waitfor メソッドは Net::Telnet#cmd や Net::Telnet#login の内部でも使用されています。

ブロックを指定した場合、接続前に

"Trying #{ホスト名} ...\n"

接続後に

"Connected to #{ホスト名}.\n"

という文字列を引数にそれぞれブロックを実行します。


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/newton > module Newton > nlsolve

instance method Newton#nlsolve

nlsolve(f, x)


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/newton > module Newton > norm

instance method Newton#norm

norm(fv, zero = 0.0)


instance method NilClass#^

self ^ other -> bool

other が真なら true を, 偽なら false を返します。

[PARAM] other:
排他的論理和を行なう式です


instance method NilClass#|

self | other -> bool

other が真なら true を, 偽なら false を返します。

[PARAM] other:
論理和を行なう式です


instance method NilClass#&

self & other -> false

常に false を返します。

[PARAM] other:
論理積を行なう式です


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class NilClass > nil?

instance method NilClass#nil?

nil? -> bool

常に true を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class NilClass > to_a

instance method NilClass#to_a

to_a -> Array

空配列 [] を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class NilClass > to_f

instance method NilClass#to_f

to_f -> Float

0.0 を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class NilClass > to_i

instance method NilClass#to_i

to_i -> Fixnum

0 を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class NilClass > to_s

instance method NilClass#to_s

to_s -> String

空文字列 "" を返します。


instance method NoMethodError#args

args -> [object]

メソッド呼び出しに使われた引数を配列で返します。

例:

begin
  foobar(1,2,3)
rescue NoMethodError
  p $!
  p $!.name
  p $!.args
end

# => #<NoMethodError: undefined method `foobar' for main:Object>
     :foobar
     [1, 2, 3]


singleton method NoMethodError.new

new(error_message = "", name = nil, args = nil) -> NoMethodError

例外オブジェクトを生成して返します。

[PARAM] error_message:
エラーメッセージを表す文字列です
[PARAM] name:
未定義だったシンボルです
[PARAM] args:
メソッド呼び出しに使われた引数です

例:

nom = NoMethodError.new("message", "foo", [1,2,3])
p nom.name
p nom.args

# => "foo"
[1, 2, 3]


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Numeric > +@

instance method Numeric#+@

+ -> self

単項演算子の + です。 self を返します。


instance method Numeric#-@

- -> Numeric

単項演算子の - です。 self の符号を反転させたものを返します。

このメソッドは、二項演算子 - で 0 - self によって定義されています。


instance method Numeric#<=>

self <=> other -> -1 | 0 | 1 | nil

自身が other より大きい場合に 1 を、等しい場合に 0 を、小さい場合には -1 をそれぞれ返します。 自身と other が比較できない場合には nil を返します。

Numeric のサブクラスは、上の動作を満たすよう このメソッドを適切に再定義しなければなりません。

[PARAM] other:
自身と比較したい数値を指定します。
1 <=> 0   #=> 1
1 <=> 1   #=> 0
1 <=> 2   #=> -1
1 <=> "0" #=> nil


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Numeric > abs

instance method Numeric#abs

abs -> Numeric

自身が 0 以上ならば self を、そうでない場合は -self を返します。


instance method Numeric#arg

arg -> Fixnum | Float [added by complex]

複素数として見た場合の偏角を[-π,π]の範囲で返します。 非負なら0、負なら Math::PI を返します。

例:

n = 1000
f = -12.345

p n.arg    #=> 0
p f.arg    #=> 3.14159265358979


instance method Numeric#ceil

ceil -> Integer

自身と等しいかより大きな整数のうち最小のものを返します。

1.ceil        #=> 1
1.2.ceil      #=> 2
(-1.2).ceil   #=> -1
(-1.5).ceil   #=> -1

[SEE_ALSO] Numeric#floor, Numeric#round, Numeric#truncate


instance method Numeric#clone

clone
dup

このメソッドを呼び出すことはできません。呼び出すと例外が発生します。

数値などの immutable なオブジェクトは clone や dup が禁止されています。

1.dup   # => in `clone': can't clone Fixnum (TypeError)
[EXCEPTION] TypeError:
このメソッドを呼び出した場合に発生します


instance method Numeric#coerce

coerce(other) -> [Numeric]

自身と other が同じクラスになるよう、自身か other を変換し [other, self] という配列にして返します。

デフォルトでは self と other を Float に変換して [other, self] という配列にして返します。 Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。 以下は Rational の coerce のソースです。other が自身の知らない数値クラスであった場合、 super を呼んでいることに注意して下さい。

# lib/rational.rb より

def coerce(other)
  if other.kind_of?(Float)
    return other, self.to_f
  elsif other.kind_of?(Integer)
    return Rational.new!(other, 1), self
  else
    super
  end
end

数値クラスの算術演算子は通常自分と演算できないクラスをオペランドとして受け 取ると coerce を使って自分とオペランドを変換した上で演算を行います。 以下は Rational の + メソッドを一部省略したものです。 引数が自身の知らない数値クラスである場合、引数の coerce により自身を変換してから + 演算子を呼んでいます。

# lib/rational.rb より

def + (a)
  if a.kind_of?(Rational)
    # 長いので省略
  elsif a.kind_of?(Integer)
    # 長いので省略
  elsif a.kind_of?(Float)
    Float(self) + a
  else
    x, y = a.coerce(self)
    x + y
  end
end
[PARAM] other:
オペランドを数値で指定します。


instance method Numeric#conj

conj -> self [added by complex]
conjugate -> self [added by complex]

複素数として見た場合の共役を返します。 つまり、self が実数の場合はselfを返します。


instance method Numeric#div

div(other) -> Integer

self を other で割った整数の商 q を返します。

ここで、商 q と余り r は、それぞれ

  • self == other * q + r

と

  • other > 0 のとき: 0 <= r < other
  • other < 0 のとき: other < r <= 0
  • q は整数

をみたす数です。 商に対応する余りは Numeric#modulo で求められます。 div はメソッド / の呼び出しとして定義されています。

[PARAM] other:
自身を割る数を指定します。
p 3.div(2) # => 1
p (-3).div(2) # => -2
p (-3.0).div(2) # => -2


instance method Numeric#divmod

divmod(other) -> [Numeric]

self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。

ここで、商 q と余り r は、

  • self == other * q + r

と

  • other > 0 のとき: 0 <= r < other
  • other < 0 のとき: other < r <= 0
  • q は整数

をみたす数です。 divmod が返す商は Numeric#div と同じです。 また余りは、Numeric#modulo と同じです。 このメソッドは、メソッド / と % によって定義されています。

[PARAM] other:
自身を割る数を指定します。
11.divmod(3)         #=> [3, 2]
(11.5).divmod(3.5)   #=> [3, 1.0]
11.divmod(-3)        #=> [-4, -1]
11.divmod(3.5)       #=> [3, 0.5]
(-11).divmod(3.5)    #=> [-4, 3.0]

[SEE_ALSO] Numeric#div, Numeric#modulo


instance method Numeric#eql?

eql?(other) -> bool

自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。

Numeric のサブクラスは、eql? で比較して等しい数値同士が同じハッシュ値を返すように hash メソッドを適切に定義する必要があります。

[PARAM] other:
自身と比較したい数値を指定します。
p 1.eql?(1)    #=> true
p 1.eql?(1.0)  #=> false
p 1 == 1.0     #=> true

[SEE_ALSO] Object#equal?, Object#eql?, Object#==, Object#===


instance method Numeric#fdiv

quo(other) -> Float
fdiv(other) -> Float

self を other で割った実数の商を返します。

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。

[PARAM] other:
自身を割る数を指定します。
p 1.quo(3)      # => 0.3333333333333333

require 'rational'
p 1.quo(3)      # => Rational(1, 3)


instance method Numeric#floor

floor -> Integer

自身と等しいかより小さな整数のうち最大のものを返します。

1.floor        #=> 1
1.2.floor      #=> 1
(-1.2).floor   #=> -2
(-1.5).floor   #=> -2

[SEE_ALSO] Numeric#ceil, Numeric#round, Numeric#truncate


instance method Numeric#im

im -> Complex [added by complex]

実数に対し、純虚数化した Complex クラスのオブジェクトを返します。

例:

n = 100
p n.im   #=> Complex(0, 100)


instance method Numeric#imag

image -> Fixnum [added by complex]
imag -> Fixnum [added by complex]

複素数として見た場合の虚部を返します。 つまり、self が実数の場合は 0 を返します。


instance method Numeric#integer?

integer? -> bool

self が整数の時、真を返します。そうでない場合に false を返します。

Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。


instance method Numeric#modulo

modulo(other) -> Numeric

self を other で割った余り r を返します。

ここで、商 q と余り r は、

  • self == other * q + r

と

  • other > 0 のとき 0 <= r < other
  • other < 0 のとき other < r <= 0
  • q は整数

をみたす数です。 余り r は、other と同じ符号になります。 商 q は、Numeric#div (あるいは Integer#/)で求められます。 modulo はメソッド % の呼び出しとして定義されています。

[PARAM] other:
自身を割る数を指定します。
p 13.modulo(4)       #=>  1
p (11.5).modulo(3.5) #=> 1.0
p 13.modulo(-4)      #=> -3
p (-13).modulo(4)    #=>  3
p (-13).modulo(-4)   #=> -1
p (-11).modulo(3.5)  #=> 3.0

[SEE_ALSO] Numeric#divmod, Numeric#remainder


instance method Numeric#nonzero?

nonzero? -> self | nil

自身がゼロの時 nil を返し、非ゼロの時 self を返します。

p 10.nonzero?              #=> 10
p 0.nonzero?               #=> nil
p 0.0.nonzero?             #=> nil

require 'rational'
p Rational(0, 2).nonzero?  #=> nil


instance method Numeric#real

real -> self [added by complex]

複素数として見た場合の実部を返します。 つまり、self が実数の場合はそのまま、selfを返します。


instance method Numeric#remainder

remainder(other) -> Numeric

self を other で割った余り r を返します。

ここで、商 q と余り r は、

  • self == other * q + r

と

  • self > 0 のとき 0 <= r < |other|
  • self < 0 のとき -|other| < r <= 0
  • q は整数

をみたす数です。r の符号は self と同じになります。 商 q を直接返すメソッドはありません。self.quo(other).truncate がそれに相当します。

[PARAM] other:
自身を割る数を指定します。
p 13.remainder(4)       #=>  1
p (11.5).remainder(3.5) #=> 1.0
p 13.remainder(-4)      #=>  1
p (-13).remainder(4)    #=> -1
p (-13).remainder(-4)   #=> -1
p (-11).remainder(3.5)  #=> -0.5

[SEE_ALSO] Numeric#divmod, Numeric#modulo


instance method Numeric#round

round -> Integer

自身ともっとも近い整数を返します。

中央値 0.5, -0.5 はそれぞれ 1,-1 に切り上げされます。いわゆる四捨五入ですが、偶数丸めではありません。

1.round        #=> 1
1.2.round      #=> 1
(-1.2).round   #=> -1
(-1.5).round   #=> -2

[SEE_ALSO] Numeric#ceil, Numeric#floor, Numeric#truncate


instance method Numeric#step

step(limit, step = 1) {|n| ... } -> self
step(limit, step = 1) -> Enumerable::Enumerator

self からはじめ step を足しながら limit を越える 前までブロックを繰り返します。step は負の数も指定できます。また、limit や step には Float なども 指定できます。

[PARAM] limit:
ループの上限あるいは下限を数値で指定します。step に負の数が指定された場合は、 下限として解釈されます。
[PARAM] step:
各ステップの大きさを数値で指定します。負の数を指定することもできます。
[EXCEPTION] ArgumentError:
step に 0 を指定した場合に発生します。
2.step(5){|n| p n}
2
3
4
5

1.1.step(1.5, 0.1) {|n| p n}
=> 1.1
   1.2
   1.3
   1.4
   1.5

10.step(6, -1){|n| p n}
10
9
8
7
6

注：浮動小数点数の 0.1 は 2進数では正確な表現ができない(2進数で 0.1は 0.00011001100....となる)ので、以下のようなループでは誤差が 生じて意図した回数ループしないことがある。step はこの誤差を考慮し て実装されている。

i = 1.1
while i <= 1.5
  p i
  i += 0.1
end
=> 1.1
   1.2
   1.3
   1.4   <- 1.5 が表示されない

[SEE_ALSO] Integer#downto


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Numeric > to_int

instance method Numeric#to_int

to_int -> Integer

self.to_i と同じです。


instance method Numeric#truncate

truncate -> Integer

自身と 0 との間にある整数で、自身にもっとも近い整数を返します。

1.truncate        #=> 1
1.2.truncate      #=> 1
(-1.2).truncate   #=> -1
(-1.5).truncate   #=> -1

[SEE_ALSO] Numeric#ceil, Numeric#floor, Numeric#round


instance method Numeric#zero?

zero? -> bool

自身がゼロの時、真を返します。そうでない場合は false を返します。

p 10.zero?              #=> false
p 0.zero?               #=> true
p 0.0.zero?             #=> true


instance method Object#==

self == other -> bool

オブジェクトと other が等しければ真を返します。

このメソッドは各クラスの性質に合わせて再定義すべきです。 多くの場合、オブジェクトの内容が等しければ真を返すように （同値性を判定するように）再定義されることが期待されています。

デフォルトでは equal? と同じオブジェクト の同一性判定になっています。

[PARAM] other:
比較するオブジェクトです。
p("foo" == "bar") #=> false
p("foo" == "foo") #=> true

p(4 == 4) #=> true
p(4 == 4.0) #=> true

[SEE_ALSO] Object#equal?,Object#eql?


instance method Object#===

self === other -> bool

メソッド Object#== の別名です。 case 節で使用されます。このメソッドは case 節での振る舞いを考慮して、 各クラスの性質に合わせて再定義すべきです。

一般的に所属性のチェックを実現するため適宜再定義されます。

when 節の式をレシーバーとして === を呼び出すことに注意してください。

[PARAM] other:
比較するオブジェクトです。
age = 12
result =
  case age
when 0 .. 2
  "baby"
when 3 .. 6
  "little child"
when 7 .. 12
  "child"
when 13 .. 18
  "youth"
else
  "adult"
end

puts result #=> "child"

def check arg
  case arg
  when /ruby(?!\s*on\s*rails)/i
    "hit! #{arg}"
  when String
    "Instance of String class.But don't hit."
  else
    "unknown"
  end
end

puts check([]) #=> unknown
puts check("mash-up in Ruby on Rails") #=> instance of String class.but not hit...
puts check("<Ruby's world>") #=> hit! <Ruby's world>

[SEE_ALSO] Object#==, Range#===, Module#===


instance method Object#=~

self =~ other -> false

右辺に正規表現オブジェクトを置いた正規表現マッチ obj =~ /RE/ をサポートするためのメソッドです。常に false を返します。

この定義により、=~ が再定義されたオブジェクトでは正常にマッチを行い、 それ以外のものは false を返すようになります。

[PARAM] other:
任意のオブジェクトです。結果に影響しません。
obj = 'regexp'
p(obj =~ /re/) #=> 0

obj = nil
p(obj =~ /re/) #=> false

[SEE_ALSO] String#=~


instance method Object#__id__

__id__ -> Integer
object_id -> Integer
id -> Integer

各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。

Rubyでは、(Garbage Collectされていない)アクティブなオブジェクト間で 重複しない整数(object_id)が各オブジェクトにひとつずつ割り当てられています。この メソッドはその値を返します。

TrueClass, FalseClass, NilClass, Symbol, Fixnum クラス のインスタンスなど Immutable（変更不可）なオブジェクトの一部は同じ内容ならば必ず同じ object_id になります。

これは、Immutable ならば複数の場所から参照されても`破壊的操作'による問題が発生しないので、 同じ内容のインスタンスを複数生成しないという内部実装が理由です。

Symbol#to_iで得られる整数と object_id は別物です。

id メソッドの再定義に備えて別名 __id__ が用意されて おり、ライブラリでは後者の利用が推奨されます。また __id__ を 再定義すべきではありません。

id は obsolete なので、object_id か __id__ を使用してください。

p "ruby".object_id #=> 22759500
p "ruby".object_id #=> 22759400

p [].object_id #=> 22759360
p [].object_id #=> 22759340

p :ruby.object_id #=> 103538
p :ruby.object_id #=> 103538

p 11.object_id #=> 23
p 11.object_id #=> 23

p true.object_id #=> 2
p true.object_id #=> 2

[SEE_ALSO] Object#equal?,Symbol


instance method Object#__send__

send(name, *args) -> object
send(name, *args) { .... } -> object
__send__(name, *args) -> object
__send__(name, *args) { .... } -> object

オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。

ブロック付きで呼ばれたときはブロックもそのまま引き渡します。

send が再定義された場合に備えて別名 __send__ も 用意されており、ライブラリではこちらを使うべきです。また __send__ は再定義すべきではありません。

send, __send__ は、メソッドの呼び出し制限 にかかわらず任意のメソッドを呼び出せます。 クラス／メソッドの定義/呼び出し制限 も参照してください。

[PARAM] name:
文字列かSymbol で指定するメソッド名です。
[PARAM] args:
呼び出すメソッドに渡す引数です。
p -365.send(:abs) #=> 365
p "ruby".send(:sub,/./,"R") #=> "Ruby"

class Foo
  def foo() "foo" end
  def bar() "bar" end
  def baz() "baz" end
end

# 任意のキーとメソッド(の名前)の関係をハッシュに保持しておく
# レシーバの情報がここにはないことに注意
methods = {1 => :foo,
  2 => :bar,
  3 => :baz}

# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1])      # => "foo"
p Foo.new.send(methods[2])      # => "bar"
p Foo.new.send(methods[3])      # => "baz"

[SEE_ALSO] Object#method, Kernel.#eval, Proc, Method


instance method Object#_dump

_dump(limit) -> String

Marshal.#dump において出力するオブジェクトがメソッド _dump を定義している場合には、そのメソッドの結果が書き出されます。

バージョン1.8.0以降ではObject#marshal_dump, Object#marshal_loadの使用 が推奨されます。 Marshal.dump するオブジェクトが _dump と marshal_dump の両方の メソッドを持つ場合は marshal_dump が優先されます。

メソッド _dump は引数として再帰を制限するレベル limit を受 け取り、オブジェクトを文字列化したものを返します。

インスタンスがメソッド _dump を持つクラスは必ず同じフォー マットを読み戻すクラスメソッド _load を定義する必要があり ます。_load はオブジェクトを表現した文字列を受け取り、それ をオブジェクトに戻したものを返す必要があります。

[PARAM] limit:
再帰の制限レベルを表す整数です。
[RETURN]
オブジェクトを文字列化したものを返すように定義すべきです。
class Foo
  def initialize(arg)
    @foo = arg
  end
  def _dump(limit)
    Marshal.dump(@foo, limit)
  end
  def self._load(obj)
    p obj
    Foo.new(Marshal.load(obj))
  end
end
foo = Foo.new(['foo', 'bar'])
p foo                      #=> #<Foo:0xbaf234 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p dms                      #=> "\004\bu:\bFoo\023\004\b[\a\"\bfoo\"\bbar"
result = Marshal.load(dms) #=> "\004\b[\a\"\bfoo\"\bbar" # self._load の引数
p result                   #=> #<Foo:0xbaf07c @foo=["foo", "bar"]>

インスタンス変数の情報は普通マーシャルデータに含まれるので、上例 のように _dump を定義する必要はありません(ただし _dump を定義すると インスタンス変数の情報は dump されなくなります)。 _dump/_load はより高度な制御を行いたい場合や拡張ライブラリで定義し たクラスのインスタンスがインスタンス変数以外に情報を保持する場合に 利用します。(例えば、クラス Time は、_dump/_load を定義して います)

[SEE_ALSO] Object#marshal_dump,Object#marshal_load


instance method Object#class

class -> Class
type -> Class

レシーバのクラスを返します。

p "ruby".class #=> String
p 999999999999999.class #=> Bignum
p ARGV.class #=> Array
p self.class #=> Object
p Class.class #=> Class
p Kernel.class #=> Module

[SEE_ALSO] Class#superclass,Object#kind_of?,Object#instance_of?


instance method Object#clone

clone -> object
dup -> object

オブジェクトの複製を作成して返します。

dup はオブジェクトの内容, taint 情報をコピーし、 clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。

clone や dup は浅い(shallow)コピーであることに注意してください。後述。

[EXCEPTION] TypeError:
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部の オブジェクトを複製しようとすると発生します。
obj = "string"
obj.taint
def obj.fuga
end
obj.freeze

p(obj.equal?(obj))          #=> true
p(obj == obj)               #=> true
p(obj.tainted?)             #=> true
p(obj.frozen?)              #=> true
p(obj.respond_to?(:fuga))   #=> true

obj_c = obj.clone

p(obj.equal?(obj_c))        #=> false
p(obj == obj_c)             #=> true
p(obj_c.tainted?)           #=> true
p(obj_c.frozen?)            #=> true
p(obj_c.respond_to?(:fuga)) #=> true

obj_d = obj.dup

p(obj.equal?(obj_d))        #=> false
p(obj == obj_d)             #=> true
p(obj_d.tainted?)           #=> true
p(obj_d.frozen?)            #=> false
p(obj_d.respond_to?(:fuga)) #=> false

[SEE_ALSO] Object#initialize_copy

深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクトの指し ている先(たとえば配列の要素など)までは複製しません。これを浅いコピー(shallow copy)といいます。

深い(deep)コピーが必要な場合には、 Marshalモジュールを利用して

Marshal.load(Marshal.dump(obj))

このように複製を作成する方法があります。ただしMarshal出来ないオブジェクトが 含まれている場合には使えません。

obj = ["a","b","c"]

obj_d = obj.dup
obj_d[0] << "PLUS"

p obj   #=> ["aPLUS", "b", "c"]
p obj_d #=> ["aPLUS", "b", "c"]

obj_m = Marshal.load(Marshal.dump(obj))
obj_m[1] << "PLUS"

p obj   #=> ["aPLUS", "b", "c"]
p obj_m #=> ["aPLUS", "bPLUS", "c"]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class Object > dclone

instance method Object#dclone

dclone [added by rexml]


instance method Object#display

display(out = $stdout) -> nil

オブジェクトを out に出力します。以下のように定義されています。

class Object
  def display(out = $stdout)
    out.print self.to_s
    nil
  end
end
[PARAM] out:
出力先のIOオブジェクトです。指定しない場合は標準出力に出力されます。
[RETURN]
nil を返します。
Object.new.display #=> #<Object:0xbb0210>

[SEE_ALSO] $stdout


instance method Object#enum_for

to_enum(method = :each, *args) -> Enumerable::Enumerator
enum_for(method = :each, *args) -> Enumerable::Enumerator

Enumerable::Enumerator.new(self, method, *args) を返します。

[PARAM] method:
メソッド名の文字列かシンボルです。
[PARAM] args:
呼び出すメソッドに渡される引数です。
[EXCEPTION] NameError:
存在しないメソッド名を指定すると発生します。
str = "xyz"

enum = str.enum_for(:each_byte)
p(a = enum.map{|b| '%02x' % b }) #=> ["78", "79", "7a"]

# protects an array from being modified
a = [1, 2, 3]
p(a.to_enum) #=> #<Enumerable::Enumerator:0xbaf7ac>

[SEE_ALSO] Enumerable::Enumerator


instance method Object#eql?

eql?(other) -> bool

オブジェクトと other が等しければ真を返します。Hash で二つのキー が等しいかどうかを判定するのに使われます。

このメソッドは各クラスの性質に合わせて再定義すべきです。 多くの場合、 == と同様に同値性の判定をするように再定義されていますが、 適切にキー判定ができるようにより厳しくなっている場合もあります。

デフォルトでは equal? と同じオブジェクト の同一性判定になっています。

このメソッドを再定義した時には Object#hash メソッ ドも再定義しなければなりません。

[PARAM] other:
比較するオブジェクトです。
p("foo".eql?("bar")) #=> false
p("foo".eql?("foo")) #=> true

p(4.eql?(4)) #=> true
p(4.eql?(4.0)) #=> false

[SEE_ALSO] Object#hash,Object#equal?,Object#==


instance method Object#equal?

equal?(other) -> bool

other が self 自身の時、真を返します。

二つのオブジェクトが同一のものかどうか調べる時に使用します。 このメソッドを再定義してはいけません。

お互いのObject#object_idが一致する かどうかを調べます。

[PARAM] other:
比較するオブジェクトです。
p("foo".equal?("bar")) #=> false
p("foo".equal?("foo")) #=> false

p(4.equal?(4)) #=> true
p(4.equal?(4.0)) #=> false

p(:foo.equal? :foo) #=> true

[SEE_ALSO] Object#object_id,Object#==,Object#eql?,Symbol


instance method Object#extend

extend(*modules) -> self

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

Module#include は、クラス(のインスタンス)に機能を追加します が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加 したいときに使用します。

引数に複数のモジュールを指定した場合、最後 の引数から逆順に extend を行います。

[PARAM] modules:
モジュールを任意個指定します（クラスは不可）。
[RETURN]
self を返します。
module Foo
  def a
    'ok Foo'
  end
end

module Bar
  def b
    'ok Bar'
  end
end

obj = Object.new
obj.extend Foo, Bar
p obj.a #=> "ok Foo"
p obj.b #=> "ok Bar"

class Klass
  include Foo
  extend Bar
end

p Klass.new.a #=> "ok Foo"
p Klass.b     #=> "ok Bar"

extend の機能は、「特異クラスに対する Module#include」 と言い替えることもできます。 ただしその場合、フック用のメソッド が Module#extended ではなく Module#included になるという違いがあります。

# obj.extend Foo, Bar とほぼ同じ
class << obj
  include Foo, Bar
end

[SEE_ALSO] Module#extend_object,Module#include,Module#extended


instance method Object#freeze

freeze -> self

オブジェクトを凍結（内容の変更を禁止）します。

凍結されたオブジェクトの変更は 例外 TypeError を発生させます。 いったん凍結されたオブジェクトを元に戻す方法はありません。

凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す オブジェクトが変化してしまうことは freeze では防げません。 freeze が防ぐのは、 `破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい 場合は、グローバル変数なら Kernel.#trace_var が使えます。

[RETURN]
self を返します。
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"

a2 = "foo".freeze
a2.replace("bar")# can't modify frozen string (TypeError)

凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない オブジェクトを得ることはできます。

a = [1].freeze
p a.frozen?     #=> true

a[0] = "foo"
p a             # can't modify frozen array (TypeError)

b = a.dup
p b             #=> [1]
p b.frozen?     #=> false

b[0] = "foo"
p b             #=> ["foo"]

[SEE_ALSO] Object#frozen?,Object#dup,Kernel.#trace_var


instance method Object#frozen?

frozen? -> bool

オブジェクトが凍結（内容の変更を禁止）されているときに真を返します。

obj = "someone"
p obj.frozen? #=> false
obj.freeze
p obj.frozen? #=> true

[SEE_ALSO] Object#freeze


instance method Object#hash

hash -> Fixnum

オブジェクトのハッシュ値を返します。Hash クラスでオブジェク トを格納するのに用いられています。

メソッド hash は Object#eql? と組み合わせて Hash クラスで利用されます。その際

A.eql?(B) ならば A.hash == B.hash

の関係を必ず満たしていなければいけません。eql? を再定義した時には必ずこちらも合わせ て再定義してください。

デフォルトでは、Object#object_id と同じ値を返します。 ただし、Fixnum, Symbol, String だけは組込みのハッ シュ関数が使用されます(これを変えることはできません)。

hash を再定義する場合は、一様に分布する任意の整数を返すようにします。

[RETURN]
ハッシュ値を返します。Fixnumに収まらない場合は切り捨てられます。
p self.hash #=> 21658870
p 0.hash #=> 1
p 0.0.hash #=> 0
p nil.hash #=> 4

p "ruby".hash #=> -241670986
p "ruby".hash #=> -241670986
p :ruby.hash #=> 103538
p :ruby.hash #=> 103538

[SEE_ALSO] Object#eql?,Object#__id__


instance method Object#initialize

initialize(*args, &block) -> object

ユーザ定義クラスのオブジェクト初期化メソッド。

このメソッドは Class#new から新しく生成されたオブ ジェクトの初期化のために呼び出されます。他の言語のコンストラクタに相当します。 デフォルトの動作ではなにもしません。

initialize には Class#new に与えられた引数がそのまま渡されます。

サブクラスではこのメソッドを必要に応じて再定義されること が期待されています。

initialize という名前のメソッドは自動的に private に設定され ます。

[PARAM] args:
初期化時の引数です。
[PARAM] block:
初期化時のブロック引数です。必須ではありません。
class Foo
  def initialize name
    puts "initialize Foo"
    @name = name
  end
end

class Bar < Foo
  def initialize name, pass
    puts "initialize Bar"
    super name
    @pass = pass
  end
end

it = Bar.new('myname','0500')
p it
#=> initialize Bar
#   initialize Foo
#   #<Bar:0x2b68f08 @name="myname", @pass="0500">

[SEE_ALSO] Class#new


instance method Object#initialize_copy

initialize_copy(obj) -> object

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

このメソッドは self を obj の内容で置き換えます。ただ し、self のインスタンス変数や特異メソッドは変化しません。 Object#clone, Object#dupの内部で使われています。

initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報 をインスタンス変数に保持させない場合がありますが、そういった内部情 報を initialize_copy でコピーするよう定義しておくことで、dup や clone を再定義する必要がなくなります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self を返すだけのメソッドです。

initialize_copy という名前のメソッドは 自動的に private に設定されます。

[EXCEPTION] TypeError:
レシーバが freeze されているか、obj のクラスがレシーバ のクラスと異なる場合に発生します。

[SEE_ALSO] Object#clone,Object#dup

以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。

obj.dup は、新たに生成したオブジェクトに対して initialize_copy を呼び

obj2 = obj.class.allocate
obj2.initialize_copy(obj)

obj2 に対してさらに obj の汚染状態、インスタンス変数、ファイナライ ザをコピーすることで複製を作ります。 obj.clone は、さらに 特異メソッドのコピーも行います。

obj = Object.new
class <<obj
  attr_accessor :foo
  def bar
    :bar
  end
end

def check(obj)
  puts "instance variables: #{obj.inspect}"
  puts "tainted?: #{obj.tainted?}"
  print "singleton methods: "
  begin
    p obj.bar
  rescue NameError
    p $!
  end
end

obj.foo = 1
obj.taint

check Object.new.send(:initialize_copy, obj)
        #=> instance variables: #<Object:0x4019c9d4>
        #   tainted?: false
        #   singleton methods: #<NoMethodError: ...>
check obj.dup
        #=> instance variables: #<Object:0x4019c9c0 @foo=1>
        #   tainted?: true
        #   singleton methods: #<NoMethodError: ...>
check obj.clone
        #=> instance variables: #<Object:0x4019c880 @foo=1>
        #   tainted?: true
        #   singleton methods: :bar


instance method Object#inspect

inspect -> String

オブジェクトを人間が読める形式に変換した文字列を返します。

組み込み関数 Kernel.#p は、このメソッドの結果を使用して オブジェクトを表示します。

puts Class.new.inspect #=> #<Class:0xbafd88>
puts Time.now.inspect #=> 2007-10-15 21:01:37 +0900

[SEE_ALSO] Kernel.#p


instance method Object#instance_eval

instance_eval(expr, filename = "(eval)", lineno = 1) -> object
instance_eval {|obj| ... } -> object

オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロック引数とするブロックを 評価してその結果を返します。

オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。 また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。

ただし、ローカル変数だけは instance_eval の外側のスコープと共有します。

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに 初めて instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。 クラス／メソッドの定義/メソッド定義のネスト を参照してください。

[PARAM] expr:
評価する文字列です。
[PARAM] fname:
文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。 スタックトレースの表示などを差し替えることができます。
[PARAM] lineno:
文字列を指定します。行番号 lineno から文字列 expr が書かれているかのように実行されます。 スタックトレースの表示などを差し替えることができます。

例:

class Foo
  def initialize data
    @key = data
  end
private
  def do_fuga
    p 'secret'
  end
end

some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.instance_eval 'raise' # ..:10: (eval):1:  (RuntimeError)
messg = 'unknown'
some.instance_eval 'raise messg','file.rb',999 # file.rb:999: unknown (RuntimeError)

[SEE_ALSO] Module#module_eval, Kernel.#eval


instance method Object#instance_exec

instance_exec(*args) {|*vars| ... } -> object

与えられたブロックをレシーバのコンテキストで実行します。

ブロック実行中は、 self がレシーバのコンテキストになるので レシーバの持つインスタンス変数にアクセスすることができます。

[PARAM] args:
ブロックパラメータに渡す値です。
class KlassWithSecret
  def initialize
    @secret = 99
  end
end
k = KlassWithSecret.new
k.instance_exec(5) {|x| @secret + x }   #=> 104

[SEE_ALSO] Module#class_exec, Module#module_exec, Object#instance_eval


instance method Object#instance_of?

instance_of?(klass) -> bool

オブジェクトがクラス klass の直接のインスタンスである時真を返します。

obj.instance_of?(c) が成立する時には、常に obj.kind_of?(c) も成立します。

[PARAM] klass:
Classかそのサブクラスのインスタンスです。
class C < Object
end
class S < C
end

obj = S.new
p obj.instance_of?(S)       # true
p obj.instance_of?(C)       # false

[SEE_ALSO] Object#kind_of?,Object#class


instance method Object#instance_variable_defined?

instance_variable_defined?(var) -> bool

インスタンス変数 var が定義されていたら真を返します。

[PARAM] var:
インスタンス変数名を文字列か Symbol で指定します。
class Fred
  def initialize(p1, p2)
    @a, @b = p1, p2
  end
end
fred = Fred.new('cat', 99)
p fred.instance_variable_defined?(:@a)    #=> true
p fred.instance_variable_defined?("@b")   #=> true
p fred.instance_variable_defined?("@c")   #=> false

[SEE_ALSO] Object#instance_variable_get,Object#instance_variable_set,Object#instance_variables


instance method Object#instance_variable_get

instance_variable_get(var) -> object|nil

オブジェクトのインスタンス変数の値を取得して返します。

インスタンス変数が定義されていなければ nil を返します。

[PARAM] var:
インスタンス変数名を文字列か Symbol で指定します。
class Foo
  def initialize
    @foo = 1
  end
end

obj = Foo.new
p obj.instance_variable_get("@foo")     #=> 1
p obj.instance_variable_get(:@foo)      #=> 1
p obj.instance_variable_get(:@bar)      #=> nil

[SEE_ALSO] Object#instance_variable_set,Object#instance_variables,Object#instance_variable_defined?


instance method Object#instance_variable_set

instance_variable_set(var, value) -> object

オブジェクトのインスタンス変数 var に値 value を設定します。

インスタンス変数が定義されていなければ新たに定義されます。

[PARAM] var:
インスタンス変数名を文字列か Symbol で指定します。
[PARAM] value:
設定する値です。
[RETURN]
value を返します。
obj = Object.new
p obj.instance_variable_set("@foo", 1)  #=> 1
p obj.instance_variable_set(:@foo, 2)   #=> 2
p obj.instance_variable_get(:@foo)      #=> 2

[SEE_ALSO] Object#instance_variable_get,Object#instance_variables,Object#instance_variable_defined?


instance method Object#instance_variables

instance_variables -> [String]

オブジェクトのインスタンス変数名を文字列の配列として返します。

obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables

#=> ["@foo", "@bar"]

[SEE_ALSO] Object#instance_variable_get,Kernel.#local_variables,Kernel.#global_variables,Module.constants,Module#constants,Module#class_variables


instance method Object#is_a?

is_a?(mod) -> bool
kind_of?(mod) -> bool

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス のインスタンスである場合にも真を返します。 上記のいずれでもない場合に false を返します。

[PARAM] mod:
クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。
module M
end
class C < Object
  include M
end
class S < C
end

obj = S.new
p obj.is_a?(S)       # true
p obj.is_a?(C)       # true
p obj.is_a?(Object)  # true
p obj.is_a?(M)       # true
p obj.is_a?(Hash)    # false

[SEE_ALSO] Object#instance_of?,Module#===,Object#class


instance method Object#marshal_dump

marshal_dump -> object

Marshal.#dump を制御するメソッドです。

Marshal.dump(some) において、出力するオブジェクト some がメソッド marshal_dump を 持つ場合には、その返り値がダンプされたものが Marshal.dump(some) の返り値となります。

marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。 これから書くプログラムでは _dump/_load ではなく marshal_dump/marshal_load を使うべきです。

[RETURN]
任意のオブジェクトで marshal_load の引数に利用できます。
class Foo
  def initialize(arg)
    @foo = arg
  end
  def marshal_dump
    @foo
  end
  def marshal_load(obj)
    p obj
    @foo = obj
  end
end
foo = Foo.new(['foo', 'bar'])
p foo                      #=> #<Foo:0xbaf3b0 @foo=["foo", "bar"]>
dms = Marshal.dump(foo)
p dms                      #=> "\004\bU:\bFoo[\a\"\bfoo\"\bbar"
result = Marshal.load(dms) #=> ["foo", "bar"] # marshal_load の引数
p result                   #=> #<Foo:0xbaf2ac @foo=["foo", "bar"]>

インスタンス変数の情報は普通マーシャルデータに含まれるので、 上例のように marshal_dump を定義する必要はありません (ただし marshal_dump を定義するとインスタンス変数の情報は ダンプされなくなるので、marshal_dump/marshal_load で扱う必要があります)。 marshal_dump/marshal_load はより高度な制御を行いたい場合や 拡張ライブラリで定義したクラスのインスタンスがインスタンス変数以外 に情報を保持する場合に利用します。

特に、marshal_dump/marshal_load を定義したオブジェクトは 特異メソッドが定義されていてもマーシャルできるようになります (特異メソッドの情報が自動的に dump されるようになるわけではなく、 marshal_dump/marshal_load によりそれを実現する余地があるということです)。

[SEE_ALSO] Kernel.#_dump, Object#marshal_load, Marshal


instance method Object#marshal_load

marshal_load(obj)

Marshal.#load を制御するメソッドです。

some のダンプ結果（Marshal.dump(some)） をロードする（Marshal.load(Marshal.dump(some))）に は some がメソッド marshal_load を持っていなければなりません。 このとき、marshal_dump の返り値が marshal_load の引数に利用されます。 marshal_load 時の self は、生成されたばかり（Class#allocate されたばかり） の状態です。

marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。 これから書くプログラムでは _dump/_load ではなく marshal_dump/marshal_load を使うべきです。

[PARAM] obj:
marshal_dump の返り値のコピーです。
[RETURN]
返り値は無視されます。

[SEE_ALSO] Kernel.#_load, Object#marshal_dump, Marshal


instance method Object#method

method(name) -> Method

オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。

[PARAM] name:
メソッド名をSymbol またはStringで指定します。
[EXCEPTION] NameError:
定義されていないメソッド名を引数として与えると発生します。
me = -365.method(:abs)
p me #=> #<Method: Fixnum#abs>
p me.call #=> 365

[SEE_ALSO] Module#instance_method,Method,Object#__send__,Kernel.#eval


instance method Object#method_missing

method_missing(name, *args) -> object

呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。

呼び出しに失敗したメソッドの名前 (Symbol) が name に その時の引数が第二引数以降に渡されます。

デフォルトではこのメソッドは例外 NameError を発生させます。

[PARAM] name:
未定義メソッドの名前（シンボル）です。
[PARAM] args:
未定義メソッドに渡された引数です。
[RETURN]
ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で あるかのように見えます。
class Foo
  def initialize(data)
    @data = data
  end
  def method_missing(name, lang)
    if name.to_s =~ /\Afind_(\d+)_in\z/
      if @data[lang]
        p @data[lang][$1.to_i]
      else
        raise "#{lang} unknown"
      end
    else
      super
    end
  end
end

dic = Foo.new({:English => %w(zero one two), :Esperanto => %w(nulo unu du)})
dic.find_2_in :Esperanto #=> "du"
method_missing(id, *args) [added by multi-tk]


instance method Object#methods

methods(include_inherited = true) -> [String]

そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。

ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。

[PARAM] include_inherited:
引数が偽の時は Object#singleton_methods(false) と同じになります。
#例1:

class Parent
  private;   def private_parent()   end
  protected; def protected_parent() end
  public;    def public_parent()    end
end

class Foo < Parent
  private;   def private_foo()   end
  protected; def protected_foo() end
  public;    def public_foo()    end
end

obj = Foo.new
class <<obj
    private;   def private_singleton()   end
    protected; def protected_singleton() end
    public;    def public_singleton()    end
end

# あるオブジェクトの応答できるメソッドの一覧を得る。
p obj.methods(false)
p obj.public_methods(false)
p obj.private_methods(false)
p obj.protected_methods(false)

#実行結果

["public_singleton", "protected_singleton"]
["public_foo", "public_singleton"]
["private_foo", "private_singleton"]
["protected_foo", "protected_singleton"]

#例2:

# あるオブジェクトの応答できるメソッドの一覧を得る。
# 自身のクラスの親クラスのインスタンスメソッドも含めるために true を指定して
# いるが、Object のインスタンスメソッドは一覧から排除している。
p obj.methods(true)           - Object.instance_methods(true)
p obj.public_methods(true)    - Object.public_instance_methods(true)
p obj.private_methods(true)   - Object.private_instance_methods(true)
p obj.protected_methods(true) - Object.protected_instance_methods(true)

#実行結果

["public_foo", "public_parent", "protected_singleton", "public_singleton", "protected_foo", "protected_parent"]
["public_foo", "public_parent", "public_singleton"]
["private_singleton", "private_foo", "private_parent"]
["protected_singleton", "protected_foo", "protected_parent"]

[SEE_ALSO] Module#instance_methods,Object#singleton_methods


instance method Object#nil?

nil? -> bool

レシーバが nil であれば真を返します。

p false.nil? #=> false
p nil.nil? #=> true

[SEE_ALSO] NilClass


instance method Object#pretty_inspect

pretty_inspect -> String [added by pp]

self を pp で表示したときの結果を文字列として返します。


instance method Object#pretty_print

pretty_print(pp) -> () [added by pp]

PP.pp や Kernel.#pp がオブジェクトの内容を出力するときに 呼ばれるメソッドです。PP オブジェクト pp を引数として呼ばれます。

あるクラスの pp の出力をカスタマイズしたい場合は、このメソッドを再定義します。 そのとき pretty_print メソッドは指定された pp に対して表示したい自身の内容を追加して いかなければいけません。いくつかの組み込みクラスについて、 pp ライブラリはあらかじめ pretty_print メソッドを定義しています。

[PARAM] pp:
PP オブジェクトです。

例:

class Array
  def pretty_print(q)
    q.group(1, '[', ']') {
      q.seplist(self) {|v|
        q.pp v
      }
    }
  end
end

[SEE_ALSO] Object#pretty_print_cycle, Object#inspect, PrettyPrint#text, PrettyPrint#group, PrettyPrint#breakable


instance method Object#pretty_print_cycle

pretty_print_cycle(pp) -> () [added by pp]

プリティプリント時にオブジェクトの循環参照が検出された場合、 Object#pretty_print の代わりに呼ばれるメソッドです。

あるクラスの pp の出力をカスタマイズしたい場合は、 このメソッドも再定義する必要があります。

[PARAM] pp:
PP オブジェクトです。

例:

class Array
  def pretty_print_cycle(q)
    q.text(empty? ? '[]' : '[...]')
  end
end

[SEE_ALSO] Object#pretty_print


instance method Object#pretty_print_inspect

pretty_print_inspect -> String [added by pp]

Object#pretty_print を使って Object#inspect と同様に オブジェクトを人間が読める形式に変換した文字列を返します。

出力する全てのオブジェクトに Object#pretty_print が定義されている必要があります。 そうでない場合には RuntimeError が発生します。

[EXCEPTION] RuntimeError:
出力する全てのオブジェクトに Object#pretty_print が定義されて いない場合に発生します。


instance method Object#pretty_print_instance_variables

pretty_print_instance_variables -> [String | Symbol] [added by pp]

プリティプリント時に表示すべき自身のインスタンス変数名の配列をソートして返します。 返されたインスタンス変数はプリティプリント時に表示されます。

pp に表示したくないインスタンス変数がある場合にこのメソッドを再定義します。


instance method Object#private_methods

private_methods(include_inherited = true) -> [String]

そのオブジェクトが理解できる private メソッド名の一覧を返します。

[PARAM] include_inherited:
偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。

[SEE_ALSO] Module#private_instance_methods,Object#methods,Object#singleton_methods


instance method Object#protected_methods

protected_methods(include_inherited = true) -> [String]

そのオブジェクトが理解できる protected メソッド名の一覧を返します。

[PARAM] include_inherited:
偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。

[SEE_ALSO] Module#protected_instance_methods,Object#methods,Object#singleton_methods


instance method Object#public_methods

public_methods(include_inherited = true) -> [String]

そのオブジェクトが理解できる public メソッド名の一覧を返します。

[PARAM] include_inherited:
偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。

[SEE_ALSO] Module#public_instance_methods,Object#methods,Object#singleton_methods


instance method Object#remove_instance_variable

remove_instance_variable(name) -> object

オブジェクトからインスタンス変数 name を取り除き、そのインス タンス変数に設定されていた値を返します。

[PARAM] name:
削除するインスタンス変数の名前をシンボルか文字列で指定します。
[EXCEPTION] NameError:
オブジェクトがインスタンス変数 name を持たない場合に発生します。
class Foo
  def foo
    @foo = 1
    p remove_instance_variable(:@foo) #=> 1
    p remove_instance_variable(:@foo) # instance variable @foo not defined (NameError)
  end
end
Foo.new.foo

[SEE_ALSO] Module#remove_class_variable,Module#remove_const


instance method Object#respond_to?

respond_to?(name, include_private = false) -> bool

オブジェクトが public メソッド name を持つとき真を返します。 include_private が真のときは private メソッドに対しても真を返します。

オブジェクトが メソッド name を持つというのは、 オブジェクトが メソッド name に応答することができることをいいます。

[PARAM] name:
Symbol または文字列で指定するメソッド名です。
class F
  def hello
    "Bonjour"
  end
end

class D
private
  def hello
    "Guten Tag"
  end
end
list = [F.new,D.new]

list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour

list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjour
#   Guten Tag

[SEE_ALSO] Module#method_defined?


instance method Object#singleton_method_added

singleton_method_added(name) -> object

特異メソッドが追加された時にインタプリタから呼び出されます。

通常のメソッドの追加に対するフックには Module#method_addedを使います。

[PARAM] name:
追加されたメソッド名が Symbol で渡されます。
class Foo
  def singleton_method_added(name)
    puts "singleton method \"#{name}\" was added"
  end
end

obj = Foo.new
def obj.foo
end

#=> singleton method "foo" was added

[SEE_ALSO] Module#method_added,Object#singleton_method_removed,Object#singleton_method_undefined


instance method Object#singleton_method_removed

singleton_method_removed(name) -> object

特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。

通常のメソッドの削除に対するフックには Module#method_removedを使います。

[PARAM] name:
削除されたメソッド名が Symbol で渡されます。
class Foo
  def singleton_method_removed(name)
    puts "singleton method \"#{name}\" was removed"
  end
end

obj = Foo.new
def obj.foo
end

class << obj
  remove_method :foo
end

#=> singleton method "foo" was removed

[SEE_ALSO] Module#method_removed,Object#singleton_method_added,Object#singleton_method_undefined


instance method Object#singleton_method_undefined

singleton_method_undefined(name) -> object

特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。

通常のメソッドの未定義に対するフックには Module#method_undefined を使います。

[PARAM] name:
未定義にされたメソッド名が Symbol で渡されます。
class Foo
  def singleton_method_undefined(name)
    puts "singleton method \"#{name}\" was undefined"
  end
end

obj = Foo.new
def obj.foo
end
def obj.bar
end

class << obj
  undef_method :foo
end
obj.instance_eval {undef bar}

#=> singleton method "foo" was undefined
#   singleton method "bar" was undefined

[SEE_ALSO] Module#method_undefined,Object#singleton_method_added,Object#singleton_method_removed , クラス／メソッドの定義/undef


instance method Object#singleton_methods

singleton_methods(inherited_too = true) -> [String]

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

クラスメソッド(Classのインスタンスの特異メソッド)に関しては 引数が真のとき、スーパークラスのクラスメソッドも対象になります。

singleton_methods(false) は、Object#methods(false) と同じです。

[PARAM] inherited_too:
引数が真のとき、スーパークラスのクラスメソッドも対象になります。これが意味を持つのは self がクラスオブジェクトであるときだけです。
#例1:

Parent = Class.new

class <<Parent
  private;   def private_class_parent() end
  protected; def protected_class_parent() end
  public;    def public_class_parent() end
end

Foo = Class.new(Parent)

class <<Foo
  private;   def private_class_foo() end
  protected; def protected_class_foo() end
  public;    def public_class_foo() end
end

module Bar
  private;   def private_bar()   end
  protected; def protected_bar() end
  public;    def public_bar()    end
end

obj = Foo.new
class <<obj
  include Bar
  private;   def private_self()   end
  protected; def protected_self() end
  public;    def public_self()    end
end

# あるオブジェクトの特異メソッドの一覧を得る。
p obj.singleton_methods(false)
p obj.methods(false)
p Foo.singleton_methods(false)

#実行結果

["public_self", "protected_self"]
["public_self", "protected_self"]
["public_class_foo", "protected_class_foo"]

#例2:

# あるオブジェクトの特異メソッドの一覧を得る。
# 親クラスのクラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧から排除している。

p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)

#実行結果

["public_bar", "public_self", "protected_bar", "protected_self"]
["public_class_foo", "public_class_parent", "protected_class_foo", "protected_class_parent"]

[SEE_ALSO] Object#methods,Object#extend


instance method Object#taint

taint -> self

オブジェクトの「汚染マーク」をセットします。

環境変数（ENVで得られる文字列）など一部のオブジェクトは最初から汚染されています。 オブジェクトの汚染に関してはセキュリティモデルを参照してください。

$SAFE = 1

some = "puts '@&%&(#!'"
p some.tainted? #=> false
eval(some) #=> @&%&(#!

some.taint
p some.tainted? #=> true
eval(some) # Insecure operation - eval (SecurityError)

some.untaint
p some.tainted? #=> false
eval(some) #=> @&%&(#!

p ENV['OS'].tainted? #=> true

[SEE_ALSO] Object#tainted?,Object#untaint,Object#freeze


instance method Object#tainted?

tainted? -> bool

オブジェクトの「汚染マーク」がセットされている時真を返します。

オブジェクトの汚染に関してはセキュリティモデルを参照してください。

p String.new.tainted? #=> false
p ENV['OS'].tainted? #=> true

[SEE_ALSO] Object#taint,Object#untaint


instance method Object#tap

tap {|x| ... } -> self

self を引数としてブロックを評価し、self を返します。

メソッドチェインの途中で直ちに操作結果を表示するために メソッドチェインに "入り込む" ことが、このメソッドの主目的です。

(1..10)                    .tap {|x| puts "original: #{x.inspect}"}.
   to_a                    .tap {|x| puts "array: #{x.inspect}"}.
   select {|x| x % 2 == 0} .tap {|x| puts "evens: #{x.inspect}"}.
   map { |x| x * x }       .tap {|x| puts "squares: #{x.inspect}"}


instance method Object#to_a

to_a -> Array

オブジェクトを配列に変換した結果を返します。

配列に変換できない(to_ary を持たない)オブジェクトは、自身のみを含む長さ 1 の配 列に変換されます。 このメソッドは、将来 Object のメソッドからは取り除かれます。 なので to_a を使用する場合、

  • すべてのオブジェクトに to_a が定義されているという期待はしない。
  • ユーザー定義のクラスには必要に応じて自分で定義する

などということが必要です。

p( {'a'=>1}.to_a )  # [["a", 1]]
p ['array'].to_a    # ["array"]
p 1.to_a            # [1]       (warning: default `to_a' will be obsolete)
p nil.to_a          # []

[SEE_ALSO] Object#to_ary,Kernel.#Array


instance method Object#to_ary

to_ary -> Array

オブジェクトの Array への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • 配列が使われるすべての場面で代置可能であるような、
  • 配列そのものとみなせるようなもの

という厳しいものになっています。

class Foo
 def to_ary
   [3,4]
 end
end

it = Foo.new
p([1,2] + it) #=> [1, 2, 3, 4]

[SEE_ALSO] Object#to_a,Kernel.#Array


instance method Object#to_hash

to_hash -> Hash

オブジェクトの Hash への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • ハッシュが使われるすべての場面で代置可能であるような、
  • ハッシュそのものとみなせるようなもの

という厳しいものになっています。

class Foo
 def to_hash
   {'as' => 24}
 end
end

it = Foo.new
p({:as => 12}.merge(it)) #=> {"as"=>24, :as=>12}


instance method Object#to_int

to_int -> Integer

オブジェクトの Integer への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • 整数が使われるすべての場面で代置可能であるような、
  • 整数そのものとみなせるようなもの

という厳しいものになっています。

class Foo
 def to_int
   666
 end
end

it = Foo.new
p(9**9 & it) #=> 8

[SEE_ALSO] Kernel.#Integer


instance method Object#to_io

to_io -> IO

オブジェクトの IO への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • IOオブジェクトが使われるすべての場面で代置可能であるような、
  • IOオブジェクトそのものとみなせるようなもの

という厳しいものになっています。


instance method Object#to_proc

to_proc -> Proc

オブジェクトの Proc への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

def doing
  yield
end

class Foo
 def to_proc
   Proc.new{p 'ok'}
 end
end

it = Foo.new
doing(&it) #=> "ok"


instance method Object#to_regexp

to_regexp -> Regexp

オブジェクトの Regexp への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • 正規表現が使われるすべての場面で代置可能であるような、
  • 正規表現そのものとみなせるようなもの

という厳しいものになっています。

class Foo
 def to_regexp
   /[\d]+/
 end
end

it = Foo.new
p Regexp.union(/^at/, it) #=> /(?-mix:^at)|(?-mix:[\d]+)/


instance method Object#to_s

to_s -> String

オブジェクトの文字列表現を返します。

Kernel.#print や Kernel.#sprintf は文字列以外の オブジェクトが引数に渡された場合このメソッドを使って文字列に変換し ます。

class Foo
  def initialize num
    @num = num
  end
end
it = Foo.new(40)

puts it #=> #<Foo:0x2b69110>

class Foo
 def to_s
   "Class:Foo Number:#{@num}"
 end
end

puts it #=> Class:Foo Number:40

[SEE_ALSO] Object#to_str,Kernel.#String


instance method Object#to_str

to_str -> String

オブジェクトの String への暗黙の変換が必要なときに内部で呼ばれます。 デフォルトでは定義されていません。

説明のためここに記載してありますが、 このメソッドは実際には Object クラスには定義されていません。 必要に応じてサブクラスで定義すべきものです。

このメソッドを定義する条件は、

  • 文字列が使われるすべての場面で代置可能であるような、
  • 文字列そのものとみなせるようなもの

という厳しいものになっています。

class Foo
 def to_str
   'Edition'
 end
end

it = Foo.new
p('Second' + it) #=> "SecondEdition"

[SEE_ALSO] Object#to_s,Kernel.#String


instance method Object#to_yaml

to_yaml(opts = {}) [added by yaml]

オブジェクトをYAMLドキュメントに変換します。

[PARAM] opts:
YAMLドキュメント出力の際のオプションを指定する。
require 'yaml'

h = {
  :ugo => 17,
  :hoge => "fuga",
}

print h.to_yaml
#=> ---
#=> :ugo: 17
#=> :hoge: fuga

class MyDog
  attr_accessor :name, :age
end

c = MyDog.new
c.name = "Pochi"
c.age = 3
print c.to_yaml
#=> --- !ruby/object:MyDog
#=> age: 3
#=> name: Pochi


instance method Object#to_yaml_properties

to_yaml_properties -> [String] [added by yaml]

Object#instance_variables.sortの結果を返します。

[RETURN]
オブジェクトのインスタンス変数名の配列
require 'yaml'

h = {
  :ugo => 17,
  :hoge => "fuga",
}

p h.to_yaml_properties
#=> []
class MyDog
  attr_accessor :name, :age
end

c = MyDog.new
c.name = "Pochi"
c.age = 3
p c.to_yaml_properties.join(",")
#=> ["@age,@name"]


instance method Object#to_yaml_style

to_yaml_style -> nil [added by yaml]

nilを返します。

[RETURN]
nilを返します。
require 'yaml'

p to_yaml_style
#=> nil
a = []
p a.to_yaml_style
#=> nil


instance method Object#untaint

untaint -> self

オブジェクトの「汚染マーク」を取り除きます。

汚染マークを取り除くことによる危険性はプログラマが責任を負う必要が あります。

オブジェクトの汚染に関してはセキュリティモデルを参照してください。

[EXCEPTION] SecurityError:
セキュリティレベルが3以上の時にこのメソッドを使用すると発生します。

[SEE_ALSO] Object#taint,Object#tainted?


singleton method Object.new

new -> Object

Objectクラスのインスタンスを生成して返します。

some = Object.new
p some #=> #<Object:0x2b696d8>


module function ObjectSpace.#_id2ref

_id2ref(id) -> object

オブジェクト ID(Object#__id__)からオブジェクトを得ます。

[PARAM] id:
取得したいオブジェクトの ID を整数で指定します。
[EXCEPTION] RangeError:
対応するオブジェクトが存在しなければ発生します。
a = "hoge"
p ObjectSpace._id2ref(a.__id__) #=> "hoge"


module function ObjectSpace.#add_finalizer

add_finalizer(proc) -> Proc

このメソッドは obsolete です。代わりに ObjectSpace.#define_finalizer を使用してください

proc をファイナライザとして設定します。 proc を返します。

ObjectSpace.#call_finalizer で指定したオブジェクトが解放され る時、そのオブジェクトの ID(c.f Object#__id__)を引数に ファイナライザが評価されます。

[PARAM] proc:
ファイナライザとしたい Proc オブジェクトを指定します。


module function ObjectSpace.#call_finalizer

call_finalizer(obj) -> object

このメソッドは obsolete です。

obj をファイナライザの対象オブジェクトとして設定します。 obj を返します。

[PARAM] obj:
ファイナライザの対象とするオブジェクトを指定します。


module function ObjectSpace.#define_finalizer

define_finalizer(obj, proc) -> Array
define_finalizer(obj) {|id| ...} -> Array

obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。現在のセーフレベルと proc を配列にして返します。

ブロックを指定した場合は、そのブロックがファイナライザになります。 obj の回収時にブロックは obj の ID (Object#__id__)を引数として実行されます。 しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。

[PARAM] obj:
ファイナライザを登録したいオブジェクトを指定します。
[PARAM] proc:
ファイナライザとして Proc オブジェクトを指定します。proc は obj の回収時に obj の ID を引数として実行されます。

使い方の注意

以下は、define_finalizer の使い方の悪い例です。

class Foo
  def initialize
    ObjectSpace.define_finalizer(self) {
      puts "foo"
    }
  end
end
Foo.new
GC.start

これは、渡された proc の self が obj を参照しつ づけるため。そのオブジェクトが GC の対象になりません。

tempfile は、ファイナライザの使い方の 良い例になっています。これは、クラスのコンテキストで Proc を 生成することで上記の問題を回避しています。

class Bar
  def Bar.callback
    proc {
      puts "bar"
    }
  end
  def initialize
    ObjectSpace.define_finalizer(self, Bar.callback)
  end
end
Bar.new
GC.start

proc の呼び出しで発生した大域脱出(exitや例外)は無視されます。 これは、スクリプトのメイン処理が GC の発生によって非同期に中断され るのを防ぐためです。不安なうちは -d オプションで 事前に例外の発生の有無を確認しておいた方が良いでしょう。

class Baz
  def initialize
    ObjectSpace.define_finalizer self, eval %q{
      proc {
        raise "baz" rescue puts $!
        raise "baz2"
        puts "baz3"
      }
    }, TOPLEVEL_BINDING
  end
end
Baz.new
GC.start

# => baz

[SEE_ALSO] Rubyの起動


module function ObjectSpace.#each_object

each_object {|object| ...} -> Integer
each_object(klass) {|object| ...} -> Integer
each_object -> Enumerable::Enumerator
each_object(klass) -> Enumerable::Enumerator

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

ブロックが与えられなかった場合は、 Enumerable::Enumerator オブジェクトを返します。

次のクラスのオブジェクトについては繰り返しません

  • Fixnum
  • Symbol
  • TrueClass
  • FalseClass
  • NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、 何も繰り返さないことになります。 なお、Symbol については、かわりに Symbol.all_symbols が使用できます。

[PARAM] klass:
クラスかモジュールを指定します。


module function ObjectSpace.#finalizers

finalizers -> [Proc]

このメソッドは obsolete です。

現在登録されているファイナライザの配列を返します。


module function ObjectSpace.#garbage_collect

garbage_collect -> nil

どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。


module function ObjectSpace.#remove_finalizer

remove_finalizer(proc) -> Proc

このメソッドは obsolete です。代わりに ObjectSpace.#undefine_finalizer を使用してくださ い。

指定した proc をファイナライザから取り除きます。 proc を返します。

[PARAM] proc:
取り除きたいファイナライザである Proc オブジェクトを指定します。


module function ObjectSpace.#undefine_finalizer

undefine_finalizer(obj) -> object

obj に対するファイナライザをすべて解除します。 obj を返します。

[PARAM] obj:
ファイナライザを解除したいオブジェクトを指定します。


instance method Observable#add_observer

add_observer(observer) -> Array

オブザーバを登録します。

オブザーバを登録し、登録されているオブザーバのリストを返します。

オブザーバは update メソッドを備えている必要があります。

observer が update メソッドを持たないときは 例外 NoMethodError が発生します。

[PARAM] observer:
更新の通知を受けるオブザーバ
[EXCEPTION] NoMethodError:
updateメソッドを持たないオブジェクトをオブザーバに指定した場合に発生します。


instance method Observable#changed

changed(state = true) -> bool

更新フラグを立てます。

更新フラグを指定された内容へ変更し、変更後の更新フラグの状態を返します。 明示的に引数を指定して、更新フラグを初期化することも出来ます。

[PARAM] state:
更新フラグを立てる場合はtrueを、初期化する場合はfalseを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library observer > module Observable > changed?

instance method Observable#changed?

changed? -> bool

更新フラグの状態を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library observer > module Observable > count_observers

instance method Observable#count_observers

count_observers -> Fixnum

登録されているオブザーバの数を返します。


instance method Observable#delete_observer

delete_observer(observer) -> object | nil

オブザーバを削除します。

指定されたオブジェクトがオブザーバとして登録されていた場合は、 リストからオブジェクトを削除し、取り除かれたオブジェクトを返します。 登録されていなかった場合は、nil を返します。

[PARAM] observer:
削除するオブザーバ


instance method Observable#delete_observers

delete_observers -> Array

オブザーバをすべて削除します。

登録されているオブザーバのリストから全てのオブジェクトを取り除き、 空となったオブザーバのリストを返します。


instance method Observable#notify_observers

notify_observers(*arg) -> nil

オブザーバへ更新を通知します。

更新フラグが立っていた場合は、 登録されているオブザーバの update メソッドを順次呼び出します。 与えられた引数はその update メソッドに渡されます。 与えられた引数の数と登録されているオブザーバのupdate メソッドの引数の数に違いがある場合は 例外ArgumentErrorを発生します。 全てのオブザーバの update メソッドを呼び出し後、更新フラグを初期化します。

[EXCEPTION] ArgumentError:
与えられた引数の数と登録されているオブザーバのupdate メソッドの引数の数に違いがある場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL > OPENSSL_VERSION

constant OpenSSL::OPENSSL_VERSION

OPENSSL_VERSION

システムにインストールされている OpenSSL 本体のバージョンを表した文字列です。


constant OpenSSL::OPENSSL_VERSION_NUMBER

OPENSSL_VERSION_NUMBER

システムにインストールされている OpenSSL 本体のバージョンを表した数です。 http://www.openssl.org/docs/crypto/OPENSSL_VERSION_NUMBER.html も参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL > VERSION

constant OpenSSL::VERSION

VERSION

Ruby/OpenSSL のバージョンです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > BIT_STRING

constant OpenSSL::ASN1::BIT_STRING

BIT_STRING

BIT_STRING のタグ番号 3 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > BMPSTRING

constant OpenSSL::ASN1::BMPSTRING

BMPSTRING

BMPSTRING のタグ番号 30 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > BOOLEAN

constant OpenSSL::ASN1::BOOLEAN

BOOLEAN

BOOLEAN のタグ番号 1 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > CHARACTER_STRING

constant OpenSSL::ASN1::CHARACTER_STRING

CHARACTER_STRING

CHARACTER_STRING のタグ番号 29 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > EMBEDDED_PDV

constant OpenSSL::ASN1::EMBEDDED_PDV

EMBEDDED_PDV

EMBEDDED_PDV のタグ番号 11 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > ENUMERATED

constant OpenSSL::ASN1::ENUMERATED

ENUMERATED

ENUMERATED のタグ番号 10 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > EOC

constant OpenSSL::ASN1::EOC

EOC

EOC のタグ番号 0 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > EXTERNAL

constant OpenSSL::ASN1::EXTERNAL

EXTERNAL

EXTERNAL のタグ番号 8 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > GENERALIZEDTIME

constant OpenSSL::ASN1::GENERALIZEDTIME

GENERALIZEDTIME

GENERALIZEDTIME のタグ番号 24 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > GENERALSTRING

constant OpenSSL::ASN1::GENERALSTRING

GENERALSTRING

GENERALSTRING のタグ番号 27 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > GRAPHICSTRING

constant OpenSSL::ASN1::GRAPHICSTRING

GRAPHICSTRING

GRAPHICSTRING のタグ番号 25 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > IA5STRING

constant OpenSSL::ASN1::IA5STRING

IA5STRING

IA5STRING のタグ番号 22 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > INTEGER

constant OpenSSL::ASN1::INTEGER

INTEGER

INTEGER のタグ番号 2 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > ISO64STRING

constant OpenSSL::ASN1::ISO64STRING

ISO64STRING

ISO64STRING のタグ番号 26 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > NULL

constant OpenSSL::ASN1::NULL

NULL

NULL のタグ番号 5 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > NUMERICSTRING

constant OpenSSL::ASN1::NUMERICSTRING

NUMERICSTRING

NUMERICSTRING のタグ番号 18 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > OBJECT

constant OpenSSL::ASN1::OBJECT

OBJECT

OBJECT のタグ番号 6 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > OBJECT_DESCRIPTOR

constant OpenSSL::ASN1::OBJECT_DESCRIPTOR

OBJECT_DESCRIPTOR

OBJECT_DESCRIPTOR のタグ番号 7 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > OCTET_STRING

constant OpenSSL::ASN1::OCTET_STRING

OCTET_STRING

OCTET_STRING のタグ番号 4 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > PRINTABLESTRING

constant OpenSSL::ASN1::PRINTABLESTRING

PRINTABLESTRING

PRINTABLESTRING のタグ番号 19 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > REAL

constant OpenSSL::ASN1::REAL

REAL

REAL のタグ番号 9 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > RELATIVE_OID

constant OpenSSL::ASN1::RELATIVE_OID

RELATIVE_OID

RELATIVE_OID のタグ番号 13 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > SEQUENCE

constant OpenSSL::ASN1::SEQUENCE

SEQUENCE

SEQUENCE のタグ番号 16 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > SET

constant OpenSSL::ASN1::SET

SET

SET のタグ番号 17 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > T61STRING

constant OpenSSL::ASN1::T61STRING

T61STRING

T61STRING のタグ番号 20 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > UNIVERSALSTRING

constant OpenSSL::ASN1::UNIVERSALSTRING

UNIVERSALSTRING

UNIVERSALSTRING のタグ番号 28 を表す定数です。


constant OpenSSL::ASN1::UNIVERSAL_TAG_NAME

UNIVERSAL_TAG_NAME

タグ番号が表す ASN.1 オブジェクト名を収録した配列です。

例:

require 'openssl'
p OpenSSL::ASN1::UNIVERSAL_TAG_NAME[0]  # => "EOC"
p OpenSSL::ASN1::UNIVERSAL_TAG_NAME[12] # => "UTF8STRING"

ASN.1 オブジェクトのタグ番号を表す定数が以下のように定義されています。

require 'openssl'
p OpenSSL::ASN1::UTF8STRING # => 12


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > UTCTIME

constant OpenSSL::ASN1::UTCTIME

UTCTIME

UTCTIME のタグ番号 23 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > UTF8STRING

constant OpenSSL::ASN1::UTF8STRING

UTF8STRING

UTF8STRING のタグ番号 12 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > VIDEOTEXSTRING

constant OpenSSL::ASN1::VIDEOTEXSTRING

VIDEOTEXSTRING

VIDEOTEXSTRING のタグ番号 21 を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > BMPString

module function OpenSSL::ASN1.#BMPString

BMPString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > BitString

module function OpenSSL::ASN1.#BitString

BitString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > Boolean

module function OpenSSL::ASN1.#Boolean

Boolean(value [, tag [, tagging [, tag_class]]])


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > Enumerated

module function OpenSSL::ASN1.#Enumerated

Enumerated(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > GeneralString

module function OpenSSL::ASN1.#GeneralString

GeneralString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > GeneralizedTime

module function OpenSSL::ASN1.#GeneralizedTime

GeneralizedTime(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > GraphicString

module function OpenSSL::ASN1.#GraphicString

GraphicString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > IA5String

module function OpenSSL::ASN1.#IA5String

IA5String(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > ISO64String

module function OpenSSL::ASN1.#ISO64String

ISO64String(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > Integer

module function OpenSSL::ASN1.#Integer

Integer(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > Null

module function OpenSSL::ASN1.#Null

Null(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > NumericString

module function OpenSSL::ASN1.#NumericString

NumericString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > ObjectId

module function OpenSSL::ASN1.#ObjectId

ObjectId(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > OctetString

module function OpenSSL::ASN1.#OctetString

OctetString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > PrintableString

module function OpenSSL::ASN1.#PrintableString

PrintableString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > Sequence

module function OpenSSL::ASN1.#Sequence

Sequence(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > Set

module function OpenSSL::ASN1.#Set

Set(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > T61String

module function OpenSSL::ASN1.#T61String

T61String(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > UTCTime

module function OpenSSL::ASN1.#UTCTime

UTCTime(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > UTF8String

module function OpenSSL::ASN1.#UTF8String

UTF8String(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > UniversalString

module function OpenSSL::ASN1.#UniversalString

UniversalString(value ...)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::ASN1 > VideotexString

module function OpenSSL::ASN1.#VideotexString

VideotexString(value ...)


module function OpenSSL::ASN1.#decode

decode(der)

DER 表現の文字列を解析し、OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスを返します。ASN.1 オブジェクトが Constructive である場合は、それを構成する要素も再帰的に解析します。der に複数の ASN.1 オブジェクトが含まれる場合は最初の ASN.1 オブジェクトだけを返します。

例:

ruby -e '
require "openssl"
require "pp"
pem = File.read(ARGV[0])
cert = OpenSSL::X509::Certificate.new(pem)
pp OpenSSL::ASN1.decode(cert.to_der)
' mycert.pem
#<OpenSSL::ASN1::Sequence:0x814e9fc
 @tag=16,
 @tag_class=:UNIVERSAL,
 @tagging=nil,
 @value=
  [#<OpenSSL::ASN1::Sequence:0x814ead8
    @tag=16,
    @tag_class=:UNIVERSAL,
    @tagging=nil,
    @value=
     [#<OpenSSL::ASN1::ASN1Data:0x814f690
       @tag=0,
       @tag_class=:CONTEXT_SPECIFIC,
       @value=
        [#<OpenSSL::ASN1::Integer:0x814f6a4
          @tag=2,
          @tag_class=:UNIVERSAL,
          @tagging=nil,
          @value=2>]>,
          ...


module function OpenSSL::ASN1.#decode_all

decode_all(der)

ASN1.decode と違って、der に含まれる全てのオブジェクトを再帰的に解析し 配列として返します。


module function OpenSSL::ASN1.#traverse

traverse(der) {|depth, off, hlen, len, constructed, tag_class, tag| ...}

der に含まれる全てのオブジェクトを再帰的に解析して、 そのプロパティを引数として与えられたブロックを評価します。

  • depth は再帰の深さ
  • off は対象の ASN.1 オブジェクトの開始の der の始めからのオフセット
  • hlen は ASN.1 オブジェクトのヘッダの長さ
  • len は ASN.1 オブジェクトの値フィールドの長さ
  • constructed は対象の ASN.1 オブジェクトが Constructive なら真
  • tag_class はタグクラスを表す Symbol オブジェクト (:UNIVERSAL, :CONTEXT_SPECIFIC, :APPLICATION)
  • tag はタグ番号

ASN1.decode_all と同じように der に含まれる全ての ASN.1 オブジェクトを 再帰的に解析します。

以下のようなモジュール関数も定義されています。メソッドと同じ名前のクラスの コンストラクター new と同じです。


instance method OpenSSL::ASN1::ASN1Data#tag

tag
tag=(tag)

タグ番号です。Universal 型の場合は BOOLEAN = 1 から BMPSTRING = 30 のいずれかの値をとります。 あらかじめ定義されているタグ番号の定数に関しては OpenSSL::ASN1 の 定数の項を参照してください。


instance method OpenSSL::ASN1::ASN1Data#tag_class

tag_class
tag_class=(tag_class)

Symbol オブジェクト :UNIVERSAL、:ONTEXT_SPECIFIC、:APPLICATION のいずれかをとります。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::ASN1::ASN1Data > to_der

instance method OpenSSL::ASN1::ASN1Data#to_der

to_der

ASN.1 データの DER 表現を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::ASN1::ASN1Data > value

instance method OpenSSL::ASN1::ASN1Data#value

value
value=(value)

ASN.1 データの表現する値です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::ASN1::ASN1Data > new

singleton method OpenSSL::ASN1::ASN1Data.new

new(value, tag, tag_class)

ASN1Data オブジェクトを生成します。


instance method OpenSSL::ASN1::Constructive#tagging

tagging
tagging=(tag)

Symbol オブジェクト :IMPLICIT または :EXPLICIT のいずれかをとります。


singleton method OpenSSL::ASN1::Constructive.new

new(value, tag, tagging, tag_class)

Constructive オブジェクトを生成します。


instance method OpenSSL::ASN1::ObjectId#ln

ln
long_name

オブジェクト ID に対応する長い形式の名前を返します。

例:

require "openssl"
oid = OpenSSL::ObjectId.new("subjectAltName")
p oid.oid   #=> "2.5.29.17"
p oid.sn    #=> "subjectAltName"
p oid.ln    #=> "X509v3 Subject Alternative Name"


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::ASN1::ObjectId > oid

instance method OpenSSL::ASN1::ObjectId#oid

oid

オブジェクト ID のドット区切り数値を文字列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::ASN1::ObjectId > short_name

instance method OpenSSL::ASN1::ObjectId#short_name

sn
short_name

オブジェクト ID に対応する短い形式の名前を返します。


singleton method OpenSSL::ASN1::ObjectId.new

new(str)

ASN.1 のオブジェクト ID を生成します。

例:

require "openssl"
include OpenSSL
p ASN1::ObjectId.new("1.2.840.10040.4.3").long_name # => "dsaWithSHA1"
p ASN1::ObjectId.new("dsaWithSHA1").oid             # => "1.2.840.10040.4.3"


singleton method OpenSSL::ASN1::ObjectId.register

register(oid, short_name, long_name)

オブジェクト ID に対応する名前を登録します。登録した名前は OpenSSL::X509::Extension などで利用できるようになります。

例:

require "openssl"
OpenSSL::ASN1::ObjectId.register(
  "2.5.29.9", "subjectDirAttrs", "X509v3 Subject Directory Attributes")


instance method OpenSSL::ASN1::Primitive#tagging

tagging
tagging=(tag)

Symbol オブジェクト :IMPLICIT または :EXPLICIT のいずれかをとります。


singleton method OpenSSL::ASN1::Primitive.new

new(value, tag, tagging, tag_class)

Primitive オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > *

instance method OpenSSL::BN#*

self *


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > **

instance method OpenSSL::BN#**

self **


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > +

instance method OpenSSL::BN#+

self +


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > -

instance method OpenSSL::BN#-

self -


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > /

instance method OpenSSL::BN#/

self /


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > <<

instance method OpenSSL::BN#<<

self <<


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > <=>

instance method OpenSSL::BN#<=>

self <=>


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > ==

instance method OpenSSL::BN#==

self ==


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > ===

instance method OpenSSL::BN#===

self ===


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > >>

instance method OpenSSL::BN#>>

self >>


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > %

instance method OpenSSL::BN#%

self %


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > bit_set?

instance method OpenSSL::BN#bit_set?

bit_set?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > clear_bit!

instance method OpenSSL::BN#clear_bit!

clear_bit!


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > cmp

instance method OpenSSL::BN#cmp

cmp


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > coerce

instance method OpenSSL::BN#coerce

coerce


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > copy

instance method OpenSSL::BN#copy

copy


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > eql?

instance method OpenSSL::BN#eql?

eql?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > gcd

instance method OpenSSL::BN#gcd

gcd


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mask_bits!

instance method OpenSSL::BN#mask_bits!

mask_bits!


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mod_add

instance method OpenSSL::BN#mod_add

mod_add


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mod_exp

instance method OpenSSL::BN#mod_exp

mod_exp


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mod_inverse

instance method OpenSSL::BN#mod_inverse

mod_inverse


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mod_mul

instance method OpenSSL::BN#mod_mul

mod_mul


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mod_sqr

instance method OpenSSL::BN#mod_sqr

mod_sqr


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > mod_sub

instance method OpenSSL::BN#mod_sub

mod_sub


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > num_bits

instance method OpenSSL::BN#num_bits

num_bits


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > num_bytes

instance method OpenSSL::BN#num_bytes

num_bytes


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > odd?

instance method OpenSSL::BN#odd?

odd?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > one?

instance method OpenSSL::BN#one?

one?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > prime?

instance method OpenSSL::BN#prime?

prime?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > prime_fasttest?

instance method OpenSSL::BN#prime_fasttest?

prime_fasttest?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > set_bit!

instance method OpenSSL::BN#set_bit!

set_bit!


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > sqr

instance method OpenSSL::BN#sqr

sqr


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > to_bn

instance method OpenSSL::BN#to_bn

to_bn


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > to_i

instance method OpenSSL::BN#to_i

to_i


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > to_int

instance method OpenSSL::BN#to_int

to_int


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > to_s

instance method OpenSSL::BN#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > ucmp

instance method OpenSSL::BN#ucmp

ucmp


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > zero?

instance method OpenSSL::BN#zero?

zero?


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > generate_prime

singleton method OpenSSL::BN.generate_prime

generate_prime


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > pseudo_rand

singleton method OpenSSL::BN.pseudo_rand

pseudo_rand


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > pseudo_rand_range

singleton method OpenSSL::BN.pseudo_rand_range

pseudo_rand_range


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > rand

singleton method OpenSSL::BN.rand

rand


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::BN > rand_range

singleton method OpenSSL::BN.rand_range

rand_range


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > block_size

instance method OpenSSL::Cipher::Cipher#block_size

block_size

ブロックのサイズを返します。


instance method OpenSSL::Cipher::Cipher#decrypt

decrypt(key, iv)

復号化の準備をします。iv は initialization vector のことで、必要なら使用されます。 この API に引数を渡すことは推奨されません。パスワードから鍵を生成する場合は、 pkcs5_keyivgen を使用してください。


instance method OpenSSL::Cipher::Cipher#encrypt

encrypt(key, iv)

暗号化の準備をします。iv は initialization vector のことで、必要なら使用されます。 この API に引数を渡すことは推奨されません。パスワードから鍵を生成する場合は、 pkcs5_keyivgen を使用してください。


instance method OpenSSL::Cipher::Cipher#final

final

ブロックに残っているデータを暗号化あるいは復号化します。final を呼んだあとでは update を呼んではいけません。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > iv=

instance method OpenSSL::Cipher::Cipher#iv=

iv=(iv)

初期ベクトル (initialization vector)。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > iv_len

instance method OpenSSL::Cipher::Cipher#iv_len

iv_len

初期ベクトルの長さ。


instance method OpenSSL::Cipher::Cipher#key=

key=(key)

暗号鍵を設定します。 なお、ここでいう「暗号鍵」は AES のアルゴリズムに渡される鍵であって、「パスワード」ではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > key_len

instance method OpenSSL::Cipher::Cipher#key_len

key_len
key_len=(length)

暗号鍵の長さ。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > padding=

instance method OpenSSL::Cipher::Cipher#padding=

padding=(padding)

パディングを設定します。


instance method OpenSSL::Cipher::Cipher#pkcs5_keyivgen

pkcs5_keyivgen(pass, salt=nil, num=2048, digest=OpenSSL::Digest::MD5.new())

pass から key と iv を生成し key= と iv= に設定します。 salt は 8-octet string でないといけません。nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > random_iv

instance method OpenSSL::Cipher::Cipher#random_iv

random_iv
random_key


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Cipher::Cipher > reset

instance method OpenSSL::Cipher::Cipher#reset

reset

暗号、暗号鍵、暗号化復号化フラグを共にリセットします。


instance method OpenSSL::Cipher::Cipher#update

update(data)

与えられた文字列を暗号化あるいは復号化して文字列として返します。直前に呼ばれた encrypt あるいは decrypt により暗号化か復号化かが決まります。


singleton method OpenSSL::Cipher::Cipher.new

new(name)
new

対称鍵暗号アルゴリズムの名前 name を与えると暗号オブジェクトを生成します。 利用できるアルゴリズムはシステムにインストールされている openssl に依存します。

$ openssl
OpenSSL> version
OpenSSL 0.9.7d 17 Mar 2004
OpenSSL> enc help
（略）
Cipher Types
-aes-128-cbc               -aes-128-cfb               -aes-128-ecb
-aes-128-ofb               -aes-192-cbc               -aes-192-cfb
-aes-192-ecb               -aes-192-ofb               -aes-256-cbc
-aes-256-cfb               -aes-256-ecb               -aes-256-ofb
-aes128                    -aes192                    -aes256
-bf                        -bf-cbc                    -bf-cfb
-bf-ecb                    -bf-ofb                    -blowfish
-cast                      -cast-cbc                  -cast5-cbc
-cast5-cfb                 -cast5-ecb                 -cast5-ofb
-des                       -des-cbc                   -des-cfb
-des-ecb                   -des-ede                   -des-ede-cbc
-des-ede-cfb               -des-ede-ofb               -des-ede3
-des-ede3-cbc              -des-ede3-cfb              -des-ede3-ofb
-des-ofb                   -des3                      -desx
-desx-cbc                  -idea                      -idea-cbc
-idea-cfb                  -idea-ecb                  -idea-ofb
-rc2                       -rc2-40-cbc                -rc2-64-cbc
-rc2-cbc                   -rc2-cfb                   -rc2-ecb
-rc2-ofb                   -rc4                       -rc4-40
-rc5                       -rc5-cbc                   -rc5-cfb
-rc5-ecb                   -rc5-ofb

さまざまな方式がありますが、2006年現在 aes256 (aes-256-cbc) を用いるのが安心でしょう。

参考: [[unknown:UNIXの部屋 検索結果: openssl|URL:http://x68000.q-e-d.net/~68user/unix/pickup?openssl]]

require 'openssl'
include OpenSSL::Cipher

# Triple DES
c1 = Cipher.new("DES-EDE3-CBC")
c2 = DES.new(:EDE3, "CBC")
pass = "open sesame!"
data = "Hello world!"
c1.pkcs5_keyivgen(pass)
s1 = c1.encrypt.update(data) + c1.final
c2.pkcs5_keyivgen(pass)
s2 = c2.decrypt.update(s1) + c2.final
p(data == s2) #=> true

c1 = Cipher.new("AES256")
c2 = Cipher.new("AES-256-CBC")
pass = "open sesame!"
data = "Hello world!"
c1.pkcs5_keyivgen(pass)
s1 = c1.encrypt.update(data) + c1.final
c2.pkcs5_keyivgen(pass)
s2 = c2.decrypt.update(s1) + c2.final
p(data == s2) #=> true


instance method OpenSSL::Digest::Digest#<<

update(str)
self << str

文字列を追加します。複数回 update を呼ぶことは文字列を連結して update を呼ぶことと同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Digest::Digest > ==

instance method OpenSSL::Digest::Digest#==

self == digest

与えられた Digest オブジェクトと等しいかどうか。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Digest::Digest > digest

instance method OpenSSL::Digest::Digest#digest

digest

ハッシュ値を計算して文字列を返します。


instance method OpenSSL::Digest::Digest#hexdigest

hexdigest
inspect
to_s

文字列に対するハッシュ値を、ASCII コードを使って 16 進数の列を示す文字列にエンコードして返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Digest::Digest > name

instance method OpenSSL::Digest::Digest#name

name

ハッシュアルゴリズムを返す。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Digest::Digest > reset

instance method OpenSSL::Digest::Digest#reset

reset

いままで入力された文字列をリセットします。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Digest::Digest > size

instance method OpenSSL::Digest::Digest#size

size

digest で返す文字列のバイト長。


singleton method OpenSSL::Digest::Digest.digest

digest(name, str)

name で与えられたハッシュアルゴリズムで与えられた文字列 str に対するハッシュ値を文字列で返します。


singleton method OpenSSL::Digest::Digest.hexdigest

hexdigest(name, str)

name で与えられたハッシュアルゴリズムで与えられた文字列 str に対するハッシュ値を、ASCIIコードを使って 16進数の列を示す文字列にエンコードして返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Digest::Digest > new

singleton method OpenSSL::Digest::Digest.new

new(name)

オブジェクトを生成します。name でハッシュアルゴリズムを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_ALL

constant OpenSSL::Engine::METHOD_ALL

METHOD_ALL


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_CIPHERS

constant OpenSSL::Engine::METHOD_CIPHERS

METHOD_CIPHERS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_DH

constant OpenSSL::Engine::METHOD_DH

METHOD_DH


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_DIGESTS

constant OpenSSL::Engine::METHOD_DIGESTS

METHOD_DIGESTS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_DSA

constant OpenSSL::Engine::METHOD_DSA

METHOD_DSA


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_NONE

constant OpenSSL::Engine::METHOD_NONE

METHOD_NONE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_RAND

constant OpenSSL::Engine::METHOD_RAND

METHOD_RAND


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > METHOD_RSA

constant OpenSSL::Engine::METHOD_RSA

METHOD_RSA


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > cipher

instance method OpenSSL::Engine#cipher

cipher


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > cmds

instance method OpenSSL::Engine#cmds

cmds


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > ctrl_cmd

instance method OpenSSL::Engine#ctrl_cmd

ctrl_cmd


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > digest

instance method OpenSSL::Engine#digest

digest


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > finish

instance method OpenSSL::Engine#finish

finish


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > id

instance method OpenSSL::Engine#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > load_private_key

instance method OpenSSL::Engine#load_private_key

load_private_key


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > load_public_key

instance method OpenSSL::Engine#load_public_key

load_public_key


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > name

instance method OpenSSL::Engine#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > set_default

instance method OpenSSL::Engine#set_default

set_default


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > by_id

singleton method OpenSSL::Engine.by_id

by_id


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > cleanup

singleton method OpenSSL::Engine.cleanup

cleanup


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > engines

singleton method OpenSSL::Engine.engines

engines


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Engine > load

singleton method OpenSSL::Engine.load

load


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > <<

instance method OpenSSL::HMAC#<<

self <<


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > digest

instance method OpenSSL::HMAC#digest

digest


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > hexdigest

instance method OpenSSL::HMAC#hexdigest

hexdigest


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > to_s

instance method OpenSSL::HMAC#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > update

instance method OpenSSL::HMAC#update

update


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > digest

singleton method OpenSSL::HMAC.digest

digest


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::HMAC > hexdigest

singleton method OpenSSL::HMAC.hexdigest

hexdigest


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Netscape::SPKI > challenge

instance method OpenSSL::Netscape::SPKI#challenge

challenge
challenge=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Netscape::SPKI > public_key

instance method OpenSSL::Netscape::SPKI#public_key

public_key
public_key=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Netscape::SPKI > sign

instance method OpenSSL::Netscape::SPKI#sign

sign


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Netscape::SPKI > to_der

instance method OpenSSL::Netscape::SPKI#to_der

to_der
to_pem


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Netscape::SPKI > to_s

instance method OpenSSL::Netscape::SPKI#to_s

to_s
to_text


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::Netscape::SPKI > verify

instance method OpenSSL::Netscape::SPKI#verify

verify


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOCASIGN

constant OpenSSL::OCSP::NOCASIGN

NOCASIGN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOCERTS

constant OpenSSL::OCSP::NOCERTS

NOCERTS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOCHAIN

constant OpenSSL::OCSP::NOCHAIN

NOCHAIN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOCHECKS

constant OpenSSL::OCSP::NOCHECKS

NOCHECKS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NODELEGATED

constant OpenSSL::OCSP::NODELEGATED

NODELEGATED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOEXPLICIT

constant OpenSSL::OCSP::NOEXPLICIT

NOEXPLICIT


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOINTERN

constant OpenSSL::OCSP::NOINTERN

NOINTERN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOSIGS

constant OpenSSL::OCSP::NOSIGS

NOSIGS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOTIME

constant OpenSSL::OCSP::NOTIME

NOTIME


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > NOVERIFY

constant OpenSSL::OCSP::NOVERIFY

NOVERIFY


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPID_KEY

constant OpenSSL::OCSP::RESPID_KEY

RESPID_KEY


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPONSE_STATUS_INTERNALERROR

constant OpenSSL::OCSP::RESPONSE_STATUS_INTERNALERROR

RESPONSE_STATUS_INTERNALERROR


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPONSE_STATUS_MALFORMEDREQUEST

constant OpenSSL::OCSP::RESPONSE_STATUS_MALFORMEDREQUEST

RESPONSE_STATUS_MALFORMEDREQUEST


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPONSE_STATUS_SIGREQUIRED

constant OpenSSL::OCSP::RESPONSE_STATUS_SIGREQUIRED

RESPONSE_STATUS_SIGREQUIRED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPONSE_STATUS_SUCCESSFUL

constant OpenSSL::OCSP::RESPONSE_STATUS_SUCCESSFUL

RESPONSE_STATUS_SUCCESSFUL


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPONSE_STATUS_TRYLATER

constant OpenSSL::OCSP::RESPONSE_STATUS_TRYLATER

RESPONSE_STATUS_TRYLATER


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > RESPONSE_STATUS_UNAUTHORIZED

constant OpenSSL::OCSP::RESPONSE_STATUS_UNAUTHORIZED

RESPONSE_STATUS_UNAUTHORIZED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_AFFILIATIONCHANGED

constant OpenSSL::OCSP::REVOKED_STATUS_AFFILIATIONCHANGED

REVOKED_STATUS_AFFILIATIONCHANGED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_CACOMPROMISE

constant OpenSSL::OCSP::REVOKED_STATUS_CACOMPROMISE

REVOKED_STATUS_CACOMPROMISE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_CERTIFICATEHOLD

constant OpenSSL::OCSP::REVOKED_STATUS_CERTIFICATEHOLD

REVOKED_STATUS_CERTIFICATEHOLD


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_CESSATIONOFOPERATION

constant OpenSSL::OCSP::REVOKED_STATUS_CESSATIONOFOPERATION

REVOKED_STATUS_CESSATIONOFOPERATION


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_KEYCOMPROMISE

constant OpenSSL::OCSP::REVOKED_STATUS_KEYCOMPROMISE

REVOKED_STATUS_KEYCOMPROMISE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_NOSTATUS

constant OpenSSL::OCSP::REVOKED_STATUS_NOSTATUS

REVOKED_STATUS_NOSTATUS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_REMOVEFROMCRL

constant OpenSSL::OCSP::REVOKED_STATUS_REMOVEFROMCRL

REVOKED_STATUS_REMOVEFROMCRL


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_SUPERSEDED

constant OpenSSL::OCSP::REVOKED_STATUS_SUPERSEDED

REVOKED_STATUS_SUPERSEDED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > REVOKED_STATUS_UNSPECIFIED

constant OpenSSL::OCSP::REVOKED_STATUS_UNSPECIFIED

REVOKED_STATUS_UNSPECIFIED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > TRUSTOTHER

constant OpenSSL::OCSP::TRUSTOTHER

TRUSTOTHER


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > V_CERTSTATUS_GOOD

constant OpenSSL::OCSP::V_CERTSTATUS_GOOD

V_CERTSTATUS_GOOD


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > V_CERTSTATUS_REVOKED

constant OpenSSL::OCSP::V_CERTSTATUS_REVOKED

V_CERTSTATUS_REVOKED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > V_CERTSTATUS_UNKNOWN

constant OpenSSL::OCSP::V_CERTSTATUS_UNKNOWN

V_CERTSTATUS_UNKNOWN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > V_RESPID_KEY

constant OpenSSL::OCSP::V_RESPID_KEY

V_RESPID_KEY


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::OCSP > V_RESPID_NAME

constant OpenSSL::OCSP::V_RESPID_NAME

V_RESPID_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::BasicResponse > add_nonce

instance method OpenSSL::OCSP::BasicResponse#add_nonce

add_nonce


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::BasicResponse > add_status

instance method OpenSSL::OCSP::BasicResponse#add_status

add_status


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::BasicResponse > copy_nonce

instance method OpenSSL::OCSP::BasicResponse#copy_nonce

copy_nonce


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::BasicResponse > sign

instance method OpenSSL::OCSP::BasicResponse#sign

sign


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::BasicResponse > status

instance method OpenSSL::OCSP::BasicResponse#status

status


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::BasicResponse > verify

instance method OpenSSL::OCSP::BasicResponse#verify

verify


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::CertificateId > cmp

instance method OpenSSL::OCSP::CertificateId#cmp

cmp


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::CertificateId > cmp_issuer

instance method OpenSSL::OCSP::CertificateId#cmp_issuer

cmp_issuer


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::CertificateId > serial

instance method OpenSSL::OCSP::CertificateId#serial

serial


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > add_certid

instance method OpenSSL::OCSP::Request#add_certid

add_certid


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > add_nonce

instance method OpenSSL::OCSP::Request#add_nonce

add_nonce


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > certid

instance method OpenSSL::OCSP::Request#certid

certid


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > check_nonce

instance method OpenSSL::OCSP::Request#check_nonce

check_nonce


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > sign

instance method OpenSSL::OCSP::Request#sign

sign


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > to_der

instance method OpenSSL::OCSP::Request#to_der

to_der


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Request > verify

instance method OpenSSL::OCSP::Request#verify

verify


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Response > basic

instance method OpenSSL::OCSP::Response#basic

basic


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Response > status

instance method OpenSSL::OCSP::Response#status

status


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Response > status_string

instance method OpenSSL::OCSP::Response#status_string

status_string


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Response > to_der

instance method OpenSSL::OCSP::Response#to_der

to_der


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::OCSP::Response > create

singleton method OpenSSL::OCSP::Response.create

create


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS12 > create

module function OpenSSL::PKCS12.#create

create


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS12::PKCS12 > ca_certs

instance method OpenSSL::PKCS12::PKCS12#ca_certs

ca_certs


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS12::PKCS12 > certificate

instance method OpenSSL::PKCS12::PKCS12#certificate

certificate


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS12::PKCS12 > key

instance method OpenSSL::PKCS12::PKCS12#key

key


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS12::PKCS12 > to_der

instance method OpenSSL::PKCS12::PKCS12#to_der

to_der


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > BINARY

constant OpenSSL::PKCS7::BINARY

BINARY

MIME canonical format への変換を行いません。


constant OpenSSL::PKCS7::DETACHED

DETACHED

平文に署名を付ける形式 (multipart/signed) で行います。 PKCS7.sign において DETACHED がセットされていた時にだけ意味をもちます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOATTR

constant OpenSSL::PKCS7::NOATTR

NOATTR

署名した時間などの情報を省略します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOCERTS

constant OpenSSL::PKCS7::NOCERTS

NOCERTS

署名者の証明書を署名に含めません。送り先がすでに証明書をもっている場合、データの量を減らすことができます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOCHAIN

constant OpenSSL::PKCS7::NOCHAIN

NOCHAIN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOINTERN

constant OpenSSL::PKCS7::NOINTERN

NOINTERN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOSIGS

constant OpenSSL::PKCS7::NOSIGS

NOSIGS


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOSMIMECAP

constant OpenSSL::PKCS7::NOSMIMECAP

NOSMIMECAP

署名者が使用可能な暗号アルゴリズムの情報などを省略します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::PKCS7 > NOVERIFY

constant OpenSSL::PKCS7::NOVERIFY

NOVERIFY


constant OpenSSL::PKCS7::TEXT

TEXT

text/plain のためのコンテンツに MIME ヘッダーを加えます。DETACHED ビットが立っている時だけ意味をもちます。


module function OpenSSL::PKCS7.#encrypt

encrypt([rcpt], smime)

S/MIME 形式の文字列をメッセージの受け取り手の公開鍵 rcpt を使って暗号化します。


module function OpenSSL::PKCS7.#read_smime

read_smime(str)
read_smime(io)

S/MIME 形式を読み込み、PKCS7 オブジェクトを返します。


module function OpenSSL::PKCS7.#sign

sign(cert, key, data, []= nil, flags = 0)

data に証明書 cert を付けて key で署名します。


module function OpenSSL::PKCS7.#write_smime

write_smime(p7sig)
write_smime(p7sig, data, flags = DETACHED)

PKCS7 オブジェクトから S/MIME 形式の文字列を返します。 multipart/signed による平文署名である場合、署名されたデータを data として与えなければなりません。

例:

data = "hoge"
p7 = PKCS7.sign( X509::Certificate.new(File.read('cert.pem')),
                 PKey::RSA.new(File.read('privkey.pem')),
                 data)
smime = PKCS7.write_smime(p7, data)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > add_certificate

instance method OpenSSL::PKCS7::PKCS7#add_certificate

add_certificate


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > add_crl

instance method OpenSSL::PKCS7::PKCS7#add_crl

add_crl(s)

CRL に加えます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > add_data

instance method OpenSSL::PKCS7::PKCS7#add_data

add_data(data)

署名の対象となるデータに data を加えます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > add_recipient

instance method OpenSSL::PKCS7::PKCS7#add_recipient

add_recipient


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > add_signer

instance method OpenSSL::PKCS7::PKCS7#add_signer

add_signer(singer)

署名者を加えます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > certificates

instance method OpenSSL::PKCS7::PKCS7#certificates

certificates
certificates=(certificates)

署名に付ける証明書を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > cipher=

instance method OpenSSL::PKCS7::PKCS7#cipher=

cipher=(cipher)

使用する暗号アルゴリズムを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > crls

instance method OpenSSL::PKCS7::PKCS7#crls

crls
crls=(s)

CRL を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > data

instance method OpenSSL::PKCS7::PKCS7#data

data
data=(data)

署名の対象となるデータを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > decrypt

instance method OpenSSL::PKCS7::PKCS7#decrypt

decrypt(pkey, cert, flags = 0)

復号化します。


instance method OpenSSL::PKCS7::PKCS7#detached

detached
detached=(bool)

平文に署名を付ける形式(multipart/signed)かどうかを表します。 type では :signed にあたります。


instance method OpenSSL::PKCS7::PKCS7#detached?

detached?

実際に署名されていてかつ平文に署名を付ける形式(multipart/signed)かどうかを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > error_string

instance method OpenSSL::PKCS7::PKCS7#error_string

error_string
error_string=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > recipients

instance method OpenSSL::PKCS7::PKCS7#recipients

recipients


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > signers

instance method OpenSSL::PKCS7::PKCS7#signers

signers

メッセージの署名者 OpenSSL::PKCS7::Signer オブジェクトの配列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > to_der

instance method OpenSSL::PKCS7::PKCS7#to_der

to_der

DER 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > to_pem

instance method OpenSSL::PKCS7::PKCS7#to_pem

to_pem
to_s

PEM 形式に変換します。


instance method OpenSSL::PKCS7::PKCS7#type

type
type=(type)

タイプを Symbol オブジェクトで返します。次のうちのいずれかの値をとります。

:signed, :encrypted, :enveloped, :signedAndEnveloped, :data


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > verify

instance method OpenSSL::PKCS7::PKCS7#verify

verify(certs, store, indata = nil, flags = 0)

署名を検証します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::PKCS7 > new

singleton method OpenSSL::PKCS7::PKCS7.new

new
new(str)
new(io)

PKCS7 オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::RecipientInfo > enc_key

instance method OpenSSL::PKCS7::RecipientInfo#enc_key

enc_key


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::RecipientInfo > issuer

instance method OpenSSL::PKCS7::RecipientInfo#issuer

issuer


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::RecipientInfo > serial

instance method OpenSSL::PKCS7::RecipientInfo#serial

serial


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::Signer > issuer

instance method OpenSSL::PKCS7::Signer#issuer

issuer


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::Signer > name

instance method OpenSSL::PKCS7::Signer#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::Signer > serial

instance method OpenSSL::PKCS7::Signer#serial

serial


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::Signer > signed_time

instance method OpenSSL::PKCS7::Signer#signed_time

signed_time


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::SignerInfo > issuer

instance method OpenSSL::PKCS7::SignerInfo#issuer

issuer


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::SignerInfo > name

instance method OpenSSL::PKCS7::SignerInfo#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::SignerInfo > serial

instance method OpenSSL::PKCS7::SignerInfo#serial

serial


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKCS7::SignerInfo > signed_time

instance method OpenSSL::PKCS7::SignerInfo#signed_time

signed_time


instance method OpenSSL::PKey::DH#compute_key

compute_key(num)
compute_key(str)
compute_key(bn)

Diffie-Hellman 鍵交換の第2ステップです。共有暗号鍵を自分の秘密鍵と相手の公開鍵 (num, str, bn) から計算して文字列として返します。これで鍵交換は完了します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > export

instance method OpenSSL::PKey::DH#export

export
to_pem
to_s

鍵ペアを PEM 形式で出力します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > g

instance method OpenSSL::PKey::DH#g

g
g=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > generate_key!

instance method OpenSSL::PKey::DH#generate_key!

generate_key!

新たに公開鍵と秘密鍵を生成し直します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > p

instance method OpenSSL::PKey::DH#p

p
p=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > params

instance method OpenSSL::PKey::DH#params

params

パラメータの入った Hash オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > params_ok?

instance method OpenSSL::PKey::DH#params_ok?

params_ok?

パラメータ p と g が安全かどうかを判定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > priv_key

instance method OpenSSL::PKey::DH#priv_key

priv_key
priv_key=(private_key)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > private?

instance method OpenSSL::PKey::DH#private?

private?

秘密鍵を持っているかどうか判定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > pub_key

instance method OpenSSL::PKey::DH#pub_key

pub_key
pub_key=(public_key)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > public?

instance method OpenSSL::PKey::DH#public?

public?

公開鍵を持っているかどうか判定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > public_key

instance method OpenSSL::PKey::DH#public_key

public_key

公開鍵を複製して DH オブジェクトとして返します。


instance method OpenSSL::PKey::DH#sign

sign(digest, data)
verify(digest, sign, data)

OpenSSL::PKey::PKey で定義された sign と verify を呼び出すことができますが、 Diffie-Hellman 暗号の性質から、呼び出しても全て PKeyError になります。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > to_der

instance method OpenSSL::PKey::DH#to_der

to_der

DER 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DH > to_text

instance method OpenSSL::PKey::DH#to_text

to_text

人間が読める形式に変換します。


singleton method OpenSSL::PKey::DH.generate

generate(size, generator = 2)

Diffie-Hellman 鍵交換の最初のステップである秘密鍵と公開鍵の生成を行ない DH オブジェクトを返します。size は安全な素数のサイズで、単位はビットです。generator は 1 より大きい小さな数で、大抵は 2 か 5 を指定します。


singleton method OpenSSL::PKey::DH.new

new(size, generator = 2)

DH.generate(size, generator) と同じです。

new(str)
new(io)
new()

DH オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > export

instance method OpenSSL::PKey::DSA#export

export
to_pem
to_s

PEM 形式に変換して返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > g

instance method OpenSSL::PKey::DSA#g

g
g=(g)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > p

instance method OpenSSL::PKey::DSA#p

p
p=(p)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > priv_key

instance method OpenSSL::PKey::DSA#priv_key

priv_key
priv_key=(private_key)
パラメータ。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > private?

instance method OpenSSL::PKey::DSA#private?

private?

秘密鍵をもっている場合に true を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > pub_key

instance method OpenSSL::PKey::DSA#pub_key

pub_key
pub_key=(public_key)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > public?

instance method OpenSSL::PKey::DSA#public?

public?

公開鍵をもっている場合に true を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > public_key

instance method OpenSSL::PKey::DSA#public_key

public_key

公開鍵を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > q

instance method OpenSSL::PKey::DSA#q

q
q=(q)


instance method OpenSSL::PKey::DSA#sign

sign(digest, data)

data に関して digest を使って署名を作成して文字列として返します。 digest は OpenSSL::PKey::DSS1 のインスタンスです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > to_der

instance method OpenSSL::PKey::DSA#to_der

to_der

DER 形式にして返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::DSA > to_text

instance method OpenSSL::PKey::DSA#to_text

to_text

人間が読める形式にして返します。


instance method OpenSSL::PKey::DSA#verify

verify(digest, sign, data)

digest には DSA の性質から OpenSSL::PKey::DSS1 のインスタンスのみ受け付けます。他は 例外 OpenSSL::PKey::PKeyError を投げます。


singleton method OpenSSL::PKey::DSA.generate

generate(size)
new(size)

DSA オブジェクトを生成します。size は鍵長です。

new
new(str)
new(io)

DSA オブジェクトを生成します。


instance method OpenSSL::PKey::PKey#sign

sign(digest, data)

digest を使って、data に署名し、文字列を返します。digest は OpenSSL::Digest::Digest のサブクラスのインスタンスです。data は文字列です。


instance method OpenSSL::PKey::PKey#verify

verify(digest, sign, data)

digest と sign を使って、data を検証します。digest は OpenSSL::Digest::Digest のサブクラスのインスタンスです。sign と data は文字列です。


constant OpenSSL::PKey::RSA::NO_PADDING

PKCS1_PADDING
SSLV23_PADDING
NO_PADDING
PKCS1_OAEP_PADDING

OpenSSL::PKey::RSA#public_encrypt、
OpenSSL::PKey::RSA#public_decrypt、
OpenSSL::PKey::RSA#private_encrypt、
OpenSSL::PKey::RSA#private_decrypt の
第二引数に指定できるパディングモード。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > e

instance method OpenSSL::PKey::RSA#e

e
e=


instance method OpenSSL::PKey::RSA#export

export(cipher = nil, pass = nil)
export
to_pem
to_s

鍵ペアを PEM 形式で出力します。cipher と pass が指定された場合、秘密鍵を暗号 cipher OpenSSL::Cipher::Cipher とパスワード pass を使って暗号化します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > iqmp

instance method OpenSSL::PKey::RSA#iqmp

iqmp
iqmp=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > n

instance method OpenSSL::PKey::RSA#n

n
n=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > p

instance method OpenSSL::PKey::RSA#p

p
p=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > params

instance method OpenSSL::PKey::RSA#params

params


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > private?

instance method OpenSSL::PKey::RSA#private?

private?

秘密鍵を持っているかどうか判定します。


instance method OpenSSL::PKey::RSA#private_decrypt

private_decrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を秘密鍵で復号化します。


instance method OpenSSL::PKey::RSA#private_encrypt

private_encrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を秘密鍵で暗号化します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > public?

instance method OpenSSL::PKey::RSA#public?

public?

公開鍵を持っているかどうか判定します。


instance method OpenSSL::PKey::RSA#public_decrypt

public_decrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を公開鍵で復号化します。


instance method OpenSSL::PKey::RSA#public_encrypt

public_encrypt(str, mode = OpenSSL::PKey::RSA::PKCS1_PADDING)

文字列 str を公開鍵で暗号化します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > public_key

instance method OpenSSL::PKey::RSA#public_key

public_key

公開鍵を複製して RSA オブジェクトとして返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > q

instance method OpenSSL::PKey::RSA#q

q
q=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > to_der

instance method OpenSSL::PKey::RSA#to_der

to_der

DER 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::PKey::RSA > to_text

instance method OpenSSL::PKey::RSA#to_text

to_text

人間が読める形式に変換します。


singleton method OpenSSL::PKey::RSA.generate

generate(size, exponent = 65537)

RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。size (単位はビット) で鍵の modulus つまりは 鍵のサイズを指定します。size < 1024 では小さ過ぎると考えられています。exponent で public exponent を指定します。exponent には奇数を指定し、大抵の場合、3、17 あるいは 65537 を指定します。


singleton method OpenSSL::PKey::RSA.new

new(size, exponent = 65537)

RSA 暗号鍵オブジェクトを生成します。RSA.generate(size, exponent) と同じです。

new(str, pass = nil)
new(io, pass = nil)
new

RSA 暗号鍵オブジェクトを生成します。pass が指定された場合は、秘密鍵を pass を使って復号化します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > egd

module function OpenSSL::Random.#egd

egd


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > egd_bytes

module function OpenSSL::Random.#egd_bytes

egd_bytes


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > load_random_file

module function OpenSSL::Random.#load_random_file

load_random_file


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > pseudo_bytes

module function OpenSSL::Random.#pseudo_bytes

pseudo_bytes


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > random_bytes

module function OpenSSL::Random.#random_bytes

random_bytes


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > seed

module function OpenSSL::Random.#seed

seed


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::Random > write_random_file

module function OpenSSL::Random.#write_random_file

write_random_file


constant OpenSSL::SSL::OP_ALL

OP_ALL
OP_CIPHER_SERVER_PREFERENCE
OP_EPHEMERAL_RSA
OP_NETSCAPE_CA_DN_BUG
OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
OP_NO_SSLv2
OP_NO_SSLv3
OP_NO_TLSv1
OP_PKCS1_CHECK_1
OP_PKCS1_CHECK_2
OP_SINGLE_DH_USE
OP_TLS_ROLLBACK_BUG

OpenSSL::SSL::SSLContext#options= に指定できるもの。


constant OpenSSL::SSL::VERIFY_CLIENT_ONCE

VERIFY_CLIENT_ONCE

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

サーバーモード: 最初の TLS/SSL ハンドシェイクの時だけクライアントに証明書を要求します。このフラグは VERIFY_PEER フラグとともに使われなければなりません。

クライアントモード: 無視されます。


constant OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT

VERIFY_FAIL_IF_NO_PEER_CERT

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

サーバーモード: クライアントが証明書を返さない場合に TLS/SSL ハンドシェイクを即座に終了させます。このフラグは VERIFY_PEER フラグとともに使われなければなりません。

クライアントモード: 無視されます。


constant OpenSSL::SSL::VERIFY_NONE

VERIFY_NONE

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

サーバーモード: クライアントに証明書を要求しません。

クライアントモード: anonymous cipher を用いない場合にサーバーは証明書を送ってきます。TLS/SSL ハンドシェイクの結果は SSL_get_verify_result を使ってチェックできます。証明書の検証の結果によらずハンドシェイクは継続します。


constant OpenSSL::SSL::VERIFY_PEER

VERIFY_PEER

OpenSSL::SSL::SSLContext#verify_mode= に指定できるもの。サーバーモードであるかクライアントモードであるかによって意味がことなります。

サーバーモード: サーバーはクライアントに証明書を要求します。送られてきた証明書は検証されます。検証が失敗した場合、TLS/SSL ハンドシェイクを即座に終了させます。

クライアントモード: サーバーの証明書を検証します。検証が失敗した場合、TLS/SSL ハンドシェイクを即座に終了させます。サーバーが証明書を返さずに、anonymous cipher を用いる場合、VERIFY_PEER は無視されます。


instance method OpenSSL::SSL::SSLContext#ca_file

ca_file
ca_file=(ca)

接続相手の検証のために使う、信頼している CA 証明書ファイルのパスです。以下のように複数の証明書を含んでいても構いません。

(ここに証明書の説明)

-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CERTIFICATE-----

(ここに証明書の説明)

-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CERTIFICATE-----


instance method OpenSSL::SSL::SSLContext#ca_path

ca_path
ca_path=(ca)

接続相手の証明書の検証のために使う、信頼している CA 証明書ファイルを含むディレクトリです。


instance method OpenSSL::SSL::SSLContext#cert

cert
cert=(certificate)

所有している証明書です。 OpenSSL::X509::Certificate オブジェクトです。


instance method OpenSSL::SSL::SSLContext#cert_store

cert_store
cert_store=(store)

接続相手の証明書の検証のために使う、信頼している CA 証明書のストレージです。 OpenSSL::X509::Store オブジェクトです。通常は ca_path=(path) や ca_file=(path) を使います。


instance method OpenSSL::SSL::SSLContext#ciphers

ciphers
ciphers=(ciphers)

使用可能な暗号の配列です。以下のような形式です。

[["EDH-RSA-DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168], ...]


instance method OpenSSL::SSL::SSLContext#client_ca

client_ca
client_ca=(ca)

クライアント証明書を要求する時にクライアントに送る CA のリストです。CA の Certificate オブジェクトの配列です。このリストに含まれる CA ―あるはその下位の CA―に署名された証明書をクライアントは送り返すことになっています。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > client_cert_cb

instance method OpenSSL::SSL::SSLContext#client_cert_cb

client_cert_cb
client_cert_cb=


instance method OpenSSL::SSL::SSLContext#extra_chain_cert

extra_chain_cert
extra_chain_cert=(certificates)

証明書チェーンです。所有している証明書からルート CA までの証明書のリストです。これを指定しない場合、ca_file や ca_path で指定した信頼されている証明書のストレージから証明書チェーンを構成しようとします。 順序は以下の通りです。

[所有している証明書, 下位 CA 証明書, ... 中間 CA 証明書]


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > key

instance method OpenSSL::SSL::SSLContext#key

key
key=(key)

所有している証明書に記載されている公開鍵に対応する秘密鍵です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > options

instance method OpenSSL::SSL::SSLContext#options

options
options=(options)

オプション。定数 OP_* のビットマスクで指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > session_id_context

instance method OpenSSL::SSL::SSLContext#session_id_context

session_id_context
session_id_context=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > timeout

instance method OpenSSL::SSL::SSLContext#timeout

timeout
timeout=(seconds)

タイムアウトするまでの時間です。単位は秒です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > tmp_dh_callback

instance method OpenSSL::SSL::SSLContext#tmp_dh_callback

tmp_dh_callback
tmp_dh_callback=


instance method OpenSSL::SSL::SSLContext#verify_callback

verify_callback
verify_callback=(proc)

通常の証明書の検証に加えてさらに適用される Proc オブジェクトです。この Proc オブジェクトは preverify_ok と ctx 二つの引数をとります。preverify_ok は true か false の値をとり、verify_mode で設定した通常の証明書の検証が成功したかどうかで決まります。ctx は SSLContext オブジェクトです。この Proc オブジェクトは true か false を返す必要があります。

lambda{|preverify_ok, ctx|
  return true # or false
}


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLContext > verify_depth

instance method OpenSSL::SSL::SSLContext#verify_depth

verify_depth
verify_depth=(depth)

証明書を検証する深さです。


instance method OpenSSL::SSL::SSLContext#verify_mode

verify_mode
verify_mode=(mode)

検証モードです。デフォルトは nil、つまり検証しません。定数の項を参照してください。定数 VERIFY_* のビットマスクで指定します。


singleton method OpenSSL::SSL::SSLContext.new

new(ssl_method)
new

SSLContext オブジェクトを生成します。ssl_method で TLS/SSL method を指定します。ssl_method は文字列かシンボルを与えます。指定できるのは以下のいずれかです。SSL_CTX_new を参照してください。

'TLSv1', 'TLSv1_server', 'TLSv1_client', 'SSLv2', 'SSLv2_server', 'SSLv2_client',
'SSLv3', 'SSLv3_server', 'SSLv3_client', 'SSLv23', 'SSLv23_server', 'SSLv23_client'


instance method OpenSSL::SSL::SSLServer#accept

accept

TLS/SSL クライアントから接続を受け付け、OpenSSL::SSL::SSLSocket オブジェクトを返します。start_immediately が真なら SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから SSLSocket オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > addr

instance method OpenSSL::SSL::SSLServer#addr

addr

IPSocket#addr と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > close

instance method OpenSSL::SSL::SSLServer#close

close

接続を閉じます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > closed?

instance method OpenSSL::SSL::SSLServer#closed?

closed?

close していたら true を返します。


instance method OpenSSL::SSL::SSLServer#do_not_reverse_lookup=

do_not_reverse_lookup=(bool)

BasicSocket#do_not_reverse_lookup と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > fcntl

instance method OpenSSL::SSL::SSLServer#fcntl

fcntl(cmd[, arg])

IO#fcntl と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > getsockopt

instance method OpenSSL::SSL::SSLServer#getsockopt

getsockopt(level, optname)

BasicSocket#getsockopt と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > listen

instance method OpenSSL::SSL::SSLServer#listen

listen

TCPServer#listen と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > peeraddr

instance method OpenSSL::SSL::SSLServer#peeraddr

peeraddr

IPSocket#peeraddr と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > setsockopt

instance method OpenSSL::SSL::SSLServer#setsockopt

setsockopt

BasicSocket#setsockopt と同様です。


instance method OpenSSL::SSL::SSLServer#start_immediately

start_immediately
start_immediately=(bool)

accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを設定します。デフォルトでは true です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLServer > to_io

instance method OpenSSL::SSL::SSLServer#to_io

to_io

TCPServer オブジェクトを返します。


singleton method OpenSSL::SSL::SSLServer.new

new(svr, ctx)

svr には TCPServer オブジェクトを、ctx には OpenSSL::SSL::SSLContext オブジェクトを取ります。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > BLOCK_SIZE

constant OpenSSL::SSL::SSLSocket::BLOCK_SIZE

BLOCK_SIZE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > <<

instance method OpenSSL::SSL::SSLSocket#<<

self <<

IO#<< と同様です。


instance method OpenSSL::SSL::SSLSocket#accept

accept

TLS/SSL クライアントから接続を受け付け、 TLS/SSL ハンドシェイクを実行し、自分自身を返します。


instance method OpenSSL::SSL::SSLSocket#cipher

cipher

現在実際に使われている暗号の情報を配列で返します。 TLS/SSL ハンドシェイクが行われる前の接続されていない状態では nil を返します。 返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる bit 数] となります。

["DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168]


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > close

instance method OpenSSL::SSL::SSLSocket#close

close

接続を閉じます。flush を呼んでから閉じます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > connect

instance method OpenSSL::SSL::SSLSocket#connect

connect

接続相手との TLS/SSL ハンドシェイクを実行します。


instance method OpenSSL::SSL::SSLSocket#context

context

SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。 OpenSSL::SSL::SSLContext オブジェクトです。


instance method OpenSSL::SSL::SSLSocket#do_not_reverse_lookup=

do_not_reverse_lookup=(bool)

BasicSocket#do_not_reverse_lookup と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > each

instance method OpenSSL::SSL::SSLSocket#each

each

IO#each と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > each_byte

instance method OpenSSL::SSL::SSLSocket#each_byte

each_byte

IO#each_byte と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > eof?

instance method OpenSSL::SSL::SSLSocket#eof?

eof?

IO#eof? と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > fcntl

instance method OpenSSL::SSL::SSLSocket#fcntl

fcntl(cmd[, arg])

IO#fcntl と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > flush

instance method OpenSSL::SSL::SSLSocket#flush

flush

IO#flush と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > getc

instance method OpenSSL::SSL::SSLSocket#getc

getc

IO#getc と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > gets

instance method OpenSSL::SSL::SSLSocket#gets

gets([rs])

IO#gets と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > getsockopt

instance method OpenSSL::SSL::SSLSocket#getsockopt

getsockopt(level, optname)

BasicSocket#getsockopt と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > io

instance method OpenSSL::SSL::SSLSocket#io

io
to_io

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。


instance method OpenSSL::SSL::SSLSocket#peer_cert

peer_cert

接続相手の X509 証明書 OpenSSL::X509::Certificate オブジェクトを返します。 検証結果は別途知る必要があります。


instance method OpenSSL::SSL::SSLSocket#peer_cert_chain

peer_cert_chain

接続相手の証明書チェーンすなわち OpenSSL::X509::Certificate オブジェクトの配列を返します。接続相手の証明書からルート CA の証明書までのリストで、順序は以下の通りです。

[接続相手の証明書, 下位CAの証明書,... 中間CAの証明書]


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > pending

instance method OpenSSL::SSL::SSLSocket#pending

pending

読み取り可能なバイト数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > post_connection_check

instance method OpenSSL::SSL::SSLSocket#post_connection_check

post_connection_check


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > print

instance method OpenSSL::SSL::SSLSocket#print

print([arg[, ...]])

IO#print と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > printf

instance method OpenSSL::SSL::SSLSocket#printf

printf(format[, arg[, ...]])

IO#printf と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > puts

instance method OpenSSL::SSL::SSLSocket#puts

puts([obj[, ...]])

IO#puts と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > read

instance method OpenSSL::SSL::SSLSocket#read

read([length[, buf]])

IO#read と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > readchar

instance method OpenSSL::SSL::SSLSocket#readchar

readchar

IO#readchar と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > readlines

instance method OpenSSL::SSL::SSLSocket#readlines

readlines([rs])

IO#readlines と同様です。


instance method OpenSSL::SSL::SSLSocket#setsockopt

setsockopt(level, optname, optval)

BasicSocket#setsockopt と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > state

instance method OpenSSL::SSL::SSLSocket#state

state

現在の状態を 6 文字の文字列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > sync_close

instance method OpenSSL::SSL::SSLSocket#sync_close

sync_close
sync_close=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > sysclose

instance method OpenSSL::SSL::SSLSocket#sysclose

sysclose

接続を閉じます。相手に'close notify'を送ります。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > sysread

instance method OpenSSL::SSL::SSLSocket#sysread

sysread(length[, buf])

IO#sysread と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > syswrite

instance method OpenSSL::SSL::SSLSocket#syswrite

syswrite(string)

IO#syswrite と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > ungetc

instance method OpenSSL::SSL::SSLSocket#ungetc

ungetc(char)

IO#ungetc と同様です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::SSL::SSLSocket > write

instance method OpenSSL::SSL::SSLSocket#write

write(str)

IO#write と同様です。


singleton method OpenSSL::SSL::SSLSocket.new

new(socket)
new(socket, context)

SSLSocket オブジェクトを生成します。socket には TCPSocket オブジェクトを与えます。context には OpenSSL::SSL::SSLContext オブジェクトを与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > PURPOSE_ANY

constant OpenSSL::X509::PURPOSE_ANY

PURPOSE_ANY

どんな目的に対しても使えるか。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > PURPOSE_CRL_SIGN

constant OpenSSL::X509::PURPOSE_CRL_SIGN

PURPOSE_CRL_SIGN

CRL の署名をするのに使えるか。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > PURPOSE_NS_SSL_SERVER

constant OpenSSL::X509::PURPOSE_NS_SSL_SERVER

PURPOSE_NS_SSL_SERVER

Netscape SSL server の証明書として使えるか。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > PURPOSE_SMIME_ENCRYPT

constant OpenSSL::X509::PURPOSE_SMIME_ENCRYPT

PURPOSE_SMIME_ENCRYPT

S/MIME の暗号化をするのに使えるか。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > PURPOSE_SMIME_SIGN

constant OpenSSL::X509::PURPOSE_SMIME_SIGN

PURPOSE_SMIME_SIGN

S/MIME の署名をするのに使えるか。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > PURPOSE_SSL_CLIENT

constant OpenSSL::X509::PURPOSE_SSL_CLIENT

PURPOSE_SSL_CLIENT

SSL のクライアントサイドの証明書として使えるか。


constant OpenSSL::X509::PURPOSE_SSL_SERVER

PURPOSE_SSL_SERVER

SSL のサーバサイドの証明書として使えるか。

以下は OpenSSL::X509::Store#trust にセットされる値です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > TRUST_COMPAT

constant OpenSSL::X509::TRUST_COMPAT

TRUST_COMPAT


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > TRUST_EMAIL

constant OpenSSL::X509::TRUST_EMAIL

TRUST_EMAIL


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > TRUST_OBJECT_SIGN

constant OpenSSL::X509::TRUST_OBJECT_SIGN

TRUST_OBJECT_SIGN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > TRUST_SSL_CLIENT

constant OpenSSL::X509::TRUST_SSL_CLIENT

TRUST_SSL_CLIENT


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > TRUST_SSL_SERVER

constant OpenSSL::X509::TRUST_SSL_SERVER

TRUST_SSL_SERVER

以下は OpenSSL::X509::Store#error にセットされる値です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_AKID_SKID_MISMATCH

constant OpenSSL::X509::V_ERR_AKID_SKID_MISMATCH

V_ERR_AKID_SKID_MISMATCH


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_APPLICATION_VERIFICATION

constant OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION

V_ERR_APPLICATION_VERIFICATION


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_CHAIN_TOO_LONG

constant OpenSSL::X509::V_ERR_CERT_CHAIN_TOO_LONG

V_ERR_CERT_CHAIN_TOO_LONG


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_HAS_EXPIRED

constant OpenSSL::X509::V_ERR_CERT_HAS_EXPIRED

V_ERR_CERT_HAS_EXPIRED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_NOT_YET_VALID

constant OpenSSL::X509::V_ERR_CERT_NOT_YET_VALID

V_ERR_CERT_NOT_YET_VALID


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_REJECTED

constant OpenSSL::X509::V_ERR_CERT_REJECTED

V_ERR_CERT_REJECTED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_REVOKED

constant OpenSSL::X509::V_ERR_CERT_REVOKED

V_ERR_CERT_REVOKED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_SIGNATURE_FAILURE

constant OpenSSL::X509::V_ERR_CERT_SIGNATURE_FAILURE

V_ERR_CERT_SIGNATURE_FAILURE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CERT_UNTRUSTED

constant OpenSSL::X509::V_ERR_CERT_UNTRUSTED

V_ERR_CERT_UNTRUSTED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CRL_HAS_EXPIRED

constant OpenSSL::X509::V_ERR_CRL_HAS_EXPIRED

V_ERR_CRL_HAS_EXPIRED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CRL_NOT_YET_VALID

constant OpenSSL::X509::V_ERR_CRL_NOT_YET_VALID

V_ERR_CRL_NOT_YET_VALID


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_CRL_SIGNATURE_FAILURE

constant OpenSSL::X509::V_ERR_CRL_SIGNATURE_FAILURE

V_ERR_CRL_SIGNATURE_FAILURE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT

constant OpenSSL::X509::V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT

V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD

constant OpenSSL::X509::V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD

V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD

constant OpenSSL::X509::V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD

V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD

constant OpenSSL::X509::V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD

V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD

constant OpenSSL::X509::V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD

V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_INVALID_CA

constant OpenSSL::X509::V_ERR_INVALID_CA

V_ERR_INVALID_CA


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_INVALID_PURPOSE

constant OpenSSL::X509::V_ERR_INVALID_PURPOSE

V_ERR_INVALID_PURPOSE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_KEYUSAGE_NO_CERTSIGN

constant OpenSSL::X509::V_ERR_KEYUSAGE_NO_CERTSIGN

V_ERR_KEYUSAGE_NO_CERTSIGN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_OUT_OF_MEM

constant OpenSSL::X509::V_ERR_OUT_OF_MEM

V_ERR_OUT_OF_MEM


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_PATH_LENGTH_EXCEEDED

constant OpenSSL::X509::V_ERR_PATH_LENGTH_EXCEEDED

V_ERR_PATH_LENGTH_EXCEEDED


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_SELF_SIGNED_CERT_IN_CHAIN

constant OpenSSL::X509::V_ERR_SELF_SIGNED_CERT_IN_CHAIN

V_ERR_SELF_SIGNED_CERT_IN_CHAIN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_SUBJECT_ISSUER_MISMATCH

constant OpenSSL::X509::V_ERR_SUBJECT_ISSUER_MISMATCH

V_ERR_SUBJECT_ISSUER_MISMATCH


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY

constant OpenSSL::X509::V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY

V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE

constant OpenSSL::X509::V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE

V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE

constant OpenSSL::X509::V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE

V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_GET_CRL

constant OpenSSL::X509::V_ERR_UNABLE_TO_GET_CRL

V_ERR_UNABLE_TO_GET_CRL


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_GET_ISSUER_CERT

constant OpenSSL::X509::V_ERR_UNABLE_TO_GET_ISSUER_CERT

V_ERR_UNABLE_TO_GET_ISSUER_CERT


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY

constant OpenSSL::X509::V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY

V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE

constant OpenSSL::X509::V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE

V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > module OpenSSL::X509 > V_OK

constant OpenSSL::X509::V_OK

V_OK


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Attribute > oid

instance method OpenSSL::X509::Attribute#oid

oid
oid=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Attribute > to_der

instance method OpenSSL::X509::Attribute#to_der

to_der


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Attribute > value

instance method OpenSSL::X509::Attribute#value

value
value=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Attribute > new

singleton method OpenSSL::X509::Attribute.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > add_extension

instance method OpenSSL::X509::CRL#add_extension

add_extension(ex)

拡張領域に値を加えます。


instance method OpenSSL::X509::CRL#add_revoked

add_revoked(rev)

CRL に失効した証明書を加えます。rev は OpenSSL::X509::Revoked オブジェクトです。


instance method OpenSSL::X509::CRL#extensions

extensions
extensions=(extensions)

CRL の拡張領域。OpenSSL::X509::Extension の配列。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > issuer

instance method OpenSSL::X509::CRL#issuer

issuer
issuer=(issuer)

CRL の発行者。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > last_update

instance method OpenSSL::X509::CRL#last_update

last_update
last_update=(time)

最後に更新された日時。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > next_update

instance method OpenSSL::X509::CRL#next_update

next_update
next_update=(time)

次に更新する日時。


instance method OpenSSL::X509::CRL#revoked

revoked
revoked=(rev)

失効した証明書の配列です。OpenSSL::X509::Revoked オブジェクトの Array。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > sign

instance method OpenSSL::X509::CRL#sign

sign(pkey, chain = nil)

CRL に署名します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > signature_algorithm

instance method OpenSSL::X509::CRL#signature_algorithm

signature_algorithm

署名に使ったアルゴリズム。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > to_der

instance method OpenSSL::X509::CRL#to_der

to_der

DER 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > to_pem

instance method OpenSSL::X509::CRL#to_pem

to_pem
to_s

PEM 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > to_text

instance method OpenSSL::X509::CRL#to_text

to_text

人間が読める形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > verify

instance method OpenSSL::X509::CRL#verify

verify(key)

発行者の公開鍵で CRL に記載されている署名を検証します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > version

instance method OpenSSL::X509::CRL#version

version
version=(version)

CRL のバージョン。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::CRL > new

singleton method OpenSSL::X509::CRL.new

new
new(str)
new(io)


instance method OpenSSL::X509::Certificate#add_extension

add_extension(ext)

拡張領域に値を加えます。ext は OpenSSL::X509::Extension オブジェクトです。


instance method OpenSSL::X509::Certificate#check_private_key

check_private_key(pkey)

与えられた秘密鍵が証明書に記載されている subject の公開鍵と対応するものかを確かめます。


instance method OpenSSL::X509::Certificate#extensions

extensions
extensions=(extensions)

証明書の拡張領域 OpenSSL::X509::Extension オブジェクトの Array です。


instance method OpenSSL::X509::Certificate#issuer

issuer
issuer=(name)

証明書の発行者 (CA) の名前 OpenSSL::X509::Name オブジェクトです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > not_after

instance method OpenSSL::X509::Certificate#not_after

not_after
not_after=(time)

証明書が無効になる時刻 Time オブジェクトです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > not_before

instance method OpenSSL::X509::Certificate#not_before

not_before
not_before=(time)

証明書が有効になる時刻 Time オブジェクトです。


instance method OpenSSL::X509::Certificate#public_key

public_key
public_key=(pkeu)

証明書に記載された公開鍵 OpenSSL::PKey::RSA オブジェクトです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > serial

instance method OpenSSL::X509::Certificate#serial

serial
serial=(serial)

発行者 (CA) が証明書に付ける識別番号です。


instance method OpenSSL::X509::Certificate#sign

sign(pkey, digest)

証明書に署名します。pkey は発行者の秘密鍵です。digest は
OpenSSL::Digest::Digest オブジェクトです。秘密鍵オブジェクトが
OpenSSL::PKey::DSA のインスタンスである場合、 digest は OpenSSL::Digest::DSS1
オブジェクトでなければなりません。逆も同じです。OpenSSL::Digest::DSS1 は
OpenSSL::PKey::DSA 以外のダイジェストとして使えません。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > signature_algorithm

instance method OpenSSL::X509::Certificate#signature_algorithm

signature_algorithm

発行者 (CA) が証明書に署名するのに使ったアルゴリズムです。


instance method OpenSSL::X509::Certificate#subject

subject
subject=(name)

証明書の所有者の名前 OpenSSL::X509::Name オブジェクトです。 http://www.ipa.go.jp/security/pki/033.html#_Toc3020767


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > to_der

instance method OpenSSL::X509::Certificate#to_der

to_der

DER 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > to_pem

instance method OpenSSL::X509::Certificate#to_pem

to_pem
to_s

PEM 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > to_text

instance method OpenSSL::X509::Certificate#to_text

to_text

人間が読める形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > verify

instance method OpenSSL::X509::Certificate#verify

verify(key)

key は証明書の発行者の公開鍵です。 key で証明書の署名を検証します。


instance method OpenSSL::X509::Certificate#version

version
version=(version)

X509 証明書の version です。 v1の場合は 0 、v3 の場合は 2 となります。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Certificate > new

singleton method OpenSSL::X509::Certificate.new

new
new(str)
new(io)

証明書オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > critical=

instance method OpenSSL::X509::Extension#critical=

critical=(bool)
critical?

クリティカルかどうかを設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > oid

instance method OpenSSL::X509::Extension#oid

oid
oid=(oid)

OID を文字列で設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > to_a

instance method OpenSSL::X509::Extension#to_a

to_a


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > to_der

instance method OpenSSL::X509::Extension#to_der

to_der

DER 形式に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > to_h

instance method OpenSSL::X509::Extension#to_h

to_h


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > to_s

instance method OpenSSL::X509::Extension#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Extension > value

instance method OpenSSL::X509::Extension#value

value
value=(value)

値を設定します。


singleton method OpenSSL::X509::Extension.new

new(oid, value, critical)

Extension オブジェクトを生成します。oid には拡張領域の OID をあらわす OpenSSL::ASN1::ObjectId オブジェクト、あるいは OID の short name か long name である文字列を与えます。value にはその値を表す DER 形式の文字列か OpenSSL::ASN1::ASN1Data のサブクラスのインスタンスを与えます。

例;

require 'openssl'
include OpenSSL
oid = "subjectKeyIdentifier"
val = "\004\024\206\312\245\"\201b\357\255\n\211\274\255rA,)I\364\206V"
ex = X509::Extension.new(oid, val)
p ex.value # => "86:CA:A5:22:81:62:EF:AD:0A:89:BC:AD:72:41:2C:29:49:F4:86:56"


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::ExtensionFactory > config

instance method OpenSSL::X509::ExtensionFactory#config

config
config=(config)


instance method OpenSSL::X509::ExtensionFactory#create_ext

create_ext(oid, value, critical = false)

OpenSSL::X509::Extension を生成して返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::ExtensionFactory > create_ext_from_array

instance method OpenSSL::X509::ExtensionFactory#create_ext_from_array

create_ext_from_array


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::ExtensionFactory > create_ext_from_hash

instance method OpenSSL::X509::ExtensionFactory#create_ext_from_hash

create_ext_from_hash


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::ExtensionFactory > create_ext_from_string

instance method OpenSSL::X509::ExtensionFactory#create_ext_from_string

create_ext_from_string


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::ExtensionFactory > crl

instance method OpenSSL::X509::ExtensionFactory#crl

crl
crl=(crl)


instance method OpenSSL::X509::ExtensionFactory#issuer_certificate

issuer_certificate
issuer_certificate=(name)

issuer の証明書を設定します。


instance method OpenSSL::X509::ExtensionFactory#subject_certificate

subject_certificate
subject_certificate=(name)

subject の証明書を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::ExtensionFactory > subject_request

instance method OpenSSL::X509::ExtensionFactory#subject_request

subject_request
subject_request=(name)


singleton method OpenSSL::X509::ExtensionFactory.new

new([issuer_cert [, subject_cert [, subject_req [, crl]]]])

ExtensionFactory オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > COMPAT

constant OpenSSL::X509::Name::COMPAT

COMPAT


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > DEFAULT_OBJECT_TYPE

constant OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE

DEFAULT_OBJECT_TYPE

エントリーのデフォルトのタイプです。UTF8文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > MULTILINE

constant OpenSSL::X509::Name::MULTILINE

MULTILINE


constant OpenSSL::X509::Name::OBJECT_TYPE_TEMPLATE

OBJECT_TYPE_TEMPLATE

エントリーのタイプを収納したハッシュです。エントリーをキーとして、値にタイプが収納されています。キーは次の文字列、

'C', 'countryName', 'serialNumber', 'dnQualifier',
'DC', 'domainComponent', 'emailAddress'


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > ONELINE

constant OpenSSL::X509::Name::ONELINE

ONELINE


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > RFC2253

constant OpenSSL::X509::Name::RFC2253

RFC2253


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > RFC2253DN

constant OpenSSL::X509::Name::RFC2253DN

RFC2253DN


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > <=>

instance method OpenSSL::X509::Name#<=>

cmp(name)
self <=>

他の Name オブジェクトと比較します。


instance method OpenSSL::X509::Name#add_entry

add_entry(oid, value, type = nil)

エントリー oid に value を設定します。type を指定することも出来ます。type を指定しない場合は oid より自動的に判別します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > to_a

instance method OpenSSL::X509::Name#to_a

to_a

配列にして返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > to_der

instance method OpenSSL::X509::Name#to_der

to_der

DER 形式を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > to_s

instance method OpenSSL::X509::Name#to_s

to_s

人間の読める形式にして返します。


singleton method OpenSSL::X509::Name.new

new([[oid1, val1], [oid2, val2] ...], template = OBJECT_TYPE_TEMPLATE)
new

Name オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > parse

singleton method OpenSSL::X509::Name.parse

parse(str)

名前をパースして Name オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > parse_openssl

singleton method OpenSSL::X509::Name.parse_openssl

parse_openssl


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Name > parse_rfc2253

singleton method OpenSSL::X509::Name.parse_rfc2253

parse_rfc2253


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > add_attribute

instance method OpenSSL::X509::Request#add_attribute

add_attribute


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > attributes

instance method OpenSSL::X509::Request#attributes

attributes
attributes=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > public_key

instance method OpenSSL::X509::Request#public_key

public_key
public_key=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > sign

instance method OpenSSL::X509::Request#sign

sign


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > signature_algorithm

instance method OpenSSL::X509::Request#signature_algorithm

signature_algorithm


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > subject

instance method OpenSSL::X509::Request#subject

subject
subject=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > to_der

instance method OpenSSL::X509::Request#to_der

to_der


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > to_pem

instance method OpenSSL::X509::Request#to_pem

to_pem


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > to_s

instance method OpenSSL::X509::Request#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > to_text

instance method OpenSSL::X509::Request#to_text

to_text


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > verify

instance method OpenSSL::X509::Request#verify

verify


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > version

instance method OpenSSL::X509::Request#version

version
version=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Request > new

singleton method OpenSSL::X509::Request.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Revoked > add_extension

instance method OpenSSL::X509::Revoked#add_extension

add_extension(ex)

拡張領域に値を加えます。


instance method OpenSSL::X509::Revoked#extensions

extensions
extensions=(extensions)

拡張領域です。OpenSSL::X509::Extension の配列です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Revoked > serial

instance method OpenSSL::X509::Revoked#serial

serial
serial=(serial)

失効した証明書のシリアルです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Revoked > time

instance method OpenSSL::X509::Revoked#time

time
time=(time)

失効した日時です。Time オブジェクトです。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Revoked > new

singleton method OpenSSL::X509::Revoked.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > add_cert

instance method OpenSSL::X509::Store#add_cert

add_cert(cert)

証明書を信頼する証明書としてストレージに加えます。


instance method OpenSSL::X509::Store#add_crl

add_crl(crl)

信頼する CRL(証明書失効リスト) OpenSSL::X509::CRL オブジェクトをストレージに加えます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > add_file

instance method OpenSSL::X509::Store#add_file

add_file(file)

ファイルに含まれる証明書を信頼する証明書としてストレージに加えます。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > add_path

instance method OpenSSL::X509::Store#add_path

add_path(path)

パスに含まれる証明書を信頼する証明書としてストレージに加えます。


instance method OpenSSL::X509::Store#chain

chain

最後に verify(cert) した証明書を出発点とするルート CA 証明書までの証明書のチェーンです。OpenSSL::X509::Certificate オブジェクトの配列です。verify を一度も呼び出していない時は nil を返します。証明書の順序は以下の通りです。

[証明書, 下位 CA 証明書, 中間 CA 証明書, ... , ルート CA 証明書]


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > error

instance method OpenSSL::X509::Store#error

error

OpenSSL::X509 を参照してください。


instance method OpenSSL::X509::Store#error_string

error_string

verify を呼び出した時のエラー内容を述べた文字列です。エラーでない場合は、"ok" がセットされます。verify を一度も呼び出していない時は nil です。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > flags=

instance method OpenSSL::X509::Store#flags=

flags=(flags)


instance method OpenSSL::X509::Store#purpose=

purpose=(purpose)

証明書の使用目的を設定します。verify では検証対象の証明書がこの目的に使えるかどうかも検証します。OpenSSL::X509 の定数を参照してください。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > set_default_paths

instance method OpenSSL::X509::Store#set_default_paths

set_default_paths


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > time=

instance method OpenSSL::X509::Store#time=

time=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > trust=

instance method OpenSSL::X509::Store#trust=

trust=(trust)

OpenSSL::X509 の定数を参照してください。


instance method OpenSSL::X509::Store#verify

verify(cert, chain = nil)

証明書 cert をストレージに存在する CA 証明書で検証します。


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > verify_callback

instance method OpenSSL::X509::Store#verify_callback

verify_callback
verify_callback=(proc)


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::Store > new

singleton method OpenSSL::X509::Store.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > chain

instance method OpenSSL::X509::StoreContext#chain

chain


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > cleanup

instance method OpenSSL::X509::StoreContext#cleanup

cleanup


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > current_cert

instance method OpenSSL::X509::StoreContext#current_cert

current_cert


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > current_crl

instance method OpenSSL::X509::StoreContext#current_crl

current_crl


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > error

instance method OpenSSL::X509::StoreContext#error

error
error=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > error_depth

instance method OpenSSL::X509::StoreContext#error_depth

error_depth


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > error_string

instance method OpenSSL::X509::StoreContext#error_string

error_string


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > flags=

instance method OpenSSL::X509::StoreContext#flags=

flags=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > purpose=

instance method OpenSSL::X509::StoreContext#purpose=

purpose=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > time=

instance method OpenSSL::X509::StoreContext#time=

time=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > trust=

instance method OpenSSL::X509::StoreContext#trust=

trust=


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > verify

instance method OpenSSL::X509::StoreContext#verify

verify


Ruby 1.8.7 Reference Manual > All Libraries > library openssl > class OpenSSL::X509::StoreContext > new

singleton method OpenSSL::X509::StoreContext.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library ostruct > class OpenStruct > InspectKey (protected)

constant OpenStruct::InspectKey

InspectKey

内部的に使用する定数です。


instance method OpenStruct#==

self == other -> bool

自身と比較対象のオブジェクトが等しい場合に真を返します。 そうでない場合は、偽を返します。

[PARAM] other:
比較対象のオブジェクトを指定します。


instance method OpenStruct#delete_field

delete_field(name) -> object

nameで指定された要素を削除します。

その後その要素を参照したら nil が返ります。

[PARAM] name:
削除する要素を文字列かシンボルで指定します。
[RETURN]
削除前の要素の値を返します。


instance method OpenStruct#inspect

inspect -> String
to_s -> String

オブジェクトを人間が読める形式に変換した文字列を返します。

[SEE_ALSO] Object#inspect


instance method OpenStruct#new_ostruct_member

new_ostruct_member(name) -> Symbol

与えられた名前のアクセサメソッドを自身に定義します。

[PARAM] name:
文字列かシンボルで定義するアクセサの名前を指定します。


singleton method OpenStruct.new

new(hash = nil) -> OpenStruct

OpenStruct オブジェクトを生成します。

ハッシュが与えられたとき、それぞれのキーを生成したオブジェクトの要素にし、値をセットします。

[PARAM] hash:
設定する要素とその値を指定します。 hash には Hash クラスのインスタンス、または配列の配列を用いることができます。
[EXCEPTION] NoMethodError:
hash のキーが to_sym メソッドを持たないときに発生します。
require 'ostruct'
some1 = OpenStruct.new({:a =>"a",:b =>"b"}) # => #<OpenStruct b="b", a="a">
some2 = OpenStruct.new([[:a,"a"],[:b,"b"]]) # => #<OpenStruct b="b", a="a">


singleton method OpenURI.open_uri

open_uri(name, mode = 'r', perm = nil, options = {}) -> StringIO
open_uri(name, mode = 'r', perm = nil, options = {}) {|sio| ... } -> nil

URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを 評価します。ブロックの終了時に StringIO は close されます。nil を返します。

require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read

OpenURI.open_uri('http://www.example.com'){|sio| sio.read }

options には Hash を与えます。理解するハッシュの キーは以下の4つのシンボル、

  • :proxy
  • :progress_proc
  • :content_length_proc
  • :http_basic_authentication

です。HTTP でのみ意味があります。 「:content_length_proc」と「:progress_proc」はプログレスバーに 利用されることを想定しています。

require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com',
                       { :proxy => 'http://proxy.example.com:8000/',
                         :http_basic_authentication => [usrname, password] })
:proxy

値には以下のいずれかを与えます。

   文字列:           "http://proxy.foo.com:8000/" のようなプロクシの URI。
   URI オブジェクト: URI.parse("http://proxy.foo.com:8000/") のようなプロクシの URI オブジェクト。
   true:             Proxy を環境変数などから見つけようとする。
   false:            Proxy を用いない。
   nil:              Proxy を用いない。
:http_basic_authentication

HTTP の Basic 認証のためのユーザ名とパスワードを、文字列の配列 ["user", "password"] として与えます。

:content_length_proc

値にはブロックを与えます。ブロックは対象となる URI の Content-Length ヘッダの値を引数として、実際の転送が始まる前に評価されます。Redirect された場合は、 実際に転送されるリソースの HTTP ヘッダを利用します。Content-Length ヘッダがない場合は、nil を 引数としてブロックを評価します。ブロックの返り値は特に利用されません。

:progress_proc

値にはブロックを与えます。ブロックは対象となる URI からデータの 断片が転送されるたびに、その断片のサイズを引数として評価されます。ブロックの返り値は特に 利用されません。

[PARAM] name:
オープンしたいリソースを文字列で与えます。
[PARAM] mode:
モードを文字列で与えます。Kernel.#open と同じです。
[PARAM] perm:
無視されます。
[PARAM] options:
ハッシュを与えます。
[RETURN]
返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。
[EXCEPTION] OpenURI::HTTPError:
対象となる URI のスキームが http であり、 かつリソースの取得に失敗した時に発生します。
[EXCEPTION] Net::FTPError:
対象となる URI のスキームが ftp であり、かつリソースの取得に失敗した時に Net::FTPError のサブクラスが発生します。詳しくは net/ftp を参照して下さい。
[EXCEPTION] ArgumentError:
与えられた mode が読み込みモードでなかった場合に発生します。


instance method OpenURI::Meta#base_uri

base_uri -> URI

リソースの実際の URI を URI オブジェクトとして返します。 リダイレクトされた場合は、リダイレクトされた後のデータが存在する URI を返します。

例:

require 'open-uri'
p open('http://www.ruby-lang.org/').base_uri
#=> #<URI::HTTP:0xb7043aa0 URL:http://www.ruby-lang.org/en/>


instance method OpenURI::Meta#charset

charset -> String | nil
charset {...} -> String

対象となるリソースの文字コードを文字列で返します。Content-Type ヘッダの文字コード情報が使われます。 文字列は小文字へと変換されています。

Content-Type ヘッダがない場合は、nil を返します。ただし、ブロックが与えられている場合は、 その結果を返します。また対象となる URI のスキームが HTTP であり、自身のタイプが text である場合は、 RFC2616 3.7.1 で定められているとおり、文字列 "iso-8859-1" を返します。

例:

open("http://www.ruby-lang.org/en") {|f|
  p f.content_type  # => "text/html"
  p f.charset       # => "iso-8859-1"
}


instance method OpenURI::Meta#content_encoding

content_encoding -> [String]

対象となるリソースの Content-Encoding を文字列の配列として返します。 Content-Encoding ヘッダがない場合は、空の配列を返します。

例:

require 'open-uri'
p open('http://example.com/f.tar.gz').content_encoding  #=> ["x-gzip"]


instance method OpenURI::Meta#content_type

content_type -> String

対象となるリソースの Content-Type を文字列の配列で返します。Content-Type ヘッダの情報が使われます。 Content-Type ヘッダがない場合は、"application/octet-stream" を返します。

例:

require 'open-uri'
p open('http://www.ruby-lang.org/').content_type  #=> "text/html"


instance method OpenURI::Meta#last_modified

last_modified -> Time | nil

対象となる URI の最終更新時刻を Time オブジェクトで返します。 Last-Modified ヘッダがない場合は nil を返します。

例:

require 'open-uri'
p open('http://www.rubyist.net/').last_modified
#=> Thu Feb 26 16:54:58 +0900 2004


instance method OpenURI::Meta#meta

meta -> Hash

ヘッダを収録したハッシュを返します。

例:

require 'open-uri'
p open('http://example.com/').meta
#=> {"date"=>"Sun, 04 May 2008 11:26:40 GMT",
     "content-type"=>"text/html;charset=utf-8",
     "server"=>"Apache/2.0.54 (Debian GNU/Linux) mod_ssl/2.0.54 OpenSSL/0.9.7e",
     "transfer-encoding"=>"chunked"}


instance method OpenURI::Meta#status

status -> [String]

対象となるリソースのステータスコードと reason phrase を文字列の配列として返します。

例:

require 'open-uri'
p open('http://example.com/').status  #=> ["200", "OK"]


instance method OpenURI::OpenRead#open

open(mode = 'r', perm = nil, options = {})) -> StringIO
open(mode = 'r', perm = nil, options = {})) {|sio| ... } -> nil

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを 評価します。ブロックの終了時に StringIO は close されます。nil を返します。

返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

[PARAM] mode:
モードを文字列で与えます。Kernel.#open と同じです。
[PARAM] perm:
無視されます。
[PARAM] options:
ハッシュを与えます。
[EXCEPTION] OpenURI::HTTPError:
対象となる URI のスキームが http であり、かつリソースの取得に 失敗した時に発生します。
[EXCEPTION] Net::FTPError:
対象となる URI のスキームが ftp であり、かつリソースの取得に失敗した時に Net::FTPError のサブクラスが発生します。詳しくは net/ftp を参照して下さい。

[SEE_ALSO] OpenURI.open_uri


instance method OpenURI::OpenRead#read

read(options={}) -> String

自身が表す内容を読み込んで文字列として返します。 self.open(options={}).read と同じです。 このメソッドによって返される文字列は OpenURI::Meta によって extend されています。

[PARAM] options:
ハッシュを与えます。
require 'open-uri'
uri = URI.parse('http://www.example.com/')
str = uri.read
p str.is_a?(OpenURI::Meta) # => true
p str.content_type


module function Open3.#popen3

popen3(*cmd) -> [IO, IO, IO]
popen3(*cmd) {|stdin, stdout, stderr| ... } -> ()

外部プログラム cmd を実行し、そのプロセスの標準入力、 標準出力、標準エラー出力に接続されたパイプを 3 要素の配列で返します。 cmd は組み込み関数 Kernel.#exec と同じ規則で解釈されます。

stdin, stdout, stderr = *Open3.popen3("/usr/bin/nroff -man")
[PARAM] cmd:
実行するコマンドを指定します。
[RETURN]
ブロックを指定した場合はブロックの最後に評価された値を返します。 ブロックを指定しなかった場合は標準入力、標準出力、標準エラー を返します。

ブロックを指定するとパイプの配列を引数にブロックを実行し、最後にパイプ を close します。この場合はブロックの最後の式の結果を返します。

require 'open3'

Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr|
  stdin.puts "stdin"
  stdin.close     # または close_write
  p stdout.read
  p stderr.read
}
#=> "stdout\n"
    "stderr\n"

stdin への入力が終わったらできる限り早く close か close_write で閉じるべきです。

[UNIX系OS固有の注意] Open3 で作成した子プロセスは wait(2) しなくてもゾンビになりません。

コマンドは実際には孫プロセスとして動作するため、組み込み変数 $? でコマンドの終了ステータスを得ることはできません。


instance method OptionParser#accept

accept(klass, pat = /.*/) {|str| ...} -> ()

OptionParser.accept と同様ですが、 登録したブロックはレシーバーに限定されます。

[PARAM] klass:
クラスオブジェクトを与えます。
[PARAM] pat:
match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与えます。


instance method OptionParser#banner

banner -> String
banner=(heading)

サマリの最初に表示される文字列を表すアクセサです。

[PARAM] heading:
サマリの最初に表示される文字列を指定します。


instance method OptionParser#default_argv

default_argv -> [String]
default_argv=(argv)

自身がデフォルトでパースする引数を表すアクセサです。 文字列の配列です。

OptionParser#parse の引数が指定されなかったときに使われます。

[PARAM] argv:
デフォルトでパースしたい文字列の配列を指定します。


instance method OptionParser#environment

environment(env) -> [String]

環境変数 env に対して Shellwords.#shellwords を呼 んで配列にしてから parse を行ないます。

[PARAM] env:
環境変数名を文字列で与えます。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError のサブクラスが投げられます。


instance method OptionParser#getopts

getopts(argv, *opts) -> Hash
getopts(*opts) -> Hash

getopts 相当の機能を提供します。 getopts と違って、グローバル変数を定義しません。 引数をパースした結果を、Hash として返します。

配列 argv を与えた場合、argv をパースします。そうでない場合は、 default_argv をパースします。

opt = OptionParser.new
params = opt.getopts(ARGV, "ab:", "foo", "bar:")
# params["a"] = true   # -a
# params["b"] = "1"    # -b1
# params["foo"] = true  # --foo
# params["bar"] = "x"  # --bar x
[PARAM] argv:
パースしたい配列を指定します。
[PARAM] opts:
引数を文字列で指定します。Kernel#getopts を参照して下さい。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError のサブクラスが投げられます。


Ruby 1.8.7 Reference Manual > All Libraries > library optparse > class OptionParser > help

instance method OptionParser#help

help -> String
to_s -> String

サマリの文字列を返します。


instance method OptionParser#load

load(filename = nil) -> bool

指定された filename を読み込んで各行をまとめたものに対して OptionParser#parse を行ないます。

パースが成功した場合に true を返します。 ファイルが存在しなかった場合に false を返します。

[PARAM] filename:
各行をパースしたいファイルの名前を文字列で指定します。 指定されないか nil である場合、~/.options/ に プログラムのサフィックスを付けた '~/.options/コマンド名' というファイルをパースします。


instance method OptionParser#on

on(short, desc = "") {|v| ... } -> self
on(long, desc = "") {|v| ... } -> self
on(short, long, desc = "") {|v| ... } -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

ショートオプションとロングオプションを同時に登録することもできます。

opts.on("-r", "--require LIBRARY"){|lib| ...}

これは以下と同値です。

opts.on("-r LIBRARY"){|lib| ...}
opts.on("--require LIBRARY"){|lib| ...}

複数の異なるオプションに同じブロックを一度に登録することもできます。

opt.on('-v', '-vv'){|boolean| ...}
opt.on('--require X', '--need', '--dependon'){|x| ... }
[PARAM] short:
ショートオプションを表す文字列を指定します。 そのオプションが引数をとらない場合は、
  on("-x"){|boolean| ...}
となります。コマンドラインにオプションが存在した場合 true を引数と してブロックを評価します。 ショートオプションが引数をとる場合は、
  on("-x MANDATORY"){|val| ...}
となります。"MANDATORY" の部分は任意の文字列で構いません。 オプションの引数が必須でない場合は [ ] をつけて、
  on("-x [OPTIONAL]"){|val| ...}
となります。
[PARAM] long:
ロングオプションを表す文字列を指定します。ショートオプションの時と同様に、
  on("--long"){|boolean| ...}
  on("--long MANDATORY"){|val| ...}
  on("--long [OPTIONAL]"){|val| ...}
と指定できます。
[PARAM] desc:
オプションの説明を文字列で与えます。サマリに表示されます。
on(short, pat = /.*/, desc = "") {|v| ...} -> self
on(long, pat = /.*/, desc = "") {|v| ...} -> self
on(short, long, pat = /.*/, desc = "") {|v| ...} -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

pat にはオプションの引数に許すパターンを表す正規表現で与えます。 コマンドに与えられた引数がパターンにマッチしない場合、 例外 OptionParser::InvalidArgument が parse 実行時に投げられます。

opts.on("--username VALUE", /[a-zA-Z0-9_]+/){|name| ...}
# ruby command --username=ruby_user
# ruby command --username=ruby.user #=> Error
[PARAM] short:
ショートオプションを表す文字列を指定します。
[PARAM] long:
ロングオプションを表す文字列を指定します。
[PARAM] pat:
オプションの引数に許すパターンを表す正規表現で指定します。
[PARAM] desc:
オプションの説明を文字列で与えます。サマリに表示されます。
on(short, klass = String, desc = "") {|v| ...} -> self
on(long, klass = String, desc = "") {|v| ...} -> self
on(short, long, klass = String, desc = "") {|v| ...} -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

klass にはクラスを与えます。どのようなクラスを受け付けるかは、 以下の「デフォルトで利用可能な引数クラス」を参照して下さい。 OptionParser.accept や OptionParser#accept によって、受け付け るクラスを増やすことができます。登録されていないクラスが指定された 場合、例外 ArgumentError を投げます。

オプションの引数は accept で登録したブロックで klass のインスタンス に変換されてから、ブロックに渡されます。

opts.on("-w", "--width N", Integer){|w|
  p w.class #=> Integer
}
# ruby command --width=32

opts.on("-o", "--overwrite VALUE", TrueClass){|boolean| ...}
# ruby command --overwrite yes
[PARAM] short:
ショートオプションを表す文字列を指定します。
[PARAM] long:
ロングオプションを表す文字列を指定します。
[PARAM] klass:
オプションの引数のクラスを指定します。
[PARAM] desc:
オプションの説明を文字列で与えます。サマリに表示されます。
[EXCEPTION] ArgumentError:
登録されていないクラスが klass に指定された場合に発生します。

デフォルトで利用可能な引数クラス

Object

any string, and no conversion. this is fall-back.

String

any none-empty string, and no conversion.

Integer

Ruby/C-like integer, octal for 0-7 sequence, binary for 0b, hexadecimal for 0x, and decimal for others; with optional sign prefix. Converts to Integer.

Float

Float number format, and converts to Float.

Numeric

Generic numeric format, and converts to Integer for integer format, Float for float format.

OptionParser::DecimalInteger

Decimal integer format, to be converted to Integer.

OptionParser::OctalInteger

Ruby/C like octal/hexadecimal/binary integer format, to be converted to Integer.

OptionParser::DecimalNumeric

Decimal integer/float number format, to be converted to Integer for integer format, Float for float format.

TrueClass

Boolean switch, which means whether it is present or not, whether it is absent or not with prefix no-, or it takes an argument yes/no/true/false/+/-.

FalseClass

Similar to TrueClass, but defaulted to false.

Array

List of strings separated by ","

on(short, *rest) {|v| ...} -> self
on(long, *rest) {|v| ...} -> self
on(short, long, *rest) {|v| ...} -> self

オプションを取り扱うためのブロックを自身に登録します。 ブロックはコマンドラインのパース時に、オプションが指定されていれば呼ばれます。

コマンドに与えられた引数が配列やハッシュに含まれない場合、 例外 OptionParser::InvalidArgument が parse 実行時に投げられます。

[PARAM] short:
ショートオプションを表す文字列を指定します。
[PARAM] long:
ロングオプションを表す文字列を指定します。
[PARAM] rest:
可能な引数を列挙した配列やハッシュを与えます。文字列を与えた場合は、 サマリに表示されるオプションの説明と見なします。

例:

opts.on("--protocol VALUE", [:http, :ftp, :https]){|w|
  p w
}
# ruby command --protocol=http #=> :http

opts.on("-c", "--charset VALUE", {"jis" => "iso-2022-jp", "sjis" => "shift_jis"}){|w|
  p w
}
# ruby command --charset=jis #=> "iso-2022-jp"


instance method OptionParser#on_head

on_head(*arg, &block)
on_tail(*arg, &block)

OptionParser#onと同様、オプションを取り扱うためのブロックを自身に登録します。 on メソッドと違う点は、OptionParser オブジェクトが保持している リストの最初かあるいは最後にブロックを登録する点です。

--version や --help の説明をサマリの最後に表示したい時に便利です。

[PARAM] arg:
OptionParser#on と同様です。
[PARAM] block:
OptionParser#on と同様です。

例:

opts.on_tail("-h", "--help", "Show this message") do
  puts opts
  exit
end

opts.on_tail("--version", "Show version") do
  puts OptionParser::Version.join('.')
  exit
end


instance method OptionParser#order

order(argv) -> [String]
order(argv) {|s| ...} -> [String]
order(*args) -> [String]
order(*args) {|s| ...} -> [String]

与えられた argv を順番にパースします。 オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 argv からオプションを取り除いたものを返します。

ブロックが与えられている場合は、パースを中断せずに引数をブロックに渡してブロックを評価し、 パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができま せん。-b もコマンドのオプションではない引数として扱われてしまいます。

[PARAM] argv:
パースしたい引数を文字列の配列で指定します。
[PARAM] args:
パースしたい引数を順に文字列として与えます。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

$ cat opt.rb
require 'optparse'
opt = OptionParser.new

opt.on('-a [VAL]') {|v| p :a }
opt.on('-b') {|v| p :b }

opt.order!(ARGV)
p ARGV

$ ruby opt2.rb -a foo somefile -b
:a
["somefile", "-b"]


instance method OptionParser#order!

order!(argv = self.default_argv) -> [String]
order!(argv = self.default_argv) {|s| ...} -> [String]

与えられた argv を順番に破壊的にパースします。 argv からオプションがすべて取り除かれます。 argv を返します。

オプションではないコマンドの引数(下の例で言うと somefile)に出会うと、パースを中断します。 ブロックが与えられている場合は、パースを中断せずに 引数をブロックに渡してブロックを評価し、パースを継続します。argv を返します。

下の例で言うと、コマンドの引数 somefile よりも後ろにオプションを置くことができません。 -b もコマンドのオプションではない引数として扱われてしまいます。

[PARAM] argv:
パースしたい引数を文字列の配列で指定します。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

$ cat opt.rb
require 'optparse'
opt = OptionParser.new

opt.on('-a [VAL]') {|v| p :a }
opt.on('-b') {|v| p :b }

opt.order!(ARGV)
p ARGV

$ ruby opt2.rb -a foo somefile -b
:a
["somefile", "-b"]


instance method OptionParser#parse

parse(argv) -> [String]
parse(*args) -> [String]

与えられた argv をパースします。 argv からオプションを取り除いたものを返します。

OptionParser#permute と同様に振舞います。しかし、 環境変数に POSIXLY_CORRECT が設定されている場合は、 OptionParser#order と同様に振舞います。

[PARAM] argv:
パースしたい引数を文字列の配列で指定します。
[PARAM] args:
パースしたい引数を順に文字列として与えます。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。


instance method OptionParser#parse!

parse!(argv = self.default_argv) -> [String]

与えられた argv をパースします。

OptionParser#permute! と同様に argv を破壊的にパースします。 環境変数に POSIXLY_CORRECT が設定されている場合は、 OptionParser#order! と同様に振舞います。

[PARAM] argv:
パースしたい引数を文字列の配列で指定します。
[PARAM] args:
パースしたい引数を順に文字列として与えます。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。


instance method OptionParser#permute

permute(argv) -> [String]
permute(*args) -> [String]

与えられた argv をパースします。 オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv からオプションを取り除いたものを返します。

下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが できます。

[PARAM] argv:
パースしたい引数を文字列の配列で指定します。
[PARAM] args:
パースしたい引数を順に文字列として与えます。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

$ cat opt.rb
require 'optparse'
opt = OptionParser.new

opt.on('-a [VAL]') {|v| p :a }
opt.on('-b ') {|v| p :b }

opt.permute!(ARGV)
p ARGV

$ ruby opt2.rb -a foo somefile -b
:a
:b
["somefile"]


instance method OptionParser#permute!

permute!(argv = self.default_argv) -> [String]

与えられた argv を破壊的にパースします。argv からオプションがすべて取り除かれます オプションではないコマンドの引数(下の例で言うと somefile)があってもパースを中断しません。 argv を返します。

下の例で言うと、order と違いコマンドの引数 somefile よりも後ろにオプションを置くことが できます。

[PARAM] argv:
パースしたい引数を文字列の配列で指定します。
[EXCEPTION] OptionParser::ParseError:
パースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

$ cat opt.rb
require 'optparse'
opt = OptionParser.new

opt.on('-a [VAL]') {|v| p :a }
opt.on('-b ') {|v| p :b }

opt.permute!(ARGV)
p ARGV

$ ruby opt2.rb -a foo somefile -b
:a
:b
["somefile"]


instance method OptionParser#program_name

program_name -> String
program_name=(name)

プログラムの名前を表すアクセサです。デフォルトは $0 が使われます。

[PARAM] name:
プログラムの名前を文字列で指定します。


instance method OptionParser#reject

reject(klass) -> ()

OptionParser#accept で登録したクラスとブロックを 自身から削除します。

[PARAM] klass:
自身から削除したいクラスを指定します。


instance method OptionParser#release

release -> String
release=(rel)

Release code.

[PARAM] rel:
プログラムのリリースを文字列で指定します。


instance method OptionParser#separator

separator(sep) -> ()

サマリにオプションを区切るための文字列 sep を挿入します。 オプションにいくつかの種類がある場合に、サマリがわかりやすくなります。

サマリには on メソッドを呼んだ順にオプションが表示されるので、区切りを挿入したい ところでこのメソッドを呼びます。

[PARAM] sep:
サマリの区切りを文字列で指定します。

例:

require 'optparse'
opts = OptionParser.new
opts.banner = "Usage: example.rb [options]"

opts.separator ""
opts.separator "Specific options:"

opts.on("-r", "--require LIBRARY") do |lib|
        options.library << lib
end

opts.separator ""
opts.separator "Common options:"

opts.on_tail("-h", "--help", "Show this message") do
  puts opts
  exit
end


instance method OptionParser#summarize

summarize(to = [], width = self.summary_width, max = width - 1, indent= self.summary_indent) -> ()
summarize(to = [], width = self.summary_width, max = width - 1, indent= self.summary_indent) {|line| ... } -> ()

サマリを指定された to へと加えていきます。

ブロックが与えられた場合、サマリの各行を引数としてブロックを評価します。 この場合、ブロックの中で明示的に to へと加えていかない限り、 to にサマリが加えられることはありません。

[PARAM] to:
サマリを出力するオブジェクトを指定します。to には << メソッドが定義されいる必要があります。
[PARAM] width:
サマリの幅を整数で指定します。
[PARAM] max:
サマリの最大幅を整数で指定します。
[PARAM] indent:
サマリのインデントを文字列で指定します。


instance method OptionParser#summary_indent

summary_indent -> String
summary_indent=(indent)

サマリを表示する時のインデントを表すアクセサです。

[PARAM] indent:
サマリを表示する時に使われるインデントを文字列で指定します。


instance method OptionParser#summary_width

summary_width -> Integer
summary_width=(width)

サマリを表示するときの幅を表すアクセサです。

[PARAM] width:
サマリを表示するときの幅を整数で設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library optparse > class OptionParser > to_a

instance method OptionParser#to_a

to_a -> [String]

サマリの各行を要素とした配列を返します。


instance method OptionParser#ver

ver -> String

program_name、version と release から生成したバージョンを表す文字列を返します。


instance method OptionParser#version

version -> String
version=(ver)

プログラムのバージョンを表すアクセサです。

[PARAM] ver:
プログラムのバージョンを文字列で指定します。


singleton method OptionParser.accept

accept(klass, pat = /.*/) {|str| ...} -> ()

オプションの引数を文字列から Ruby のオブジェクトに変換するための ブロックを登録します。すべての OptionParser インスタンスに共通です。

ブロックには、文字列として与えられるオプションの引数から klass のインスタンスを生成して返すものを指定します。

OptionParser#on で klass を指定した場合、 コマンドラインのオプションに与えられた引数は、この accept で登録したブロックで klass のインスタンスに変換されてから、OptionParser#on メソッドで登録したブロックに渡されます。

require "optparse"
require "time"

OptionParser.accept(Time) do |s,|
  begin
    Time.parse(s) if s
  rescue
    raise OptionParser::InvalidArgument, s
  end
end

opts = OptionParser.new

opts.on("-t", "--time [TIME]", Time) do |time|
  p time.class #=> Time
end

opts.parse!(ARGV)

いくつかのクラスに対しては変換用のブロックがデフォルトで登録されて います。OptionParser#on を参照して下さい。

[PARAM] klass:
クラスオブジェクトを与えます。
[PARAM] pat:
match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与えます。


singleton method OptionParser.getopts

getopts(argv, *opts)
getopts(*opts)

self.new.getopts(*args) と同じです。 OptionParser#getopts を参照して下さい。


singleton method OptionParser.new

new(banner = nil, width = 32, indent = ' ' * 4) -> OptionParser
new(banner = nil, width = 32, indent = ' ' * 4) {|opt| ...} -> OptionParser

OptionParser オブジェクトを生成して返します。

ブロックが与えられた場合、生成した OptionParser オブジェクトを引数としてブロックを評 価します。つまり、以下のような書き方が可能です。

require 'optparse'
OptionParser.new do |opt|

  opt.on('-a') {|v| p v }
  opt.on('-b') {|v| p v }

  opt.parse!(ARGV)
end
[PARAM] banner:
ヘルプ(サマリ)の最初の部分に表示される、アプリケーションの説明などを文字列で与えます。
[PARAM] width:
サマリの幅を整数で与えます。
[PARAM] indent:
サマリのインデントを文字列で与えます。


singleton method OptionParser.reject

reject(klass) -> ()

OptionParser.accept メソッドで登録したブロックを削除します。

[PARAM] klass:
削除したいクラスオブジェクトを指定します。


instance method OptionParser::Arguable#getopts

getopts(short_opt, *long_opt) -> Hash

指定された short_opt や long_opt に応じて自身をパースし、結果を Hash として返します。

コマンドラインに - もしくは -- を指定した場合、それ以降の解析を行ないません。

[PARAM] short_opt:
ショートネームのオプション(-f や -fx)を文字列で指定します。オプションが -f と -x の 2つの場合は "fx" の様に指定します。ここでオプションがないときは空文字列を指定します。 オプションが引数をとる場合は直後に ":" を付けます。
[PARAM] long_opt:
ロングネームのオプション(--version や --bufsize=512)を文字列で指定をします。 オプションが引数をとる場合は後ろに ":" を付けます。 オプションの引数のデフォルト値を ":" の直後に指定することができます。 例えば、"bufsize:1024" となります。
[EXCEPTION] OptionParser::ParseError:
自身のパースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

# t.rb の内容
require 'optparse'
params = ARGV.getopts("ab:", "foo", "bar:", "bufsize:1024")
p params

# 実行結果
$ ruby t.rb -b 1 --foo  --bar xxx -- -a
{"bufsize"=>"1024", "a"=>false, "b"=>"1", "foo"=>true, "bar"=>"xxx"}  # "a"=>false であることに注意。


instance method OptionParser::Arguable#options

options -> OptionParser
options {|opt| ... } -> object | nil

自身をパースするための OptionParser オブジェクトを返します。 初回呼び出し時に自動的に生成されます。 この OptionParser#default_argv には self がセットされています。

ブロックを与えた場合は、OptionParser を引数としてブロックを実行します。 ブロックの実行結果を返します。 ブロックの実行途中で OptionParser::ParseError が発生した場合は、全て rescue し、エラーメッセージを出力し、 nil を返します。

例:

require 'optparse'

o = nil
ARGV.options{|opt|
  opt.on('-a'){ o = true }
  opt.parse!
}
p o                         #=> true


instance method OptionParser::Arguable#options=

options=(opt)

自身をパースするための OptionParser オブジェクトをセットします。

opt が nil か false である場合、自身の options= メソッドと options メソッドを undef します。

[PARAM] opt:
自身をパースする OptionParser 、あるいは nil か false を指定します。


instance method OptionParser::Arguable#order!

order! -> [String]
order! {|s| ... } -> [String]

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#order! を参照して下さい。

[EXCEPTION] OptionParser::ParseError:
自身のパースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

require 'optparse'

o = nil
ARGV.options.on('-a'){ o = true }
ARGV.order!
p o                                #=> true


instance method OptionParser::Arguable#parse!

parse! -> [String]

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#parse! を参照して下さい。

[EXCEPTION] OptionParser::ParseError:
自身のパースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

require 'optparse'

o = nil
ARGV.options.on('-a'){ o = true }
ARGV.parse!
p o                                #=> true


instance method OptionParser::Arguable#permute!

permute! -> [String]

自身を破壊的にパースし、パースされずに残った引数を文字列の配列として返します。 OptionParser#permute! を参照して下さい。

[EXCEPTION] OptionParser::ParseError:
自身のパースに失敗した場合、例外 OptionParser::ParseError の サブクラスが投げられます。

例:

require 'optparse'

o = nil
ARGV.options.on('-a'){ o = true }
ARGV.permute!
p o                                #=> true


instance method PP#comma_breakable

comma_breakable -> ()

以下と等価な働きをするもので簡便のために用意されています。

text ','
breakable

[SEE_ALSO] PrettyPrint#text, PrettyPrint#breakable


instance method PP#object_group

object_group(obj) { ... } -> ()

以下と等価な働きをするもので簡便のために用意されています。

group(1, '#<' + obj.class.name, '>') { ... }
[PARAM] obj:
表示したいオブジェクトを指定します。

[SEE_ALSO] PrettyPrint#group


instance method PP#pp

pp(obj) -> ()

指定されたオブジェクト obj を Object#pretty_print を使って自身のバッファに追加します。

obj がすでに、現在のノードの親において出力されていた場合には、 参照のループが存在しているので、Object#pretty_print の代わりに Object#pretty_print_cycle が使われます。

[PARAM] obj:
表示したいオブジェクトを指定します。


instance method PP#seplist

seplist(list, sep = lambda { comma_breakable }, iter_method = :each) {|e| ...} -> ()

リストの各要素を何かで区切りつつ、自身に追加していくために使われます。

list を iter_method によってイテレートし、各要素を引数としてブロックを実行します。 また、それぞれのブロックの実行の合間に sep が呼ばれます。

つまり、以下のふたつは同値です。

q.seplist([1,2,3]) {|v| q.pp v }

q.pp 1
q.comma_breakable
q.pp 2
q.comma_breakable
q.pp 3
[PARAM] list:
自身に追加したい配列を与えます。iter_method を適切に指定すれば、 Enumerable でなくても構いません。
[PARAM] sep:
区切りを自身に追加するブロックを与えます。list がイテレートされないなら、 sep は決して呼ばれません。
[PARAM] iter_method:
list をイテレートするメソッドをシンボルで与えます。

[SEE_ALSO] PP#comma_breakable


singleton method PP.pp

pp(obj, out = $>, width = 79) -> object

指定されたオブジェクト obj を出力先 out に幅 width で出力します。 出力先 out を返します。

[PARAM] obj:
表示したいオブジェクトを指定します。
[PARAM] out:
出力先を指定します。<< メソッドが定義されている必要があります。
[PARAM] width:
出力先の幅を指定します。
str = PP.pp([[:a, :b], [:a, [[:a, [:a, [:a, :b]]], [:a, :b],]]], '', 20)
puts str
#=>
[[:a, :b],
 [:a,
  [[:a,
    [:a, [:a, :b]]],
   [:a, :b]]]]

[SEE_ALSO] $>


singleton method PP.sharing_detection

sharing_detection -> bool
sharing_detection=(boolean)

共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。

[PARAM] boolean:
共有検出フラグを true か false で指定します。

例:

require 'pp'
b = [1, 2, 3]
a = [b, b]

pp a                        #=> [[1, 2, 3], [1, 2, 3]]

PP.sharing_detection = true
pp a                        #=> [[1, 2, 3], [...]]


singleton method PP.singleline_pp

singleline_pp(obj, out=$>) -> object

指定されたオブジェクト obj を出力先 out に出力します。 ただし、インデントも改行もしません。 出力先 out を返します。

[PARAM] obj:
表示したいオブジェクトを指定します。
[PARAM] out:
出力先を指定します。<< メソッドが定義されている必要があります。


instance method PStore#[]

self[name] -> object

ルートnameに対応する値を得る。

[PARAM] name:
探索するルート。
[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

[SEE_ALSO] Hash#[]


instance method PStore#[]=

self[name] = value

ルート name に対応する値 value をセットする。

[PARAM] name:
ルート。
[PARAM] value:
格納する値。
[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

[SEE_ALSO] Hash#[]=


instance method PStore#abort

abort -> ()

データベースの読み書きを終了する。

transaction ブロックから抜けますが、データベースの変更は反映されません。

[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
  p db.roots       # => []
  ary = db["root"] = [1,2,3,4]
  db.abort
  ary[0] = [1,1.5] # => ここは実行されない。
end

db.transaction do |pstore|
  pstore["root"]       # => nil
end


instance method PStore#commit

commit -> ()

データベースの読み書きを終了します。

transaction ブロックから抜け、データベースの変更が反映されます。

[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
  p db.roots       # => []
  ary = db["root"] = [1,2,3,4]
  db.commit
  ary[0] = [1,1.5] # => ここは実行されない。
end

db.transaction do |pstore|
  pstore["root"]       # => [[1, 2, 3, 4]
end


instance method PStore#delete

delete(name) -> object

ルートnameに対応する値を削除します。

[PARAM] name:
探索するルート。
[RETURN]
削除した値を返します。
[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
  p db.roots       # => []
  ary = db["root"] = [1,2,3,4]
  ary[0] = [1,1.5]
end

db.transaction do |pstore|
  pstore.delete("root")       # => [[1, 1.5], 2, 3, 4]
  pstore.delete("root")       # => nil
end

[SEE_ALSO] Hash#delete


instance method PStore#fetch

fetch(name, default = PStore::Error) -> object

ルートnameに対応する値を得る。

該当するルートが登録されていない時には、 引数 default が与えられていればその値を返し、 与えられていなければ例外 PStore::Error が発生します。

[PARAM] name:
探索するルート。
[PARAM] default:
name に対応するルートが登録されていない場合に返す値を指定する。
[EXCEPTION] PStore::Error:
name に対応するルートが登録されていないかつ、 default が与えられていない場合に発生します。 また、トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
  p db.roots       # => []
  ary = db["root"] = [1,2,3,4]
  ary[0] = [1,1.5]
end

db.transaction(true) do |pstore|
  pstore.fetch("root")        # => [[1, 1.5], 2, 3, 4]
  pstore.fetch("root", 'aaa') # => [[1, 1.5], 2, 3, 4]
  pstore.fetch("not_root")    # => 例外発生
end

[SEE_ALSO] Hash#fetch, PStore#[]


Ruby 1.8.7 Reference Manual > All Libraries > library pstore > class PStore > in_transaction (private)

instance method PStore#in_transaction

in_transaction -> ()

トランザクションの中でなければ例外を発生させます。


Ruby 1.8.7 Reference Manual > All Libraries > library pstore > class PStore > path

instance method PStore#path

path -> String

データベースのファイル名を得ます。


instance method PStore#root?

root?(name) -> bool

ルート name がデータベースに格納されている場合に真を返します。

[PARAM] name:
探索するルート。
[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

[SEE_ALSO] Hash#key?


instance method PStore#roots

roots -> Array

ルートの集合を配列で返します。

[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。

[SEE_ALSO] Hash#keys


instance method PStore#transaction

transaction(read_only = false) {|pstore| ... } -> ()

トランザクションに入ります。 このブロックの中でのみデータベースの読み書きができます。

読み込み専用のトランザクションが使用可能です。

[PARAM] read_only:
真を指定すると、読み込み専用のトランザクションになります。
[EXCEPTION] PStore::Error:
read_only を真にしたときに、データベースを変更しようした場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
  p db.roots       # => []
  ary = db["root"] = [1,2,3,4]
  ary[0] = [1,1.5]
end

db.transaction(true) do |pstore|
  pstore["root"] = 'aaa' # => ここで例外発生
end


singleton method PStore.new

new(file) -> PStore

ファイル名 file に対してデータベースを読み書きする。

file のあるディレクトリは書き込み可能である必要がある。 データベースを更新するときにバックアップファイルが作成されるため。

[PARAM] file:
データベースファイル名。

データベースの更新が成功すると、バックアップファイルは削除される。バックアップファイル名は ファイル名に ".tmp" および ".new" を付けたもの。


module function PTY.#getpty

getpty(command) -> [IO, IO, Integer]
getpty(command) {|read, write, pid| ... } -> nil
spawn(command) -> [IO, IO, Integer]
spawn(command) {|read, write, pid| ... } -> nil

擬似 tty を確保し、指定されたコマンドをその擬似 tty の向こうで実行し、配列を返します。

このメソッドによって作られたサブプロセスが動いている間、子プロセス の状態を監視するために SIGCHLD シグナルを捕捉します。子プロセス が終了したり停止した場合には、例外 PTY::ChildExited が発生します。 この間、すべての SIGCHLD が PTY モジュールのシグナルハンドラに捕捉されるので、 サブプロセスを生成する他のメソッド(Kernel.#system や IO.popenなど)を 使うと、予期しない例外が発生することがあります。これを防ぐため には、下記の PTY.#protect_signal を参照してください。

このメソッドがブロック付きで呼ばれた場合には、そのブロック の中でのみ SIGCHLD が捕捉されます。したがって、ブロックパラメータ として渡されたIOオブジェクトを、ブロックの外に持ち出して使うの は勧められません。

[PARAM] command:
擬似 tty 上で実行するコマンド
[RETURN]
返値は3つの要素からなる配列です。最初の要素は擬似 tty から 読み出すための IO オブジェクト、2番目の要素は書きこむための IO オブジェクト、 3番目の要素は子プロセスのプロセス ID です。 このメソッドがブロック付き呼ばれた場合、これらの要素はブロックパラメータとして渡され、 メソッド自体は nil を返します。
[EXCEPTION] PTY::ChildExited:
子プロセスが終了したり停止したりした場合に発生します。

[SEE_ALSO] Kernel.#system, IO.popen, PTY.#protect_signal, signal(2)


module function PTY.#protect_signal

protect_signal { ... } -> self

このメソッドは何もしません。 このメソッドは obsolete です。


module function PTY.#reset_signal

reset_signal -> self

このメソッドは何もしません。 このメソッドは obsolete です。


instance method PTY::ChildExited#status

status -> Process::Status

子プロセスの終了ステータスをProcess::Statusオブジェクトで返します。


module function ParseDate.#parsedate

parsedate(str, complete = false) -> Array | nil

str で与えられた日付表現を解析し、見いだした要素を 配列 (年、月、日、時、分、秒、タイムゾーン、曜日) で返します。

complete が真で、年が "00" から "99" の範囲であれば、 年の下2桁の表現であるとみなし上2桁を補います。 69 以上なら 1900 年代とみなします。 69 未満なら 2000 年代とみなします。

parsedate はいろいろな書式をあつかえます。 たとえば、つぎのような表現を受けつけます。

Sat
Saturday
1999-08-28
21:45:09
09:45:09 PM
1999-08-28T21:45:09+0900
19990828 214509
H11.08.28T21:45:09Z
Sat Aug 28 21:45:09 1999
Sat Aug 28 21:45:09 JST 1999
Sat, 28 Aug 1999 21:45:09 -0400
Saturday, 28-Aug-99 21:45:09 GMT
08/28/1999
1999/08/28

このライブラリは、1.9.0 以降利用することが出来ません。

日付解析し直ちに Date、 あるいは DateTime オブジェクトを生成するには、 date で提供される Date.parse、 DateTime.parse や Date.strptime、 DateTime.strptime などをつかうことができます。

日付解析し直ちに Time オブジェクトを生成するには、 time で提供される Time.parse をつかうことができます。

[PARAM] str:
日付をあらわす文字列
[PARAM] complete:
年を補完するか
require 'parsedate'

ParseDate.parsedate('Sat Aug 28 21:45:09 1999')
    # => [1999, 8, 28, 21, 45, 9, nil, 6]

ParseDate.parsedate('Saturday, 28-Aug-99 21:45:09 GMT')
    # => [99, 8, 28, 21, 45, 9, "GMT", 6]

ParseDate.parsedate('99-08-28', true)
    # => [1999, 8, 28, nil, nil, nil, nil, nil]

ParseDate.parsedate('01-08-28', true)
    # => [2001, 8, 28, nil, nil, nil, nil, nil]


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > SEPARATOR_PAT

constant Pathname::SEPARATOR_PAT

SEPARATOR_PAT

パス名のなかのディレクトリを区切る部分にマッチする正規表現です。


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > TO_PATH

constant Pathname::TO_PATH

TO_PATH

内部的に使っている定数です。利用者が使うことはありません。


instance method Pathname#+

self + other -> Pathname

パス名を連結します。つまり、other を self からの相対パスとした新しい Pathname オブジェクトを生成して返します。

other が絶対パスなら単に other と同じ内容の Pathname オブジェクトが返さ れます。

[PARAM] other:
文字列か Pathname オブジェクトを指定します。


instance method Pathname#<=>

self <=> other -> bool

パス名を比較します。other と同じなら 0 を、ASCII順で self が大きい場合 は正、other が大きい場合は負を返します。大文字小文字は区別されます。 other は Pathname オブジェクトでなければなりません。

パス名の比較は単純にパス文字列の比較によって行われるので、論理的に 同じパスでもパス文字列が違えば異なると判断されます。

require 'pathname'

p Pathname.new("foo/bar") <=> Pathname.new("foo/bar")
p Pathname.new("foo/bar") <=> Pathname.new("foo//bar")
p Pathname.new("foo/../foo/bar") <=> Pathname.new("foo/bar")
=> 0
   1
   -1


instance method Pathname#==

self == other -> bool
self === other -> bool
eql?(other) -> bool

パス名を比較し、 other と同じなら真を返します。大文字小文字は区別されます。 other は Pathname オブジェクトでなければなりません。

パス名の比較は単純にパス文字列の比較によって行われるので、論理的に 同じパスでもパス文字列が違えば異なると判断されます。

require 'pathname'

p Pathname.new("foo/bar") == Pathname.new("foo/bar")
p Pathname.new("foo/bar") == Pathname.new("foo//bar")
p Pathname.new("foo/../foo/bar") == Pathname.new("foo/bar")

# => true
     false
     false


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > absolute?

instance method Pathname#absolute?

absolute? -> bool

self が絶対パス指定であれば真を返します。


instance method Pathname#ascend

ascend { |pathname| ... }

self のパス名から親方向に辿っていったときの各パス名を新しい Pathname オ ブジェクトとして生成し、ブロックへの引数として渡して実行します。

Pathname.new('/path/to/some/file.rb').ascend {|v| p v}
   #<Pathname:/path/to/some/file.rb>
   #<Pathname:/path/to/some>
   #<Pathname:/path/to>
   #<Pathname:/path>
   #<Pathname:/>

Pathname.new('path/to/some/file.rb').ascend {|v| p v}
   #<Pathname:path/to/some/file.rb>
   #<Pathname:path/to/some>
   #<Pathname:path/to>
   #<Pathname:path>

ファイルシステムにはアクセスしません。


instance method Pathname#atime

atime

File.atime(self.to_s) を渡したものと同じです。

[SEE_ALSO] File.atime


instance method Pathname#basename

basename(*args)

Pathname.new(File.basename(self.to_s, *args)) と同じです。

[SEE_ALSO] File.basename


instance method Pathname#blockdev?

blockdev?

FileTest.blockdev?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#blockdev?


instance method Pathname#chardev?

chardev?

FileTest.chardev?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#chardev?


instance method Pathname#chdir

chdir(&block)

Dir.chdir(self.to_s, &block) と同じです。

[SEE_ALSO] Dir.chdir

このメソッドは obsolete です。 代わりに Dir.chdir を使ってください。


instance method Pathname#children

children -> [Pathname]

self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。

require 'pathname'

p Pathname.new("/tmp").children
=> ruby 1.8.0 (2003-10-10) [i586-linux]
   [#<Pathname:.X11-unix>, #<Pathname:.iroha_unix>, ... ]

ただし、 ".", ".." は要素に含まれません。

self が存在しないパスであったりディレクトリでなければ例外 Errno::EXXX が発生します。


instance method Pathname#chmod

chmod(mode)

File.chmod(mode, self.to_s) と同じです。

[SEE_ALSO] File.chmod


instance method Pathname#chown

chown(owner, group)

File.chown(owner, group, self.to_s) と同じです。

[SEE_ALSO] File.chown


instance method Pathname#chroot

chroot

Dir.chroot(self.to_s) と同じです。

[SEE_ALSO] Dir.chroot

このメソッドは obsolete です。 代わりに Dir.chroot を使ってください。


instance method Pathname#cleanpath

cleanpath(consider_symlink = false) -> Pathname

余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。

require "pathname"
path = Pathname.new("//.././../")
p path                  # => #<Pathname://.././../>
p path.cleanpath        # => #<Pathname:/>

consider_symlink が真ならパス要素にシンボリックリンクがあった場合 にも問題ないように .. を残します。

cleanpath は、実際にファイルシステムを参照することなく、文字列操作 だけで処理を行います。

require 'pathname'

Dir.rmdir("/tmp/foo")      rescue nil
File.unlink("/tmp/bar/foo") rescue nil
Dir.rmdir("/tmp/bar")      rescue nil

Dir.mkdir("/tmp/foo")
Dir.mkdir("/tmp/bar")
File.symlink("../foo", "/tmp/bar/foo")
path = Pathname.new("bar/././//foo/../bar")

Dir.chdir("/tmp")

p path.cleanpath
p path.cleanpath(true)

=> ruby 1.8.0 (2003-10-10) [i586-linux]
   #<Pathname:bar/bar>
   #<Pathname:bar/foo/../bar>


instance method Pathname#ctime

ctime

File.ctime(self.to_s) を渡したものと同じです。

[SEE_ALSO] File.ctime


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > delete

instance method Pathname#delete

unlink
delete

self が指すディレクトリあるいはファイルを削除します。


instance method Pathname#descend

descend { |pathname| ... }

self のパス名の親から子供へと辿っていったときの各パス名を新しい Pathname オブジェクトとして生成し、ブロックへの引数として渡して実行しま す。

Pathname.new('/path/to/some/file.rb').descend {|v| p v}
   #<Pathname:/>
   #<Pathname:/path>
   #<Pathname:/path/to>
   #<Pathname:/path/to/some>
   #<Pathname:/path/to/some/file.rb>

Pathname.new('path/to/some/file.rb').descend {|v| p v}
   #<Pathname:path>
   #<Pathname:path/to>
   #<Pathname:path/to/some>
   #<Pathname:path/to/some/file.rb>

ファイルシステムにはアクセスしません。


instance method Pathname#dir_foreach

dir_foreach {|pathname| ... }

Dir.foreach(self.to_s) {|f| yield Pathname.new(f) } と同じです。

[SEE_ALSO] Dir.foreach

このメソッドは obsolete です。 代わりに Pathname#each_entry メソッドを使ってください。


instance method Pathname#directory?

directory?

FileTest.directory?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#directory?


instance method Pathname#dirname

dirname

Pathname.new(File.dirname(self.to_s)) と同じです。

[SEE_ALSO] File.dirname


instance method Pathname#each_entry

each_entry {|pathname| ... }

Dir.foreach(self.to_s) {|f| yield Pathname.new(f) } と同じです。

[SEE_ALSO] Dir.foreach


instance method Pathname#each_filename

each_filename {|v| ... } -> nil

self のパス名要素毎にブロックを実行します。

require 'pathname'

Pathname.new("/foo/../bar").each_filename {|v| p v}

# => "foo"
     ".."
     "bar"


instance method Pathname#each_line

each_line(*args, &block)

IO.foreach(self.to_s, *args, &block) と同じです。

[SEE_ALSO] IO.foreach


instance method Pathname#entries

entries

Dir.entries(self.to_s) と同じです。

[SEE_ALSO] Dir.entries


instance method Pathname#executable?

executable?

FileTest.executable?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#executable?


instance method Pathname#executable_real?

executable_real?

FileTest.executable_real?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#executable_real?


instance method Pathname#exist?

exist?

FileTest.exist?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#exist?


instance method Pathname#expand_path

expand_path(*args)

Pathname.new(File.expand_path(self.to_s, *args)) と同じです。

[SEE_ALSO] File.expand_path


instance method Pathname#extname

extname

File.extname(self.to_s) と同じです。

[SEE_ALSO] File.extname


instance method Pathname#file?

file?

FileTest.file?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#file?


instance method Pathname#find

find {|pathname| ...}

self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。

require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}

と同じです。

[SEE_ALSO] Find.#find


instance method Pathname#fnmatch

fnmatch(pattern, *args)

File.fnmatch(pattern, self.to_s, *args) と同じです。

[SEE_ALSO] File.fnmatch


instance method Pathname#fnmatch?

fnmatch?(pattern, *args)

File.fnmatch?(pattern, self.to_s, *args) と同じです。

[SEE_ALSO] File.fnmatch?


instance method Pathname#foreach

foreach(*args, &block)

self の指し示すパスがディレクトリなら Dir.foreach(self.to_s, *args, &block) と、さもなければ IO.foreach(self.to_s, *args, &block) と同じです。

このメソッドは obsolete です。 each_line か each_entry を使ってください。


instance method Pathname#foreachline

foreachline(*args, &block)

IO.foreach(self.to_s, *args, &block) と同じです。

このメソッドは obsolete です。 代わりに Pathname#each_line を使ってください。

[SEE_ALSO] IO.foreach


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > ftype

instance method Pathname#ftype

ftype

File.ftype(self.to_s) と同じです。

[SEE_ALSO] File.ftype


instance method Pathname#grpowned?

grpowned?

FileTest.grpowned?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#grpowned?


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > hash

instance method Pathname#hash

hash -> Fixnum

ハッシュ値を返します。


instance method Pathname#join

join(*args)

Pathname.new(File.join(self.to_s, *args)) と同じです。

[SEE_ALSO] File.join


instance method Pathname#lchmod

lchmod(mode)

File.lchmod(mode, self.to_s) と同じです。

[SEE_ALSO] File.lchmod


instance method Pathname#lchown

lchown(owner, group)

File.lchown(owner, group, self.to_s) と同じです。

[SEE_ALSO] File.lchown


instance method Pathname#link

link(old)

File.link(old, self.to_s) と同じです。

[SEE_ALSO] File.link

レシーバと引数がシステムコールの引数と逆順に対応していて紛らわしいため、 このメソッドは obsolete です。 代わりに Pathname#make_link を使ってください。


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > lstat

instance method Pathname#lstat

lstat

File.lstat(self.to_s) と同じです。

[SEE_ALSO] File.lstat


instance method Pathname#make_link

make_link(old)

File.link(old, self.to_s) と同じです。

[SEE_ALSO] File.link


instance method Pathname#make_symlink

make_symlink(old)

File.symlink(old, self.to_s) と同じです。

[SEE_ALSO] File.symlink


instance method Pathname#mkdir

mkdir(*args)

Dir.mkdir(self.to_s, *args) と同じです。

[SEE_ALSO] Dir.mkdir


instance method Pathname#mkpath

mkpath

FileUtils.mkpath(self.to_s) と同じです。

[SEE_ALSO] FileUtils.#mkpath


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > mountpoint?

instance method Pathname#mountpoint?

mountpoint? -> bool

self がマウントポイントであれば真を返します。


instance method Pathname#mtime

mtime

File.mtime(self.to_s) を渡したものと同じです。

[SEE_ALSO] File.mtime


instance method Pathname#open

open(*args, &block)

File.open(self.to_s, *args, &block) と同じです。

[SEE_ALSO] File.open


instance method Pathname#opendir

opendir(&block)

Dir.open(self.to_s, &block) と同じです。

[SEE_ALSO] Dir.open


instance method Pathname#owned?

owned?

FileTest.owned?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#owned?


instance method Pathname#parent

parent -> Pathname

self の親ディレクトリを指す新しい Pathname オブジェクトを返します。


instance method Pathname#pipe?

pipe?

FileTest.pipe?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#pipe?


instance method Pathname#read

read(*args)

IO.read(self.to_s, *args)と同じです。

[SEE_ALSO] IO.read


instance method Pathname#readable?

readable?

FileTest.readable?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#readable?


instance method Pathname#readable_real?

readable_real?

FileTest.readable_real?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#readable_real?


instance method Pathname#readlines

readlines(*args)

IO.readlines(self.to_s, *args)と同じです。

[SEE_ALSO] IO.readlines


instance method Pathname#readlink

readlink

Pathname.new(File.readlink(self.to_s)) と同じです。

[SEE_ALSO] File.readlink


instance method Pathname#realpath

realpath -> Pathname
realpath(force_absolute = true) -> Pathname

余計な "."、".." や "/" を取り除いた新しい Pathname オブジェクトを返します。

また、ファイルシステムをアクセスし、実際に存在するパスを返します。 シンボリックリンクも解決されます。

self が指すパスが存在しない場合は例外 Errno::ENOENT が発生します。

[PARAM] force_absolute:
真の場合、絶対パスを返します。 self が相対パスであれば、カレントディレクトリからの相対パスとして解釈されます。 古い挙動は obsolete です。引数は省略すべきです。
require 'pathname'

Dir.rmdir("/tmp/foo")      rescue nil
File.unlink("/tmp/bar/foo") rescue nil
Dir.rmdir("/tmp/bar")      rescue nil

Dir.mkdir("/tmp/foo")
Dir.mkdir("/tmp/bar")
File.symlink("../foo", "/tmp/bar/foo")
path = Pathname.new("bar/././//foo/../bar")

Dir.chdir("/tmp")

p path.realpath
p path.realpath(false)

=> ruby 1.8.0 (2003-10-10) [i586-linux]
   #<Pathname:/tmp/bar>
   #<Pathname:bar>


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > relative?

instance method Pathname#relative?

relative? -> bool

self が相対パス指定であれば真を返す。


instance method Pathname#relative_path_from

relative_path_from(base_directory) -> Pathname

base_directory から self への相対パスを求め、その内容の新しい Pathname オブジェクトを生成して返します。

パス名の解決は文字列操作によって行われ、ファイルシステムをアクセス しません。

require 'pathname'

path = Pathname.new("/tmp/foo")
base = Pathname.new("/tmp")

p path.relative_path_from(base)

# => ruby 1.8.0 (2003-10-10) [i586-linux]
     #<Pathname:foo>

self が相対パスなら base_directory も相対パス、self が絶対パスなら base_directory も絶対パスでなければなりません。

base_directory は Pathname オブジェクトでなければなりません。


instance method Pathname#rename

rename(to)

File.rename(self.to_s, to) と同じです。

[SEE_ALSO] File.rename


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > rmdir

instance method Pathname#rmdir

rmdir

Dir.rmdir(self.to_s) と同じです。

[SEE_ALSO] Dir.rmdir


instance method Pathname#rmtree

rmtree

FileUtils.rm_r(self.to_s) と同じです。

[SEE_ALSO] FileUtils.#rm_r


instance method Pathname#root?

root? -> bool

self がルートディレクトリであれば真を返します。判断は文字列操作によっ て行われ、ファイルシステムはアクセスされません。


instance method Pathname#setgid?

setgid?

FileTest.setgid?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#setgid?


instance method Pathname#setuid?

setuid?

FileTest.setuid?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#setuid?


instance method Pathname#size

size

FileTest.size(self.to_s) と同じです。

[SEE_ALSO] FileTest.#size


instance method Pathname#size?

size?

FileTest.size?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#size?


instance method Pathname#socket?

socket?

FileTest.socket?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#socket?


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > split

instance method Pathname#split

split

File.split(self.to_s) と同じです。

[SEE_ALSO] File.split


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > stat

instance method Pathname#stat

stat

File.stat(self.to_s) と同じです。

[SEE_ALSO] File.stat


instance method Pathname#sticky?

sticky?

FileTest.sticky?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#sticky?


instance method Pathname#sub

sub(pattern, replace) -> Pathname
sub(pattern) {|matched| ... } -> Pathname

self を表現するパス文字列に対して sub メソッドを呼び出し、その結果を内 容とする新しい Pathname オブジェクトを生成し、返します。 cf. String#sub


instance method Pathname#symlink

symlink(old)

File.symlink(old, self.to_s) と同じです。

[SEE_ALSO] File.symlink

レシーバと引数がシステムコールの引数と逆順に対応していて紛らわしいため、 このメソッドは obsolete です。 代わりに Pathname#make_symlink を使ってください。


instance method Pathname#symlink?

symlink?

FileTest.symlink?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#symlink?


instance method Pathname#sysopen

sysopen(*args)

IO.sysopen(self.to_s, *args)と同じです。

[SEE_ALSO] IO.sysopen


instance method Pathname#to_s

to_s -> String
to_str -> String

パス名を文字列で返します。

to_str は、File.open などの引数にそのまま Pathname オブジェクトを 渡せるようにするために用意されています。

require 'pathname'

path = Pathname.new("/tmp/hogehoge")
File.open(path)


instance method Pathname#truncate

truncate(length)

File.truncate(self.to_s, length) と同じです。

[SEE_ALSO] File.truncate


instance method Pathname#utime

utime(atime, mtime)

File.utime(atime, mtime, self.to_s) と同じです。

[SEE_ALSO] File.utime


instance method Pathname#world_readable?

world_readable?

FileTest.world_readable?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#world_readable?


instance method Pathname#world_writable?

world_writable?

FileTest.world_writable?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#world_writable?


instance method Pathname#writable?

writable?

FileTest.writable?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#writable?


instance method Pathname#writable_real?

writable_real?

FileTest.writable_real?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#writable_real?


instance method Pathname#zero?

zero?

FileTest.zero?(self.to_s) と同じです。

[SEE_ALSO] FileTest.#zero?


singleton method Pathname.getwd

getwd -> Pathname
pwd -> Pathname

カレントディレクトリを元に Pathname オブジェクトを生成します。 Pathname.new(Dir.getwd) と同じです。


singleton method Pathname.glob

glob(pattern, flags=0) -> [Pathname]
glob(pattern, flags=0) {|pathname| ...} -> nil

ワイルドカードの展開を行なった結果を、 Pathname オブジェクトの配列として返します。

引数の意味は、Dir.glob と同じです。 flag の初期値である 0 は「何 も指定しない」ことを意味します。

ブロックが与えられたときは、ワイルドカードにマッチした Pathname オブジェ クトを1つずつ引数としてそのブロックに与えて実行させます。この場合、値と しては nil を返します。

[PARAM] pattern:
ワイルドカードパターンです
[PARAM] flag:
パターンマッチ時のふるまいを変化させるフラグを指定します


Ruby 1.8.7 Reference Manual > All Libraries > library pathname > class Pathname > new

singleton method Pathname.new

new(path) -> Pathname

文字列 path を元に Pathname オブジェクトを生成します。


module function Ping.#pingecho

pingecho(host, timeout = 5, service = 'echo') -> bool

host の TCP サービス service に対して接続することで、 サーバが稼動しているかどうか確かめます。

このメソッドは ping(1) と異なり ICMP を使用しないので、 スーパーユーザ権限が必要ありません。 一方で、接続可能な TCP サービスがなければ サーバの動作を確認できないという欠点があります。

注意

接続を許可されていないサーバのサービスに対して このメソッドを使うべきではありません。

[PARAM] host:
対象ホストを指定します。
[PARAM] timeout:
タイムアウトする秒数を指定します。デフォルトは 5 秒です。
[PARAM] service:
サービスをサービス名またはポート番号で指定します。
[RETURN]
接続が成功した場合と、明示的に接続を拒否された場合には true を返します。 サーバに接続できず、タイムアウトした場合には false を返します。

[SEE_ALSO] ping(1)


instance method Precision#prec

prec(klass) -> object

self を精度 klass に変換した結果を返します。

デフォルトの定義では klass.induced_from(self) を呼び出し、 その結果を返します。

新しく精度クラスを作るときは組み込みクラスの Precision.induced_from を変更するのではなく、この prec の再定義で対応するべきです。

[PARAM] klass:
精度を持つ数値クラス


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Precision > prec_f

instance method Precision#prec_f

prec_f -> Float

self を Float に変換します。 prec(Float) と等価です。


instance method Precision#prec_i

prec_i -> Fixnum

self を Integer に変換します。 prec(Integer) と等価です。


singleton method Precision.included

included(module_or_class) -> Precision

Precision をインクルードするクラスやモジュールに対してメソッド induced_from を自動的に定義します。

このメソッドは、Precision がインクルードされた時に呼ばれます。詳細はModule#included を参照してください。

[PARAM] module_or_class:
Precision をインクルードするクラスまたはモジュール


singleton method Precision.induced_from

induced_from(number) -> object

number を自分のクラスに変換した結果を返します。

デフォルトの定義は、例外 TypeError を発生させるので、 Mix-in したクラスでこのメソッドを再定義する必要があります。 再定義に、Precision#prec を使うと、 無限ループになる可能性があります。

[PARAM] number:
変換元の数値
[EXCEPTION] TypeError:
Mix-inしたクラスでこのメソッドが再定義されていない場合に発生します。


instance method PrettyPrint#breakable

breakable(sep = ' ') -> ()
breakable(sep, width = sep.length) -> ()

「必要ならここで改行出来る」ということを自身に通知します。 もしその位置で改行されなければ、width カラムのテキスト sep が出力の際にそこに挿入されます。

[PARAM] sep:
改行が起きなかった場合に挿入されるテキストを文字列で指定します。
[PARAM] width:
テキスト sep は width カラムであると仮定されます。指定されなければ、 sep.length が利用されます。例えば sep が多バイト文字の際に指定する必要があるかも知れません。


instance method PrettyPrint#first?

first? -> bool

このメソッドは obsolete です。

現在のグループで first? に対する最初の呼び出しかどうかを判定する 述語です。これはカンマで区切られた値を整形するのに有用です。

pp.group(1, '[', ']') {
  xxx.each {|yyy|
    unless pp.first?
      pp.text ','
      pp.breakable
    end
    ... pretty printing yyy ...
  }
}


Ruby 1.8.7 Reference Manual > All Libraries > library prettyprint > class PrettyPrint > flush

instance method PrettyPrint#flush

flush -> ()

バッファされたデータを出力します。


Ruby 1.8.7 Reference Manual > All Libraries > library prettyprint > class PrettyPrint > genspace

instance method PrettyPrint#genspace

genspace -> Proc

空白を生成する Proc を返します。


instance method PrettyPrint#group

group(indent = 0, open_obj = '', close_obj = '', open_width = open_obj.length, close_width = close_obj.length) {...} -> ()

与えられたブロックを実行します。 ブロック内で自身に追加される文字列やオブジェクトは、1行にまとめて表示しても よい同じグループに属すると仮定されます。

もう少し詳しく説明します。pretty printing アルゴリズムはインデントと改行を、 ツリー構造を作ることによって決定します。そして、group メソッドは子ノードの作成と 子ノードのインデントの深さの決定を担当します。

同じノード内で呼ばれた breakable は、改行するならば全て同時に改行します。

[PARAM] indent:
グループのインデントの深さを指定します。
[PARAM] open_obj:
指定された場合、self.text(open_obj, open_width) がブロックが 実行される前に呼ばれます。開き括弧などを出力するのに使用されます。
[PARAM] close_obj:
指定された場合、self.text(close_obj, close_width) がブロックが 実行された後に呼ばれます。閉じ括弧などを出力するのに使用されます。
[PARAM] open_width:
open_obj のカラムを指定します。
[PARAM] close_width:
close_obj のカラムを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library prettyprint > class PrettyPrint > indent

instance method PrettyPrint#indent

indent -> Integer

現在のインデントの深さを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library prettyprint > class PrettyPrint > maxwidth

instance method PrettyPrint#maxwidth

maxwidth -> Integer

自身の幅を返します。


instance method PrettyPrint#nest

nest(indent) {...} -> ()

自身の現在のインデントを indent だけ増加させてから、ブロックを実行し、元に戻します。

[PARAM] indent:
インデントの増加分を整数で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library prettyprint > class PrettyPrint > newline

instance method PrettyPrint#newline

newline -> String

自身の改行文字を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library prettyprint > class PrettyPrint > output

instance method PrettyPrint#output

output -> object

自身の output を返します。


instance method PrettyPrint#text

text(obj) -> ()
text(obj, width = obj.length) -> ()

obj を width カラムのテキストとして自身に追加します。

[PARAM] obj:
自身に追加するテキストを文字列で指定します。
[PARAM] width:
obj のカラムを指定します。指定されなかった場合、obj.length が利用されます。


singleton method PrettyPrint.format

format(output = '', maxwidth = 79, newline = "\n", genspace = lambda{|n| ' ' * n}) {|pp| ...} -> object

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 与えられた output を返します。

以下と同じ働きをするもので簡便のために用意されています。

begin
  pp = PrettyPrint.new(output, maxwidth, newline, &genspace)
  ...
  pp.flush
  output
end
[PARAM] output:
出力先を指定します。output は << メソッドを持っていなければなりません。
[PARAM] maxwidth:
行の最大幅を指定します。ただし、改行できないものが渡された場合は、 実際の出力幅は maxwidth を越えることがあります。
[PARAM] newline:
改行に使われます。
[PARAM] genspace:
空白の生成に使われる Proc オブジェクトを指定します。 生成したい空白の幅を表す整数を引数として呼ばれます。


singleton method PrettyPrint.new

new(output = '', maxwidth = 79, newline = "\n") -> PrettyPrint
new(output = '', maxwidth = 79, newline = "\n") {|width| ...} -> PrettyPrint

pretty printing のためのバッファを生成します。 output は出力先です。output は << メソッドを持っていなければなりません。 << メソッドには

  • PrettyPrint#text の第1引数 obj
  • PrettyPrint#breakable の第1引数 sep
  • PrettyPrint.new の第3引数 newline
  • PrettyPrint.new に与えたブロックを評価した結果

のどれかひとつが引数として与えられます。

ブロックが指定された場合は、空白を生成するために使われます。ブロックは、生成したい空白の幅を表す整数を引数として呼ばれます。ブロックが指定されない場合は、空白を生成するために {|width| ' ' * width} が使われます。

[PARAM] output:
出力先を指定します。output は << メソッドを持っていなければなりません。
[PARAM] maxwidth:
行の最大幅を指定します。ただし、改行できないものが渡された場合は、実際の出力幅は maxwidth を越えることがあります。
[PARAM] newline:
改行に使われます。


singleton method PrettyPrint.singleline_format

singleline_format(output = '', maxwidth = 79, newline = "\n", genspace = lambda{|n| ' ' * n}) {|pp| ...} -> object

PrettyPrint オブジェクトを生成し、それを引数としてブロックを実行します。 PrettyPrint.format に似ていますが、改行しません。

引数 maxwidth, newline と genspace は無視されます。ブロック中の breakable の実行は、 改行せずに text の実行であるかのように扱います。

[PARAM] output:
出力先を指定します。output は << メソッドを持っていなければなりません。
[PARAM] maxwidth:
無視されます。
[PARAM] newline:
無視されます。
[PARAM] genspace:
無視されます。


instance method Prime#each

each {...} -> object

素数について繰り返すイテレータです。 これは無限ループになるので必ず break を入れてください。

例:

> q=Prime.new; i = 0; q.each  {|x| break if i > 5; puts x; i+=1;}
2
3
5
7
11
13


instance method Prime#next

succ
next

次の素数を返します。

例:

q = Prime.new
q.succ # => 2
q.succ # => 3
q.succ # => 5


singleton method Prime.new

new

素数を列挙するオブジェクトを作ります。

例:

q = Prime.new
q.class    #=> Prime


instance method Proc#[]

self[*arg] -> ()
call(*arg) -> ()

手続きオブジェクトを実行してその結果を返します。

引数はブロックの引数にそのまま(多重代入のルールに従い)代入されます。

[PARAM] arg:
手続きオブジェクトに与える引数を指定します。
[EXCEPTION] LocalJumpError:
Procを生成したメソッドからリターンしてしまった場合に発生します。


instance method Proc#arity

arity -> Fixnum

Proc オブジェクトが受け付ける引数の数を返します。

ただし、可変長引数を受け付ける場合、負の整数

-(必要とされる引数の数 + 1)

を返します。

例:

lambda{           }.arity   # => -1
lambda{||         }.arity   # =>  0
lambda{|x|        }.arity   # =>  1
lambda{|*x|       }.arity   # => -1
lambda{|x, y|     }.arity   # =>  2
lambda{|x, *y|    }.arity   # => -2
lambda{|(x, y)|   }.arity   # =>  2
lambda{|(x, y), z|}.arity   # =>  2


instance method Proc#binding

binding -> Binding

Proc オブジェクトが保持するコンテキストを Binding オブジェクトで返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Proc > to_proc

instance method Proc#to_proc

to_proc -> self

self を返します。


instance method Proc#to_s

to_s -> String

self の文字列表現を返します。

可能なら self を生成したソースファイル名、行番号を含みます。

p Proc.new {
   true
}.to_s

=> "#<Proc:0x0x401a880c@-:3>"


singleton method Proc.new

new -> Proc
new { ... } -> Proc

ブロックをコンテキストとともにオブジェクト化して返します。

ブロックを指定しなければ、このメソッドを呼び出したメソッドが ブロックを伴うときに、それを Proc オブジェクトとして生成して返します。

def foo
  pr = Proc.new
  pr.call(1)
end
foo {|arg| p arg }
# => 1

これは以下と同じです。

def foo
  yield(1)
end
foo {|arg| p arg }
# => 1

呼び出し元のメソッドがブロックを伴わなければ、例外 ArgumentError が発生します。

def foo
  Proc.new
end
foo
# => -:2:in `new': tried to create Proc object without a block (ArgumentError)
        from -:2:in `foo'
        from -:4

Proc.new は、Proc#initialize が定義されていれば オブジェクトの初期化のためにこれを呼び出します。このことを 除けば、Kernel.#proc と同じです。


constant Process::PRIO_PGRP

PRIO_PGRP

対象とするプライオリティがプロセスグループプライオリティであることを表す定数です。

Process.#getpriority または Process.#setpriority で使われます。


constant Process::PRIO_PROCESS

PRIO_PROCESS

対象とするプライオリティがプロセスプライオリティであることを表す定数です。

Process.#getpriority または Process.#setpriority で使われます。


constant Process::PRIO_USER

PRIO_USER

対象とするプライオリティがユーザプライオリティであることを表す定数です。

Process.#getpriority または Process.#setpriority で使われます。


constant Process::RLIMIT_AS

RLIMIT_AS

リソースの種類がプロセスの仮想メモリサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_CORE

RLIMIT_CORE

リソースの種類が core ファイルのサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_CPU

RLIMIT_CPU

リソースの種類がプロセスの CPU 時間であることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_DATA

RLIMIT_DATA

リソースの種類がプロセスのデータ領域のサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_FSIZE

RLIMIT_FSIZE

リソースの種類がプロセスが生成するファイルのサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_MEMLOCK

RLIMIT_MEMLOCK

リソースの種類が mlock(2) でロックできるトータルのサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_NOFILE

RLIMIT_NOFILE

リソースの種類がプロセスがオープンできるファイルの数であることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_NPROC

RLIMIT_NPROC

リソースの種類がユーザのプロセスの最大数であることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_RSS

RLIMIT_RSS

リソースの種類が使用できる実メモリの最大サイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_SBSIZE

RLIMIT_SBSIZE

リソースの種類がソケットバッファのサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIMIT_STACK

RLIMIT_STACK

リソースの種類がプロセスのスタック領域のサイズであることを示す定数です。

Process.#getrlimit、Process.#setrlimit で使われます。 システムによっては定義されていません。


constant Process::RLIM_INFINITY

RLIM_INFINITY

リソースに制限がないことを意味する定数です。

Process.#getrlimit、Process.#setrlimit で使われます。


constant Process::RLIM_SAVED_CUR

RLIM_SAVED_CUR

Process.#getrlimit, Process.#setrlimit で使われます。詳しくは setrlimit(2) を参照して下さい。


constant Process::RLIM_SAVED_MAX

RLIM_SAVED_MAX

Process.#getrlimit, Process.#setrlimit で使われます。詳しくは setrlimit(2) を参照して下さい。


constant Process::WNOHANG

WNOHANG

Process.#waitpid の第二引数に指定するフラグです。 終了した子プロセスがない時でも waitpid がブロックしません。


constant Process::WUNTRACED

WUNTRACED

Process.#waitpid の第二引数に指定するフラグです。 このフラグが指定された場合、waitpid は停止しているだけで 終了していない子プロセスのプロセス ID も返すようになります。 trace されている子プロセスの ID は返しません。

include Process
pid = fork{ Process.kill('SIGSTOP', Process.pid) }
p pid                          #=> 4336
p waitpid2(pid, WUNTRACED)     #=> [4336, #<Process::Status: pid=4336,stopped(SIGSTOP=19)>]

[SEE_ALSO] waitpid(2)


module function Process.#egid

egid -> Integer

カレントプロセスの実効グループ ID を整数で返します。

[SEE_ALSO] getegid(2)


module function Process.#egid=

egid=(gid)

カレントプロセスの実効グループ ID を gid に設定します。

動作の詳細はプラットフォームに依存します。 実効グループ ID 以外のグループ ID も変更されるかも知れません。

[PARAM] gid:
実効グループ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
権限がない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] Process::GID.#eid=


module function Process.#euid

euid -> Integer

カレントプロセスの実効ユーザ ID を整数で返します。

[SEE_ALSO] geteuid(2)


module function Process.#euid=

euid=(uid)

カレントプロセスの実効ユーザ ID を uid に設定します。

動作の詳細はプラットフォームに依存します。 実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。

[PARAM] uid:
実効ユーザ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
権限がない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] Process::UID.#eid=


module function Process.#getpgid

getpgid(pid = 0) -> Integer

プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。

[PARAM] pid:
プロセス ID を整数で指定します。0 の時はカレントプロセス ID を指定したのと同じです。
[EXCEPTION] Errno::EXXX:
プロセスグループの取得に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] getpgid(2)


module function Process.#getpgrp

getpgrp -> Integer

現在のプロセスのプロセスグループ ID を整数で返します。

[EXCEPTION] Errno::EXXX:
プロセスグループの取得に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] getpgrp(2)


module function Process.#getpriority

getpriority(which, who) -> Integer

which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。

[PARAM] which:
プライオリティの種類を次の定数で指定します。 Process::PRIO_PROCESS, Process::PRIO_PGRP, Process::PRIO_USER。
[PARAM] who:
which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。
[EXCEPTION] Errno::EXXX:
プライオリティの取得に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] getpriority(2)


module function Process.#getrlimit

getrlimit(resource) -> [Integer]

カレントプロセスでのリソースの制限値を、整数の配列として返します。 返り値は、現在の制限値 cur_limit と、制限値として設定可能な最大値 max_limit の 配列 [cur_limit, max_limit] です。

それぞれの limit が Process::RLIM_INFINITY と等しい場合、リソースに制限がないことを意味します。

[PARAM] resource:
リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。
[EXCEPTION] Errno::EXXX:
リソースの制限値の取得が失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

引数 resource で有効な定数は以下のとおりです。

Process::RLIMIT_CORE

core ファイルのサイズ (バイト) (SUSv3)

Process::RLIMIT_CPU

プロセスの CPU 時間 (秒) (SUSv3)

Process::RLIMIT_DATA

プロセスのデータ領域のサイズ (バイト) (SUSv3)

Process::RLIMIT_FSIZE

プロセスが生成するファイルのサイズ (バイト) (SUSv3)

Process::RLIMIT_NOFILE

プロセスがオープンできるファイルの数 (SUSv3)

Process::RLIMIT_STACK

プロセスのスタック領域のサイズ (バイト) (SUSv3)

Process::RLIMIT_AS

プロセスの仮想メモリサイズ (バイト) (SUSv3, NetBSD, FreeBSD, OpenBSD but 4.4BSD-Lite))

Process::RLIMIT_MEMLOCK

mlock(2) でロックできるトータルのサイズ (バイト) (4.4BSD, GNU/Linux)

Process::RLIMIT_NPROC

そのユーザのプロセスの最大数 (4.4BSD, GNU/Linux)

Process::RLIMIT_RSS

使用できる実メモリの最大サイズ (バイト) (4.2BSD, GNU/Linux)

Process::RLIMIT_SBSIZE

ソケットバッファのサイズ (バイト) (NetBSD, FreeBSD)

例:

include Process
p lim = getrlimit(RLIMIT_STACK)                                        #=> [8388608, 18446744073709551615]
p lim.map{|i| i == RLIM_INFINITY ? "unlimited" : "#{i/(1024**2)}MB" }  #=> ["8MB", "unlimited"]

[SEE_ALSO] Process.#setrlimit, getrlimit(2)


module function Process.#gid

gid -> Integer

カレントプロセスの実グループ ID を返します。

[SEE_ALSO] getgid(2)


module function Process.#gid=

gid=(gid)

カレントプロセスの実グループ ID を gid に設定します。

動作の詳細はプラットフォームに依存します。 実グループ ID 以外のグループ ID も変更されるかも知れません。

[PARAM] gid:
実グループ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
権限がない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] Process::GID


module function Process.#groups

groups -> [Integer]

補助グループ ID の配列を返します(実効グループ ID を含むかも知れません)。

返される配列の最大要素数は Process.#maxgroups です。

[EXCEPTION] Errno::EXXX:
Process.#maxgroups が実際に返される補助グループ ID の 数よりも少ない値を設定していると発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] getgroups(2)


module function Process.#groups=

groups=(gids)

補助グループを設定します。

root だけがこのメソッドを呼ぶことができます。

[PARAM] gids:
補助グループ ID の配列を指定します。補助グループ ID は整数かグループ名を表す文字列です。
[EXCEPTION] ArgumentError:
設定する補助グループ ID の数が Process.#maxgroups の 数を越えている場合に発生します。
[EXCEPTION] Errno::EXXX:
権限がない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] setgroups(2)


module function Process.#initgroups

initgroups(user, group) -> [Integer]

user が属するグループのリストを更新し、group をそのリストに加えます。

このメソッドを呼ぶには root 権限が必要です。

[PARAM] user:
ユーザ名を表す文字列で指定します。
[PARAM] group:
ユーザグループ ID を整数で指定します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。


module function Process.#kill

kill(signal, pid, *rest) -> Integer

pid で指定されたプロセスにシグナルを送ります。signal はシグナル番号か名前(文字列またはSymbol)で指定します。 全てのシグナル送信に成功した場合、指定した pid の総数を返します。

[PARAM] signal:
シグナルを整数かその名前の文字列で指定します。負の値を持つシグナル(あるいはシグナル名の前に-)を指定すると、プロセスではなくプロセスグループにシグナルを送ります。
[PARAM] pid:
シグナルを送りたいプロセスのプロセス ID を整数で指定します。ただし、0 以下の場合は以下のような意味になります。
  • 0 の場合はカレントプロセスのプロセスグループにシグナルを送ります。
  • -1 の場合はシステム上の全てのプロセスにシグナルを送ります。
  • それ以外の負の整数を与えるとプロセスではなくプロセスグループにシグナルを送ります。 負の整数はプロセスグループ ID にマイナスを付けたものと見なされます。
[PARAM] rest:
プロセス ID を整数で指定します。
[EXCEPTION] ArgumentError:
存在しないシグナルを指定した場合に発生します。
[EXCEPTION] Errno::EXXX:
シグナル送信に失敗した場合に発生します。

[SEE_ALSO] Kernel.#trap, kill(2)


module function Process.#maxgroups

maxgroups -> Integer
maxgroups=(num)

設定できる補助グループ ID の数を指定します。

実際に返される補助グループ ID の数よりも少ない値を設定していると、 Process.#groups で例外が発生します。

[PARAM] num:
整数を指定します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。


module function Process.#pid

pid -> Integer

カレントプロセスのプロセス ID を返します。変数 $$ の値と同じです。

[SEE_ALSO] getpid(2)


module function Process.#ppid

ppid -> Integer

親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。

[SEE_ALSO] getppid(2)


module function Process.#setpgid

setpgid(pid, pgrp) -> 0

プロセス ID が pid であるプロセスのプロセスグループを pgrp に設定します。

[PARAM] pid:
プロセス ID を整数で指定します。pid が 0 の時はカレントプロセスの ID を指定したのと同じです。 プロセスグループの設定に成功した場合は 0 を返します。
[PARAM] pgrp:
プロセスグループ ID を整数で指定します。pgrp が 0 の時は pid を指定したのと同じです。
[EXCEPTION] Errno::EXXX:
プロセスグループの設定に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] setpgid(2)


module function Process.#setpgrp

setpgrp -> 0

カレントプロセスの ID と同じ ID をもつプロセスグループを作成し、カレントプロセスをそのリーダーにします。 Process.#setpgid(0, 0) と同じです。

[EXCEPTION] Errno::EXXX:
プロセスグループの設定に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
fork do
  p [Process.pid, Process.getpgrp]
  p Process.setpgrp
  p [Process.pid, Process.getpgrp]
end
Process.wait
#=>
  [3427, 3426]
  0
  [3427, 3427]

[SEE_ALSO] setpgrp(2)


module function Process.#setpriority

setpriority(which, who, prio) -> 0

プロセス、プロセスグループ、 ユーザのいずれかの現在のプライオリティを設定します 。プライオリティの設定に成功した場合は 0 を返します。

[PARAM] which:
プライオリティを設定する対象の種類を以下の定数のいずれかで指定します。
  • Process::PRIO_PROCESS
  • Process::PRIO_PGRP
  • Process::PRIO_USER
[PARAM] who:
which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。
[PARAM] prio:
プライオリティを -20 から 20 までの整数で設定します。小さな値はプライオリティが高いことを意味し、大きな値はプライオリティが低いことを意味します。
[EXCEPTION] Errno::EXXX:
プライオリティの設定に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

以下の例は呼び出したプロセス自身のプライオリティを 10 に下げます。 すでに 10 よりもプライオリティが低く、 Errno::EACCES となった場合には無視して実行を続けます。

begin
  Process.setpriority(Process::PRIO_PROCESS, 0, 10)
rescue Errno::EACCES
end

[SEE_ALSO] setpriority(2)


module function Process.#setrlimit

setrlimit(resource, cur_limit, max_limit) -> nil
setrlimit(resource, limit) -> nil

カレントプロセスでのリソースの制限値を設定します。

[PARAM] resource:
リソースの種類を示す定数を指定します。指定できる定数はシステムに依存します。
[PARAM] limit:
resource によって意味が決まる制限値を表す整数もしくは定数を指定します。 soft limit と hard limit 両方にこの値が使われます。
[PARAM] cur_limit:
現在の制限値(soft limit)を表す整数もしくは定数を指定します。
[PARAM] max_limit:
soft limit として設定可能な最大値(hard limit)を表す整数もしくは定数を指定します。
[EXCEPTION] Errno::EXXX:
リソースの制限値の設定に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

引数 resource で有効な定数は以下のとおりです。

Process::RLIMIT_CORE

core ファイルのサイズ (バイト) (SUSv3)

Process::RLIMIT_CPU

プロセスの CPU 時間 (秒) (SUSv3)

Process::RLIMIT_DATA

プロセスのデータ領域のサイズ (バイト) (SUSv3)

Process::RLIMIT_FSIZE

プロセスが生成するファイルのサイズ (バイト) (SUSv3)

Process::RLIMIT_NOFILE

プロセスがオープンできるファイルの数 (SUSv3)

Process::RLIMIT_STACK

プロセスのスタック領域のサイズ (バイト) (SUSv3)

Process::RLIMIT_AS

プロセスの仮想メモリサイズ (バイト) (SUSv3, NetBSD, FreeBSD, OpenBSD but 4.4BSD-Lite))

Process::RLIMIT_MEMLOCK

mlock(2) でロックできるトータルのサイズ (バイト) (4.4BSD, GNU/Linux)

Process::RLIMIT_NPROC

そのユーザのプロセスの最大数 (4.4BSD, GNU/Linux)

Process::RLIMIT_RSS

使用できる実メモリの最大サイズ (バイト) (4.2BSD, GNU/Linux)

Process::RLIMIT_SBSIZE

ソケットバッファのサイズ (バイト) (NetBSD, FreeBSD)

引数 limit, cur_limit, max_limit で有効な定数は以下のとおりです。

  • Process::RLIM_INFINITY リソースに制限を設けないことを意味します。
  • Process::RLIM_SAVED_CUR
  • Process::RLIM_SAVED_MAX

以下の例は RLIMIT_CORE の制限を hard limit (max limit) まで引き上げ、可能なら core を残すようにします。

Process.setrlimit(Process::RLIMIT_CORE,
                  Process.getrlimit(Process::RLIMIT_CORE)[1])

[SEE_ALSO] setrlimit(2)


module function Process.#setsid

setsid -> Integer

新しいセッションを作成して、tty を切り離します。デーモンを簡単に作 ることができます。セッション ID を返します。

[EXCEPTION] Errno::EXXX:
セッションの作成に失敗した場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] setsid(2)


module function Process.#times

times -> Struct::Tms

自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を Struct::Tms オブジェクトで返します。 時間の単位は秒で、浮動小数点数で与えられます。

[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] Struct::Tms


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Process > uid

module function Process.#uid

uid -> Integer

プロセスの実ユーザ ID を返します。

[SEE_ALSO] getuid(2)


module function Process.#uid=

uid=(id)

プロセスの実ユーザ ID を id に設定します。

動作の詳細はプラットフォームに依存します。 実ユーザ ID 以外のユーザ ID も変更されるかも知れません。

[PARAM] id:
実ユーザ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
権限がない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] Process::UID


module function Process.#wait

wait -> Integer
wait2 -> Array

子プロセスのうちのひとつが終了するまで待ち、終了した子プロセスの pid を返します。 wait2 は子プロセスの pid と終了ステータスを表す Process::Status オブジェクトの配列を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

[EXCEPTION] Errno::ECHILD:
子プロセスが一つもなければ発生します。
pid = fork{ sleep 1 }
Process.wait2 #=> [2756, #<Process::Status: pid=2756,exited(0)>]

[SEE_ALSO] wait(2)


module function Process.#waitall

waitall -> Array

全ての子プロセスが終了するのを待ちます。 終了した子プロセスの pid と終了ステータス (Process::Status) の配列の配列を返します。 子プロセスがいない状態でこのメソッドを呼び出すと空の配列を返します。

$? には最後に終了した子プロセスの Process::Status オブジェクトが設定されます。

2.times {|n|
  Process.fork() { exit n }
}
p Process.waitall
#=> [[2766, #<Process::Status: pid=2766,exited(1)>], [2765, #<Process::Status: pid=2765,exited(1)>]]


module function Process.#waitpid

waitpid(pid, flags = 0) -> Integer | nil
waitpid2(pid, flags = 0) -> Array | nil

pid で指定される特定の子プロセスの終了を待ち、そのプロセスが 終了した時に pid を返します。 waitpid2 は pid と Process::Status オブジェクトの配列を返します。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。

$? に終了した子プロセスの Process::Status オブジェクトがセットされます。

[PARAM] pid:
子プロセスのプロセス ID を整数で指定します。
[PARAM] flags:
Process モジュールの定数 Process::WNOHANG(ノンブロッキングモード)と Process::WUNTRACED の論理和を指定します。省略したときの値は 0 です。 ノンブロッキングモードで子プロセスがまだ終了していない時には nil を返します。waitpid(2) か wait4(2) の実装されていないマシンでは flags はいつも nil または 0 を指定する必要があります。
[EXCEPTION] Errno::ECHILD:
子プロセスが存在しない場合に発生します。

[SEE_ALSO] waitpid(2)


singleton method Process.abort

abort(message = "") -> ()

関数 Kernel.#abort と同じです。

[PARAM] message:
終了時のメッセージを文字列で指定します。


singleton method Process.detach

detach(pid) -> Thread

子プロセス pid の終了を監視するスレッドを生成して返します。 生成したスレッドは子プロセスが終了した後に nil で終了します。 指定した子プロセスが存在しなければ即座に nil で終了します。

[PARAM] pid:
子スレッドのプロセス ID を整数で指定します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
pid = fork {
  # child
  sleep 3
}

th = Process.detach(pid)
p th.value

# => nil


singleton method Process.exec

exec(command, *args) -> ()

カレントプロセスを与えられた外部コマンドで置き換えます。

引数の解釈

引数が一つだけ与えられた場合、command が shell のメタ文字

  * ? {} [] <> () ~ & | \ $ ; ' ` " \n

を含む場合、shell 経由で実行されます。 そうでなければインタプリタから直接実行されます。

引数が複数与えられた場合、第 2 引数以降は command に直接渡され、 インタプリタから直接実行されます。

第 1 引数が 2 要素の配列の場合、第 1 要素の文字列が実際に起動する プログラムのパスで、第 2 要素が「みせかけ」のプログラム名になります。

MSDOS 環境の場合、command はサブシェル経由で実行されます。 そうでない場合、command は exec(2) を使用して実行されるので元の プログラムからいくつかの環境を引き継ぎます。

[PARAM] command:
実行する外部コマンド。
[PARAM] args:
command に渡す引数。
exec "echo *"       # echoes list of files in current directory
# never get here

exec "echo", "*"    # echoes an asterisk
# never get here


singleton method Process.exit

exit(status = true) -> ()

プロセスを終了します。関数 Kernel.#exit と同じです。

[PARAM] status:
終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] exit(3)


singleton method Process.exit!

exit!(status = false) -> ()

関数 Kernel.#exit! と同じです。

[PARAM] status:
終了ステータスを boolean か整数で指定します。true の場合は成功を、false は失敗を意味します。

[SEE_ALSO] _exit(2)


singleton method Process.fork

fork -> Integer | nil
fork { ... } -> Integer | nil

子プロセスを生成します。関数 Kernel.#fork と同じです。

[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。

[SEE_ALSO] fork(2)


module function Process::GID.#change_privilege

change_privilege(id) -> Integer

実グループ ID・実効グループ ID・保存グループ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

利用できるかはプラットフォームに依存します。

[PARAM] id:
グループ ID を整数で指定します。
[EXCEPTION] ArgumentError:
変更できないグループ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各グループ ID の値が保存されているかどうかは保証されません。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.gid, Process.egid]          #=> [0, 0]
Process::GID.change_privilege(33)    #=> 33
[Process.gid, Process.egid]          #=> [33, 33]


module function Process::GID.#eid

eid -> Integer

現在のプロセスの実効グループ ID を返します。

利用できるかはプラットフォームに依存します。

[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
Process.egid   #=> 500


module function Process::GID.#eid=

grant_privilege(id) -> Integer
eid=(id)

現在のプロセスの実効グループ ID を id に変更します。成功したら id を返します。

実グループ ID は変更されないことが保証されます。 保存グループ ID が変更されないかもしれないので root 権限の完全放棄には使えません。 保存グループ ID が変化するかどうかは Process::GID.#re_exchangeable? が true を返すかどうかで決まります。

  • true の環境では、実グループ ID と異なる値を設定した場合、保存グループ ID は新しい実効グループ ID の値に設定されます。
  • false の環境では保存グループ ID は変化しません。

利用できるかはプラットフォームに依存します。

[PARAM] id:
グループ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
設定できない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.gid, Process.egid]          #=> [0, 0]
Process::GID.grant_privilege(33)     #=> 33
[Process.gid, Process.egid]          #=> [0, 33]


module function Process::GID.#re_exchange

re_exchange -> Integer

現在のプロセスの実グループ ID と実効グループ ID を入れ替えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効グループ ID を返します。

利用できるかはプラットフォームに依存します。

[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.gid, Process.egid]   #=> [0, 33]
Process::GID.re_exchange      #=> 0
[Process.gid, Process.egid]   #=> [33, 0]


module function Process::GID.#re_exchangeable?

re_exchangeable? -> bool

現在のプラットフォームで Process::GID.#re_exchange が実装されている なら true を返します。そうでない場合に false を返します。


module function Process::GID.#rid

rid -> Integer

現在のプロセスの実グループ ID を返します。

Process.rid   #=> 500


module function Process::GID.#sid_available?

sid_available? -> bool

現在のプラットフォームが保存グループ ID を持つなら true を返します。 そうでない場合に false を返します。

ただし、このメソッドの値には保証がありません。 現在は次の条件のいずれかが満足される場合には 保存グループ ID を持つものと判定しています。

  • setresgid() を持つ
  • setegid() を持つ
  • _POSIX_SAVED_IDS が真として定義されている


module function Process::GID.#switch

switch -> Integer
switch {...} -> object

実効グループ ID を一時的に変更するために使います。

実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が 等しい場合には、実効グループ ID を保存グループ ID に変更します。 変更前の実効グループ ID を返します。

ブロックが指定された場合、実効グループ ID を実グループ ID へ 変更しブロックを実行します。ブロック終了時に実効グループ ID を元の 値に戻します。ブロックの実行結果を返します。

なお、保存グループ ID を持たない環境でこのメソッドを実行すると 実グループ ID が変化します。

[EXCEPTION] Errno::EPERM:
各グループ ID がこのメソッドを実行するのに適切な状態でない場合、 つまり、実グループ ID・実効グループ ID・保存グループ ID が全て 同じ場合に発生します。ブロック付きの場合は、なんらかの原因で元の 権限に復帰できないにも発生します。ブロック内でグループ ID が変更 されたなどの理由が挙げられます。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
include Process
# (r, e, s) == (500, 505, 505)
p [gid, egid]           #=> [500, 505]
Process::GID.switch do
  p [gid, egid]         #=> [500, 500]
end
p [gid, egid]           #=> [500, 505]


instance method Process::Status#==

self == other -> bool

同じステータスの場合に真を返します。

other が数値の場合、self.to_i との比較が行われます。こ れは後方互換性のためです。

[PARAM] other:
自身と比較したいオブジェクトを指定します。


instance method Process::Status#>>

self >> num -> Integer

self.to_i >> num と同じです。

[PARAM] num:
整数を指定します。
fork { exit 99 }   #=> 26563
Process.wait       #=> 26563
$?.to_i            #=> 25344
$? >> 8            #=> 99


instance method Process::Status#&

self & other -> Integer

self.to_i & other と同じです。 このメソッドは後方互換性のためにあります。

[PARAM] other:
自身との & 演算をしたい整数を指定します。


instance method Process::Status#coredump?

coredump? -> bool

終了時にコアダンプしていたら真を返します。

このメソッドは signaled? が真のときにしか意味を持ちません。

このメソッドはシステムに依存します。サポートしないプラットフォー ムでは常に false を返します。


instance method Process::Status#exited?

exited? -> bool

プロセスが exit(2) などにより正常に終了した場合に、真を返します。 そうでない場合に false を返します。


instance method Process::Status#exitstatus

exitstatus -> nil | Integer

exited? が真の場合プロセスが返した終了ステータスの整数を、そ うでない場合は nil を返します。


instance method Process::Status#inspect

inspect -> String

プロセスの状態を以下のフォーマットで返します。

正常終了のとき

#<Process::Status: pid=18262,exited(nnn)>

シグナルによる停止のとき

#<Process::Status: pid=18262,stopped(SIGxxx=nnn)>

シグナルによる終了のとき

#<Process::Status: pid=18262,signaled(SIGxxx=nnn)>

コアダンプしたとき(このステータスの表示はシステムに依存します)

#<Process::Status: pid=18262,coredumped>


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Process::Status > pid

instance method Process::Status#pid

pid -> Integer

終了したプロセスのプロセス ID を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Process::Status > signaled?

instance method Process::Status#signaled?

signaled? -> bool

プロセスがハンドラを定義していないシグナルを受けて終了した場合に真 を返します。


instance method Process::Status#stopped?

stopped? -> bool

プロセスが現在停止(終了ではない)している場合に真を返します。 Process.#waitpid に Process::WUNTRACED フラグを設定した 場合にだけ真になりえます。


instance method Process::Status#stopsig

stopsig -> nil | Integer

stopped? が真の場合そのシグナルの番号を、そうでない場合は nil を返します。


instance method Process::Status#success?

success? -> bool

プロセスの終了状態が成功である場合に true を返します。 そうでない場合に false を返します。


instance method Process::Status#termsig

termsig -> nil | Integer

signaled? が真の場合プロセスを終了させたシグナル番号を、 そうでない場合は nil を返します。


instance method Process::Status#to_i

to_i -> Integer

C 言語での終了ステータス表現の整数を返します。

多くのシステムの実装では、この値の上位 8 bit に exit(2) に渡した終了ステータスが、下位 8 bit にシグナル等で終了した等の情 報が入っています。


instance method Process::Status#to_int

to_int -> Integer

to_i と同じです。

このメソッドにより $? が Fixnum として扱われるようになります(暗黙の型変換)。これは後方互換性のため です。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Process::Status > to_s

instance method Process::Status#to_s

to_s -> String

to_i.to_s と同じです。


module function Process::Sys.#getegid

getegid -> Integer

システムコールの getegid(2) を呼びます。返り値を整数で返します。

[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。


module function Process::Sys.#geteuid

geteuid -> Integer

システムコールの geteuid(2) を呼びます。返り値を整数で返します。

[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。


module function Process::Sys.#getgid

getgid -> Integer

システムコールの getgid(2) を呼びます。返り値を整数で返します。

[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。


module function Process::Sys.#getuid

getuid -> Integer

システムコールの getuid(2) を呼びます。返り値を整数で返します。

[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。


module function Process::Sys.#issetugid

issetugid -> bool

システムコールの issetugid() を呼びます。

プロセスが setuid もしくは setgid ビットを使って 起動されている場合に真を返します。

[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。


module function Process::Sys.#setegid

setegid(id) -> nil

システムコールの setegid(2) を呼びます。

[PARAM] id:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#seteuid

seteuid(id) -> nil

システムコールの seteuid(2) を呼びます。

[PARAM] id:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setgid

setgid(id) -> nil

システムコールの setgid(2) を呼びます。

[PARAM] id:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setregid

setregid(rid, eid) -> nil

システムコールの setregid(2) を呼びます。

[PARAM] rid:
システムコールの引数を整数で指定します。
[PARAM] eid:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setresgid

setresgid(rid, eid, sid) -> nil

システムコールの setresgid を呼びます。

[PARAM] rid:
システムコールの引数を整数で指定します。
[PARAM] eid:
システムコールの引数を整数で指定します。
[PARAM] sid:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setresuid

setresuid(rid, eid, sid) -> nil

システムコールの setresuid を呼びます。

[PARAM] rid:
システムコールの引数を整数で指定します。
[PARAM] eid:
システムコールの引数を整数で指定します。
[PARAM] sid:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setreuid

setreuid(rid, eid) -> nil

システムコールの setreuid(2) を呼びます。

[PARAM] rid:
システムコールの引数を整数で指定します。
[PARAM] eid:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setrgid

setrgid(id) -> nil

システムコールの setrgid を呼びます。

[PARAM] id:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setruid

setruid(id) -> nil

システムコールの setruid を呼びます。

[PARAM] id:
システムコールの引数を整数で指定します。
[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::Sys.#setuid

setuid(id) -> nil

システムコールの setuid(2) を呼びます。

[EXCEPTION] NotImplementedError:
システムコールが現在のプラットフォームで提供されていない場合に発生します。
[EXCEPTION] Errno::EXXX:
システムコールに失敗した場合に発生します。


module function Process::UID.#change_privilege

change_privilege(id) -> Integer

実ユーザ ID・実効ユーザ ID・保存ユーザ ID のすべてを指定された id に変更します。 成功したら id を返します。主に root 権限を完全に放棄するために使います。

利用できるかはプラットフォームに依存します。

[PARAM] id:
ユーザ ID を整数で指定します。
[EXCEPTION] ArgumentError:
変更できないユーザ ID があった場合に発生します。例外の発生時にこのメソッドを呼び出す前の各ユーザ ID の値が保存されているかどうかは保証されません。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.uid, Process.euid]          #=> [0, 0]
Process::UID.change_privilege(33)    #=> 33
[Process.uid, Process.euid]          #=> [33, 33]


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Process::UID > eid

module function Process::UID.#eid

eid -> Integer

現在の実効ユーザ ID を返します。


module function Process::UID.#eid=

grant_privilege(id) -> Integer
eid=(id)

現在のプロセスの実効ユーザ ID を id に変更します。成功したら id を返します。

実ユーザ ID は変更されないことが保証されます。 保存ユーザ ID が変更されないかもしれないので root 権限の完全放棄には使えません。 保存ユーザ ID が変化するかどうかは Process::UID.#re_exchangeable? が true を返すかどうかで決まります。

  • true の環境では、実ユーザ ID と異なる値を設定した場合、保存ユーザ ID は新しい実効ユーザ ID の値に設定されます。
  • false の環境では保存ユーザ ID は変化しません。

利用できるかはプラットフォームに依存します。

[PARAM] id:
ユーザ ID を整数で指定します。
[EXCEPTION] Errno::EXXX:
変更できない場合に発生します。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
[Process.uid, Process.euid]          #=> [0, 0]
Process::UID.grant_privilege(33)     #=> 33
[Process.uid, Process.euid]          #=> [0, 33]


module function Process::UID.#re_exchange

re_exchange -> Integer

実ユーザ ID と実効ユーザ ID とを入れ換えます。 保存ユーザ ID は新しい実効ユーザ ID と同じになります。 新しい実効ユーザ ID を返します。

利用できるかはプラットフォームに依存します。

[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。


module function Process::UID.#re_exchangeable?

re_exchangeable? -> bool

Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > module Process::UID > rid

module function Process::UID.#rid

rid -> Integer

現在の実ユーザ ID を返します。


module function Process::UID.#sid_available?

sid_available? -> bool

保存ユーザ ID を持つ環境かどうかを真偽値で返します。 保存ユーザ ID を持つなら true を返します。

ただし、このメソッドの値には保証がありません。 現在は次の条件のいずれかが満足される場合には 保存ユーザ ID を持つものと判定しています。

  • setresuid() を持つ
  • seteuid() を持つ
  • _POSIX_SAVED_IDS が真として定義されている


module function Process::UID.#switch

switch -> Integer
switch { .... } -> object

実効ユーザ ID を一時的に変更するために使います。

実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が 等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。 変更前の実効ユーザ ID を返します。

ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ 変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の 値に戻します。ブロックの実行結果を返します。

なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると 実ユーザ ID が変化します。

[EXCEPTION] Errno::EPERM:
各ユーザ ID がこのメソッドを実行するのに適切な状態でない場合、 つまり、実ユーザ ID・実効ユーザ ID・保存ユーザ ID が全て 同じ場合に発生します。ブロック付きの場合は、なんらかの原因で元の 権限に復帰できないにも発生します。ブロック内でユーザ ID が変更 されたなどの理由が挙げられます。
[EXCEPTION] NotImplementedError:
メソッドが現在のプラットフォームで実装されていない場合に発生します。
include Process
# (r, e, s) == (500, 505, 505)
p [uid, euid]           #=> [500, 505]
Process::UID.switch do
  p [uid, euid]         #=> [500, 500]
end
p [uid, euid]           #=> [500, 505]


module function Profiler__.#print_profile

print_profile(file)

stop_profile を実行し、プロファイルの結果を file に出力します。 file には printf メソッドが定義されていなければいけません。


Ruby 1.8.7 Reference Manual > All Libraries > library profiler > module Profiler__ > start_profile

module function Profiler__.#start_profile

start_profile

プロファイルの取得を開始します。


Ruby 1.8.7 Reference Manual > All Libraries > library profiler > module Profiler__ > stop_profile

module function Profiler__.#stop_profile

stop_profile

プロファイルの取得を停止します。


instance method Queue#<<

push(value)
self << value
enq(value)

queue の値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Queue > clear

instance method Queue#clear

clear

queue を空にします。返り値は不定です。


instance method Queue#deq

pop(non_block = false)
shift(non_block = false)
deq(non_block = false)

queueからひとつ値を取り出します。queueが空の時、呼出元のスレッ ドは停止します。non_block に true を与えると、 queueが空の時に例外 ThreadError が発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Queue > empty?

instance method Queue#empty?

empty?

queueが空の時、真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Queue > length

instance method Queue#length

length
size

queueの長さを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Queue > num_waiting

instance method Queue#num_waiting

num_waiting

queue を待っているスレッドの数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class Queue > new

singleton method Queue.new

new

新しいqueueオブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML > COPYRIGHT

constant REXML::COPYRIGHT

COPYRIGHT
Copyright


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML > DATE

constant REXML::DATE

DATE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML > VERSION

constant REXML::VERSION

VERSION
Version


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > []

instance method REXML::AttlistDecl#[]

self[key]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > each

instance method REXML::AttlistDecl#each

each {|name, value| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > element_name

instance method REXML::AttlistDecl#element_name

element_name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > include?

instance method REXML::AttlistDecl#include?

include?(key)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > node_type

instance method REXML::AttlistDecl#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > write

instance method REXML::AttlistDecl#write

write(out, indent = -1)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::AttlistDecl > new

singleton method REXML::AttlistDecl.new

new(source)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > PATTERN

constant REXML::Attribute::PATTERN

PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > ==

instance method REXML::Attribute#==

self == other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > clone

instance method REXML::Attribute#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > element

instance method REXML::Attribute#element

element


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > element=

instance method REXML::Attribute#element=

element=(element)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > hash

instance method REXML::Attribute#hash

hash


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > inspect

instance method REXML::Attribute#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > namespace

instance method REXML::Attribute#namespace

namespace(arg = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > node_type

instance method REXML::Attribute#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > normalized=

instance method REXML::Attribute#normalized=

normalized=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > prefix

instance method REXML::Attribute#prefix

prefix


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > remove

instance method REXML::Attribute#remove

remove


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > to_s

instance method REXML::Attribute#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > to_string

instance method REXML::Attribute#to_string

to_string


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > value

instance method REXML::Attribute#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > write

instance method REXML::Attribute#write

write(output, indent = -1)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > xpath

instance method REXML::Attribute#xpath

xpath


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attribute > new

singleton method REXML::Attribute.new

new(first, second = nil, parrent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > <<

instance method REXML::Attributes#<<

add(attribute)
self << attribute


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > []

instance method REXML::Attributes#[]

self[name]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > []=

instance method REXML::Attributes#[]=

self[name] = value


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > delete

instance method REXML::Attributes#delete

delete(attribute)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > delete_all

instance method REXML::Attributes#delete_all

delete_all(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > each

instance method REXML::Attributes#each

each {|name, value| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > each_attribute

instance method REXML::Attributes#each_attribute

each_attribute {|attribute| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > get_attribute

instance method REXML::Attributes#get_attribute

get_attribute(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > get_attribute_ns

instance method REXML::Attributes#get_attribute_ns

get_attribute_ns(namespace, name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > length

instance method REXML::Attributes#length

length
size


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > namespaces

instance method REXML::Attributes#namespaces

namespaces


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > prefixes

instance method REXML::Attributes#prefixes

prefixes


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > to_a

instance method REXML::Attributes#to_a

to_a


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Attributes > new

singleton method REXML::Attributes.new

new(element)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > ILLEGAL

constant REXML::CData::ILLEGAL

ILLEGAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > START

constant REXML::CData::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > STOP

constant REXML::CData::STOP

STOP


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > clone

instance method REXML::CData#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > to_s

instance method REXML::CData#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > value

instance method REXML::CData#value

value


instance method REXML::CData#write

write(output = $stdout, indent = -1, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::CData > new

singleton method REXML::CData.new

new(first, whitespace = true, parent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > bytes

instance method REXML::Child#bytes

bytes


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > document

instance method REXML::Child#document

document


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > next_sibling

instance method REXML::Child#next_sibling

next_sibling


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > next_sibling=

instance method REXML::Child#next_sibling=

next_sibling=(other)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > parent

instance method REXML::Child#parent

parent


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > parent=

instance method REXML::Child#parent=

parent=(other)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > previous_sibling

instance method REXML::Child#previous_sibling

previous_sibling


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > previous_sibling=

instance method REXML::Child#previous_sibling=

previous_sibling=(other)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > remove

instance method REXML::Child#remove

remove


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > replace_with

instance method REXML::Child#replace_with

replace_with(child)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Child > new

singleton method REXML::Child.new

new(parent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > START

constant REXML::Comment::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > STOP

constant REXML::Comment::STOP

STOP


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > <=>

instance method REXML::Comment#<=>

self <=> other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > ==

instance method REXML::Comment#==

self == other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > clone

instance method REXML::Comment#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > node_type

instance method REXML::Comment#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > string

instance method REXML::Comment#string

string
string=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > to_s

instance method REXML::Comment#to_s

to_s


instance method REXML::Comment#write

write(output, indent = -1, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Comment > new

singleton method REXML::Comment.new

new(first, second = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::AttlistDecl > PATTERN_RE

constant REXML::DTD::AttlistDecl::PATTERN_RE

PATTERN_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::AttlistDecl > START

constant REXML::DTD::AttlistDecl::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::AttlistDecl > START_RE

constant REXML::DTD::AttlistDecl::START_RE

START_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::ElementDecl > PATTERN_RE

constant REXML::DTD::ElementDecl::PATTERN_RE

PATTERN_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::ElementDecl > START

constant REXML::DTD::ElementDecl::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::ElementDecl > START_RE

constant REXML::DTD::ElementDecl::START_RE

START_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::ElementDecl > new

singleton method REXML::DTD::ElementDecl.new

new(match)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > PERCENT

constant REXML::DTD::EntityDecl::PERCENT

PERCENT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > PLAIN

constant REXML::DTD::EntityDecl::PLAIN

PLAIN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > PUBLIC

constant REXML::DTD::EntityDecl::PUBLIC

PUBLIC


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > START

constant REXML::DTD::EntityDecl::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > START_RE

constant REXML::DTD::EntityDecl::START_RE

START_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > SYSTEM

constant REXML::DTD::EntityDecl::SYSTEM

SYSTEM


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > to_s

instance method REXML::DTD::EntityDecl#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > write

instance method REXML::DTD::EntityDecl#write

write(output, indent)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > new

singleton method REXML::DTD::EntityDecl.new

new(src)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::EntityDecl > parse_source

singleton method REXML::DTD::EntityDecl.parse_source

parse_source(source, listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > PUBLIC

constant REXML::DTD::NotationDecl::PUBLIC

PUBLIC


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > START

constant REXML::DTD::NotationDecl::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > START_RE

constant REXML::DTD::NotationDecl::START_RE

START_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > SYSTEM

constant REXML::DTD::NotationDecl::SYSTEM

SYSTEM


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > to_s

instance method REXML::DTD::NotationDecl#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > write

instance method REXML::DTD::NotationDecl#write

write(output, indent)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > new

singleton method REXML::DTD::NotationDecl.new

new(src)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::NotationDecl > parse_source

singleton method REXML::DTD::NotationDecl.parse_source

parse_source(source, listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::Parser > parse

singleton method REXML::DTD::Parser.parse

parse(input)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DTD::Parser > parse_helper

singleton method REXML::DTD::Parser.parse_helper

parse_helper(input)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Declaration > to_s

instance method REXML::Declaration#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Declaration > write

instance method REXML::Declaration#write

write(output, indent)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Declaration > new

singleton method REXML::Declaration.new

new(src)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > DEFAULT_ENTITIES

constant REXML::DocType::DEFAULT_ENTITIES

DEFAULT_ENTITIES


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > PUBLIC

constant REXML::DocType::PUBLIC

PUBLIC


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > START

constant REXML::DocType::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > STOP

constant REXML::DocType::STOP

STOP


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > SYSTEM

constant REXML::DocType::SYSTEM

SYSTEM


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > add

instance method REXML::DocType#add

add(child)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > attribute_of

instance method REXML::DocType#attribute_of

attribute_of(element, attribute)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > attributes_of

instance method REXML::DocType#attributes_of

attributes_of(element)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > clone

instance method REXML::DocType#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > context

instance method REXML::DocType#context

context


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > entities

instance method REXML::DocType#entities

entities


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > entity

instance method REXML::DocType#entity

entity(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > external_id

instance method REXML::DocType#external_id

external_id


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > name

instance method REXML::DocType#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > namespaces

instance method REXML::DocType#namespaces

namespaces


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > node_type

instance method REXML::DocType#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > notation

instance method REXML::DocType#notation

notation(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > notations

instance method REXML::DocType#notations

notations


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > public

instance method REXML::DocType#public

public


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > system

instance method REXML::DocType#system

system


instance method REXML::DocType#write

write(output, indent = 0, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::DocType > new

singleton method REXML::DocType.new

new(first, parent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > UNDEFINED

constant REXML::Element::UNDEFINED

UNDEFINED


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > add_attribute

instance method REXML::Element#add_attribute

add_attribute(key, value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > add_attributes

instance method REXML::Element#add_attributes

add_attributes(hash)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > add_element

instance method REXML::Element#add_element

add_element(element, attrs = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > add_namespace

instance method REXML::Element#add_namespace

add_namespace(prefix, uri = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > add_text

instance method REXML::Element#add_text

add_text(text)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > attribute

instance method REXML::Element#attribute

attribute(name, namespace = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > attributes

instance method REXML::Element#attributes

attributes


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > cdatas

instance method REXML::Element#cdatas

cdatas


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > clone

instance method REXML::Element#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > comments

instance method REXML::Element#comments

comments


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > context

instance method REXML::Element#context

context
context=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > delete_attribute

instance method REXML::Element#delete_attribute

delete_attribute(key)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > delete_element

instance method REXML::Element#delete_element

delete_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > delete_namespace

instance method REXML::Element#delete_namespace

delete_namespace(namespace = "xmlns")


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > document

instance method REXML::Element#document

document


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > each_element

instance method REXML::Element#each_element

each_element(xpath = nil) {|element| ... }


instance method REXML::Element#each_element_with_attribute

each_element_with_attribute(key, value = nil, max = 0, name = nil) {|element| ... }


instance method REXML::Element#each_element_with_text

each_element_with_text(text = nil, max = 0, name = nil) {|element| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > elements

instance method REXML::Element#elements

elements


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > get_elements

instance method REXML::Element#get_elements

get_elements(xpath)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > get_text

instance method REXML::Element#get_text

get_text(path = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > has_attributes?

instance method REXML::Element#has_attributes?

has_attributes?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > has_elements?

instance method REXML::Element#has_elements?

has_elements?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > has_text?

instance method REXML::Element#has_text?

has_text?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > ignore_whitespace_nodes

instance method REXML::Element#ignore_whitespace_nodes

ignore_whitespace_nodes


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > inspect

instance method REXML::Element#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > instructions

instance method REXML::Element#instructions

instructions


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > namespace

instance method REXML::Element#namespace

namespace


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > namespaces

instance method REXML::Element#namespaces

namespaces


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > next_element

instance method REXML::Element#next_element

next_element


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > node_type

instance method REXML::Element#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > prefixes

instance method REXML::Element#prefixes

prefixes


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > previous_element

instance method REXML::Element#previous_element

previous_element


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > raw

instance method REXML::Element#raw

raw


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > root

instance method REXML::Element#root

root


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > root_node

instance method REXML::Element#root_node

root_node


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > text

instance method REXML::Element#text

text(path = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > text=

instance method REXML::Element#text=

text=(text)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > texts

instance method REXML::Element#texts

texts


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > whitespace

instance method REXML::Element#whitespace

whitespace


instance method REXML::Element#write

write(writer = $stdout, indent = -1, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > xpath

instance method REXML::Element#xpath

xpath


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Element > new

singleton method REXML::Element.new

new(arg = UNDEFINED, parent = nil, context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ElementDecl > new

singleton method REXML::ElementDecl.new

new(src)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > <<

instance method REXML::Elements#<<

add(element = nil)
self << element = nil


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > []

instance method REXML::Elements#[]

self[index, name = nil]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > []=

instance method REXML::Elements#[]=

self[index] = element


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > collect

instance method REXML::Elements#collect

collect(xpath = nil) {|element| .. }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > delete

instance method REXML::Elements#delete

delete(element)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > delete_all

instance method REXML::Elements#delete_all

delete_all(xpath)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > each

instance method REXML::Elements#each

each(xpath = nil) {|element| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > empty?

instance method REXML::Elements#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > index

instance method REXML::Elements#index

index(element)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > inject

instance method REXML::Elements#inject

inject(xpath = nil, initial = nil) {|element| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > size

instance method REXML::Elements#size

size


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > to_a

instance method REXML::Elements#to_a

to_a(xpath = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Elements > new

singleton method REXML::Elements.new

new(parent)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > EUCTOU8

constant REXML::Encoding::EUCTOU8

EUCTOU8 [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > SJISTOU8

constant REXML::Encoding::SJISTOU8

SJISTOU8 [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > U8TOEUC

constant REXML::Encoding::U8TOEUC

U8TOEUC [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > U8TOSJIS

constant REXML::Encoding::U8TOSJIS

U8TOSJIS [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > UNILE

constant REXML::Encoding::UNILE

UNILE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > UTF_8

constant REXML::Encoding::UTF_8

UTF_8


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > UTF_16

constant REXML::Encoding::UTF_16

UTF_16


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > check_encoding

instance method REXML::Encoding#check_encoding

check_encoding(str)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode

instance method REXML::Encoding#decode

decode(str) [redefined by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_ascii

instance method REXML::Encoding#decode_ascii

decode_ascii(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_eucjp

instance method REXML::Encoding#decode_eucjp

decode_eucjp(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_iconv

instance method REXML::Encoding#decode_iconv

decode_iconv(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_sjis

instance method REXML::Encoding#decode_sjis

decode_sjis(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_unile

instance method REXML::Encoding#decode_unile

decode_unile(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_utf8

instance method REXML::Encoding#decode_utf8

decode_utf8(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > decode_utf16

instance method REXML::Encoding#decode_utf16

decode_utf16(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode

instance method REXML::Encoding#encode

encode(content) [redefined by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_ascii

instance method REXML::Encoding#encode_ascii

encode_ascii(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_eucjp

instance method REXML::Encoding#encode_eucjp

encode_eucjp(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_iconv

instance method REXML::Encoding#encode_iconv

encode_iconv(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_sjis

instance method REXML::Encoding#encode_sjis

encode_sjis(str) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_unile

instance method REXML::Encoding#encode_unile

encode_unile(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_utf8

instance method REXML::Encoding#encode_utf8

encode_utf8(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encode_utf16

instance method REXML::Encoding#encode_utf16

encode_utf16(content) [added by rexml]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encoding

instance method REXML::Encoding#encoding

encoding


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encoding=

instance method REXML::Encoding#encoding=

encoding=(euc)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > apply

singleton method REXML::Encoding.apply

apply(obj, enc)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > encoding_method

singleton method REXML::Encoding.encoding_method

encoding_method(enc)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Encoding > register

singleton method REXML::Encoding.register

register(enc) {|obj| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > ENTITYDECL

constant REXML::Entity::ENTITYDECL

ENTITYDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > ENTITYDEF

constant REXML::Entity::ENTITYDEF

ENTITYDEF


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > ENTITYVALUE

constant REXML::Entity::ENTITYVALUE

ENTITYVALUE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > EXTERNALID

constant REXML::Entity::EXTERNALID

EXTERNALID


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > GEDECL

constant REXML::Entity::GEDECL

GEDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > NDATADECL

constant REXML::Entity::NDATADECL

NDATADECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > PEDECL

constant REXML::Entity::PEDECL

PEDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > PEDEF

constant REXML::Entity::PEDEF

PEDEF


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > PEREFERENCE

constant REXML::Entity::PEREFERENCE

PEREFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > PEREFERENCE_RE

constant REXML::Entity::PEREFERENCE_RE

PEREFERENCE_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > PUBIDCHAR

constant REXML::Entity::PUBIDCHAR

PUBIDCHAR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > PUBIDLITERAL

constant REXML::Entity::PUBIDLITERAL

PUBIDLITERAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > SYSTEMLITERAL

constant REXML::Entity::SYSTEMLITERAL

SYSTEMLITERAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > external

instance method REXML::Entity#external

external


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > name

instance method REXML::Entity#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > ndata

instance method REXML::Entity#ndata

ndata


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > normalized

instance method REXML::Entity#normalized

normalized


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > pubid

instance method REXML::Entity#pubid

pubid


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > ref

instance method REXML::Entity#ref

ref


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > to_s

instance method REXML::Entity#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > unnormalized

instance method REXML::Entity#unnormalized

unnormalized


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > value

instance method REXML::Entity#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > write

instance method REXML::Entity#write

write(out, indent = -1)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Entity > matches?

singleton method REXML::Entity.matches?

matches?(string)


singleton method REXML::Entity.new

new(stream, value = nil, parent = nil, reference = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::EntityConst > AMP

constant REXML::EntityConst::AMP

AMP


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::EntityConst > APOS

constant REXML::EntityConst::APOS

APOS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::EntityConst > GT

constant REXML::EntityConst::GT

GT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::EntityConst > LT

constant REXML::EntityConst::LT

LT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::EntityConst > QUOT

constant REXML::EntityConst::QUOT

QUOT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ExternalEntity > to_s

instance method REXML::ExternalEntity#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ExternalEntity > write

instance method REXML::ExternalEntity#write

write(output, indent)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ExternalEntity > new

singleton method REXML::ExternalEntity.new

new(src)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > boolean

singleton method REXML::Functions.boolean

boolean(object = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > ceiling

singleton method REXML::Functions.ceiling

ceiling(number)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > compare_language

singleton method REXML::Functions.compare_language

compare_language(lang1, lang2)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > concat

singleton method REXML::Functions.concat

concat(*objects)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > contains

singleton method REXML::Functions.contains

contains(string, test)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > context=

singleton method REXML::Functions.context=

context=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > count

singleton method REXML::Functions.count

count(node_set)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > false

singleton method REXML::Functions.false

false


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > floor

singleton method REXML::Functions.floor

floor(number)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > get_namespace

singleton method REXML::Functions.get_namespace

get_namespace(node_set = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > id

singleton method REXML::Functions.id

id(object)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > lang

singleton method REXML::Functions.lang

lang(language)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > last

singleton method REXML::Functions.last

last


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > local_name

singleton method REXML::Functions.local_name

local_name(node_set = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > method_missing

singleton method REXML::Functions.method_missing

method_missing(id)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > name

singleton method REXML::Functions.name

name(node_set = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > namespace_context

singleton method REXML::Functions.namespace_context

namespace_context


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > namespace_context=

singleton method REXML::Functions.namespace_context=

namespace_context=(x)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > namespace_uri

singleton method REXML::Functions.namespace_uri

namespace_uri(node_set = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > normalize_space

singleton method REXML::Functions.normalize_space

normalize_space(string = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > not

singleton method REXML::Functions.not

not(object)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > number

singleton method REXML::Functions.number

number(object = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > position

singleton method REXML::Functions.position

position


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > processing_instruction

singleton method REXML::Functions.processing_instruction

processing_instruction(node)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > round

singleton method REXML::Functions.round

round(number)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > starts_with

singleton method REXML::Functions.starts_with

starts_with(string, test)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > string

singleton method REXML::Functions.string

string(object = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > string_length

singleton method REXML::Functions.string_length

string_length(string)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > string_value

singleton method REXML::Functions.string_value

string_value(o)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > substring

singleton method REXML::Functions.substring

substring(string, start, length = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > substring_after

singleton method REXML::Functions.substring_after

substring_after(string, test)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > substring_before

singleton method REXML::Functions.substring_before

substring_before(string, test)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > sum

singleton method REXML::Functions.sum

sum(nodes)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > text

singleton method REXML::Functions.text

text


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > translate

singleton method REXML::Functions.translate

translate(string, tr1, tr2)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > true

singleton method REXML::Functions.true

true


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > variables

singleton method REXML::Functions.variables

variables


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Functions > variables=

singleton method REXML::Functions.variables=

variables=(x)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > consume

instance method REXML::IOSource#consume

consume(pattern)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > current_line

instance method REXML::IOSource#current_line

current_line


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > empty?

instance method REXML::IOSource#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > match

instance method REXML::IOSource#match

match(pattern, cons = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > position

instance method REXML::IOSource#position

position


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > read

instance method REXML::IOSource#read

read


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > scan

instance method REXML::IOSource#scan

scan(pattern, cons = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::IOSource > new

singleton method REXML::IOSource.new

new(arg, block_size = 500)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > START

constant REXML::Instruction::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > STOP

constant REXML::Instruction::STOP

STOP


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > ==

instance method REXML::Instruction#==

self == other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > clone

instance method REXML::Instruction#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > content

instance method REXML::Instruction#content

content
content=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > inspect

instance method REXML::Instruction#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > node_type

instance method REXML::Instruction#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > target

instance method REXML::Instruction#target

target
target=(value)


instance method REXML::Instruction#write

write(writer, indent = -1, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Instruction > new

singleton method REXML::Instruction.new

new(target, content = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > NAMESPLIT

constant REXML::Light::Node::NAMESPLIT

NAMESPLIT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > PARENTS

constant REXML::Light::Node::PARENTS

PARENTS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > <<

instance method REXML::Light::Node#<<

self << element


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > =~

instance method REXML::Light::Node#=~

self =~ path


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > []

instance method REXML::Light::Node#[]

self[reference, ns = nil]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > []=

instance method REXML::Light::Node#[]=

self[reference, ns] = value = nil


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > children

instance method REXML::Light::Node#children

children


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > each

instance method REXML::Light::Node#each

each {|x| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > has_name?

instance method REXML::Light::Node#has_name?

has_name?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > local_name

instance method REXML::Light::Node#local_name

local_name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > local_name=

instance method REXML::Light::Node#local_name=

local_name=(name_str)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > name

instance method REXML::Light::Node#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > name=

instance method REXML::Light::Node#name=

name=(name_str, ns = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > namespace

instance method REXML::Light::Node#namespace

namespace(prefix = prefix())


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > namespace=

instance method REXML::Light::Node#namespace=

namespace=(namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > node_type

instance method REXML::Light::Node#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > parent

instance method REXML::Light::Node#parent

parent


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > parent=

instance method REXML::Light::Node#parent=

parent=(node)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > prefix

instance method REXML::Light::Node#prefix

prefix(namespace = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > root

instance method REXML::Light::Node#root

root


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > size

instance method REXML::Light::Node#size

size


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > text=

instance method REXML::Light::Node#text=

text=(foo)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > to_s

instance method REXML::Light::Node#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Light::Node > new

singleton method REXML::Light::Node.new

new(node = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > NAMESPLIT

constant REXML::Namespace::NAMESPLIT

NAMESPLIT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > expanded_name

instance method REXML::Namespace#expanded_name

expanded_name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > fully_expanded_name

instance method REXML::Namespace#fully_expanded_name

fully_expanded_name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > has_name?

instance method REXML::Namespace#has_name?

has_name?(other, ns = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > local_name

instance method REXML::Namespace#local_name

name
local_name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > name=

instance method REXML::Namespace#name=

name=(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Namespace > prefix

instance method REXML::Namespace#prefix

prefix
prefix=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > each_recursive

instance method REXML::Node#each_recursive

each_recursive {|node| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > find_first_recursive

instance method REXML::Node#find_first_recursive

find_first_recursive {|node| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > indent

instance method REXML::Node#indent

indent(to, ind)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > index_in_parent

instance method REXML::Node#index_in_parent

index_in_parent


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > next_sibling_node

instance method REXML::Node#next_sibling_node

next_sibling_node


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > parent?

instance method REXML::Node#parent?

parent?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > previous_sibling_node

instance method REXML::Node#previous_sibling_node

previous_sibling_node


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Node > to_s

instance method REXML::Node#to_s

to_s(indent = -1)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::NotationDecl > name

instance method REXML::NotationDecl#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::NotationDecl > public

instance method REXML::NotationDecl#public

public
public=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::NotationDecl > system

instance method REXML::NotationDecl#system

system
system=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::NotationDecl > to_s

instance method REXML::NotationDecl#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::NotationDecl > write

instance method REXML::NotationDecl#write

write(output, indent = -1)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::NotationDecl > new

singleton method REXML::NotationDecl.new

new(name, middle, pub, sys)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Output > <<

instance method REXML::Output#<<

self << content


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Output > encoding

instance method REXML::Output#encoding

encoding


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Output > to_s

instance method REXML::Output#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Output > new

singleton method REXML::Output.new

new(real_IO, encd = "iso-8859-1")


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > <<

instance method REXML::Parent#<<

add(object)
push(object)
self << object


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > []

instance method REXML::Parent#[]

self[index]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > []=

instance method REXML::Parent#[]=

self[] = *args


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > children

instance method REXML::Parent#children

to_a
children


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > deep_clone

instance method REXML::Parent#deep_clone

deep_clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > delete

instance method REXML::Parent#delete

delete(object)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > delete_at

instance method REXML::Parent#delete_at

delete_at(index)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > delete_if

instance method REXML::Parent#delete_if

delete_if {|object| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > each

instance method REXML::Parent#each

each {|object| ... }
each_child {|object| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > each_index

instance method REXML::Parent#each_index

each_index {|index| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > index

instance method REXML::Parent#index

index(child)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > insert_after

instance method REXML::Parent#insert_after

insert_after(child1, child2)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > insert_before

instance method REXML::Parent#insert_before

insert_before(child1, child2)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > length

instance method REXML::Parent#length

size
length


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > parent?

instance method REXML::Parent#parent?

parent?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > replace_child

instance method REXML::Parent#replace_child

replace_child(to_replace, replacement)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > unshift

instance method REXML::Parent#unshift

unshift(object)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parent > new

singleton method REXML::Parent.new

new(parent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > context

instance method REXML::ParseException#context

context


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > continued_exception

instance method REXML::ParseException#continued_exception

continued_exception
continued_exception=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > line

instance method REXML::ParseException#line

line


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > parser

instance method REXML::ParseException#parser

parser
parser=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > position

instance method REXML::ParseException#position

position


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > source

instance method REXML::ParseException#source

source
source=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::ParseException > to_s

instance method REXML::ParseException#to_s

to_s


singleton method REXML::ParseException.new

new(message source = nil, parser = nil, exception = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTDEF

constant REXML::Parsers::BaseParser::ATTDEF

ATTDEF


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTDEF_RE

constant REXML::Parsers::BaseParser::ATTDEF_RE

ATTDEF_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTLISTDECL_PATTERN

constant REXML::Parsers::BaseParser::ATTLISTDECL_PATTERN

ATTLISTDECL_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTLISTDECL_START

constant REXML::Parsers::BaseParser::ATTLISTDECL_START

ATTLISTDECL_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTRIBUTE_PATTERN

constant REXML::Parsers::BaseParser::ATTRIBUTE_PATTERN

ATTRIBUTE_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTTYPE

constant REXML::Parsers::BaseParser::ATTTYPE

ATTTYPE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ATTVALUE

constant REXML::Parsers::BaseParser::ATTVALUE

ATTVALUE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > CDATA_END

constant REXML::Parsers::BaseParser::CDATA_END

CDATA_END


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > CDATA_PATTERN

constant REXML::Parsers::BaseParser::CDATA_PATTERN

CDATA_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > CDATA_START

constant REXML::Parsers::BaseParser::CDATA_START

CDATA_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > CLOSE_MATCH

constant REXML::Parsers::BaseParser::CLOSE_MATCH

CLOSE_MATCH


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > COMMENT_PATTERN

constant REXML::Parsers::BaseParser::COMMENT_PATTERN

COMMENT_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > COMMENT_START

constant REXML::Parsers::BaseParser::COMMENT_START

COMMENT_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > DEFAULTDECL

constant REXML::Parsers::BaseParser::DEFAULTDECL

DEFAULTDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > DEFAULT_ENTITIES

constant REXML::Parsers::BaseParser::DEFAULT_ENTITIES

DEFAULT_ENTITIES


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > DOCTYPE_PATTERN

constant REXML::Parsers::BaseParser::DOCTYPE_PATTERN

DOCTYPE_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > DOCTYPE_START

constant REXML::Parsers::BaseParser::DOCTYPE_START

DOCTYPE_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ELEMENTDECL_PATTERN

constant REXML::Parsers::BaseParser::ELEMENTDECL_PATTERN

ELEMENTDECL_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ELEMENTDECL_START

constant REXML::Parsers::BaseParser::ELEMENTDECL_START

ELEMENTDECL_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENCODING

constant REXML::Parsers::BaseParser::ENCODING

ENCODING


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENTITYDECL

constant REXML::Parsers::BaseParser::ENTITYDECL

ENTITYDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENTITYDEF

constant REXML::Parsers::BaseParser::ENTITYDEF

ENTITYDEF


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENTITYVALUE

constant REXML::Parsers::BaseParser::ENTITYVALUE

ENTITYVALUE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENTITY_START

constant REXML::Parsers::BaseParser::ENTITY_START

ENTITY_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENUMERATEDTYPE

constant REXML::Parsers::BaseParser::ENUMERATEDTYPE

ENUMERATEDTYPE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > ENUMERATION

constant REXML::Parsers::BaseParser::ENUMERATION

ENUMERATION


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > EREFERENCE

constant REXML::Parsers::BaseParser::EREFERENCE

EREFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > EXTERNALID

constant REXML::Parsers::BaseParser::EXTERNALID

EXTERNALID


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > GEDECL

constant REXML::Parsers::BaseParser::GEDECL

GEDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > IDENTITY

constant REXML::Parsers::BaseParser::IDENTITY

IDENTITY


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > INSTRUCTION_PATTERN

constant REXML::Parsers::BaseParser::INSTRUCTION_PATTERN

INSTRUCTION_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > INSTRUCTION_START

constant REXML::Parsers::BaseParser::INSTRUCTION_START

INSTRUCTION_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > MISSING_ATTRIBUTE_QUOTES

constant REXML::Parsers::BaseParser::MISSING_ATTRIBUTE_QUOTES

MISSING_ATTRIBUTE_QUOTES


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NAME

constant REXML::Parsers::BaseParser::NAME

NAME


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NAMECHAR

constant REXML::Parsers::BaseParser::NAMECHAR

NAMECHAR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NAME_STR

constant REXML::Parsers::BaseParser::NAME_STR

NAME_STR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NCNAME_STR

constant REXML::Parsers::BaseParser::NCNAME_STR

NCNAME_STR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NDATADECL

constant REXML::Parsers::BaseParser::NDATADECL

NDATADECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NMTOKEN

constant REXML::Parsers::BaseParser::NMTOKEN

NMTOKEN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NMTOKENS

constant REXML::Parsers::BaseParser::NMTOKENS

NMTOKENS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NOTATIONDECL_START

constant REXML::Parsers::BaseParser::NOTATIONDECL_START

NOTATIONDECL_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > NOTATIONTYPE

constant REXML::Parsers::BaseParser::NOTATIONTYPE

NOTATIONTYPE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > PEDECL

constant REXML::Parsers::BaseParser::PEDECL

PEDECL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > PEDEF

constant REXML::Parsers::BaseParser::PEDEF

PEDEF


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > PEREFERENCE

constant REXML::Parsers::BaseParser::PEREFERENCE

PEREFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > PUBIDCHAR

constant REXML::Parsers::BaseParser::PUBIDCHAR

PUBIDCHAR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > PUBIDLITERAL

constant REXML::Parsers::BaseParser::PUBIDLITERAL

PUBIDLITERAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > PUBLIC

constant REXML::Parsers::BaseParser::PUBLIC

PUBLIC


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > REFERENCE

constant REXML::Parsers::BaseParser::REFERENCE

REFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > REFERENCE_RE

constant REXML::Parsers::BaseParser::REFERENCE_RE

REFERENCE_RE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > STANDALONE

constant REXML::Parsers::BaseParser::STANDALONE

STANDALONE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > SYSTEM

constant REXML::Parsers::BaseParser::SYSTEM

SYSTEM


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > SYSTEMENTITY

constant REXML::Parsers::BaseParser::SYSTEMENTITY

SYSTEMENTITY


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > SYSTEMLITERAL

constant REXML::Parsers::BaseParser::SYSTEMLITERAL

SYSTEMLITERAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > TAG_MATCH

constant REXML::Parsers::BaseParser::TAG_MATCH

TAG_MATCH


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > TEXT_PATTERN

constant REXML::Parsers::BaseParser::TEXT_PATTERN

TEXT_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > VERSION

constant REXML::Parsers::BaseParser::VERSION

VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > XMLDECL_PATTERN

constant REXML::Parsers::BaseParser::XMLDECL_PATTERN

XMLDECL_PATTERN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > XMLDECL_START

constant REXML::Parsers::BaseParser::XMLDECL_START

XMLDECL_START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > add_listener

instance method REXML::Parsers::BaseParser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > empty?

instance method REXML::Parsers::BaseParser#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > entity

instance method REXML::Parsers::BaseParser#entity

entity(reference, entities)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > has_next?

instance method REXML::Parsers::BaseParser#has_next?

has_next?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > normalize

instance method REXML::Parsers::BaseParser#normalize

normalize(input, entities = nil, entity_filter = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > peek

instance method REXML::Parsers::BaseParser#peek

peek(depth = 0)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > position

instance method REXML::Parsers::BaseParser#position

position


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > pull

instance method REXML::Parsers::BaseParser#pull

pull


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > source

instance method REXML::Parsers::BaseParser#source

source


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > stream=

instance method REXML::Parsers::BaseParser#stream=

stream=(source)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > unnormalize

instance method REXML::Parsers::BaseParser#unnormalize

unnormalize(string, entities = nil, filter = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > unshift

instance method REXML::Parsers::BaseParser#unshift

unshift(token)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::BaseParser > new

singleton method REXML::Parsers::BaseParser.new

new(source)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::LightParser > add_listener

instance method REXML::Parsers::LightParser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::LightParser > parse

instance method REXML::Parsers::LightParser#parse

parse

require forwardable


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::LightParser > rewind

instance method REXML::Parsers::LightParser#rewind

rewind


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::LightParser > new

singleton method REXML::Parsers::LightParser.new

new(stream)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > []

instance method REXML::Parsers::PullEvent#[]

self[start, endd = nil]


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > attlistdecl?

instance method REXML::Parsers::PullEvent#attlistdecl?

attlistdecl?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > cdata?

instance method REXML::Parsers::PullEvent#cdata?

cdata?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > comment?

instance method REXML::Parsers::PullEvent#comment?

comment?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > doctype?

instance method REXML::Parsers::PullEvent#doctype?

doctype?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > elementdecl?

instance method REXML::Parsers::PullEvent#elementdecl?

elementdecl?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > end_element?

instance method REXML::Parsers::PullEvent#end_element?

end_element?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > entity?

instance method REXML::Parsers::PullEvent#entity?

entity?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > entitydecl?

instance method REXML::Parsers::PullEvent#entitydecl?

entitydecl?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > error?

instance method REXML::Parsers::PullEvent#error?

error?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > event_type

instance method REXML::Parsers::PullEvent#event_type

event_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > inspect

instance method REXML::Parsers::PullEvent#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > instruction?

instance method REXML::Parsers::PullEvent#instruction?

instruction?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > notationdecl?

instance method REXML::Parsers::PullEvent#notationdecl?

notationdecl?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > start_element?

instance method REXML::Parsers::PullEvent#start_element?

start_element?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > text?

instance method REXML::Parsers::PullEvent#text?

text?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > xmldecl?

instance method REXML::Parsers::PullEvent#xmldecl?

xmldecl?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullEvent > new

singleton method REXML::Parsers::PullEvent.new

new(arg)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > add_listener

instance method REXML::Parsers::PullParser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > each

instance method REXML::Parsers::PullParser#each

each {|event| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > empty?

instance method REXML::Parsers::PullParser#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > entity

instance method REXML::Parsers::PullParser#entity

entity


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > has_next?

instance method REXML::Parsers::PullParser#has_next?

has_next?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > peek

instance method REXML::Parsers::PullParser#peek

peek(depth = 0)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > pull

instance method REXML::Parsers::PullParser#pull

pull


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > source

instance method REXML::Parsers::PullParser#source

source


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > unshift

instance method REXML::Parsers::PullParser#unshift

unshift


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::PullParser > new

singleton method REXML::Parsers::PullParser.new

new(stream)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::SAX2Parser > add_listener

instance method REXML::Parsers::SAX2Parser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::SAX2Parser > deafen

instance method REXML::Parsers::SAX2Parser#deafen

deafen(listener)
deafen { ... }


instance method REXML::Parsers::SAX2Parser#listen

listen(sym, ary) { ... }
listen(sym) { ... }
listen(ary, listener)
listen(ary) { ... }
listen(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::SAX2Parser > parse

instance method REXML::Parsers::SAX2Parser#parse

parse


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::SAX2Parser > source

instance method REXML::Parsers::SAX2Parser#source

source


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::SAX2Parser > new

singleton method REXML::Parsers::SAX2Parser.new

new(source)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::StreamParser > add_listener

instance method REXML::Parsers::StreamParser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::StreamParser > parse

instance method REXML::Parsers::StreamParser#parse

parse


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::StreamParser > new

singleton method REXML::Parsers::StreamParser.new

new(source, listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::TreeParser > add_listener

instance method REXML::Parsers::TreeParser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::TreeParser > parse

instance method REXML::Parsers::TreeParser#parse

parse


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::TreeParser > new

singleton method REXML::Parsers::TreeParser.new

new(source, build_context = REXML::Document.new)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::UltraLightParser > add_listener

instance method REXML::Parsers::UltraLightParser#add_listener

add_listener(listener)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::UltraLightParser > parse

instance method REXML::Parsers::UltraLightParser#parse

parse


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::UltraLightParser > rewind

instance method REXML::Parsers::UltraLightParser#rewind

rewind


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::UltraLightParser > new

singleton method REXML::Parsers::UltraLightParser.new

new(stream)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > AXIS

constant REXML::Parsers::XPathParser::AXIS

AXIS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > LITERAL

constant REXML::Parsers::XPathParser::LITERAL

LITERAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > NCNAMETEST

constant REXML::Parsers::XPathParser::NCNAMETEST

NCNAMETEST


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > NODE_TYPE

constant REXML::Parsers::XPathParser::NODE_TYPE

NODE_TYPE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > NT

constant REXML::Parsers::XPathParser::NT

NT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > NUMBER

constant REXML::Parsers::XPathParser::NUMBER

NUMBER


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > PI

constant REXML::Parsers::XPathParser::PI

PI


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > QNAME

constant REXML::Parsers::XPathParser::QNAME

QNAME


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > VARIABLE_REFERENCE

constant REXML::Parsers::XPathParser::VARIABLE_REFERENCE

VARIABLE_REFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > abbreviate

instance method REXML::Parsers::XPathParser#abbreviate

abbreviate(path)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > expand

instance method REXML::Parsers::XPathParser#expand

expand(path)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > namespaces=

instance method REXML::Parsers::XPathParser#namespaces=

namespaces=(namespaces)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > parse

instance method REXML::Parsers::XPathParser#parse

parse(path)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > predicate

instance method REXML::Parsers::XPathParser#predicate

predicate(path)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Parsers::XPathParser > predicate_to_string

instance method REXML::Parsers::XPathParser#predicate_to_string

predicate_to_string(path) {|path| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > EMPTY_HASH

constant REXML::QuickPath::EMPTY_HASH

EMPTY_HASH


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > attribute

singleton method REXML::QuickPath.attribute

attribute(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > axe

singleton method REXML::QuickPath.axe

axe(elements, axe_name, rest)


singleton method REXML::QuickPath.each

each(element, path, namespaces = EMPTY_HASH) {|element| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > filter

singleton method REXML::QuickPath.filter

filter(elements, path)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > first

singleton method REXML::QuickPath.first

first(element, path, namespaces = EMPTY_HASH)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > function

singleton method REXML::QuickPath.function

function(elements, fname, rest)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > match

singleton method REXML::QuickPath.match

match(element, path, namespaces = EMPTY_HASH)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > method_missing

singleton method REXML::QuickPath.method_missing

method_missing(id, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > name

singleton method REXML::QuickPath.name

name


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > parse_args

singleton method REXML::QuickPath.parse_args

parse_args(element, string)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::QuickPath > predicate

singleton method REXML::QuickPath.predicate

predicate(elements, path)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > attlistdecl

instance method REXML::SAX2Listener#attlistdecl

attlistdecl(element, pairs, contents)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > cdata

instance method REXML::SAX2Listener#cdata

cdata(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > characters

instance method REXML::SAX2Listener#characters

characters(text)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > comment

instance method REXML::SAX2Listener#comment

comment(comment)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > doctype

instance method REXML::SAX2Listener#doctype

doctype(name, pub_sys, long_name, uri)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > elementdecl

instance method REXML::SAX2Listener#elementdecl

elementdecl(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > end_document

instance method REXML::SAX2Listener#end_document

end_document


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > end_element

instance method REXML::SAX2Listener#end_element

end_element(uri, localname, qname)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > end_prefix_mapping

instance method REXML::SAX2Listener#end_prefix_mapping

end_prefix_mapping(prefix)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > entitydecl

instance method REXML::SAX2Listener#entitydecl

entitydecl(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > notationdecl

instance method REXML::SAX2Listener#notationdecl

notationdecl(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > processing_instruction

instance method REXML::SAX2Listener#processing_instruction

processing_instruction(target, data)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > progress

instance method REXML::SAX2Listener#progress

progress(position)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > start_document

instance method REXML::SAX2Listener#start_document

start_document


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > start_element

instance method REXML::SAX2Listener#start_element

start_element(uri, localname, qname, attributes)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > start_prefix_mapping

instance method REXML::SAX2Listener#start_prefix_mapping

start_prefix_mapping(prefix, uri)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::SAX2Listener > xmldecl

instance method REXML::SAX2Listener#xmldecl

xmldecl(version, encoding, standalone)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > buffer

instance method REXML::Source#buffer

buffer


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > consume

instance method REXML::Source#consume

consume(pattern)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > current_line

instance method REXML::Source#current_line

current_line


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > empty?

instance method REXML::Source#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > encoding

instance method REXML::Source#encoding

encoding


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > encoding=

instance method REXML::Source#encoding=

encoding=(enc)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > line

instance method REXML::Source#line

line


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > match

instance method REXML::Source#match

match(pattern, cons = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > match_to

instance method REXML::Source#match_to

match_to(char, pattern)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > match_to_consume

instance method REXML::Source#match_to_consume

match_to_consume(char, pattern)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > position

instance method REXML::Source#position

position


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > read

instance method REXML::Source#read

read


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > scan

instance method REXML::Source#scan

scan(pattern, cons = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Source > new

singleton method REXML::Source.new

new(arg)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::SourceFactory > create_from

singleton method REXML::SourceFactory.create_from

create_from(arg)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > attlistdecl

instance method REXML::StreamListener#attlistdecl

attlistdecl(element_name, attributes, raw_content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > cdata

instance method REXML::StreamListener#cdata

cdata(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > comment

instance method REXML::StreamListener#comment

comment(comment)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > doctype

instance method REXML::StreamListener#doctype

doctype(name, pub_sys, long_name, uri)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > doctype_end

instance method REXML::StreamListener#doctype_end

doctype_end


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > elementdecl

instance method REXML::StreamListener#elementdecl

elementdecl(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > entity

instance method REXML::StreamListener#entity

entity(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > entitydecl

instance method REXML::StreamListener#entitydecl

entitydecl(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > instruction

instance method REXML::StreamListener#instruction

instruction(name, instruction)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > notationdecl

instance method REXML::StreamListener#notationdecl

notationdecl(content)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > tag_end

instance method REXML::StreamListener#tag_end

tag_end(name)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > tag_start

instance method REXML::StreamListener#tag_start

tag_start(name, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > text

instance method REXML::StreamListener#text

text(text)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::StreamListener > xmldecl

instance method REXML::StreamListener#xmldecl

xmldecl(version, encoding, standalone)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::SyncEnumerator > each

instance method REXML::SyncEnumerator#each

each {|*objects| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::SyncEnumerator > length

instance method REXML::SyncEnumerator#length

size
length


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::SyncEnumerator > new

singleton method REXML::SyncEnumerator.new

new(*enums)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > EREFERENCE

constant REXML::Text::EREFERENCE

EREFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > ILLEGAL

constant REXML::Text::ILLEGAL

ILLEGAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > NUMERICENTITY

constant REXML::Text::NUMERICENTITY

NUMERICENTITY


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > REFERENCE

constant REXML::Text::REFERENCE

REFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > SETUTITSBUS

constant REXML::Text::SETUTITSBUS

SETUTITSBUS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > SLAICEPS

constant REXML::Text::SLAICEPS

SLAICEPS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > SPECIALS

constant REXML::Text::SPECIALS

SPECIALS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > SUBSTITUTES

constant REXML::Text::SUBSTITUTES

SUBSTITUTES


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > <<

instance method REXML::Text#<<

self << to_append


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > <=>

instance method REXML::Text#<=>

self <=> other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > clone

instance method REXML::Text#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > empty?

instance method REXML::Text#empty?

empty?


instance method REXML::Text#indent_text

indent_text(string, level = 1, style = "\t", indentfirstline = true)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > inspect

instance method REXML::Text#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > node_type

instance method REXML::Text#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > raw

instance method REXML::Text#raw

raw
raw=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > to_s

instance method REXML::Text#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > value

instance method REXML::Text#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > value=

instance method REXML::Text#value=

value=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > wrap

instance method REXML::Text#wrap

wrap(string, width, addnewline = false)


instance method REXML::Text#write

write(writer, indent = -1, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > write_with_substitution

instance method REXML::Text#write_with_substitution

write_with_substitution(out, input)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > xpath

instance method REXML::Text#xpath

xpath


singleton method REXML::Text.new

new(arg, respect_whitespace = false, parent = nil, raw = nil, entity_filter = nil, illegal = REXML::Text::ILLEGAL)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > normalize

singleton method REXML::Text.normalize

normalize(input, doctype = nil, entity_filter = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Text > read_with_substitution

singleton method REXML::Text.read_with_substitution

read_with_substitution(input, illegal = nil)


singleton method REXML::Text.unnormalize

unnormalize(string, doctype = nil, filter = nil, illegal = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > <<

instance method REXML::Validation::Choice#<<

self << event


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > add_event_to_arry (protected)

instance method REXML::Validation::Choice#add_event_to_arry

add_event_to_arry(arry, evt)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > expected

instance method REXML::Validation::Choice#expected

expected


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > inspect

instance method REXML::Validation::Choice#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > matches?

instance method REXML::Validation::Choice#matches?

matches?(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > next

instance method REXML::Validation::Choice#next

next(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > reset

instance method REXML::Validation::Choice#reset

reset


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Choice > new

singleton method REXML::Validation::Choice.new

new(context)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > ==

instance method REXML::Validation::Event#==

self == other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > done?

instance method REXML::Validation::Event#done?

done?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > event_arg

instance method REXML::Validation::Event#event_arg

event_arg
event_arg=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > event_type

instance method REXML::Validation::Event#event_type

event_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > inspect

instance method REXML::Validation::Event#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > matches?

instance method REXML::Validation::Event#matches?

matches?(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > single?

instance method REXML::Validation::Event#single?

single?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > to_s

instance method REXML::Validation::Event#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Event > new

singleton method REXML::Validation::Event.new

new(event_type, event_arg = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > expected

instance method REXML::Validation::Interleave#expected

expected


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > inspect

instance method REXML::Validation::Interleave#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > matches?

instance method REXML::Validation::Interleave#matches?

matches?(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > next

instance method REXML::Validation::Interleave#next

next(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > next_current

instance method REXML::Validation::Interleave#next_current

next_current(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > reset

instance method REXML::Validation::Interleave#reset

reset


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Interleave > new

singleton method REXML::Validation::Interleave.new

new(context)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::OneOrMore > expected

instance method REXML::Validation::OneOrMore#expected

expected


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::OneOrMore > matches?

instance method REXML::Validation::OneOrMore#matches?

matches?(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::OneOrMore > next

instance method REXML::Validation::OneOrMore#next

next(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::OneOrMore > reset

instance method REXML::Validation::OneOrMore#reset

reset


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::OneOrMore > new

singleton method REXML::Validation::OneOrMore.new

new(context)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Optional > expected

instance method REXML::Validation::Optional#expected

expected


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Optional > matches?

instance method REXML::Validation::Optional#matches?

matches?(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Optional > next

instance method REXML::Validation::Optional#next

next(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Ref > inspect

instance method REXML::Validation::Ref#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Ref > to_s

instance method REXML::Validation::Ref#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Ref > new

singleton method REXML::Validation::Ref.new

new(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > EMPTY

constant REXML::Validation::RelaxNG::EMPTY

EMPTY


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > INFINITY

constant REXML::Validation::RelaxNG::INFINITY

INFINITY


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > TEXT

constant REXML::Validation::RelaxNG::TEXT

TEXT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > count

instance method REXML::Validation::RelaxNG#count

count
count=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > current

instance method REXML::Validation::RelaxNG#current

current
current=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > receive

instance method REXML::Validation::RelaxNG#receive

receive(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > references

instance method REXML::Validation::RelaxNG#references

references


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::RelaxNG > new

singleton method REXML::Validation::RelaxNG.new

new(source)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::Sequence > matches?

instance method REXML::Validation::Sequence#matches?

matches?(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > <<

instance method REXML::Validation::State#<<

self << event


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > add_event_to_arry (protected)

instance method REXML::Validation::State#add_event_to_arry

add_event_to_arry(arry, evt)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > expand_ref_in (protected)

instance method REXML::Validation::State#expand_ref_in

expand_ref_in(arry, ind)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > expected

instance method REXML::Validation::State#expected

expected


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > generate_event (protected)

instance method REXML::Validation::State#generate_event

generate_event(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > inspect

instance method REXML::Validation::State#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > next

instance method REXML::Validation::State#next

next(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > previous=

instance method REXML::Validation::State#previous=

previous=(previous)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > reset

instance method REXML::Validation::State#reset

reset


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > to_s

instance method REXML::Validation::State#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::State > new

singleton method REXML::Validation::State.new

new(context)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::ValidationException > new

singleton method REXML::Validation::ValidationException.new

new(msg)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Validation::Validator > NILEVENT

constant REXML::Validation::Validator::NILEVENT

NILEVENT


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Validation::Validator > dump

instance method REXML::Validation::Validator#dump

dump


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Validation::Validator > reset

instance method REXML::Validation::Validator#reset

reset


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::Validation::Validator > validate

instance method REXML::Validation::Validator#validate

validate(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::ZeroOrMore > expected

instance method REXML::Validation::ZeroOrMore#expected

expected


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::Validation::ZeroOrMore > next

instance method REXML::Validation::ZeroOrMore#next

next(event)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > DEFAULT_ENCODING

constant REXML::XMLDecl::DEFAULT_ENCODING

DEFAULT_ENCODING


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > DEFAULT_STANDALONE

constant REXML::XMLDecl::DEFAULT_STANDALONE

DEFAULT_STANDALONE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > DEFAULT_VERSION

constant REXML::XMLDecl::DEFAULT_VERSION

DEFAULT_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > START

constant REXML::XMLDecl::START

START


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > STOP

constant REXML::XMLDecl::STOP

STOP


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > ==

instance method REXML::XMLDecl#==

self == other


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > clone

instance method REXML::XMLDecl#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > dowrite

instance method REXML::XMLDecl#dowrite

dowrite


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > encoding=

instance method REXML::XMLDecl#encoding=

encoding=(enc)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > inspect

instance method REXML::XMLDecl#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > node_type

instance method REXML::XMLDecl#node_type

node_type


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > nowrite

instance method REXML::XMLDecl#nowrite

nowrite


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > old_enc=

instance method REXML::XMLDecl#old_enc=

old_enc=(enc)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > stand_alone?

instance method REXML::XMLDecl#stand_alone?

standalone
standalone=(value)
stand_alone?


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > version

instance method REXML::XMLDecl#version

version
version=(value)


instance method REXML::XMLDecl#write

write(writer, indent = -1, transitive = false, ie_hack = false)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > writeencoding

instance method REXML::XMLDecl#writeencoding

writeencoding


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > xmldecl

instance method REXML::XMLDecl#xmldecl

xmldecl(version, encoding, standalone)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XMLDecl > default

singleton method REXML::XMLDecl.default

default


singleton method REXML::XMLDecl.new

new(version = REXML::XMLDecl::DEFAULT_VERSION, encoding = nil, standalone = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > NAME

constant REXML::XMLTokens::NAME

NAME


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > NAMECHAR

constant REXML::XMLTokens::NAMECHAR

NAMECHAR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > NAME_STR

constant REXML::XMLTokens::NAME_STR

NAME_STR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > NCNAME_STR

constant REXML::XMLTokens::NCNAME_STR

NCNAME_STR


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > NMTOKEN

constant REXML::XMLTokens::NMTOKEN

NMTOKEN


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > NMTOKENS

constant REXML::XMLTokens::NMTOKENS

NMTOKENS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > module REXML::XMLTokens > REFERENCE

constant REXML::XMLTokens::REFERENCE

REFERENCE


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPath > EMPTY_HASH

constant REXML::XPath::EMPTY_HASH

EMPTY_HASH


singleton method REXML::XPath.each

each(element, path = nil, namespaces = {}, variables = {}) {|e| ... }


singleton method REXML::XPath.first

first(element, path = nil, namespaces = {}, variables = {})


singleton method REXML::XPath.match

match(element, path = nil, namespaces = {}, variables = {})


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > ALL

constant REXML::XPathParser::ALL

ALL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > ELEMENTS

constant REXML::XPathParser::ELEMENTS

ELEMENTS


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > LITERAL

constant REXML::XPathParser::LITERAL

LITERAL


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > []=

instance method REXML::XPathParser#[]=

self[variable_name] = value


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > first

instance method REXML::XPathParser#first

first(path_stack, node)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > get_first

instance method REXML::XPathParser#get_first

get_first(path, nodeset)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > match

instance method REXML::XPathParser#match

match(path_stack, nodeset)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > namespaces=

instance method REXML::XPathParser#namespaces=

namespaces=(namespaces = {})


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > parse

instance method REXML::XPathParser#parse

parse(path, nodeset)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > predicate

instance method REXML::XPathParser#predicate

predicate(path, nodeset)


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > variables=

instance method REXML::XPathParser#variables=

variables=(vars = {})


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class REXML::XPathParser > new

singleton method REXML::XPathParser.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::BaseTrackBackModel > trackback_about

instance method RSS::BaseTrackBackModel#trackback_about

trackback_about
trackback_about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::BaseTrackBackModel > trackback_abouts

instance method RSS::BaseTrackBackModel#trackback_abouts

trackback_abouts


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::BaseTrackBackModel > trackback_ping

instance method RSS::BaseTrackBackModel#trackback_ping

trackback_ping
trackback_ping=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::ContentModel > content_encoded

instance method RSS::ContentModel#content_encoded

content_encoded
content_encoded=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Element > full_name

instance method RSS::Element#full_name

full_name


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Element > tag_name

instance method RSS::Element#tag_name

tag_name


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::ImageFaviconModel > image_favicon

instance method RSS::ImageFaviconModel#image_favicon

image_favicon
image_favicon=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageFaviconModel::ImageFavicon > about

instance method RSS::ImageFaviconModel::ImageFavicon#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageFaviconModel::ImageFavicon > date

instance method RSS::ImageFaviconModel::ImageFavicon#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageFaviconModel::ImageFavicon > image_size

instance method RSS::ImageFaviconModel::ImageFavicon#image_size

image_size
size
image_size=
size=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::ImageItemModel > image_item

instance method RSS::ImageItemModel#image_item

image_item
image_item=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageItemModel::ImageItem > about

instance method RSS::ImageItemModel::ImageItem#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageItemModel::ImageItem > date

instance method RSS::ImageItemModel::ImageItem#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageItemModel::ImageItem > height

instance method RSS::ImageItemModel::ImageItem#height

image_height
image_height=
height
height=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageItemModel::ImageItem > image_width

instance method RSS::ImageItemModel::ImageItem#image_width

image_width
image_width=
width
width=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::ImageItemModel::ImageItem > resource

instance method RSS::ImageItemModel::ImageItem#resource

resource
resource=


singleton method RSS::Maker.make

make(version, &block)

versionには"1.0"または"0.9"または "0.91"または"2.0"を指定します．"0.9" と"0.91"は同じであることに注意してください．

blockを実行したあとのmakerオブジェクトから RSSオブジェクトを生成して返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > about

instance method RSS::Maker::ChannelBase#about

about
about=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > categories

instance method RSS::Maker::ChannelBase#categories

categories

categoriesを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > cloud

instance method RSS::Maker::ChannelBase#cloud

cloud

cloudを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > copyright

instance method RSS::Maker::ChannelBase#copyright

copyright
copyright=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > date

instance method RSS::Maker::ChannelBase#date

date
date=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > description

instance method RSS::Maker::ChannelBase#description

description
description=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > docs

instance method RSS::Maker::ChannelBase#docs

docs
docs=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > generator

instance method RSS::Maker::ChannelBase#generator

generator
generator=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > language

instance method RSS::Maker::ChannelBase#language

language
language=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > lastBuildDate

instance method RSS::Maker::ChannelBase#lastBuildDate

lastBuildDate
lastBuildDate=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > link

instance method RSS::Maker::ChannelBase#link

link
link=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > managingEditor

instance method RSS::Maker::ChannelBase#managingEditor

managingEditor
managingEditor=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > pubDate

instance method RSS::Maker::ChannelBase#pubDate

pubDate

maker.channel.dateの別名です．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > pubDate=

instance method RSS::Maker::ChannelBase#pubDate=

pubDate=()

maker.channel.date=の別名です．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > rating

instance method RSS::Maker::ChannelBase#rating

rating
rating=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > skipDays

instance method RSS::Maker::ChannelBase#skipDays

skipDays

skipDaysを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > skipHours

instance method RSS::Maker::ChannelBase#skipHours

skipHours

skipHoursを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > title

instance method RSS::Maker::ChannelBase#title

title
title=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > ttl

instance method RSS::Maker::ChannelBase#ttl

ttl
ttl=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase > webMaster

instance method RSS::Maker::ChannelBase#webMaster

webMaster
webMaster=()


instance method RSS::Maker::ChannelBase::CategoriesBase#new_category

new_category

新しくcategoryを作成し，返します．作成された categoryはcategoryリストの最後 に追加されています．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase::CategoriesBase::CategoryBase > content

instance method RSS::Maker::ChannelBase::CategoriesBase::CategoryBase#content

content
content=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase::CategoriesBase::CategoryBase > domain

instance method RSS::Maker::ChannelBase::CategoriesBase::CategoryBase#domain

domain
domain=()


instance method RSS::Maker::ChannelBase::SkipDaysBase#new_day

new_day

新しくdayを作成し，返します．作成された dayはdayリストの最後 に追加されています．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase::SkipDaysBase::DayBase > content

instance method RSS::Maker::ChannelBase::SkipDaysBase::DayBase#content

content
content=()


instance method RSS::Maker::ChannelBase::SkipHoursBase#new_hour

new_hour

新しくhourを作成し，返します．作成された hourはhourリストの最後 に追加されています．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ChannelBase::SkipHoursBase::HourBase > content

instance method RSS::Maker::ChannelBase::SkipHoursBase::HourBase#content

content
content=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ImageBase > description

instance method RSS::Maker::ImageBase#description

description
description=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ImageBase > height

instance method RSS::Maker::ImageBase#height

height
height=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ImageBase > title

instance method RSS::Maker::ImageBase#title

title
title=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ImageBase > url

instance method RSS::Maker::ImageBase#url

url
url=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ImageBase > width

instance method RSS::Maker::ImageBase#width

width
width=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase > do_sort

instance method RSS::Maker::ItemsBase#do_sort

do_sort

現在のdo_sortの値を取得します．デフォルトでは falseになっています．


instance method RSS::Maker::ItemsBase#do_sort=

do_sort=()

trueに設定するとitem.dateが新しい順に並び替 えます．Procオブジェクトを指定することにより並び 替え方法をカスタマイズすることができます．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase > max_size

instance method RSS::Maker::ItemsBase#max_size

max_size

現在のmax_sizeの値を取得します．デフォルトでは -1になっています．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase > max_size=

instance method RSS::Maker::ItemsBase#max_size=

max_size=()

出力するitemの数の最大値を設定します．


instance method RSS::Maker::ItemsBase#new_item

new_item

新しくitemを作成し，返します．作成された itemはitemリストの最後に追加されています．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > author

instance method RSS::Maker::ItemsBase::ItemBase#author

author
author=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > categories

instance method RSS::Maker::ItemsBase::ItemBase#categories

guid
enclosure
source
categories


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > comments

instance method RSS::Maker::ItemsBase::ItemBase#comments

comments
comments=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > date

instance method RSS::Maker::ItemsBase::ItemBase#date

date
date=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > description

instance method RSS::Maker::ItemsBase::ItemBase#description

description
description=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > link

instance method RSS::Maker::ItemsBase::ItemBase#link

link
link=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > pubDate

instance method RSS::Maker::ItemsBase::ItemBase#pubDate

pubDate

item.dateの別名です．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > pubDate=

instance method RSS::Maker::ItemsBase::ItemBase#pubDate=

pubDate=()

item.date=の別名です．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::ItemsBase::ItemBase > title

instance method RSS::Maker::ItemsBase::ItemBase#title

title
title=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > channel

instance method RSS::Maker::RSSBase#channel

channel

channel要素を生成するオブジェクトを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > encoding

instance method RSS::Maker::RSSBase#encoding

encoding

作成するXMLのエンコーディングを返します．デフォルトは UTF-8です．


instance method RSS::Maker::RSSBase#encoding=

encoding=()

作成するXMLのエンコーディングを設定します．maker に設定する際のエンコーディングはここで指定したものにす る必要があります．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > image

instance method RSS::Maker::RSSBase#image

image

image要素を生成するオブジェクトを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > items

instance method RSS::Maker::RSSBase#items

items

item要素を生成するオブジェクトを管理するオブジェクトを 返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > rss_version

instance method RSS::Maker::RSSBase#rss_version

rss_version

作成するRSSのバージョンを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > standalone

instance method RSS::Maker::RSSBase#standalone

standalone

作成するXMLのstandaloneを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > standalone=

instance method RSS::Maker::RSSBase#standalone=

standalone=()

作成するXMLのstandaloneを設定します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > textinput

instance method RSS::Maker::RSSBase#textinput

textinput

textinput要素を生成するオブジェクトを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > version

instance method RSS::Maker::RSSBase#version

version

作成するXMLのバージョンを返します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > version=

instance method RSS::Maker::RSSBase#version=

version=()

作成するXMLのバージョンを設定します．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSSBase > xml_stylesheets

instance method RSS::Maker::RSSBase#xml_stylesheets

xml_stylesheets

xml_stylesheetを管理するオブジェクトを返します．


instance method RSS::Maker::RSS20::Items::Item::Categories#new_category

new_category

新しくcategoryを作成し，返します．作成された categoryはcategoryリストの最後 に追加されています．

item.categories.new_categoryが作成する categoryは maker.channel.categories.new_categoryが作成する categoryと同じAPIを持ちます．


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Enclosure > length

instance method RSS::Maker::RSS20::Items::Item::Enclosure#length

length
length=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Enclosure > type

instance method RSS::Maker::RSS20::Items::Item::Enclosure#type

type
type=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Enclosure > url

instance method RSS::Maker::RSS20::Items::Item::Enclosure#url

url
url=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Guid > content

instance method RSS::Maker::RSS20::Items::Item::Guid#content

content
content=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Guid > isPermaLink

instance method RSS::Maker::RSS20::Items::Item::Guid#isPermaLink

isPermaLink
isPermaLink=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Source > content

instance method RSS::Maker::RSS20::Items::Item::Source#content

content
content=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::RSS20::Items::Item::Source > url

instance method RSS::Maker::RSS20::Items::Item::Source#url

url
url=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::TextinputBase > description

instance method RSS::Maker::TextinputBase#description

description
description=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::TextinputBase > link

instance method RSS::Maker::TextinputBase#link

link
link=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::TextinputBase > name

instance method RSS::Maker::TextinputBase#name

name
name=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::TextinputBase > title

instance method RSS::Maker::TextinputBase#title

title
title=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::XMLStyleSheets::XMLStyleSheet > alternate

instance method RSS::Maker::XMLStyleSheets::XMLStyleSheet#alternate

alternate
alternate=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::XMLStyleSheets::XMLStyleSheet > charset

instance method RSS::Maker::XMLStyleSheets::XMLStyleSheet#charset

charset
charset=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::XMLStyleSheets::XMLStyleSheet > href

instance method RSS::Maker::XMLStyleSheets::XMLStyleSheet#href

href
href=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::XMLStyleSheets::XMLStyleSheet > media

instance method RSS::Maker::XMLStyleSheets::XMLStyleSheet#media

media
media=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::XMLStyleSheets::XMLStyleSheet > title

instance method RSS::Maker::XMLStyleSheets::XMLStyleSheet#title

title
title=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Maker::XMLStyleSheets::XMLStyleSheet > type

instance method RSS::Maker::XMLStyleSheets::XMLStyleSheet#type

type
type=()


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::NSError > prefix

instance method RSS::NSError#prefix

prefix


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::NSError > tag

instance method RSS::NSError#tag

tag


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::NSError > uri

instance method RSS::NSError#uri

uri


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::NotWellFormedError > element

instance method RSS::NotWellFormedError#element

element


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::NotWellFormedError > line

instance method RSS::NotWellFormedError#line

line


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Parser > do_validate

instance method RSS::Parser#do_validate

do_validate
do_validate=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Parser > ignore_unknown_element

instance method RSS::Parser#ignore_unknown_element

ignore_unknown_element
ignore_unknown_element=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Parser > parse

instance method RSS::Parser#parse

parse


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Parser > rss

instance method RSS::Parser#rss

rss


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Parser > new

singleton method RSS::Parser.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Parser > parse

singleton method RSS::Parser.parse

parse


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > channel

instance method RSS::RDF#channel

channel
channel=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > encoding

instance method RSS::RDF#encoding

encoding
encoding=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > image

instance method RSS::RDF#image

image
image=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > item

instance method RSS::RDF#item

item
item=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > items

instance method RSS::RDF#items

items


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > rss_version

instance method RSS::RDF#rss_version

rss_version
rss_version=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > standalone

instance method RSS::RDF#standalone

standalone
standalone=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > textinput

instance method RSS::RDF#textinput

textinput
textinput=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF > version

instance method RSS::RDF#version

version
version=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > about

instance method RSS::RDF::Channel#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > date

instance method RSS::RDF::Channel#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > description

instance method RSS::RDF::Channel#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > image

instance method RSS::RDF::Channel#image

image
image=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > items

instance method RSS::RDF::Channel#items

items
items=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > link

instance method RSS::RDF::Channel#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > textinput

instance method RSS::RDF::Channel#textinput

textinput
textinput=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel > title

instance method RSS::RDF::Channel#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel::Image > resource

instance method RSS::RDF::Channel::Image#resource

resource
resource=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel::ImageFavicon > about

instance method RSS::RDF::Channel::ImageFavicon#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel::ImageFavicon > date

instance method RSS::RDF::Channel::ImageFavicon#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel::ImageFavicon > image_size

instance method RSS::RDF::Channel::ImageFavicon#image_size

image_size
size
image_size=
size=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel::Items > resources

instance method RSS::RDF::Channel::Items#resources

resources


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Channel::Textinput > resource

instance method RSS::RDF::Channel::Textinput#resource

resource
resource=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Image > about

instance method RSS::RDF::Image#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Image > date

instance method RSS::RDF::Image#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Image > link

instance method RSS::RDF::Image#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Image > title

instance method RSS::RDF::Image#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Image > url

instance method RSS::RDF::Image#url

url
url=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Item > about

instance method RSS::RDF::Item#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Item > date

instance method RSS::RDF::Item#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Item > description

instance method RSS::RDF::Item#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Item > link

instance method RSS::RDF::Item#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Item > title

instance method RSS::RDF::Item#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Textinput > about

instance method RSS::RDF::Textinput#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Textinput > date

instance method RSS::RDF::Textinput#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Textinput > description

instance method RSS::RDF::Textinput#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Textinput > link

instance method RSS::RDF::Textinput#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Textinput > name

instance method RSS::RDF::Textinput#name

name
name=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::RDF::Textinput > title

instance method RSS::RDF::Textinput#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::RootElementMixin > output_encoding

instance method RSS::RootElementMixin#output_encoding

output_encoding
output_encoding=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::RootElementMixin > to_xml

instance method RSS::RootElementMixin#to_xml

to_xml


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > channel

instance method RSS::Rss#channel

channel
channel=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > encoding

instance method RSS::Rss#encoding

encoding
encoding=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > image

instance method RSS::Rss#image

image


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > items

instance method RSS::Rss#items

items


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > rss_version

instance method RSS::Rss#rss_version

rss_version
rss_version=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > standalone

instance method RSS::Rss#standalone

standalone
standalone=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > textinput

instance method RSS::Rss#textinput

textinput


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss > version

instance method RSS::Rss#version

version
version=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > categories

instance method RSS::Rss::Channel#categories

categories


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > category

instance method RSS::Rss::Channel#category

category
category=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > copyright

instance method RSS::Rss::Channel#copyright

copyright
copyright=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > date

instance method RSS::Rss::Channel#date

date
pubDate
date=
pubDate=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > description

instance method RSS::Rss::Channel#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > docs

instance method RSS::Rss::Channel#docs

docs
docs=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > generator

instance method RSS::Rss::Channel#generator

generator [added by rss]
generator= [added by rss]


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > image

instance method RSS::Rss::Channel#image

image
image=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > item

instance method RSS::Rss::Channel#item

item
item=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > items

instance method RSS::Rss::Channel#items

items


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > language

instance method RSS::Rss::Channel#language

language
language=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > lastBuildDate

instance method RSS::Rss::Channel#lastBuildDate

lastBuildDate
lastBuildDate=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > link

instance method RSS::Rss::Channel#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > managingEditor

instance method RSS::Rss::Channel#managingEditor

managingEditor
managingEditor=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > rating

instance method RSS::Rss::Channel#rating

rating
rating=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > skipDays

instance method RSS::Rss::Channel#skipDays

skipDays
skipDays=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > skipHours

instance method RSS::Rss::Channel#skipHours

skipHours
skipHours=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > textInput

instance method RSS::Rss::Channel#textInput

textInput
textInput=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > title

instance method RSS::Rss::Channel#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > ttl

instance method RSS::Rss::Channel#ttl

ttl [added by rss]
ttl= [added by rss]


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel > webMaster

instance method RSS::Rss::Channel#webMaster

webMaster
webMaster=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Cloud > domain

instance method RSS::Rss::Channel::Cloud#domain

domain
domain=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Cloud > path

instance method RSS::Rss::Channel::Cloud#path

path
path=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Cloud > port

instance method RSS::Rss::Channel::Cloud#port

port
port=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Cloud > protocol

instance method RSS::Rss::Channel::Cloud#protocol

protocol
protocol=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Cloud > registerProcedure

instance method RSS::Rss::Channel::Cloud#registerProcedure

registerProcedure
registerProcedure=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Image > description

instance method RSS::Rss::Channel::Image#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Image > height

instance method RSS::Rss::Channel::Image#height

height
height=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Image > link

instance method RSS::Rss::Channel::Image#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Image > title

instance method RSS::Rss::Channel::Image#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Image > url

instance method RSS::Rss::Channel::Image#url

url
url=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Image > width

instance method RSS::Rss::Channel::Image#width

width
width=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > author

instance method RSS::Rss::Channel::Item#author

author [added by rss]
author= [added by rss]


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > categories

instance method RSS::Rss::Channel::Item#categories

categories


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > category

instance method RSS::Rss::Channel::Item#category

category
category=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > comments

instance method RSS::Rss::Channel::Item#comments

comments [added by rss]
comments= [added by rss]


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > date

instance method RSS::Rss::Channel::Item#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > description

instance method RSS::Rss::Channel::Item#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > enclosure

instance method RSS::Rss::Channel::Item#enclosure

enclosure
enclosure=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > guid

instance method RSS::Rss::Channel::Item#guid

guid [added by rss]
guid= [added by rss]


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > link

instance method RSS::Rss::Channel::Item#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > pubDate

instance method RSS::Rss::Channel::Item#pubDate

pubDate [added by rss]
pubDate= [added by rss]


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > source

instance method RSS::Rss::Channel::Item#source

source
source=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item > title

instance method RSS::Rss::Channel::Item#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Category > content

instance method RSS::Rss::Channel::Item::Category#content

content
content=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Category > domain

instance method RSS::Rss::Channel::Item::Category#domain

domain
domain=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Enclosure > length

instance method RSS::Rss::Channel::Item::Enclosure#length

length
length=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Enclosure > type

instance method RSS::Rss::Channel::Item::Enclosure#type

type
type=
url


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Enclosure > url=

instance method RSS::Rss::Channel::Item::Enclosure#url=

url=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Guid > isPermaLink

instance method RSS::Rss::Channel::Item::Guid#isPermaLink

isPermaLink
  • http://purl.org/dc/elements/1.1/


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Source > content

instance method RSS::Rss::Channel::Item::Source#content

content
content=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::Item::Source > url

instance method RSS::Rss::Channel::Item::Source#url

url
url=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::TextInput > description

instance method RSS::Rss::Channel::TextInput#description

description
description=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::TextInput > link

instance method RSS::Rss::Channel::TextInput#link

link
link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::TextInput > name

instance method RSS::Rss::Channel::TextInput#name

name
name=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::Channel::TextInput > title

instance method RSS::Rss::Channel::TextInput#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::SkipDays > day

instance method RSS::Rss::SkipDays#day

day
day=
days


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::Rss::SkipHours > hour

instance method RSS::Rss::SkipHours#hour

hour
hour=
hours


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::SyndicationModel > sy_updateBase

instance method RSS::SyndicationModel#sy_updateBase

sy_updateBase
sy_updateBase=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::SyndicationModel > sy_updateFrequency

instance method RSS::SyndicationModel#sy_updateFrequency

sy_updateFrequency
sy_updateFrequency=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::SyndicationModel > sy_updatePeriod

instance method RSS::SyndicationModel#sy_updatePeriod

sy_updatePeriod
sy_updatePeriod=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::TaxonomyTopicModel > taxo_topic

instance method RSS::TaxonomyTopicModel#taxo_topic

taxo_topic
taxo_topic=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TaxonomyTopicModel::TaxonomyTopic > about

instance method RSS::TaxonomyTopicModel::TaxonomyTopic#about

about
about=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TaxonomyTopicModel::TaxonomyTopic > date

instance method RSS::TaxonomyTopicModel::TaxonomyTopic#date

date
date=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TaxonomyTopicModel::TaxonomyTopic > taxo_link

instance method RSS::TaxonomyTopicModel::TaxonomyTopic#taxo_link

taxo_link
taxo_link=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::TaxonomyTopicsModel > taxo_topics

instance method RSS::TaxonomyTopicsModel#taxo_topics

taxo_topics


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TaxonomyTopicsModel::TaxonomyTopics > resources

instance method RSS::TaxonomyTopicsModel::TaxonomyTopics#resources

resources


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel10::TrackBackAbout > resource

instance method RSS::TrackBackModel10::TrackBackAbout#resource

resource
resource=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel10::TrackBackAbout > value

instance method RSS::TrackBackModel10::TrackBackAbout#value

value
value=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel10::TrackBackPing > resource

instance method RSS::TrackBackModel10::TrackBackPing#resource

resource
resource=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel10::TrackBackPing > value

instance method RSS::TrackBackModel10::TrackBackPing#value

value
value=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel20::TrackBackAbout > content

instance method RSS::TrackBackModel20::TrackBackAbout#content

content
content=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel20::TrackBackAbout > value

instance method RSS::TrackBackModel20::TrackBackAbout#value

value
value=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel20::TrackBackPing > content

instance method RSS::TrackBackModel20::TrackBackPing#content

content
content=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::TrackBackModel20::TrackBackPing > value

instance method RSS::TrackBackModel20::TrackBackPing#value

value
value=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::XMLStyleSheet > alternate

instance method RSS::XMLStyleSheet#alternate

alternate
alternate=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::XMLStyleSheet > charset

instance method RSS::XMLStyleSheet#charset

charset
charset=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::XMLStyleSheet > href

instance method RSS::XMLStyleSheet#href

href
href=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::XMLStyleSheet > media

instance method RSS::XMLStyleSheet#media

media
media=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::XMLStyleSheet > title

instance method RSS::XMLStyleSheet#title

title
title=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > class RSS::XMLStyleSheet > type

instance method RSS::XMLStyleSheet#type

type
type=


Ruby 1.8.7 Reference Manual > All Libraries > library rss > module RSS::XMLStyleSheetMixin > xml_stylesheets

instance method RSS::XMLStyleSheetMixin#xml_stylesheets

xml_stylesheets
xml_stylesheets=


module function RUNIT::Assert.#assert

assert(condition[, message])

condition が Ruby の真 (false または nil 以外) であることを表明します。 condition が偽であったらこのアサーションは失敗します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_equal

assert_equal(expected, actual[, message])
assert_equals(expected, actual[, message])

actual == expected であることを表明します。 actual != expected のときにこのアサーションは失敗します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_equal_float

assert_equal_float(expected, actual, e[, message])

浮動小数点数 actual と expected が等しいことを表明します。 このとき、expected-e <= actual <= expected+e であれば「等しい」と判定されます。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_exception

assert_exception(exception[, message]) { ... }

ブロックを実行中に例外 exception が発生することを表明します。 ブロックを実行しても例外 exception が発生しなかったら このアサーションは失敗します。 message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_fail

assert_fail(message)

このアサーションは常に失敗します。 message はアサート失敗時のエラーメッセージです。

このアサーションは、テストをまだ書いていない場合に、 それを明示するために使われます。


module function RUNIT::Assert.#assert_instance_of

assert_instance_of(c, obj[, message])

c.instance_of?(c) が真であると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_kind_of

assert_kind_of(c, obj[, message])

obj.kind_of?(c) が真であると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_match

assert_match(str, re[, message])
assert_matches(str, re[, message])

re =~ str が真であると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_nil

assert_nil(obj[, message])

obj が nil であると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_no_exception

assert_no_exception(exceptions, ...[, message]) { ... }

ブロックを実行中に例外 exceptions が発生しないことを表明します。 ブロックを実行したときに例外 exception が発生すると このアサーションは失敗します。 message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_not_match

assert_not_match(str, re[, message])

re =~ str が偽であると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_not_nil

assert_not_nil(obj[, message])

obj が nil ではないと表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_operator

assert_operator(obj1, op, obj2[, message])

actual.__send__(op, expected) が真であることを表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_respond_to

assert_respond_to(method, obj[, message])

オブジェクト obj にメソッド method が定義されていると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_same

assert_same(expected, actual[, message])

expected.equal?(actual) が真であると表明します。

message はアサート失敗時のエラーメッセージです。


module function RUNIT::Assert.#assert_send

assert_send(obj, method, *args)

obj.__send__(method, *args) が真であることを表明します。


Ruby 1.8.7 Reference Manual > All Libraries > library runit/cui/testrunner > class RUNIT::CUI::TestRunner > create_mediator

instance method RUNIT::CUI::TestRunner#create_mediator

create_mediator(suite)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/cui/testrunner > class RUNIT::CUI::TestRunner > create_result

instance method RUNIT::CUI::TestRunner#create_result

create_result


Ruby 1.8.7 Reference Manual > All Libraries > library runit/cui/testrunner > class RUNIT::CUI::TestRunner > run

instance method RUNIT::CUI::TestRunner#run

run(suite, quiet_mode = @@quiet_mode)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/cui/testrunner > class RUNIT::CUI::TestRunner > new

singleton method RUNIT::CUI::TestRunner.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library runit/cui/testrunner > class RUNIT::CUI::TestRunner > quiet_mode=

singleton method RUNIT::CUI::TestRunner.quiet_mode=

quiet_mode=(bool)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/cui/testrunner > class RUNIT::CUI::TestRunner > run

singleton method RUNIT::CUI::TestRunner.run

run(suite)


instance method RUNIT::TestCase#assert_equals

assert_equals(expected, really, message = nil)

alias of assert_equal.


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testcase > class RUNIT::TestCase > name

instance method RUNIT::TestCase#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testcase > class RUNIT::TestCase > run

instance method RUNIT::TestCase#run

run(result) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testcase > class RUNIT::TestCase > new

singleton method RUNIT::TestCase.new

new(test_name, suite_name = Test::Unit::TestCase.name)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testcase > class RUNIT::TestCase > suite

singleton method RUNIT::TestCase.suite

suite


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > add_error

instance method RUNIT::TestResult#add_error

add_error(error)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > add_failure

instance method RUNIT::TestResult#add_failure

add_failure(failure)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > error_size

instance method RUNIT::TestResult#error_size

error_size


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > errors

instance method RUNIT::TestResult#errors

errors


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > failure_size

instance method RUNIT::TestResult#failure_size

failure_size


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > failures

instance method RUNIT::TestResult#failures

failures


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > run_asserts

instance method RUNIT::TestResult#run_asserts

run_asserts


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > run_tests

instance method RUNIT::TestResult#run_tests

run_tests


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testresult > class RUNIT::TestResult > succeed?

instance method RUNIT::TestResult#succeed?

succeed?


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testsuite > class RUNIT::TestSuite > add

instance method RUNIT::TestSuite#add

add(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testsuite > class RUNIT::TestSuite > add_tests

instance method RUNIT::TestSuite#add_tests

add_tests(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testsuite > class RUNIT::TestSuite > counte_test_cases

instance method RUNIT::TestSuite#counte_test_cases

counte_test_cases


Ruby 1.8.7 Reference Manual > All Libraries > library runit/testsuite > class RUNIT::TestSuite > run

instance method RUNIT::TestSuite#run

run(result) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > do_parse (private)

instance method Racc::Parser#do_parse

do_parse


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > next_token (private)

instance method Racc::Parser#next_token

next_token


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > on_error (private)

instance method Racc::Parser#on_error

on_error(t, val, vstack)


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > token_to_str (private)

instance method Racc::Parser#token_to_str

token_to_str(t)


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > yyaccept (private)

instance method Racc::Parser#yyaccept

yyaccept


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > yyerrok (private)

instance method Racc::Parser#yyerrok

yyerrok


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > yyerror (private)

instance method Racc::Parser#yyerror

yyerror


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > yyparse (private)

instance method Racc::Parser#yyparse

yyparse(recv, mid)


Ruby 1.8.7 Reference Manual > All Libraries > library racc/parser > class Racc::Parser > racc_runtime_type

singleton method Racc::Parser.racc_runtime_type

racc_runtime_type


instance method Range#==

self == other -> bool

指定された other が Range クラスのインスタンスであり、 始点と終点が == メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
p (1..2) == (1..2)               #=> true
p (1..2) == (1...2)              #=> false
p (1..2) == Range.new(1.0, 2.0)  #=> true


instance method Range#===

self === obj -> bool
include?(obj) -> bool
member?(obj) -> bool

obj が範囲内に含まれている時に真を返します。

Range#=== は主に case 文での比較に用いられます。

include? が、Enumerable#include?,Enumerable#member? と異なり <=> メソッドによる演算により範囲内かどうかを判定することに注意する必要があります。

[PARAM] obj:
比較対象のオブジェクト
p (0.1 .. 0.2).include?(0.15) # => true
# 1.8.1 以前
p (0.1 .. 0.2).member?(0.15)  # => cannot iterate from Float (TypeError)
# 1.8.2 以降
p (0.1 .. 0.2).member?(0.15)  # => true

# 文字列の場合、include? は辞書順の比較になる
p ("a" .. "c").include?("ba") # => true
# 1.8.1 以前
p ("a" .. "c").member?("ba")  # => false
# 1.8.2 以降
p ("a" .. "c").member?("ba")  # => true
# 1.9.1 以降
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").member?("ba")  # => false

[SEE_ALSO] 制御構造/case


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Range > begin

instance method Range#begin

begin -> object
first -> object

最初の要素を返します。


instance method Range#each

each {|item| ... } -> self
each -> Enumerable::Enumerator

範囲内の要素に対して繰り返します。

Range#each は各要素の succ メソッドを使用してイテレーションするようになりました。

[EXCEPTION] TypeError:
succ メソッドを持たないクラスの範囲オブジェクトに対してこのメソッドを呼んだ場合に発生します。


instance method Range#end

end -> object
last -> object

終端を返します。範囲オブジェクトが終端を含むかどうかは関係ありませ ん。

p (1..5).end   # => 5
p (1...5).end  # => 5


instance method Range#eql?

eql?(other) -> bool

指定された other が Range クラスのインスタンスであり、 始点と終点が eql? メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
p (1..2).eql?(1..2)                 #=> true
p (1..2).eql?(1...2)                #=> false
p (1..2).eql?(Range.new(1.0, 2.0))  #=> false


instance method Range#equal?

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
r = (1..2)
p r.equal?(1..2)      #=> false
p r.equal?(r)         #=> true


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Range > exclude_end?

instance method Range#exclude_end?

exclude_end? -> bool

範囲オブジェクトが終端を含まないとき真を返します。


instance method Range#hash

hash -> Integer

始点と終点のハッシュ値と Range#exclude_end? の値からハッシュ値を計算して整数として返します。

p (1..2).hash    #=> 5646
p (1...2).hash   #=> 16782863


instance method Range#step

step(s = 1) {|item| ... } -> self
step(s = 1) -> Enumerable::Enumerator

範囲内の要素を s おきに繰り返します。

[PARAM] s:
正の整数を指定します。
[EXCEPTION] ArgumentError:
s に 0 または負の数を指定した場合に発生します
("a" .. "f").step(2) {|v| p v}
# => "a"
     "c"
     "e"


singleton method Range.new

new(first, last, exclude_end = false) -> Range

first から last までの範囲オブジェクトを生成して返しま す。

exclude_end が真ならば終端を含まない範囲オブジェクトを生 成します。exclude_end 省略時には終端を含みます。

[PARAM] first:
最初のオブジェクト
[PARAM] last:
最後のオブジェクト
[PARAM] exclude_end:
真をセットした場合終端を含まない範囲オブジェクトを生成します
[EXCEPTION] ArgumentError:
first <=> last が nil の場合に発生します


constant Rational::Unify

Unify [added by mathn]

内部実装で利用しています。深くは考えないでください。ユーザープログラムでは利用しないでください。

この定数はRuby 1.9.1以降では削除されます。


instance method Rational#*

self * other

積を計算します。

r = Rational(3,4)    # -> Rational(3,4)
r * 2                # -> Rational(3,2)
r * 4                # -> Rational(3,1)
r * 0.5              # -> 0.375
r * Rational(1,2)    # -> Rational(3,8)


instance method Rational#**

self ** other

冪を計算します。

Rational(3, 4) ** 2              # => Rational(9, 16)
Rational(3, 4) ** Rational(2, 1) # => 0.5625
Rational(3, 4) ** 2.0            # => 0.5625
self ** rhs -> Numeric [redefined by mathn]

self のべき乗を返します。 Rational になるようであれば Rational で返します。


instance method Rational#+

self + other

和を計算します。

Rational(3, 4) + 2               # => Rational(11, 4)
Rational(3, 4) + Rational(2, 1)  # => Rational(11, 4)
Rational(3, 4) + 2.0             # => 2.75


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > -

instance method Rational#-

self - other

差を計算します。


instance method Rational#/

self / other

商を計算します。 other が 0 の時は、例外 ZeroDivisionError を投げます。

Rational(3, 4) / 2              # => Rational(3, 8)
Rational(3, 4) / Rational(2, 1) # => Rational(3, 8)
Rational(3, 4) / 2.0            # => 0.375


instance method Rational#<=>

self <=> other

other と比べて self が大きいなら 1、同じなら 0、小さいなら -1 を返します。


instance method Rational#%

self % other

剰余を計算します。絶対値が self の絶対値を越えない、符号が self と同じ Numeric を返します。

Rational(3, 4) % 2               # => Rational(3, 4)
Rational(3, 4) % Rational(2, 1)  # => Rational(3, 4)
Rational(3, 4) % 2.0             # => 0.75


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > abs

instance method Rational#abs

abs

self が正なら self、負なら -1 * self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > denominator

instance method Rational#denominator

denominator

分母を Fixnum として返します。


instance method Rational#divmod

divmod(other)

self を other で割った、商と余りの配列を返します。 商は Fixnum、余りは絶対値が other の絶対値を越えず、符号が other と同じ Numeric です。Numeric#divmod も参照して下さい。

Rational(3,4).divmod(Rational(2,3))  # => [1, Rational(1, 12)]
Rational(-3,4).divmod(Rational(2,3)) # => [-2, Rational(7, 12)]
Rational(3,4).divmod(Rational(-2,3)) # => [-2, Rational(-7, 12)]

Rational(9,4).divmod(2)              # => [1, Rational(1, 4)]
Rational(9,4).divmod(Rational(2, 1)) # => [1, Rational(1, 4)]
Rational(9,4).divmod(2.0)            # => [1, 0.25]


instance method Rational#inspect

inspect [redefined by mathn]

有理数値を人間が読みやすい形の文字列表現にして返します。

現在のバージョンでは "3/5", "-17/7" のように10進数の既約分数表記を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > numerator

instance method Rational#numerator

numerator

分子を Fixnum として返します。


Ruby 1.8.7 Reference Manual > All Libraries > library mathn > class Rational > power2

instance method Rational#power2

power2 [redefined by mathn]
作りかけ(^^;;


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/util > class Rational > to_d

instance method Rational#to_d

to_d(nFig = 0) [added by bigdecimal/util]

BigDecimalに変換する


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > to_f

instance method Rational#to_f

to_f

Float に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > to_i

instance method Rational#to_i

to_i

Fixnum に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library rational > class Rational > to_s

instance method Rational#to_s

to_s

文字列に変換します。

Rational(-3,4).to_s # => "-3/4"


singleton method Rational.new!

new!(num, den = 1)

Implements the constructor. This method does not reduce to lowest terms or check for division by zero. Therefore #Rational() should be preferred in normal use.

puts Rational.new!(6,10) #=> 6/10


singleton method Rational.reduce

reduce(num, den = 1)

Reduces the given numerator and denominator to their lowest terms. Use Rational() instead.


constant Readline::FILENAME_COMPLETION_PROC

FILENAME_COMPLETION_PROC

GNU Readline で定義されている関数を使用してファイル名の補完を行うための Proc オブジェクトです。 Readline.completion_proc= で使用します。

[SEE_ALSO] Readline.completion_proc=


constant Readline::USERNAME_COMPLETION_PROC

USERNAME_COMPLETION_PROC

GNU Readline で定義されている関数を使用してユーザ名の補完を行うための Proc オブジェクトです。 Readline.completion_proc= で使用します。

[SEE_ALSO] Readline.completion_proc=


constant Readline::VERSION

VERSION

Readlineモジュールが使用している GNU Readline や libedit のバージョンを 示す文字列です。


module function Readline.#readline

readline([prompt, [add_hist]]) -> String | nil

prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。

[PARAM] prompt:
カーソルの前に表示する文字列を指定します。デフォルトは""です。
[PARAM] add_hist:
真ならば、入力した文字列をヒストリに記録します。デフォルトは偽です。

次の条件を全て満たす場合、例外 IOError が発生します。

  1. 標準入力が tty でない。
  2. 標準入力をクローズしている。(isatty(2) の errno が EBADF である。)

本メソッドはスレッドに対応しています。 入力待ち状態のときはスレッドコンテキストの切替えが発生します。

入力時には行内編集が可能で、vi モードと Emacs モードが用意されています。 デフォルトは Emacs モードです。

例:

require "readline"

input = Readline.readline
(プロンプトなどは表示せずに、入力待ちの状態になります。
 ここでは「abc」を入力後、エンターキーを押したと想定します。)
abc

p input # => "abc"

input = Readline.readline("> ")
(">"を表示し、入力待ちの状態になります。
 ここでは「ls」を入力後、エンターキーを押したと想定します。)
> ls

p input # => "ls"

input = Readline.readline("> ", true)
(">"を表示し、入力待ちの状態になります。
 ここでは「cd」を入力後、エンターキーを押したと想定します。)
> cd

p input # => "cd"

input = Readline.readline("> ", true)
(">"を表示し、入力待ちの状態になります。
 ここで、カーソルの上キー、または ^P を押すと、
 先ほど入力した「cd」が表示されます。
 そして、エンターキーを押したと想定します。)
> cd

p input # => "cd"

本メソッドには注意事項があります。 入力待ちの状態で ^C すると ruby インタプリタが終了し、端末状態を復帰しません。 これを回避するための例を2つ挙げます。

例: ^CによるInterrupt例外を補足して、端末状態を復帰する。

stty_save = `stty -g`.chomp
begin
  while buf = Readline.readline
      p buf
      end
    rescue Interrupt
      system("stty", stty_save)
      exit
    end
  end
end

例: INTシグナルを補足して、端末状態を復帰する。

stty_save = `stty -g`.chomp
trap("INT") { system "stty", stty_save; exit }

while buf = Readline.readline
  p buf
end

また、単に ^C を無視する方法もあります。

trap("INT", "SIG_IGN")

while buf = Readline.readline
  p buf
end

入力履歴 Readline::HISTORY を使用して、次のようなこともできます。

例: 空行や直前の入力と同じ内容は入力履歴に残さない。

while buf = Readline.readline("> ", true)
  # p Readline::HISTORY.to_a
  Readline::HISTORY.pop if /^\s*$/ =~ buf

  begin
    if Readline::HISTORY[Readline::HISTORY.length-2] == buf
      Readline::HISTORY.pop
    end
  rescue IndexError
  end

  # p Readline::HISTORY.to_a
  print "-> ", buf, "\n"
end

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.vi_editing_mode、Readline.emacs_editing_mode、 Readline::HISTORY


singleton method Readline.basic_quote_characters

basic_quote_characters

スペースなどの単語の区切りをクオートするための 複数の文字で構成される文字列を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.basic_quote_characters=


singleton method Readline.basic_quote_characters=

basic_quote_characters=(string)

スペースなどの単語の区切りをクオートするための 複数の文字で構成される文字列 string を指定します。

[PARAM] string:
文字列を指定します。

GNU Readline のデフォルト値は、「"'」です。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.basic_quote_characters


singleton method Readline.basic_word_break_characters

basic_word_break_characters

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成される文字列を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.basic_word_break_characters=


singleton method Readline.basic_word_break_characters=

basic_word_break_characters=(string)

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成される文字列 string を指定します。

[PARAM] string:
文字列を指定します。

GNU Readline のデフォルト値は、Bash の補完処理で使用している文字列 " \t\n\"\\'`@$><=;|&{(" (スペースを含む) になっています。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.basic_word_break_characters


singleton method Readline.completer_quote_characters

completer_quote_characters

ユーザの入力の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completer_quote_characters=


singleton method Readline.completer_quote_characters=

completer_quote_characters=(string)

ユーザの入力の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列 string を指定します。 指定した文字の間では、Readline.completer_word_break_characters= で指定した文字列に含まれる文字も、普通の文字列として扱われます。

[PARAM] string:
文字列を指定します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completer_quote_characters


singleton method Readline.completer_word_break_characters

completer_word_break_characters

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成された文字列を取得します。 Readline.basic_word_break_characters との違いは、 GNU Readline の rl_complete_internal 関数で使用されることです。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completer_word_break_characters=


singleton method Readline.completer_word_break_characters=

completer_word_break_characters=(string)

ユーザの入力の補完を行う際、 単語の区切りを示す複数の文字で構成される文字列 string を指定します。 Readline.basic_word_break_characters= との違いは、 GNU Readline の rl_complete_internal 関数で使用されることです。

[PARAM] string:
文字列を指定します。

GNU Readline のデフォルトの値は、 Readline.basic_word_break_characters と同じです。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completer_word_break_characters


singleton method Readline.completion_append_character

completion_append_character -> String

ユーザの入力の補完が完了した場合に、最後に付加する文字を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completion_append_character=


singleton method Readline.completion_append_character=

completion_append_character=(string)

ユーザの入力の補完が完了した場合に、最後に付加する文字 string を指定します。

[PARAM] string:
1文字を指定します。

半角スペース「" "」などの単語を区切る文字を指定すれば、 連続して入力する際に便利です。

Readline.readline("> ", true)
Readline.completion_append_character = " "
> /var/li
ここで補完(TABキーを押す)を行う。
> /var/lib
最後に" "が追加されているため、すぐに「/usr」などを入力できる。
> /var/lib /usr

なお、1文字しか指定することはできないため、 例えば、"string"を指定した場合は最初の文字である"s"だけを使用します。

Readline.completion_append_character = "string"
p Readline.completion_append_character # => "s"

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completion_append_character


singleton method Readline.completion_case_fold

completion_case_fold -> bool

ユーザの入力を補完する際、大文字と小文字を同一視する／しないを取得します。 bool が真ならば同一視します。bool が偽ならば同一視しません。

なお、Readline.completion_case_fold= メソッドで指定したオブジェクトを そのまま取得するので、次のような動作をします。

Readline.completion_case_fold = "This is a String."
p Readline.completion_case_fold # => "This is a String."

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completion_case_fold=


singleton method Readline.completion_case_fold=

completion_case_fold=(bool)

ユーザの入力を補完する際、大文字と小文字を同一視する／しないを指定します。 bool が真ならば同一視します。bool が偽ならば同一視しません。 セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[PARAM] bool:
大文字と小文字を同一視する(true)／しない(false)を指定します。

[SEE_ALSO] Readline.completion_case_fold


singleton method Readline.completion_proc

completion_proc -> Proc

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を取得します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.completion_proc


singleton method Readline.completion_proc=

completion_proc=(proc)

ユーザからの入力を補完する時の候補を取得する Proc オブジェクト proc を指定します。 proc は、次のものを想定しています。

  1. callメソッドを持つ。callメソッドを持たない場合、例外 ArgumentError を発生します。
  2. 引数にユーザからの入力文字列を取る。
  3. 候補の文字列の配列を返す。
[PARAM] proc:
ユーザからの入力を補完する時の候補を取得する Proc オブジェクトを指定します。

「/var/lib /v」の後で補完を行うと、 デフォルトでは proc の引数に「/v」が渡されます。 このように、ユーザが入力した文字列を Readline.completer_word_break_characters に含まれる文字で区切ったものを単語とすると、 カーソルがある単語の最初の文字から現在のカーソル位置までの文字列が proc の引数に渡されます。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例: foo、foobar、foobazを補完する。

require 'readline'

WORDS = %w(foo foobar foobaz)

Readline.completion_proc = proc {|word|
    WORDS.grep(/\A#{Regexp.quote word}/)
}

while buf = Readline.readline("> ")
  print "-> ", buf, "\n"
end

[SEE_ALSO] Readline.completion_proc=


singleton method Readline.emacs_editing_mode

emacs_editing_mode

編集モードを Emacs モードにします。デフォルトは Emacs モードです。

Emacs モードの詳細は、 GNU Readline のマニュアルを参照してください。

  • http://www.gnu.org/directory/readline.html

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


singleton method Readline.filename_quote_characters

filename_quote_characters

ユーザの入力時にファイル名の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列を取得します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.filename_quote_characters=


singleton method Readline.filename_quote_characters=

filename_quote_characters=(string)

ユーザの入力時にファイル名の補完を行う際、スペースなどの単語の区切りを クオートするための複数の文字で構成される文字列 string を指定します。

[PARAM] string:
文字列を指定します。

GNU Readline のデフォルト値は nil(NULL) です。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

[SEE_ALSO] Readline.filename_quote_characters


singleton method Readline.vi_editing_mode

vi_editing_mode

編集モードを vi モードにします。 vi モードの詳細は、GNU Readline のマニュアルを参照してください。

  • http://www.gnu.org/directory/readline.html

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


singleton method Readline::HISTORY.<<

self << string -> self

ヒストリの最後に string で指定した文字列を追加します。 self を返します。

[PARAM] string:
文字列を指定します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例: "foo"を追加する。

require "readline"

Readline::HISTORY << "foo"
p Readline::HISTORY[-1] #=> "foo"

例: "foo"、"bar"を追加する。

require "readline"

Readline::HISTORY << "foo" << "bar"
p Readline::HISTORY[-1] #=> "bar"
p Readline::HISTORY[-2] #=> "foo"

[SEE_ALSO] Readline::HISTORY.push


singleton method Readline::HISTORY.[]

self[index] -> String

ヒストリから index で指定したインデックスの内容を取得します。 例えば index に 0 を指定すると最初の入力内容が取得できます。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。

[PARAM] index:
取得対象のヒストリのインデックスを整数で指定します。 インデックスは Array ように 0 から指定します。 また、 -1 は最後の入力内容というように、負の数を指定することもできます。

index で指定したインデックスに該当する入力内容がない場合、 例外 IndexError が発生します。

index で指定したインデックスが int 型よりも大きな値の場合、 例外 RangeError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例:

require "readline"

Readline::HISTORY[0] #=> 最初の入力内容
Readline::HISTORY[4] #=> 5番目の入力内容
Readline::HISTORY[-1] #=> 最後の入力内容
Readline::HISTORY[-5] #=> 最後から5番目の入力内容

例: 1000000 番目の入力内容が存在しない場合、例外 IndexError が発生します。

Readline::HISTORY[1000000] #=> 例外 IndexError が発生します。

例: 32 bit のシステムの場合、例外 RangeError が発生します。

Readline::HISTORY[2 ** 32 + 1] #=> 例外 RangeError が発生します。

例: 64 bit のシステムの場合、例外 RangeError が発生します。

Readline::HISTORY[2 ** 64 + 1] #=> 例外 RangeError が発生します。


singleton method Readline::HISTORY.[]=

self[index] = string

ヒストリの index で指定したインデックスの内容を string で指定した文字列で書き換えます。 例えば index に 0 を指定すると最初の入力内容が書き換えます。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。 指定した string を返します。

[PARAM] index:
取得対象のヒストリのインデックスを整数で指定します。 インデックスは Array ように 0 から指定します。 また、 -1 は最後の入力内容というように、負の数を指定することもできます。
[PARAM] string:
文字列を指定します。この文字列でヒストリを書き換えます。
[RETURN]
string で指定した文字列を返します。

index で指定したインデックスに該当する入力内容がない場合、 例外 IndexError が発生します。

index で指定したインデックスが int 型よりも大きな値の場合、 例外 RangeError が発生します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。


singleton method Readline::HISTORY.delete_at

delete_at(index) -> String | nil

index で指定したインデックスの内容をヒストリから削除し、その内容を返します。 該当する index の内容がヒストリになければ、 nil を返します。 index に 0 を指定すると Readline::HISTORY.shift と同様に最初の入力内容を削除します。 また、 -1 は最後の入力内容というように、index に負の値を指定することで、 最後から入力内容を取得することもできます。 index が -1 の場合は Readline::HISTORY.pop と同様に動作します。

[PARAM] index:
削除対象のヒストリのインデックスを指定します。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例:

require "readline"

Readline::HISTORY.push("foo", "bar", "baz")
Readline::HISTORY.delete_at(1)
p Readline::HISTORY.to_a #=> ["foo", "baz"]


singleton method Readline::HISTORY.each

each -> Enumerable::Enumerator
each {|string| ... }

ヒストリの内容に対してブロックを評価します。 ブロック引数にはヒストリの最初から最後までの内容を順番に渡します。 ブロックが与えられなかった場合は、自身と each から生成した Enumerable::Enumerator オブジェクトを返します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例: ヒストリの内容を最初から順番に出力する。

require "readline"

Readline::HISTORY.push("foo", "bar", "baz")
Readline::HISTORY.each do |s|
  p s #=> "foo", "bar", "baz"
end

例: Enumerable::Enumerator オブジェクトを返す場合。

require "readline"

Readline::HISTORY.push("foo", "bar", "baz")
e = Readline::HISTORY.each
e.each do |s|
  p s #=> "foo", "bar", "baz"
end


singleton method Readline::HISTORY.empty?

empty? -> bool

ヒストリに格納された内容の数が 0 の場合は true を、 そうでない場合は false を返します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例:

require "readline"

p Readline::HISTORY.empty? #=> true
Readline::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.empty? #=> false

[SEE_ALSO] Readline::HISTORY.length


singleton method Readline::HISTORY.length

length -> Integer

ヒストリに格納された内容の数を取得します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例: ヒストリの内容を最初から順番に出力する。

require "readline"

Readline::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.length #=> 3

[SEE_ALSO] Readline::HISTORY.empty?


singleton method Readline::HISTORY.pop

pop -> String

ヒストリの最後の内容を取り出します。 最後の内容は、ヒストリから取り除かれます。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例:

require "readline"

Readline::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.pop #=> "baz"
p Readline::HISTORY.pop #=> "bar"
p Readline::HISTORY.pop #=> "foo"

[SEE_ALSO] Readline::HISTORY.push、Readline::HISTORY.shift、 Readline::HISTORY.delete_at


singleton method Readline::HISTORY.push

push(*string) -> self

ヒストリの最後に string で指定した文字列を追加します。複数の string を指定できます。 self を返します。

[PARAM] string:
文字列を指定します。複数指定できます。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例: "foo"を追加する。

require "readline"

Readline::HISTORY.push("foo")
p Readline::HISTORY[-1] #=> "foo"

例: "foo"、"bar"を追加する。

require "readline"

Readline::HISTORY.push("foo", "bar")
p Readline::HISTORY[-1] #=> "bar"
p Readline::HISTORY[-2] #=> "foo"

[SEE_ALSO] Readline::HISTORY.<<


singleton method Readline::HISTORY.shift

shift -> String

ヒストリの最初の内容を取り出します。 最初の内容は、ヒストリから取り除かれます。

サポートしていない環境では、例外 NotImplementedError が発生します。

セーフレベル ($SAFE) が 4 の場合、例外 SecurityError を発生します。

例:

require "readline"

Readline::HISTORY.push("foo", "bar", "baz")
p Readline::HISTORY.shift #=> "foo"
p Readline::HISTORY.shift #=> "bar"
p Readline::HISTORY.shift #=> "baz"

[SEE_ALSO] Readline::HISTORY.push、Readline::HISTORY.pop、 Readline::HISTORY.delete_at


singleton method Readline::HISTORY.to_s

to_s -> "HISTORY"

文字列"HISTORY"を返します。

例:

Readline::HISTORY.to_s #=> "HISTORY"


instance method RegAnd#=~

self =~ str -> bool

str が内部で保持している正規表現の両方にマッチすれば真を返します。

[PARAM] str:
文字列。


singleton method RegAnd.new

new(re1, re2) -> RegAnd

新しい RegAnd オブジェクトを生成します。

[PARAM] re1:
正規表現オブジェクト。
[PARAM] re2:
正規表現オブジェクト。


instance method RegOr#=~

self =~ str -> bool

str が 内部で保持しているいずれかの正規表現にマッチすれば真を返します。

[PARAM] str:
文字列。


singleton method RegOr.new

new(re1, re2) -> RegOr

新しい RegOr オブジェクトを生成します。

[PARAM] re1:
正規表現オブジェクト。
[PARAM] re2:
正規表現オブジェクト。


constant Regexp::EXTENDED

EXTENDED -> Fixnum

バックスラッシュでエスケープされていない空白と # から改行までを無 視します。正規表現リテラルの //x オプションと同じ です。(空白を入れる場合は\でエスケープして\ (<-空白)と 指定します)


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Regexp > IGNORECASE

constant Regexp::IGNORECASE

IGNORECASE -> Fixnum

文字の大小の違いを無視します。 正規表現リテラルの //i オプションと同じです。


constant Regexp::MULTILINE

MULTILINE -> Fixnum

複数行モード。正規表現 "." が改行にマッチするようになります。 正規表現リテラルの //m オプションと同じです。


instance method Regexp#==

self == other -> bool
eql?(other) -> bool

otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。

[PARAM] other:
正規表現を指定します。
p /^eee$/   == /~eee$/x   #=> false
p /^eee$/   == /~eee$/i   #=> false
p /^eee$/e  == /~eee$/u   #=> false
p /^eee$/ == Regexp.new("^eee$") #=> true
p /^eee$/.eql?(/^eee$/)          #=> true


instance method Regexp#===

self =~ string -> Fixnum | nil
self === string -> bool

文字列 string との正規表現マッチを行います。マッチした場合、 マッチした位置のインデックスを返します(先頭は0)。マッチしなかった 場合、あるいは string が nil の場合には nil を返 します。

p /foo/ =~ "foo"  #=> 0
p /foo/ =~ "afoo" #=> 1
p /foo/ =~ "bar"  #=> nil

組み込み変数 $~ もしくは Regexp.last_match にマッチに関する情報 MatchData が設定されます。

string がnil でも String オブジェクトでもなけれ ば例外 TypeError が発生します。

Regexp#=== は、真偽値を返します。引数が文 字列でないか、マッチしなければ false を、マッチすれば true を返します。

[PARAM] string:
文字列を指定します。
[EXCEPTION] TypeError:
string がnil でも String オブジェクトでもない 場合発生します。
p /foo/ =~ "foo"        #=> 0
p Regexp.last_match(0)  #=> "foo"
p /foo/ =~ "afoo"       #=> 1
p $~[0]                 #=> "foo"
p /foo/ =~ "bar"        #=> nil

unless /foo/ === "bar"
  puts "not match " #=> not match
end

str = []
begin
  /ugo/ =~ str
rescue TypeError
  printf "! %s\t%s\n", $!, $@ #=> ! can't convert Array into String       r5.rb:15
end


instance method Regexp#|

self | other -> RegOr [added by eregex]

RegOr.new(self, other) を返します。

[PARAM] other:
正規表現オブジェクト。


instance method Regexp#~

~ -> Fixnum | nil

変数 $_ の値との間でのマッチをとります。ちょうど以下と同じ意 味です。

self =~ $_

使用例

$_ = "hogehoge"

if  /foo/
  puts "match"
else
  puts "no match"
end
#=> no match
# ただし、警告がでる。warning: regex literal in condition

reg = Regexp.compile("foo")

if ~ reg
  puts "match"
else
  puts "no match"
end
#=> no match

if reg
  puts "match"
else
  puts "no match"
end
#=> match
# reg は nil でも false でも無いので常にtrue


instance method Regexp#&

self & other -> RedAnd [added by eregex]

RegAnd.new(self, other) を返します。

[PARAM] other:
正規表現オブジェクト。


instance method Regexp#casefold?

casefold? -> bool

正規表現が大文字小文字の判定をしないようにコンパイルされている時、 真を返します。

reg = Regexp.new("foobar", Regexp::IGNORECASE)
p reg.casefold? #=> true

reg = Regexp.new("hogehoge")
p reg.casefold? #=> false


instance method Regexp#hash

hash -> Fixnum

正規表現のオプションやテキストに基づいたハッシュ値を返します。

p /abc/i.hash #=> 4893115
p /abc/.hash  #=> 4856055


instance method Regexp#inspect

inspect -> String

Regexp#to_s より自然な文字列を返します。

p /^ugou.*?/i.to_s    #=> "(?i-mx:^ugou.*?)"
p /^ugou.*?/i.inspect #=> "/^ugou.*?/i"

[SEE_ALSO] Regexp#to_s


instance method Regexp#kcode

kcode -> String | nil

その正規表現が対応するようにコンパイルされている文字コードを $KCODE と同じ形式で返します。もし、正規表現が固定 コードに対してコンパイルされていない(マッチ時点での $KCODE の値を用いる)場合には、nil を返します。

reg = Regexp.new("hogehoge", nil, "u")
p reg.kcode #=> "utf8"

reg = Regexp.new("hogehoge", nil)
p reg.kcode #=> "nil"


instance method Regexp#match

match(str) -> MatchData | nil

指定された文字列 str に対して 自身が表す正規表現によるマッチングを行います。マッチした場合には結果を MatchData オブジェクトで返します。 マッチしなかった場合 nil を返します。

[PARAM] str:
文字列を指定します。str との正規表現マッチを行います。

使用例

reg = Regexp.new("foo")

if reg.match("foobar")
  print "match\n" #=> match
end

p reg.match("foobar") #=> #<MatchData:0x29403fc>
p reg.match("bar")    #=> nil

p /(foo)(bar)(baz)/.match("foobarbaz").to_a.values_at(1,2,3) #=> ["foo", "bar", "baz"]

便利な使いかた

正規表現にマッチした部分文字列だけが必要な場合に、

bar = /foo(.*)baz/.match("foobarbaz").to_a[1]

foo, bar, baz = /(foo)(bar)(baz)/.match("foobarbaz").to_a.values_at(1,2,3)

のように使用できます。(to_a は、マッチに失敗した場合を考慮しています。)

多重代入の規則では右辺が配列でない一つのオブジェクトで to_a メソッドを持つ場合、右辺に * を付けることで to_a の結果を利用でき ます。つまり、上記は以下のように書くことができます。(ここでの `_' は、$& を捨てるために適当に選んだ変数名)

_, foo, bar, baz = */(foo)(bar)(baz)/.match("foobarbaz")
p [foo, bar, baz]

# => ["foo", "bar", "baz"]

このような用途に MatchData#captures が使 えると考えるかも知れませんが、captures では、マッチに失敗した場合、 nil.captures を呼び出そうとして例外 NoMethodError が発生して しまいます。

foo, bar, baz = /(foo)(bar)(baz)/.match("foobar").captures

# => -:1: undefined method `captures' for nil:NilClass (NoMethodError)


instance method Regexp#options

options -> Integer

正規表現の生成時に指定されたオプションを返します。戻り値は、 Regexp::EXTENDED, Regexp::IGNORECASE, Regexp::MULTILINE の論理和です。

p Regexp::IGNORECASE # => 1
p //i.options        # => 1

p Regexp.new("foo", Regexp::IGNORECASE ).options #=> 1
p Regexp.new("foo", Regexp::EXTENDED).options    #=> 2
p Regexp.new("foo", Regexp::IGNORECASE | Regexp::EXTENDED).options #=> 3
p Regexp.new("foo", Regexp::MULTILINE).options #=> 4
p Regexp.new("foo", Regexp::IGNORECASE | Regexp::MULTILINE ).options #=> 5
p Regexp.new("foo", Regexp::MULTILINE | Regexp::EXTENDED).options #=>6
p Regexp.new("foo", Regexp::IGNORECASE | Regexp::MULTILINE | Regexp::EXTENDED).options #=> 7


instance method Regexp#source

source -> String

その正規表現のもととなった文字列表現を生成して返します。

re = /foo|bar|baz/i
p re.source     # => "foo|bar|baz"


instance method Regexp#to_s

to_s -> String

正規表現の文字列表現を生成して返します。返される文字列は他の正規表 現に埋め込んでもその意味が保持されるようになっています。

re = /foo|bar|baz/i
p re.to_s       # => "(?i-mx:foo|bar|baz)"
p /#{re}+/o     # => /(?i-mx:foo|bar|baz)+/

ただし、後方参照を含む正規表現は意図通りにはならない場合があります。 これは現状、後方参照を番号でしか指定できないためです。

re = /(foo|bar)\1/      # \1 は、foo か bar
p /(baz)#{re}/          # \1 は、baz

# => /(baz)(?-mix:(foo|bar)\1)/

使用例

re = /foo|bar|baz/i
p re.to_s       # => "(?i-mx:foo|bar|baz)"
p /#{re}+/o     # => /(?i-mx:foo|bar|baz)+/

[SEE_ALSO] Regexp#inspect


singleton method Regexp.compile

compile(string, option = nil, code = nil) -> Regexp
new(string, option = nil, code = nil) -> Regexp

文字列 string をコンパイルして正規表現オブジェクトを生成して 返します。

第二引数が Fixnum であった場合、その値は

  • Regexp::IGNORECASE
  • Regexp::MULTILINE
  • Regexp::EXTENDED

の論理和でなければなりません。

第二引数が Fixnum 以外であれば真偽値の指定として見なされ、真 (nil, false 以外)であれば Regexp::IGNORECASE の指定と同じになります。

第三引数が与えられた時には、$KCODE の値にかかわ らず、指定された文字コードでマッチを行います。文字コードは $KCODE への代入と同様に文字列引数の最初の一文字で決定されま す。

第一引数が正規表現であれば内容が同じ(ただし、上記フラグの内容はク リアされた)正規表現を複製して返します。このとき、複製した正規表現 に対して、第二、第三引数の指定が設定されます。

第一引数が正規表現であれば第一引数を複製し て返します。第二、第三引数は警告の上無視されます。

正規表現のコンパイルに失敗した場合、例外 RegexpError が発生 します。

[PARAM] string:
正規表現を文字列として与えます。
[PARAM] option:
Regexp::IGNORECASE, Regexp::MULTILINE, Regexp::EXTENDED の論理和を指定します。
[PARAM] code:
文字コードを$KCODE への代入と同様の文字列で指定します。
[EXCEPTION] RegexpError:
正規表現のコンパイルに失敗した場合発生します。
str = "This is Regexp"
t1 = Regexp.compile("this is regexp", Regexp::IGNORECASE)
t1.match(str)
puts $~ #=> This is Regexp

t2 = Regexp.compile('
      this         # ここは使用されない
      \ is
      \ regexp     # ここも使用されない
', Regexp::EXTENDED | Regexp::IGNORECASE)
t2.match(str)
puts Regexp.last_match #=> This is Regexp

str = "ふるいけや\nかわずとびこむ\nみずのおと"
t2 = Regexp.compile("ふる.*?と", Regexp::MULTILINE)
puts t2.match(str)[0]  #=> ふるいけや
                       #=> かわずと

[SEE_ALSO] $KCODE


singleton method Regexp.escape

escape(string, kcode = $KCODE) -> String
quote(string, kcode = $KCODE) -> String

string の中で正規表現において特別な意味を持つ文字の直前にエ スケープ文字(バックスラッシュ)を挿入した文字列を返します。省略可能 な引数 kcode で文字列の文字コードを指定します (省略時は $KCODE の値が使用されます)。

文字コードの指定は $KCODE と同様に行います。

[PARAM] string:
正規表現において特別な意味をもつ文字をもつ文字列を指定します。
[PARAM] kcode:
文字コードを文字列で指定します。文字コードの指定は $KCODE と同様に行います。
rp = Regexp.escape("$bc^")
puts rp #=> \$bc\^


singleton method Regexp.last_match

last_match -> MatchData

カレントスコープで最後に行った正規表現マッチの MatchData オ ブジェクトを返します。このメソッドの呼び出しは $~ の参照と同じです。

/(.)(.)/ =~ "ab"
p Regexp.last_match      # => #<MatchData:0x4599e58>
p Regexp.last_match[0]   # => "ab"
p Regexp.last_match[1]   # => "a"
p Regexp.last_match[2]   # => "b"
p Regexp.last_match[3]   # => nil
last_match(nth) -> String | nil

整数 nth が 0 の場合、マッチした文字列を返します ($&)。それ以外では、nth 番目の括弧にマッチ した部分文字列を返します($1,$2,...)。 対応する括弧がない場合やマッチしなかった場合には nil を返し ます。

/(.)(.)/ =~ "ab"
p Regexp.last_match      # => #<MatchData:0x4599e58>
p Regexp.last_match(0)   # => "ab"
p Regexp.last_match(1)   # => "a"
p Regexp.last_match(2)   # => "b"
p Regexp.last_match(3)   # => nil

正規表現全体がマッチしなかった場合、引数なしの Regexp.last_match はnil を返すため、 last_match[1] の形式では例外 NameError が発生します。 対して、last_match(1) は nil を返します。

str = "This is Regexp"
/That is Regexp/ =~ str
p Regexp.last_match #=> nil
begin
  p Regexp.last_match[1] # 例外が発生する
rescue
  puts $! #=> undefined method `[]' for nil:NilClass
end
p Regexp.last_match(1) #=> nil
[PARAM] nth:
整数を指定します。 整数 nth が 0 の場合、マッチした文字列を返します。それ以外では、nth 番目の括弧にマッチした部分文字列を返します。


singleton method Regexp.union

union(*pattern) -> Regexp

引数として与えた pattern を選択 | で連結し、Regexp として返します。 結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。

p Regexp.union(/a/, /b/, /c/) #=> /(?-mix:a)|(?-mix:b)|(?-mix:c)/

引数を一つだけ与える場合は、Array を与えても Regexp を生成します。 つまり、以下のように書くことができます。

arr = [/a/, /b/, /c/]
p Regexp.union(arr)  #=> /(?-mix:a)|(?-mix:b)|(?-mix:c)/
# 1.8.7 より前は、以下のように書く必要があった
p Regexp.union(*arr) #=> /(?-mix:a)|(?-mix:b)|(?-mix:c)/

pattern は Regexp または String で与えます。 String で与えた場合、それ自身と等しい文字列のみにマッチするものと解釈され、 エスケープされて結果の Regexp に組み込まれます。

p Regexp.union("a", "?", "b") # => /a|\?|b/
p Regexp.union(/a/, "*") # => /(?-mix:a)|\*/

引数をひとつも与えなかった場合、決してマッチしない Regexp を返します。

p Regexp.union() # => /(?!)/

結果の Regexp が対応する文字コードは引数として与えた Regexp が扱う文字コードに 一致します。 固定コードに対してコンパイルされている Regexp を複数与える場合、 それらのコードは一致していなければなりません。 異なる固定コードに対してコンパイルされている Regexp が存在する場合、 ArgumentError が発生します。

p Regexp.union(/a/e, /b/e) # => /(?-mix:a)|(?-mix:b)/e
p Regexp.union(/a/e, /b/s) # => ArgumentError

コードが固定されている Regexp とコードが固定されていない Regexp を混ぜた場合、 結果の Regexp は固定されているコードに対応するものになります。

p Regexp.union(/a/e, /b/) # => /(?-mix:a)|(?-mix:b)/e
[PARAM] pattern:
| で連結したい正規表現を指定します
# オプションは合成されない
p Regexp.union(/foo/i, /bar/x, /hoge/m) #=> /(?i-mx:foo)|(?x-mi:bar)|(?m-ix:hoge)/

# 文字列そのものにマッチする
rep1 = [ "foo", "bar", "hoge"]
p Regexp.union(*rep1) #=> /foo|bar|hoge/
p Regexp.union(rep1)  #=> /foo|bar|hoge/

# 下記の場合オプションがつくのは最初だけ
rep2 = [ /foo/x, "bar", "hoge"]
p Regexp.union(*rep2) #=> /(?x-mi:foo)|bar|hoge/
p Regexp.union(rep2)  #=> /(?x-mi:foo)|bar|hoge/


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > __eval

instance method RemoteTkIp#__eval

__eval(str)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > __invoke

instance method RemoteTkIp#__invoke

__invoke(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _conv_listelement

instance method RemoteTkIp#_conv_listelement

_conv_listelement(str)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _create_console

instance method RemoteTkIp#_create_console

_create_console


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _eval

instance method RemoteTkIp#_eval

_eval(str)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _eval_with_enc

instance method RemoteTkIp#_eval_with_enc

_eval_with_enc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _eval_without_enc

instance method RemoteTkIp#_eval_without_enc

_eval_without_enc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _fromUTF8

instance method RemoteTkIp#_fromUTF8

_fromUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _get_global_var

instance method RemoteTkIp#_get_global_var

_get_global_var(var_name)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _get_global_var2

instance method RemoteTkIp#_get_global_var2

_get_global_var2(var_name, index_name)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _get_variable

instance method RemoteTkIp#_get_variable

_get_variable(var_name, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _get_variable2

instance method RemoteTkIp#_get_variable2

_get_variable2(var_name, index_name, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _invoke

instance method RemoteTkIp#_invoke

_invoke(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _invoke_with_enc

instance method RemoteTkIp#_invoke_with_enc

_invoke_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _invoke_without_enc

instance method RemoteTkIp#_invoke_without_enc

_invoke_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _ip_id_

instance method RemoteTkIp#_ip_id_

_ip_id_


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _is_master_of?

instance method RemoteTkIp#_is_master_of?

_is_master_of?(tcltkip_obj)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _merge_tklist

instance method RemoteTkIp#_merge_tklist

_merge_tklist(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _return_value

instance method RemoteTkIp#_return_value

_return_value


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _set_global_var

instance method RemoteTkIp#_set_global_var

_set_global_var(var_name, value)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _set_global_var2

instance method RemoteTkIp#_set_global_var2

_set_global_var2(var_name, index_name, value)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _set_variable

instance method RemoteTkIp#_set_variable

_set_variable(var_name, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _set_variable2

instance method RemoteTkIp#_set_variable2

_set_variable2(var_name, index_name, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _split_tklist

instance method RemoteTkIp#_split_tklist

_split_tklist(str)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _thread_tkwait

instance method RemoteTkIp#_thread_tkwait

_thread_tkwait(mode, target)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _thread_vwait

instance method RemoteTkIp#_thread_vwait

_thread_vwait(var_name)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _toUTF8

instance method RemoteTkIp#_toUTF8

_toUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _unset_global_var

instance method RemoteTkIp#_unset_global_var

_unset_global_var(var_name)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _unset_global_var2

instance method RemoteTkIp#_unset_global_var2

_unset_global_var2(var_name, index_name)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _unset_variable

instance method RemoteTkIp#_unset_variable

_unset_variable(var_name, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > _unset_variable2

instance method RemoteTkIp#_unset_variable2

_unset_variable2(var_name, index_name, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > allow_ruby_exit=

instance method RemoteTkIp#allow_ruby_exit=

allow_ruby_exit=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > allow_ruby_exit?

instance method RemoteTkIp#allow_ruby_exit?

allow_ruby_exit?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > appsend

instance method RemoteTkIp#appsend

appsend(async, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > create_slave

instance method RemoteTkIp#create_slave

create_slave(name, safe = false)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > delete

instance method RemoteTkIp#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > deleted?

instance method RemoteTkIp#deleted?

deleted?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > do_one_evant

instance method RemoteTkIp#do_one_evant

do_one_evant(flag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > get_eventloop_tick

instance method RemoteTkIp#get_eventloop_tick

get_eventloop_tick


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > get_eventloop_weight

instance method RemoteTkIp#get_eventloop_weight

get_eventloop_weight


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > get_no_event_wait

instance method RemoteTkIp#get_no_event_wait

get_no_event_wait


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > has_mainwindow?

instance method RemoteTkIp#has_mainwindow?

has_mainwindow?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > invalid_namespace?

instance method RemoteTkIp#invalid_namespace?

invalid_namespace?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > is_rubytk?

instance method RemoteTkIp#is_rubytk?

is_rubytk?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop

instance method RemoteTkIp#mainloop

mainloop


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop_abort_on_exception

instance method RemoteTkIp#mainloop_abort_on_exception

mainloop_abort_on_exception


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop_abort_on_exception=

instance method RemoteTkIp#mainloop_abort_on_exception=

mainloop_abort_on_exception=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop_watchdog

instance method RemoteTkIp#mainloop_watchdog

mainloop_watchdog


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > make_safe

instance method RemoteTkIp#make_safe

make_safe


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > manipulable?

instance method RemoteTkIp#manipulable?

manipulable?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > rb_appsend

instance method RemoteTkIp#rb_appsend

rb_appsend(async, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > ready?

instance method RemoteTkIp#ready?

ready?(timeout = 5)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > restart

instance method RemoteTkIp#restart

restart


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > safe?

instance method RemoteTkIp#safe?

safe?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > safe_base?

instance method RemoteTkIp#safe_base?

safe_base?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > set_eventloop_tick

instance method RemoteTkIp#set_eventloop_tick

set_eventloop_tick(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > set_eventloop_weight

instance method RemoteTkIp#set_eventloop_weight

set_eventloop_weight(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > set_no_event_wait

instance method RemoteTkIp#set_no_event_wait

set_no_event_wait(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > do_one_evant

singleton method RemoteTkIp.do_one_evant

do_one_evant(flag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > get_eventloop_tick

singleton method RemoteTkIp.get_eventloop_tick

get_eventloop_tick


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > get_eventloop_weight

singleton method RemoteTkIp.get_eventloop_weight

get_eventloop_weight


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > get_no_event_wait

singleton method RemoteTkIp.get_no_event_wait

get_no_event_wait


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop

singleton method RemoteTkIp.mainloop

mainloop(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop_abort_on_exception

singleton method RemoteTkIp.mainloop_abort_on_exception

mainloop_abort_on_exception


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop_abort_on_exception=

singleton method RemoteTkIp.mainloop_abort_on_exception=

mainloop_abort_on_exception=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > mainloop_watchdog

singleton method RemoteTkIp.mainloop_watchdog

mainloop_watchdog(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > manipulable?

singleton method RemoteTkIp.manipulable?

manipulable?


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > new

singleton method RemoteTkIp.new

new(*args, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > set_eventloop_tick

singleton method RemoteTkIp.set_eventloop_tick

set_eventloop_tick(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > set_eventloop_weight

singleton method RemoteTkIp.set_eventloop_weight

set_eventloop_weight(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library remote-tk > class RemoteTkIp > set_no_event_wait

singleton method RemoteTkIp.set_no_event_wait

set_no_event_wait(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv > AddressRegex

constant Resolv::AddressRegex

AddressRegex -> Regexp

IPアドレスにマッチする正規表現です。


constant Resolv::DefaultResolver

DefaultResolver -> Resolv

Resolv の各クラスメソッドを呼びだしたときに 利用されるリゾルバです。


instance method Resolv#each_address

each_address(name) {|name| ...} -> ()

ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。

[PARAM] name:
ホスト名を文字列で与えます。


instance method Resolv#each_name

each_name(address) {|name| ...} -> ()

IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。

[PARAM] address:
IPアドレスを文字列で与えます。


instance method Resolv#getaddress

getaddress(name) -> String

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。

[PARAM] name:
ホスト名を文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


instance method Resolv#getaddresses

getaddresses(name) -> [String]

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。

ルックアップに失敗した場合は空の配列が返されます。

[PARAM] name:
ホスト名を文字列で与えます。


instance method Resolv#getname

getname(address) -> String

IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。

[PARAM] address:
IPアドレスを文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


instance method Resolv#getnames

getnames(address) -> [String]

IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。

[PARAM] address:
IPアドレスを文字列で与えます。


singleton method Resolv.each_address

each_address(name) {|address| ...} -> ()

ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] name:
ホスト名を文字列で与えます。


singleton method Resolv.each_name

each_name(address) {|name| ...} -> ()

IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] address:
IPアドレスを文字列で与えます。


singleton method Resolv.getaddress

getaddress(name) -> String

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。

ルックアップは /etc/hosts, DNS の順で行います。

Resolv.getaddress("localhost") #=> "127.0.0.1"
Resolv.getaddress("www.ruby-lang.org") #=> "221.186.184.68"
[PARAM] name:
ホスト名を文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


singleton method Resolv.getaddresses

getaddresses(name) -> [String]

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。

ルックアップは /etc/hosts, DNS の順で行います。 ルックアップに失敗した場合は空の配列が返されます。

[PARAM] name:
ホスト名を文字列で与えます。


singleton method Resolv.getname

getname(address) -> String

IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。

ルックアップは /etc/hosts, DNS の順で行います。

Resolv.getname("221.186.184.68") #=> "carbon.ruby-lang.org"
[PARAM] address:
IPアドレスを文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


singleton method Resolv.getnames

getnames(address) -> [String]

IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] address:
IPアドレスを文字列で与えます。


singleton method Resolv.new

new(resolvers = [Hosts.new, DNS.new]) -> Resolv

resolvers に与えたリゾルバの配列を先頭から順に 名前解決を試すような、新しいリソルバオブジェクトを返します。

resolvers の各要素は each_address と each_name という メソッドを持っていなければなりません。

[PARAM] resolvers:
リゾルバの配列


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS > Port

constant Resolv::DNS::Port

Port -> Integer

デフォルトの DNS ポート番号です。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS > UDPSize

constant Resolv::DNS::UDPSize

UDPSize -> Integer

デフォルトの UDP パケットサイズです。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS > close

instance method Resolv::DNS#close

close -> ()

DNSリゾルバを閉じます。


instance method Resolv::DNS#each_address

each_address(name) {|name| ...} -> ()

ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。

[PARAM] name:
ホスト名を文字列もしくはResolv::DNS::Nameのインスタンスで与えます。


instance method Resolv::DNS#each_name

each_name(address) {|name| ...} -> ()

IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。

[PARAM] address:
IPアドレスを文字列、 Resolv::IPv4 のインスタンス、 Resolv::IPv6 のインスタンス、のいずれか与えます。


instance method Resolv::DNS#each_resource

each_resource(name, typeclass) {|resource| ...} -> ()

nameに対応するDNSリソースレコードを取得します。 見つかったリソースをひとつづつブロックに渡します。

typeclass は以下のいずれかです。

  • Resolv::DNS::Resource::IN::ANY
  • Resolv::DNS::Resource::IN::NS
  • Resolv::DNS::Resource::IN::CNAME
  • Resolv::DNS::Resource::IN::SOA
  • Resolv::DNS::Resource::IN::HINFO
  • Resolv::DNS::Resource::IN::MINFO
  • Resolv::DNS::Resource::IN::MX
  • Resolv::DNS::Resource::IN::TXT
  • Resolv::DNS::Resource::IN::A
  • Resolv::DNS::Resource::IN::WKS
  • Resolv::DNS::Resource::IN::PTR
  • Resolv::DNS::Resource::IN::AAAA
  • Resolv::DNS::Resource::IN::SRV

ルックアップ結果は Resolv::DNS::Resource （のサブクラス）のインスタンスとなります。 typeclass に Resolv::DNS::Resource::IN::ANY 以外を指定した場合には そのクラスのインスタンスを返します。

[PARAM] name:
ルックアップ対象となる名前を Resolv::DNS::Name または String で指定します。
[PARAM] typeclass:
レコード種別を指定します。


instance method Resolv::DNS#getaddress

getaddress(name) -> Resolv::IPv4 | Resolv::IPv6

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。

[PARAM] name:
ホスト名を文字列もしくはResolv::DNS::Nameのインスタンスで与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


instance method Resolv::DNS#getaddresses

getaddresses(name) -> [Resolv::IPv4 | Resolv::IPv6]

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。

ルックアップに失敗した場合は空の配列が返されます。

[PARAM] name:
ホスト名を文字列もしくはResolv::DNS::Nameのインスタンスで与えます。


instance method Resolv::DNS#getname

getname(address) -> Resolv::DNS::Name

IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を返します。

[PARAM] address:
IPアドレスを文字列、 Resolv::IPv4 のインスタンス、 Resolv::IPv6 のインスタンス、のいずれか与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


instance method Resolv::DNS#getnames

getnames(address) -> [Resolv::DNS::Name]

IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。

[PARAM] address:
IPアドレスを文字列、 Resolv::IPv4 のインスタンス、 Resolv::IPv6 のインスタンス、のいずれか与えます。


instance method Resolv::DNS#getresource

getresource(name, typeclass) -> Resolv::DNS::Resource

nameに対応するDNSリソースレコードを取得します。 最初に見つかったリソースを返します。

typeclass は以下のいずれかです。

  • Resolv::DNS::Resource::IN::ANY
  • Resolv::DNS::Resource::IN::NS
  • Resolv::DNS::Resource::IN::CNAME
  • Resolv::DNS::Resource::IN::SOA
  • Resolv::DNS::Resource::IN::HINFO
  • Resolv::DNS::Resource::IN::MINFO
  • Resolv::DNS::Resource::IN::MX
  • Resolv::DNS::Resource::IN::TXT
  • Resolv::DNS::Resource::IN::A
  • Resolv::DNS::Resource::IN::WKS
  • Resolv::DNS::Resource::IN::PTR
  • Resolv::DNS::Resource::IN::AAAA
  • Resolv::DNS::Resource::IN::SRV

ルックアップ結果は Resolv::DNS::Resource （のサブクラス）のインスタンスとなります。 typeclass に Resolv::DNS::Resource::IN::ANY 以外を指定した場合には そのクラスのインスタンスを返します。

[PARAM] name:
ルックアップ対象となる名前を Resolv::DNS::Name または String で指定します。
[PARAM] typeclass:
レコード種別を指定します。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗した場合に発生します。


instance method Resolv::DNS#getresources

getresources(name, typeclass) -> [Resolv::DNS::Resource]

nameに対応するDNSリソースレコードを取得します。 見つかったリソース全てを配列にして返します。

typeclass は以下のいずれかです。

  • Resolv::DNS::Resource::IN::ANY
  • Resolv::DNS::Resource::IN::NS
  • Resolv::DNS::Resource::IN::CNAME
  • Resolv::DNS::Resource::IN::SOA
  • Resolv::DNS::Resource::IN::HINFO
  • Resolv::DNS::Resource::IN::MINFO
  • Resolv::DNS::Resource::IN::MX
  • Resolv::DNS::Resource::IN::TXT
  • Resolv::DNS::Resource::IN::A
  • Resolv::DNS::Resource::IN::WKS
  • Resolv::DNS::Resource::IN::PTR
  • Resolv::DNS::Resource::IN::AAAA
  • Resolv::DNS::Resource::IN::SRV

ルックアップ結果は Resolv::DNS::Resource （のサブクラス）のインスタンスとなります。 typeclass に Resolv::DNS::Resource::IN::ANY 以外を指定した場合には そのクラスのインスタンスを返します。

[PARAM] name:
ルックアップ対象となる名前を Resolv::DNS::Name または String で指定します。
[PARAM] typeclass:
レコード種別を指定します。


singleton method Resolv::DNS.new

new(resolv_conf = nil) -> Resolv::DNS

新しい DNS リゾルバを生成します。

resolv_conf が nil の場合は /etc/resolv.conf もしくはプラットフォーム固有の DNS設定を利用します。 resolv_conf が文字列の場合は /etc/resolv.conf と 同じフォーマットのファイルを設定に利用します。 resolv_conf がハッシュの場合は、:nameserver, :search, :ndots というキーが利用可能です。 それぞれの意味は resolv.conf(5) を参照してください。

Resolv::DNS.new(:nameserver => ['210.251.121.21'],
                :search => ['ruby-lang.org'],
                :ndots => 1)
[PARAM] resolv_conf:
DNSの設定を与えます。


singleton method Resolv::DNS.open

open(*args) -> Resolv::DNS
open(*args) {|dns| ...} -> object

新しい DNS リゾルバを生成します。 ブロックを与えた場合は生成したリゾルバでブロックを呼びだし、 ブロック終了時にリゾルバを閉じます。

ブロックを与えなかった場合は Resolv::DNS.new と 同じです。

[PARAM] args:
DNSの設定を与えます。意味は Resolv::DNS.new の引数と同じです。
[RETURN]
ブロックを与えた場合はブロックの返す値を返し、 与えなかった場合は生成したリゾルバを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Name > absolute?

instance method Resolv::DNS::Name#absolute?

absolute? -> bool

絶対パス形式であるかどうかを返します。


instance method Resolv::DNS::Name#subdomain_of?

subdomain_of?(other) -> bool

other が self のサブドメインであるかどうかを返します。

例

domain = Resolv::DNS::Name.create("y.z")
p Resolv::DNS::Name.create("w.x.y.z").subdomain_of?(domain) #=> true
p Resolv::DNS::Name.create("x.y.z").subdomain_of?(domain) #=> true
p Resolv::DNS::Name.create("y.z").subdomain_of?(domain) #=> false
p Resolv::DNS::Name.create("z").subdomain_of?(domain) #=> false
p Resolv::DNS::Name.create("x.y.z.").subdomain_of?(domain) #=> false
p Resolv::DNS::Name.create("w.z").subdomain_of?(domain) #=> false


instance method Resolv::DNS::Name#to_s

to_s -> String

ドメイン名を文字列として返します。

絶対パス形式であっても返される文字列には最後のドットは含まれません。


singleton method Resolv::DNS::Name.create

create(name) -> Resolv::DNS::Name

文字列 name から Resolv::DNS::Name のインスタンスを生成します。

[PARAM] name:
ドメイン名の文字列。最後に"."を置くと絶対パス形式、そうでなければ相対パス形式とみなされます。


singleton method Resolv::DNS::Name.new

new(labels, absolute = true) -> Resolv::DNS::Name

Resolv::DNS::Nameのインスタンスを生成します。 labels は Resolv::DNS::Label::Str の配列を与えます。

[PARAM] labels:
ドメイン名を Resolv::DNS::Label::Str の配列として与えます。
[PARAM] absolute:
ドメイン名が絶対パスであるかどうかを 真偽値で与えます。

[SEE_ALSO] Resolv::DNS::Name.create


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::DomainName > name

instance method Resolv::DNS::Resource::DomainName#name

name -> Resolv::DNS::Name

ドメイン名を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::HINFO > cpu

instance method Resolv::DNS::Resource::HINFO#cpu

cpu -> String

ホストで使われる CPU 名(ハードウェア名)を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::HINFO > os

instance method Resolv::DNS::Resource::HINFO#os

os -> String

ホストで使われる OS 名を返します。


singleton method Resolv::DNS::Resource::HINFO.new

new(cpu, os) -> Resolv::DNS::Resource::HINFO

Resolv::DNS::Resource::HINFO のインスタンスを生成します。

[PARAM] cpu:
CPU 名
[PARAM] os:
OS 名


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::IN::A > address

instance method Resolv::DNS::Resource::IN::A#address

address -> Resolv::IPv4

IPv4アドレスを返します。


singleton method Resolv::DNS::Resource::IN::A.new

new(address) -> Resolv::DNS::Resource::IN::A

Resolv::DNS::Resource::IN::A のインスタンスを 生成します。

[PARAM] address:
IPv4アドレス


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::IN::AAAA > address

instance method Resolv::DNS::Resource::IN::AAAA#address

address -> Resolv::IPv6

IPv6アドレスを返します。


singleton method Resolv::DNS::Resource::IN::AAAA.new

new(address) -> Resolv::DNS::Resource::IN::AAAA

Resolv::DNS::Resource::IN::AAAA のインスタンスを 生成します。

[PARAM] address:
IPv6アドレス


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::IN::SRV > port

instance method Resolv::DNS::Resource::IN::SRV#port

port -> Integer

対象のサービスの対象のホストにおけるポート番号を返します。


instance method Resolv::DNS::Resource::IN::SRV#priority

priority -> Integer

ホストの優先順位を返します。

クライアントは利用可能なホストの中で最も priority が 小さい数値のホストを利用しなければなりません。

priority が同じならば Resolv::DNS::Resource::IN::SRV#weight で定義されるようにホストを選ぶべきです。

返り値の範囲は 0 から 65535 までの整数値です。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::IN::SRV > target

instance method Resolv::DNS::Resource::IN::SRV#target

target -> Resolv::DNS::Name

対象のホストのホスト名を返します。


instance method Resolv::DNS::Resource::IN::SRV#weight

weight -> Integer

サーバを選択するための「重み」です。

Resolv::DNS::Resource::IN::SRV#priority が同じ場合に この項目が利用されます。 重みに比例した確率でホストを選択すべきです。 返り値の範囲は 0 から 65535 までの整数です。 選択肢が一つしかない、つまり選択する必要がない場合には この値は人間が読みやすいよう 0 にすべきです。


singleton method Resolv::DNS::Resource::IN::SRV.new

new(priority, weight, port, target) -> Resolv::DNS::Resource::IN::SRV

Resolv::DNS::Resource::IN::SRV のインスタンスを生成します。

[PARAM] priority:
ホストの優先順位
[PARAM] weight:
[PARAM] port:
ポート番号
[PARAM] target:
ホスト名


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::IN::WKS > address

instance method Resolv::DNS::Resource::IN::WKS#address

address -> Resolv::IPv4

IPv4アドレスを返します。


instance method Resolv::DNS::Resource::IN::WKS#bitmap

bitmap -> String

そのホストで利用可能なサービスのビットマップを返します。

例えば Resolv::DNS::Resource::IN::WKS#protocol が 6 (TCP) の場合、26番目のビットはポート25のサービス(SMTP)に対応しています。 このビットが立っているならば SMTP は利用可能であり、 そうでなければ利用できません。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::IN::WKS > protocol

instance method Resolv::DNS::Resource::IN::WKS#protocol

protocol -> Integer

IPプロトコル番号を返します。

例えば 6 は TCP に対応します。


singleton method Resolv::DNS::Resource::IN::WKS.new

new(address, protocol, bitmap) -> Resolv::DNS::Resource::IN::WKS

Resolv::DNS::Resource::IN::WKS のインスタンスを生成します。

[PARAM] address:
IPv4アドレス
[PARAM] protocol:
IPプロトコル番号
[PARAM] bitmap:
ビットマップ


instance method Resolv::DNS::Resource::MINFO#emailbx

emailbx -> String

メーリングリストもしくはメールボックスの エラーを受け取るメールボックスのドメイン名を 返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::MINFO > rmailbx

instance method Resolv::DNS::Resource::MINFO#rmailbx

rmailbx -> String

メーリングリストもしくはメールボックスの 責任者のドメイン名を返します。


singleton method Resolv::DNS::Resource::MINFO.new

new(rmailbx, emailbx) -> Resolv::DNS::Resource::MINFO

Resolv::DNS::Resource::MINFO のインスタンスを生成します。

[PARAM] rmailbx:
このメールリストドメイン名
[PARAM] emailbx:


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::MX > exchange

instance method Resolv::DNS::Resource::MX#exchange

exchange -> Resolv::DNS::Name

MXのホスト名を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::MX > preference

instance method Resolv::DNS::Resource::MX#preference

preference -> Integer

このMXレコードの優先度を返します。


singleton method Resolv::DNS::Resource::MX.new

new(preference, exchange) -> Resolv::DNS::Resource::MX

Resolv::DNS::Resource::MX のインスタンスを返します。

[PARAM] preference:
MXの優先度
[PARAM] exchange:
MXのホスト


instance method Resolv::DNS::Resource::SOA#expire

expire -> Integer

プライマリサーバから得たゾーン情報をセカンダリサーバが 何秒間有効なものとして保持するかを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::SOA > minimum

instance method Resolv::DNS::Resource::SOA#minimum

minimum -> Integer

リソースレコードで TTL の値として使われる最小の秒数を 返します。


instance method Resolv::DNS::Resource::SOA#mname

mname -> Resolv::DNS::Name

対象のゾーンのマスターゾーンファイルが存在するホスト名を返します。


instance method Resolv::DNS::Resource::SOA#refresh

refresh -> Integer

プライマリサーバからの更新をセカンダリサーバがチェックする 頻度を秒単位で返します。


instance method Resolv::DNS::Resource::SOA#retry

retry -> Integer

セカンダリサーバがプライマリサーバからの情報更新に失敗した場合に 何秒後にリトライするかを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::SOA > rname

instance method Resolv::DNS::Resource::SOA#rname

rname -> Resolv::DNS::Name

対象のドメイン名の管理者名を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::SOA > serial

instance method Resolv::DNS::Resource::SOA#serial

serial -> Integer

ゾーンファイルのバージョンを返します。


singleton method Resolv::DNS::Resource::SOA.new

new(mname, rname, serial, refresh, retry_, expire, minimum)

Resolv::DNS::Resource::SOA のインスタンスを生成して返します。

[PARAM] mname:
対象のゾーンのマスターゾーンファイルが存在するホスト名
[PARAM] rname:
対象のドメイン名の管理者名
[PARAM] serial:
ゾーンファイルのバージョン
[PARAM] refresh:
プライマリサーバからの更新をセカンダリサーバが チェックする頻度(秒単位)
[PARAM] retry:
セカンダリサーバがプライマリサーバからの情報更新 に失敗した場合のリトライの頻度(秒単位)
[PARAM] expire:
プライマリサーバから得たゾーン情報の有効期間(秒単位)
[PARAM] minimum:
リソースレコードの最小 TTL (秒単位)


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::TXT > data

instance method Resolv::DNS::Resource::TXT#data

data -> String

TXT レコードの最初の文字列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::DNS::Resource::TXT > strings

instance method Resolv::DNS::Resource::TXT#strings

strings -> [String]

TXT レコードの文字列を配列で返します。


singleton method Resolv::DNS::Resource::TXT.new

new(first_string, *rest_strings) -> Resolv::DNS::Resource::TXT

Resolv::DNS::Resource::TXTのインスタンスを生成します。

[PARAM] first_string:
レコードの最初の文字列
[PARAM] rest_strings:
レコードの残りの文字列


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::Hosts > DefaultFileName

constant Resolv::Hosts::DefaultFileName

DefaultFileName -> String

システム標準の、 ホスト情報が書かれたファイルの名前です。


instance method Resolv::Hosts#each_address

each_address(name) {|name| ...} -> ()

ホスト名 name の IP アドレスをルックアップし、 各ルックアップ結果のアドレスに対してブロックを評価します。

[PARAM] name:
ホスト名を文字列で与えます。


instance method Resolv::Hosts#each_name

each_name(address) {|name| ...} -> ()

IP アドレス address のホスト名をルックアップし、 各ルックアップ結果のホスト名に対してブロックを評価します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] address:
IPアドレスを文字列で与えます。


instance method Resolv::Hosts#getaddress

getaddress(name) -> String

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果の最初のアドレスを返します。

[PARAM] name:
ホスト名を文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


instance method Resolv::Hosts#getaddresses

getaddresses(name) -> [String]

ホスト名 name の IP アドレスをルックアップし、 ルックアップ結果のアドレスリストを返します。

ルックアップに失敗した場合は空の配列が返されます。

[PARAM] name:
ホスト名を文字列で与えます。


instance method Resolv::Hosts#getname

getname(address) -> String

IP アドレス address のホスト名をルックアップし、 ルックアップ結果の最初のホスト名を文字列で返します。

[PARAM] address:
IPアドレスを文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。


instance method Resolv::Hosts#getnames

getnames(address) -> [String]

IP アドレス address のホスト名をルックアップし、 ルックアップ結果のホスト名リストを返します。

[PARAM] address:
IPアドレスを文字列で与えます。


singleton method Resolv::Hosts.new

new(hosts = DefaultFileName) -> Resolv::Hosts

hosts というファイル名のファイルを情報源とする リゾルバを生成し、返します。

[PARAM] hosts:
ホスト情報が書かれたファイルの名前を文字列で与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::IPv4 > Regex

constant Resolv::IPv4::Regex

Regex -> Regexp

IPv4 のアドレスの正規表現です。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::IPv4 > address

instance method Resolv::IPv4#address

address -> String

4byte バイト列の IPv4 アドレスを返します。


instance method Resolv::IPv4#to_name

to_name -> Resolv::DNS::Name

"x.y.z.w.in-addr.arpa." という形のドメイン名を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::IPv4 > to_s

instance method Resolv::IPv4#to_s

to_s -> String

ドットで区切られた IPv4 アドレス文字列を返します。


singleton method Resolv::IPv4.create

create(address) -> Resolv::IPv4

"192.168.0.1" のように "." で区切られた IPv4 表記の文字列 address から Resolv::IPv4 のインスタンスを生成します。

[PARAM] address:
IPv4 表記の文字列


singleton method Resolv::IPv4.new

new(address) -> Resolv::IPv4

4 byte の文字列 address から Resolv::IPv4 のインスタンスを生成します。

[PARAM] address:
4 byte のバイナリ列の IPv4 のアドレス

[SEE_ALSO] Resolv::IPv4.create


constant Resolv::IPv6::Regex

Regex -> Regexp

IPv6のアドレスの正規表現です。
Resolv::IPv6::Regex_6Hex4Dec,
Resolv::IPv6::Regex_8Hex,
Resolv::IPv6::Regex_CompressedHex,
Resolv::IPv6::Regex_CompressedHex4Dec,
のいずれかとマッチする文字列とマッチします。


constant Resolv::IPv6::Regex_6Hex4Dec

Regex_6Hex4Dec -> Regexp
Regex_8Hex -> Regexp
Regex_CompressedHex -> Regexp
Regex_CompressedHex4Dec -> Regexp

IPv6の各文字列表記とマッチする正規表現です。順に

  • a:b:c:d:e:f:w.x.y.z
  • a:b:c:d:e:f:g:h
  • a::b
  • a::b:w.x.y.z

という文字列とマッチします。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::IPv6 > address

instance method Resolv::IPv6#address

address -> String

IPv6アドレスを表す 16 byte の文字列(バイト列)を返します。


instance method Resolv::IPv6#to_name

to_name -> Resolv::DNS::Name

"h.g.f.e.d.c.b.a.ip6.arpa." という DNS 名を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library resolv > class Resolv::IPv6 > to_s

instance method Resolv::IPv6#to_s

to_s -> String

IPv6 アドレスの文字列表現を返します。


singleton method Resolv::IPv6.create

create(address)

以下のいずれかの形式の文字列 address から Resolv::IPv6 のインスタンスを生成します。

  • 8Hex
  • CompressedHex
  • 6Hex4Dec
  • CompressedHex4Dec
[PARAM] address:
human readable な IPv6 アドレスの文字列表現


singleton method Resolv::IPv6.new

new(address)

16 byte の文字列 address から Resolv::IPv6 のインスタンスを生成します。

[PARAM] address:
IPv6アドレスを表す 16 byte の文字列(バイト列)

[SEE_ALSO] Resolv::IPv6.create


instance method Rinda::DRbObjectTemplate#===

self === ro

This DRbObjectTemplate matches +ro+ if the remote object's drburi and drbref are the same. +nil+ is used as a wildcard.


singleton method Rinda::DRbObjectTemplate.new

new(uri = nil, ref = nil)

Creates a new DRbObjectTemplate that will match against +uri+ and +ref+.


instance method Rinda::SimpleRenewer#renew

renew

Called by the TupleSpace to check if the object is still alive.


singleton method Rinda::SimpleRenewer.new

new(sec = 180)

Creates a new SimpleRenewer that keeps an object alive for another +sec+ seconds.


instance method Rinda::Template#===

self === tuple
match(tuple)

self と tuple のサイズが同じで、 self の各要素が tuple にマッチする場合は真を返します。 マッチングの検査には Rinda::Tuple#== と Rinda::Tuple#=== を用います。 nil はワイルドカードです。


instance method Rinda::Tuple#[]

self[key]

ハッシュキー key に対応する要素を返します。 self が Array オブジェクトから生成された場合は、 整数 key を与えるとそのインデックスに対応する要素を返します。


instance method Rinda::Tuple#each

each {|key, value| ... }

各ハッシュキー key と値 value のペアを引数としてブロックを評価します。 self が Array オブジェクトから生成された場合は、 インデックスと値のペアを引数としてブロックを評価します。


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::Tuple > fetch

instance method Rinda::Tuple#fetch

fetch(key)

ハッシュキー key に対応する要素を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::Tuple > size

instance method Rinda::Tuple#size

size

サイズを整数で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::Tuple > value

instance method Rinda::Tuple#value

value

自身が保持しているハッシュか配列を返します。


singleton method Rinda::Tuple.new

new(ah)

Tuple オブジェクトを生成します。 ah には Array オブジェクトか Hash オブジェクトを与えます。 Hash オブジェクトを与える場合、 キーはすべて文字列でなければいけません。


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > []

instance method Rinda::TupleEntry#[]

self[key]

Retrieves key from the tuple.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > alive?

instance method Rinda::TupleEntry#alive?

alive?

A TupleEntry is dead when it is canceled or expired.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > cancel

instance method Rinda::TupleEntry#cancel

cancel

Marks this TupleEntry as canceled.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > canceled?

instance method Rinda::TupleEntry#canceled?

canceled?

Returns the canceled status.


instance method Rinda::TupleEntry#expired?

expired?

Has this tuple expired? (true/false).

A tuple has expired when its expiry timer based on the sec argument to #initialize runs out.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > expires

instance method Rinda::TupleEntry#expires

expires


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > expires=

instance method Rinda::TupleEntry#expires=

expires=(expires)


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > fetch

instance method Rinda::TupleEntry#fetch

fetch(key)

Fetches key from the tuple.


instance method Rinda::TupleEntry#make_expires

make_expires(sec = nil)

Returns an expiry Time based on +sec+ which can be one of:

Numeric: +sec+ seconds into the future

+true+: the expiry time is the start of 1970 (i.e. expired)

+nil+: it is Tue Jan 19 03:14:07 GMT Standard Time 2038 (i.e.

when UNIX clocks will die)


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > make_tuple

instance method Rinda::TupleEntry#make_tuple

make_tuple(ary)

Creates a Rinda::Tuple for +ary+.


instance method Rinda::TupleEntry#renew

renew(sec_or_renewer)

Reset the expiry time according to +sec_or_renewer+.

+nil+: it is set to expire in the far future.

+false+: it has expired.

Numeric: it will expire in that many seconds.

Otherwise the argument refers to some kind of renewer object which will reset its expiry time.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleEntry > size

instance method Rinda::TupleEntry#size

size

The size of the tuple.


instance method Rinda::TupleEntry#value

value

Return the object which makes up the tuple itself: the Array or Hash.


singleton method Rinda::TupleEntry.new

new(ary, sec = nil)

Creates a TupleEntry based on +ary+ with an optional renewer or expiry time +sec+.

A renewer must implement the +renew+ method which returns a Numeric, nil, or true to indicate when the tuple has expired.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleSpace > move

instance method Rinda::TupleSpace#move

move(port, tuple, sec = nil)

Moves +tuple+ to +port+.


instance method Rinda::TupleSpace#notify

notify(event, tuple, sec = nil)

Registers for notifications of +event+. Returns a NotifyTemplateEntry. See NotifyTemplateEntry for examples of how to listen for notifications.

+event+ can be:

'write': A tuple was added

'take': A tuple was taken or moved

'delete': A tuple was lost after being overwritten or expiring

The TupleSpace will also notify you of the 'close' event when the NotifyTemplateEntry has expired.


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleSpace > read

instance method Rinda::TupleSpace#read

read(tuple, sec=nil)

Reads +tuple+, but does not remove it.


instance method Rinda::TupleSpace#read_all

read_all(tuple)

Returns all tuples matching +tuple+. Does not remove the found tuples.


instance method Rinda::TupleSpace#take

take(tuple, sec = nil)
take(tuple, sec = nil) {|template| ... }

tuple にマッチするタプルをタプルスペースから取り出して返します。 マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに 投入されるまで待ちます。

待ち時間が sec 秒を過ぎた時には take をあきらめ 例外 Rinda::RequestExpiredError を投げます。


instance method Rinda::TupleSpace#write

write(tuple, sec = nil)

Rinda::Tuple オブジェクト tuple をタプルスペースに加えます。 tuple を管理するための Rinda::TupleEntry オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/tuplespace > class Rinda::TupleSpace > new

singleton method Rinda::TupleSpace.new

new(period = 60)

Rinda::TupleSpace オブジェクトを生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::TupleSpaceProxy > notify

instance method Rinda::TupleSpaceProxy#notify

notify(ev, tuple, sec = nil)

詳細は Rinda::TupleSpace#notify 参照


instance method Rinda::TupleSpaceProxy#read

read(tuple, sec = nil) {|template| ... }

詳細は Rinda::TupleSpace#read 参照


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::TupleSpaceProxy > read_all

instance method Rinda::TupleSpaceProxy#read_all

read_all(tuple)

詳細は Rinda::TupleSpace#read_all 参照


instance method Rinda::TupleSpaceProxy#take

take(tuple, sec = nil) {|template| ... }

詳細は Rinda::TupleSpace#take 参照


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::TupleSpaceProxy > write

instance method Rinda::TupleSpaceProxy#write

write(tuple, sec = nil)

詳細は Rinda::TupleSpace#write 参照


Ruby 1.8.7 Reference Manual > All Libraries > library rinda/rinda > class Rinda::TupleSpaceProxy > new

singleton method Rinda::TupleSpaceProxy.new

new(ts)

Creates a new TupleSpaceProxy to wrap +ts+.


Ruby 1.8.7 Reference Manual > All Libraries > library sdbm > class SDBM > []

instance method SDBM#[]

self[key] -> String

key をキーとする値を返します。

[PARAM] key:
キー。


instance method SDBM#[]=

self[key] = value

key をキーとして、value を格納します。

value として nil を指定すると、key に対する項目を削除します。

[PARAM] key:
キー。
[PARAM] value:
格納する値。


Ruby 1.8.7 Reference Manual > All Libraries > library sdbm > class SDBM > clear

instance method SDBM#clear

clear -> self

DBM ファイルを空にします。


Ruby 1.8.7 Reference Manual > All Libraries > library sdbm > class SDBM > close

instance method SDBM#close

close -> nil

DBM ファイルをクローズします。

以後の操作は例外を発生させます。


instance method SDBM#closed?

closed? -> bool

DBM ファイルが既に閉じられているかどうかを返します。

既に閉じられていれば true を返します。 そうでなければ false を返します。


instance method SDBM#delete

delete(key) -> String

key をキーとする項目を削除します。

[PARAM] key:
キー。
[RETURN]
削除した要素の値を返します。
require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.delete('a') #=> 'aaa'


instance method SDBM#delete_if

reject! { |key, value| ... } -> self
delete_if { |key, value| ... } -> self

ブロックを評価した値が真であれば該当する項目を削除します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1                                    #=> #<SDBM:0xb7cc96f8>
p db1.reject!{ |key, value| key == 'a' } #=> #<SDBM:0xb7cc96f8>


instance method SDBM#each

each {|key, value| ... } -> self
each_pair {|key, value| ... } -> self

各要素に対するイテレータ。


Ruby 1.8.7 Reference Manual > All Libraries > library sdbm > class SDBM > each_key

instance method SDBM#each_key

each_key {|key| ... } -> self

全ての key に対して繰り返すイテレータ。


instance method SDBM#each_value

each_value {|value| ... } -> self

全ての value に対して繰り返すイテレータ。


Ruby 1.8.7 Reference Manual > All Libraries > library sdbm > class SDBM > empty?

instance method SDBM#empty?

empty? -> bool

データベースが空の時、真を返します。


instance method SDBM#fetch

fetch -> String

データベースから対応するキーを探してその要素の値を返します。

[PARAM] key:
探索するキー。
[PARAM] ifnone:
対応するキーが見つからなかった場合に返す値。
[EXCEPTION] IndexError:
ifnone が設定されていないときに、対応するキーが 見つからなかった場合に発生します。
require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.fetch('a')                             #=> "aaa"
p db1.fetch('z', 'zzz')                      #=> "zzz"
p db1.fetch('z'){|key| [:key, key] }         #=> [:key, "z"]
p db1.fetch('z', 'zzz'){|key| [:key, key] }  #=> "zzz"
p db1.fetch('z')                             #=> IndexError 発生


instance method SDBM#has_key?

has_key?(key) -> bool
key?(key) -> bool
include?(key) -> bool
member?(key) -> bool

key がデータベース中に存在する時、真を返します。

[PARAM] key:
検索したいキー。


instance method SDBM#has_value?

has_value?(value) -> bool
value?(value) -> bool

value を値とする組がデータベース中に存在する時、真を返します。

[PARAM] value:
検索したい値。


instance method SDBM#index

index(val) -> String

値 val に対応するキーを返します。

対応する要素が存在しない時には nil を返します。 該当するキーが複数存在する場合、どのキーを返すかは不定です。

[SEE_ALSO] Hash#index


instance method SDBM#indexes

indexes(*keys) -> [[String]]
indices(*keys) -> [[String]]

各引数の値をキーとする要素を含む配列を返します。

このメソッドは obsolete です。

[PARAM] keys:
検索したいキーです。
require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.indexes('a', 'b') #=> ["aaa", "bbb"]


instance method SDBM#invert

invert -> Hash

値からキーへのハッシュを返します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1.clear
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.invert #=> {"aaa"=>"a", "bbb"=>"b", "ccc"=>"c"}


instance method SDBM#keys

keys -> [String]

データベース中に存在するキー全てを含む配列を返します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
p db1.keys #=> ["a", "b","c"]


instance method SDBM#length

length -> Integer
size -> Integer

データベース中の要素の数を返します。

注意

現在の実現では要素数を数えるためにデータベースを全部検索します。


instance method SDBM#reject

reject {|key, value| ... } -> Hash

ブロックを評価した値が真であれば該当する要素を削除します。

self.to_hash.reject{|key, value| ... }

と同じです。

[SEE_ALSO] Hash#reject


instance method SDBM#replace

replace(other) -> self

self の内容を other の内容で置き換えます。

[PARAM] other:
each_pair メソッドを持つオブジェクトでなければなりません。
require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
db2 = SDBM.open('bbb.gdbm', 0666)
db2['c'] = 'ccc'
db2['d'] = 'ddd'
hash = { 'x' => 'xxx', 'y' => 'yyy'}

p db1               #=> #<SDBM:0xb7c304d0>
p db1.to_hash       #=> {"a"=>"aaa", "b"=>"bbb", "c"=>"ccc"}
p db1.replace(db2)  #=> #<SDBM:0xb7c304d0>
p db1.to_hash       #=> {"c"=>"ccc", "d"=>"ddd"}
p db1.replace(hash) #=> #<SDBM:0xb7c304d0>
p db1.to_hash       #=> {"x"=>"xxx", "y"=>"yyy"}


instance method SDBM#select

select {|key, value| ... } -> [[String]]

ブロックを評価して真になった要素のみを配列に格納して返します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1.clear
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.select{ |key, value| key == 'a' } #=> [["a", "aaa"]]
p db1.select{ |key, value| key != 'a' } #=> [["c", "ccc"], ["b", "bbb"]]


instance method SDBM#shift

shift -> [String]

データベース中の要素を一つ取り出し、データベースから削除します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
p db1.shift #=> ["a", "aaa"]


instance method SDBM#store

store(key, val) -> [String]

key に対して val を格納します。

[SEE_ALSO] SDBM#[]=


instance method SDBM#to_a

to_a -> [[String]]

self の各要素を格納した配列を返します。

返される配列の1つの要素は [key, value] です。 つまり配列の配列を返します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1.clear
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.to_a #=> [["a", "aaa"], ["b", "bbb"], ["c", "ccc"]]


instance method SDBM#to_hash

to_hash -> Hash

self の各要素を格納したハッシュを返します。

require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1.clear
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.to_hash #=> {"a"=>"aaa", "b"=>"bbb", "c"=>"ccc"}


instance method SDBM#update

update(other) -> self

self と other の内容をマージします。

重複するキーに対応する値はother の内容で上書きされます。

[PARAM] other:
each_pair メソッドを持つオブジェクトでなければなりません。
require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1.clear
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'
db2 = SDBM.open('bbb.gdbm', 0666)
db2.clear
db2['c'] = 'ccc'
db2['d'] = 'ddd'
hash = { 'x' => 'xxx', 'y' => 'yyy'}

p db1               #=> #<SDBM:0xb7d19554>
p db1.to_hash       #=> {"a"=>"aaa", "b"=>"bbb", "c"=>"ccc"}
p db1.update(db2)   #=> #<SDBM:0xb7d19554>
p db1.to_hash       #=> {"a"=>"aaa", "b"=>"bbb", "c"=>"ccc", "d"=>"ddd"}
p db1.update(hash)  #=> #<SDBM:0xb7d19554>
p db1.to_hash       #=> {"a"=>"aaa", "x"=>"xxx", "b"=>"bbb", "y"=>"yyy", "c"=>"ccc", "d"=>"ddd"}


Ruby 1.8.7 Reference Manual > All Libraries > library sdbm > class SDBM > values

instance method SDBM#values

values -> [String]

データベース中に存在する値全てを含む配列を返します。


instance method SDBM#values_at

values_at(*keys) -> [String]

keys に対応する値を配列に格納して返します。

[PARAM] keys:
キー。複数指定可能です。
require 'sdbm'

db1 = SDBM.open('aaa.gdbm', 0666)
db1['a'] = 'aaa'
db1['b'] = 'bbb'
db1['c'] = 'ccc'

p db1.values_at('a', 'b')  #=> ["aaa", "bbb"]


singleton method SDBM.new

new(dbname, mode = 0666) -> SDBM
open(dbname, mode = 0666) -> SDBM
open(dbname, mode = 0666) {|db| ... } -> ()

dbname で指定したデータベースをモードを mode に設定してオープンします。 mode の省略値は 0666 です。mode として nil を指定するとデータベースが 存在しない時には新たなデータベースを作らず nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrActor

constant SOAP::AttrActor

AttrActor


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrArrayType

constant SOAP::AttrArrayType

AttrArrayType


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrArrayTypeName

constant SOAP::AttrArrayTypeName

AttrArrayTypeName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrEncodingStyle

constant SOAP::AttrEncodingStyle

AttrEncodingStyle


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrEncodingStyleName

constant SOAP::AttrEncodingStyleName

AttrEncodingStyleName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrMustUnderstand

constant SOAP::AttrMustUnderstand

AttrMustUnderstand


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrMustUnderstandName

constant SOAP::AttrMustUnderstandName

AttrMustUnderstandName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrOffset

constant SOAP::AttrOffset

AttrOffset


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrOffsetName

constant SOAP::AttrOffsetName

AttrOffsetName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrPosition

constant SOAP::AttrPosition

AttrPosition


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrPositionName

constant SOAP::AttrPositionName

AttrPositionName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrRoot

constant SOAP::AttrRoot

AttrRoot


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > AttrRootName

constant SOAP::AttrRootName

AttrRootName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > Base64Literal

constant SOAP::Base64Literal

Base64Literal


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleBody

constant SOAP::EleBody

EleBody


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleBodyName

constant SOAP::EleBodyName

EleBodyName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleEnvelope

constant SOAP::EleEnvelope

EleEnvelope


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleEnvelopeName

constant SOAP::EleEnvelopeName

EleEnvelopeName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFault

constant SOAP::EleFault

EleFault


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultActor

constant SOAP::EleFaultActor

EleFaultActor


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultActorName

constant SOAP::EleFaultActorName

EleFaultActorName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultCode

constant SOAP::EleFaultCode

EleFaultCode


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultCodeName

constant SOAP::EleFaultCodeName

EleFaultCodeName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultDetail

constant SOAP::EleFaultDetail

EleFaultDetail


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultDetailName

constant SOAP::EleFaultDetailName

EleFaultDetailName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultName

constant SOAP::EleFaultName

EleFaultName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultString

constant SOAP::EleFaultString

EleFaultString


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleFaultStringName

constant SOAP::EleFaultStringName

EleFaultStringName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleHeader

constant SOAP::EleHeader

EleHeader


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EleHeaderName

constant SOAP::EleHeaderName

EleHeaderName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EncodingNamespace

constant SOAP::EncodingNamespace

EncodingNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > EnvelopeNamespace

constant SOAP::EnvelopeNamespace

EnvelopeNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > LiteralNamespace

constant SOAP::LiteralNamespace

LiteralNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > MediaType

constant SOAP::MediaType

MediaType


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > NextActor

constant SOAP::NextActor

NextActor


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > PropertyName

constant SOAP::PropertyName

PropertyName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > SOAPNamespaceTag

constant SOAP::SOAPNamespaceTag

SOAPNamespaceTag


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/typeMap > module SOAP > TypeMap

constant SOAP::TypeMap

TypeMap [added by soap/mapping/typeMap]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > VERSION

constant SOAP::VERSION

VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > ValueArray

constant SOAP::ValueArray

ValueArray


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > ValueArrayName

constant SOAP::ValueArrayName

ValueArrayName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > XSDNamespaceTag

constant SOAP::XSDNamespaceTag

XSDNamespaceTag


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP > XSINamespaceTag

constant SOAP::XSINamespaceTag

XSINamespaceTag


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > content

instance method SOAP::Attachment#content

content


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > contentid

instance method SOAP::Attachment#contentid

contentid
contentid=(contentid)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > contentype

instance method SOAP::Attachment#contentype

contentype
contentype=(contenttype)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > io

instance method SOAP::Attachment#io

io


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > mime_contentid

instance method SOAP::Attachment#mime_contentid

mime_contentid


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > save

instance method SOAP::Attachment#save

save(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > to_s

instance method SOAP::Attachment#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > write

instance method SOAP::Attachment#write

write(out)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > contentid

singleton method SOAP::Attachment.contentid

contentid(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > mime_contentid

singleton method SOAP::Attachment.mime_contentid

mime_contentid(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Attachment > new

singleton method SOAP::Attachment.new

new(string_or_readable = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > Namespace

constant SOAP::EncodingStyle::ASPDotNetHandler::Namespace

Namespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > decode_epilogue

instance method SOAP::EncodingStyle::ASPDotNetHandler#decode_epilogue

decode_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > decode_parent

instance method SOAP::EncodingStyle::ASPDotNetHandler#decode_parent

decode_parent(parent, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > decode_prologue

instance method SOAP::EncodingStyle::ASPDotNetHandler#decode_prologue

decode_prologue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > decode_tag

instance method SOAP::EncodingStyle::ASPDotNetHandler#decode_tag

decode_tag(ns, elename, attrs, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > decode_tag_end

instance method SOAP::EncodingStyle::ASPDotNetHandler#decode_tag_end

decode_tag_end(ns, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > decode_text

instance method SOAP::EncodingStyle::ASPDotNetHandler#decode_text

decode_text(ns, text)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > encode_data

instance method SOAP::EncodingStyle::ASPDotNetHandler#encode_data

encode_data(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > encode_data_end

instance method SOAP::EncodingStyle::ASPDotNetHandler#encode_data_end

encode_data_end(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler > new

singleton method SOAP::EncodingStyle::ASPDotNetHandler.new

new(charset = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject > parent

instance method SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject#parent

parent
parent=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject > new

singleton method SOAP::EncodingStyle::ASPDotNetHandler::SOAPTemporalObject.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown > as_nil

instance method SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown#as_nil

as_nil


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown > as_string

instance method SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown#as_string

as_string


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown > as_struct

instance method SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown#as_struct

as_struct


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/aspDotNetHandler > class SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown > new

singleton method SOAP::EncodingStyle::ASPDotNetHandler::SOAPUnknown.new

new(handler, elename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > charset

instance method SOAP::EncodingStyle::Handler#charset

charset


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > decode_epilogue

instance method SOAP::EncodingStyle::Handler#decode_epilogue

decode_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > decode_prologue

instance method SOAP::EncodingStyle::Handler#decode_prologue

decode_prologue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > decode_tag

instance method SOAP::EncodingStyle::Handler#decode_tag

decode_tag(ns, name, attrs, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > decode_tag_end

instance method SOAP::EncodingStyle::Handler#decode_tag_end

decode_tag_end(ns, name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > decode_text

instance method SOAP::EncodingStyle::Handler#decode_text

decode_text(ns, text)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > decode_typemap=

instance method SOAP::EncodingStyle::Handler#decode_typemap=

decode_typemap=(definedtypes)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > encode_data

instance method SOAP::EncodingStyle::Handler#encode_data

encode_data(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > encode_data_end

instance method SOAP::EncodingStyle::Handler#encode_data_end

encode_data_end(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > encode_epilogue

instance method SOAP::EncodingStyle::Handler#encode_epilogue

encode_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > encode_prologue

instance method SOAP::EncodingStyle::Handler#encode_prologue

encode_prologue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > generate_explicit_type

instance method SOAP::EncodingStyle::Handler#generate_explicit_type

generate_explicit_type
generate_explicit_type=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > each

singleton method SOAP::EncodingStyle::Handler.each

each {|value| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > handler

singleton method SOAP::EncodingStyle::Handler.handler

handler(uri)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > new

singleton method SOAP::EncodingStyle::Handler.new

new(charset)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/handler > class SOAP::EncodingStyle::Handler > uri

singleton method SOAP::EncodingStyle::Handler.uri

uri


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > Namespace

constant SOAP::EncodingStyle::LiteralHandler::Namespace

Namespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_attrs

instance method SOAP::EncodingStyle::LiteralHandler#decode_attrs

decode_attrs(ns, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_epilogue

instance method SOAP::EncodingStyle::LiteralHandler#decode_epilogue

decode_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_parent

instance method SOAP::EncodingStyle::LiteralHandler#decode_parent

decode_parent(parent, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_prologue

instance method SOAP::EncodingStyle::LiteralHandler#decode_prologue

decode_prologue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_tag

instance method SOAP::EncodingStyle::LiteralHandler#decode_tag

decode_tag(ns, elename, attrs, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_tag_end

instance method SOAP::EncodingStyle::LiteralHandler#decode_tag_end

decode_tag_end(ns, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > decode_text

instance method SOAP::EncodingStyle::LiteralHandler#decode_text

decode_text(ns, text)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > encode_data

instance method SOAP::EncodingStyle::LiteralHandler#encode_data

encode_data(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > encode_data_end

instance method SOAP::EncodingStyle::LiteralHandler#encode_data_end

encode_data_end(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler > new

singleton method SOAP::EncodingStyle::LiteralHandler.new

new(charset = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject > parent

instance method SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject#parent

parent
parent=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject > new

singleton method SOAP::EncodingStyle::LiteralHandler::SOAPTemporalObject.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler::SOAPUnknown > as_element

instance method SOAP::EncodingStyle::LiteralHandler::SOAPUnknown#as_element

as_element


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler::SOAPUnknown > as_nil

instance method SOAP::EncodingStyle::LiteralHandler::SOAPUnknown#as_nil

as_nil


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler::SOAPUnknown > as_string

instance method SOAP::EncodingStyle::LiteralHandler::SOAPUnknown#as_string

as_string


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/literalHandler > class SOAP::EncodingStyle::LiteralHandler::SOAPUnknown > new

singleton method SOAP::EncodingStyle::LiteralHandler::SOAPUnknown.new

new(handler, elename, extraattr)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > Namespace

constant SOAP::EncodingStyle::SOAPHandler::Namespace

Namespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > NilLiteralMap

constant SOAP::EncodingStyle::SOAPHandler::NilLiteralMap

NilLiteralMap


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > RootLiteralMap

constant SOAP::EncodingStyle::SOAPHandler::RootLiteralMap

RootLiteralMap


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > decode_epilogue

instance method SOAP::EncodingStyle::SOAPHandler#decode_epilogue

decode_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > decode_parent

instance method SOAP::EncodingStyle::SOAPHandler#decode_parent

decode_parent(parent, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > decode_prologue

instance method SOAP::EncodingStyle::SOAPHandler#decode_prologue

decode_prologue


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > decode_tag

instance method SOAP::EncodingStyle::SOAPHandler#decode_tag

decode_tag(ns, elename, attrs, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > decode_tag_end

instance method SOAP::EncodingStyle::SOAPHandler#decode_tag_end

decode_tag_end(ns, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > decode_text

instance method SOAP::EncodingStyle::SOAPHandler#decode_text

decode_text(ns, text)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > encode_data

instance method SOAP::EncodingStyle::SOAPHandler#encode_data

encode_data(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > encode_data_end

instance method SOAP::EncodingStyle::SOAPHandler#encode_data_end

encode_data_end(generator, ns, data, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler > new

singleton method SOAP::EncodingStyle::SOAPHandler.new

new(charset = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject > id

instance method SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject#id

id
id=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject > parent

instance method SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject#parent

parent
parent=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject > position

instance method SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject#position

position
position=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject > root

instance method SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject#root

root
root=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject > new

singleton method SOAP::EncodingStyle::SOAPHandler::SOAPTemporalObject.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > as_nil

instance method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown#as_nil

as_nil


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > as_string

instance method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown#as_string

as_string


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > as_struct

instance method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown#as_struct

as_struct


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > definedtype

instance method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown#definedtype

definedtype
definedtype=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > extraattr

instance method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown#extraattr

extraattr


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > type

instance method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown#type

type


Ruby 1.8.7 Reference Manual > All Libraries > library soap/encodingstyle/soapHandler > class SOAP::EncodingStyle::SOAPHandler::SOAPUnknown > new

singleton method SOAP::EncodingStyle::SOAPHandler::SOAPUnknown.new

new(handler, elename, type, extraattr)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP::Env > HTTP_PROXY

constant SOAP::Env::HTTP_PROXY

HTTP_PROXY


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP::Env > NO_PROXY

constant SOAP::Env::NO_PROXY

NO_PROXY


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > module SOAP::Env > getenv

singleton method SOAP::Env.getenv

getenv(name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > class SOAP::FaultError > detail

instance method SOAP::FaultError#detail

detail
detail=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > class SOAP::FaultError > faultactor

instance method SOAP::FaultError#faultactor

faultactor


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > class SOAP::FaultError > faultcode

instance method SOAP::FaultError#faultcode

faultcode


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > class SOAP::FaultError > faultstring

instance method SOAP::FaultError#faultstring

faultstring


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > class SOAP::FaultError > to_s

instance method SOAP::FaultError#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/soap > class SOAP::FaultError > new

singleton method SOAP::FaultError.new

new(fault)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/httpconfigloader > module SOAP::HTTPConfigLoader > cert_from_file

module function SOAP::HTTPConfigLoader.#cert_from_file

cert_from_file(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/httpconfigloader > module SOAP::HTTPConfigLoader > key_from_file

module function SOAP::HTTPConfigLoader.#key_from_file

key_from_file(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/httpconfigloader > module SOAP::HTTPConfigLoader > set_basic_auth

module function SOAP::HTTPConfigLoader.#set_basic_auth

set_basic_auth(client, basic_auth)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/httpconfigloader > module SOAP::HTTPConfigLoader > set_options

module function SOAP::HTTPConfigLoader.#set_options

set_options(client, options)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/httpconfigloader > module SOAP::HTTPConfigLoader > set_ssl_config

module function SOAP::HTTPConfigLoader.#set_ssl_config

set_ssl_config(client, ssl_config)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/httpconfigloader > module SOAP::HTTPConfigLoader > ssl_config_int

module function SOAP::HTTPConfigLoader.#ssl_config_int

ssl_config_int(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > Client

constant SOAP::HTTPStreamHandler::Client

Client


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > MAX_RETRY_COUNT

constant SOAP::HTTPStreamHandler::MAX_RETRY_COUNT

MAX_RETRY_COUNT


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > RETRYABLE

constant SOAP::HTTPStreamHandler::RETRYABLE

RETRYABLE


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > accept_encoding_gzip=

instance method SOAP::HTTPStreamHandler#accept_encoding_gzip=

accept_encoding_gzip=(allow)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > client

instance method SOAP::HTTPStreamHandler#client

client


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > inspect

instance method SOAP::HTTPStreamHandler#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > reset

instance method SOAP::HTTPStreamHandler#reset

reset(endpoint_url = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > send

instance method SOAP::HTTPStreamHandler#send

send(endpoint_url, conn_data, soapaction = nil, charset = @charset)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > test_loopback_response

instance method SOAP::HTTPStreamHandler#test_loopback_response

test_loopback_response


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > wiredump_file_base

instance method SOAP::HTTPStreamHandler#wiredump_file_base

wiredump_file_base
wiredump_file_base=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::HTTPStreamHandler > new

singleton method SOAP::HTTPStreamHandler.new

new(options)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > elename

instance method SOAP::Header::Handler#elename

elename


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > encodingstyle

instance method SOAP::Header::Handler#encodingstyle

encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > mustunderstand

instance method SOAP::Header::Handler#mustunderstand

mustunderstand


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > on_inbound

instance method SOAP::Header::Handler#on_inbound

on_inbound(header, mustunderstand = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > on_inbound_headeritem

instance method SOAP::Header::Handler#on_inbound_headeritem

on_inbound_headeritem(header)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > on_outbound

instance method SOAP::Header::Handler#on_outbound

on_outbound


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > on_outbound_headeritem

instance method SOAP::Header::Handler#on_outbound_headeritem

on_outbound_headeritem


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handler > class SOAP::Header::Handler > new

singleton method SOAP::Header::Handler.new

new(elename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > <<

instance method SOAP::Header::HandlerSet#<<

add(handler)
self << handler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > delete

instance method SOAP::Header::HandlerSet#delete

delete(handler)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > dup

instance method SOAP::Header::HandlerSet#dup

dup


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > include?

instance method SOAP::Header::HandlerSet#include?

include?(handler)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > on_inbound

instance method SOAP::Header::HandlerSet#on_inbound

on_inbound(headers)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > on_outbound

instance method SOAP::Header::HandlerSet#on_outbound

on_outbound


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > store= (protected)

instance method SOAP::Header::HandlerSet#store=

store=(store)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/handlerset > class SOAP::Header::HandlerSet > new

singleton method SOAP::Header::HandlerSet.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/simplehandler > class SOAP::Header::SimpleHandler > on_inbound

instance method SOAP::Header::SimpleHandler#on_inbound

on_inbound(header, mustunderstand)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/simplehandler > class SOAP::Header::SimpleHandler > on_outbound

instance method SOAP::Header::SimpleHandler#on_outbound

on_outbound


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/simplehandler > class SOAP::Header::SimpleHandler > on_simple_inbound

instance method SOAP::Header::SimpleHandler#on_simple_inbound

on_simple_inbound(header, mustunderstand)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/simplehandler > class SOAP::Header::SimpleHandler > on_simple_outbound

instance method SOAP::Header::SimpleHandler#on_simple_outbound

on_simple_outbound


Ruby 1.8.7 Reference Manual > All Libraries > library soap/header/simplehandler > class SOAP::Header::SimpleHandler > new

singleton method SOAP::Header::SimpleHandler.new

new(elename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > MultipartContentType

constant SOAP::MIMEMessage::MultipartContentType

MultipartContentType


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > add_attachment

instance method SOAP::MIMEMessage#add_attachment

add_attachment(attach)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > add_part

instance method SOAP::MIMEMessage#add_part

add_part(content)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > boundary

instance method SOAP::MIMEMessage#boundary

boundary


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > close

instance method SOAP::MIMEMessage#close

close


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > content_str

instance method SOAP::MIMEMessage#content_str

content_str


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > has_parts?

instance method SOAP::MIMEMessage#has_parts?

has_parts?


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > headers

instance method SOAP::MIMEMessage#headers

headers


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > headers_str

instance method SOAP::MIMEMessage#headers_str

headers_str


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > parse

instance method SOAP::MIMEMessage#parse

parse(head, str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > parts

instance method SOAP::MIMEMessage#parts

parts


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > root

instance method SOAP::MIMEMessage#root

root


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > to_s

instance method SOAP::MIMEMessage#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > new

singleton method SOAP::MIMEMessage.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage > parse

singleton method SOAP::MIMEMessage.parse

parse(head, str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > []

instance method SOAP::MIMEMessage::Header#[]

self[key]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > []=

instance method SOAP::MIMEMessage::Header#[]=

self[key] = value


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > key

instance method SOAP::MIMEMessage::Header#key

key
key=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > root

instance method SOAP::MIMEMessage::Header#root

root
root=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > str

instance method SOAP::MIMEMessage::Header#str

str
str=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > to_s

instance method SOAP::MIMEMessage::Header#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Header > new

singleton method SOAP::MIMEMessage::Header.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Headers > add

instance method SOAP::MIMEMessage::Headers#add

add(key, value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Headers > parse

instance method SOAP::MIMEMessage::Headers#parse

parse(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Headers > parse_line

instance method SOAP::MIMEMessage::Headers#parse_line

parse_line(line)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Headers > parse_rhs

instance method SOAP::MIMEMessage::Headers#parse_rhs

parse_rhs(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Headers > to_s

instance method SOAP::MIMEMessage::Headers#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Headers > parse

singleton method SOAP::MIMEMessage::Headers.parse

parse(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > body

instance method SOAP::MIMEMessage::Part#body

body
body=(value)
content


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > contentid

instance method SOAP::MIMEMessage::Part#contentid

contentid


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > headers

instance method SOAP::MIMEMessage::Part#headers

headers
headers=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > parse

instance method SOAP::MIMEMessage::Part#parse

parse(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > to_s

instance method SOAP::MIMEMessage::Part#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > new

singleton method SOAP::MIMEMessage::Part.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mimemessage > class SOAP::MIMEMessage::Part > parse

singleton method SOAP::MIMEMessage::Part.parse

parse(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > ApacheSOAPTypeNamespace

constant SOAP::Mapping::ApacheSOAPTypeNamespace

ApacheSOAPTypeNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Mapping > DefaultRegistry

constant SOAP::Mapping::DefaultRegistry

DefaultRegistry [added by soap/mapping/registry]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > EMPTY_OPT

constant SOAP::Mapping::EMPTY_OPT

EMPTY_OPT


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > module SOAP::Mapping > MapQName

constant SOAP::Mapping::MapQName

MapQName [added by soap/mapping/factory]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > RubyCustomTypeNamespace

constant SOAP::Mapping::RubyCustomTypeNamespace

RubyCustomTypeNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Mapping > RubyExtendName

constant SOAP::Mapping::RubyExtendName

RubyExtendName [added by soap/mapping/registry]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Mapping > RubyIVarName

constant SOAP::Mapping::RubyIVarName

RubyIVarName [added by soap/mapping/registry]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Mapping > RubyOriginalRegistry

constant SOAP::Mapping::RubyOriginalRegistry

RubyOriginalRegistry [added by soap/mapping/registry]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > RubyTypeInstanceNamespace

constant SOAP::Mapping::RubyTypeInstanceNamespace

RubyTypeInstanceNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > module SOAP::Mapping > RubyTypeName

constant SOAP::Mapping::RubyTypeName

RubyTypeName [added by soap/mapping/registry]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > RubyTypeNamespace

constant SOAP::Mapping::RubyTypeNamespace

RubyTypeNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > _obj2soap

singleton method SOAP::Mapping._obj2soap

_obj2soap(obj, registry, type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > _soap2obj

singleton method SOAP::Mapping._soap2obj

_soap2obj(node, registry, klass = nil)


singleton method SOAP::Mapping.ary2md

ary2md(ary, rank, type_ns = XSD::Namespace, typename = XSD::AnyTypeLiteral, registry = nil, opt = EMPTY_OPT)


singleton method SOAP::Mapping.ary2soap

ary2soap(ary, type_ns = XSD::Namespace, typename = XSD::AnyTypeLiteral, registry = nil, opt = EMPTY_OPT)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > class2element

singleton method SOAP::Mapping.class2element

class2element(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > class2qname

singleton method SOAP::Mapping.class2qname

class2qname(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > class_from_name

singleton method SOAP::Mapping.class_from_name

class_from_name(name, lenient = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > const_from_name

singleton method SOAP::Mapping.const_from_name

const_from_name(name, lenient = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > create_empty_object

singleton method SOAP::Mapping.create_empty_object

create_empty_object(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > define_attr_accessor

singleton method SOAP::Mapping.define_attr_accessor

define_attr_accessor(obj, name, getterproc, setterproc = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > define_singleton_method

singleton method SOAP::Mapping.define_singleton_method

define_singleton_method(obj, name) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > elename2name

singleton method SOAP::Mapping.elename2name

elename2name(name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > fault2exception

singleton method SOAP::Mapping.fault2exception

fault2exception(fault, registry = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > get_attribute

singleton method SOAP::Mapping.get_attribute

get_attribute(obj, attr_name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > module_from_name

singleton method SOAP::Mapping.module_from_name

module_from_name(name, lenient = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > name2elename

singleton method SOAP::Mapping.name2elename

name2elename(name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > obj2element

singleton method SOAP::Mapping.obj2element

obj2element(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > obj2soap

singleton method SOAP::Mapping.obj2soap

obj2soap(obj, registry = nil, type = nil, opt = EMPTY_OPT)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > schema_attribute_definition

singleton method SOAP::Mapping.schema_attribute_definition

schema_attribute_definition(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > schema_element_definition

singleton method SOAP::Mapping.schema_element_definition

schema_element_definition(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > schema_ns_definition

singleton method SOAP::Mapping.schema_ns_definition

schema_ns_definition(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > schema_type_definition

singleton method SOAP::Mapping.schema_type_definition

schema_type_definition(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > set_attributes

singleton method SOAP::Mapping.set_attributes

set_attributes(obj, values)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping > soap2obj

singleton method SOAP::Mapping.soap2obj

soap2obj(node, registry = nil, klass = nil, opt = EMPTY_OPT)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::ArrayFactory_ > obj2soap

instance method SOAP::Mapping::ArrayFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::ArrayFactory_ > soap2obj

instance method SOAP::Mapping::ArrayFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::ArrayFactory_ > new

singleton method SOAP::Mapping::ArrayFactory_.new

new(allow_original_mapping = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Mapping::AttachmentFactory > obj2soap

instance method SOAP::Mapping::AttachmentFactory#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::Mapping::AttachmentFactory > soap2obj

instance method SOAP::Mapping::AttachmentFactory#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Base64Factory_ > obj2soap

instance method SOAP::Mapping::Base64Factory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Base64Factory_ > soap2obj

instance method SOAP::Mapping::Base64Factory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::BasetypeFactory_ > obj2soap

instance method SOAP::Mapping::BasetypeFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::BasetypeFactory_ > soap2obj

instance method SOAP::Mapping::BasetypeFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::BasetypeFactory_ > new

singleton method SOAP::Mapping::BasetypeFactory_.new

new(allow_original_mapping = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::DateTimeFactory_ > obj2soap

instance method SOAP::Mapping::DateTimeFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::DateTimeFactory_ > soap2obj

instance method SOAP::Mapping::DateTimeFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::DateTimeFactory_ > new

singleton method SOAP::Mapping::DateTimeFactory_.new

new(allow_original_mapping = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Factory > obj2soap

instance method SOAP::Mapping::Factory#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Factory > setiv2obj

instance method SOAP::Mapping::Factory#setiv2obj

setiv2obj(obj, node, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Factory > setiv2soap

instance method SOAP::Mapping::Factory#setiv2soap

setiv2soap(node, obj, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Factory > soap2obj

instance method SOAP::Mapping::Factory#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::Factory > new

singleton method SOAP::Mapping::Factory.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::HashFactory_ > obj2soap

instance method SOAP::Mapping::HashFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::HashFactory_ > soap2obj

instance method SOAP::Mapping::HashFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::HashFactory_ > new

singleton method SOAP::Mapping::HashFactory_.new

new(allow_original_mapping = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > []

instance method SOAP::Mapping::Object#[]

self[qname]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > []=

instance method SOAP::Mapping::Object#[]=

self[qname] = value


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > __add_xmlele_value

instance method SOAP::Mapping::Object#__add_xmlele_value

__add_xmlele_value(qname, value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > __xmlattr

instance method SOAP::Mapping::Object#__xmlattr

__xmlattr


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > __xmlele

instance method SOAP::Mapping::Object#__xmlele

__xmlele


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > inspect

instance method SOAP::Mapping::Object#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Object > initialize

singleton method SOAP::Mapping::Object.initialize

initialize


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > ArrayFactory

constant SOAP::Mapping::Registry::ArrayFactory

ArrayFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > Base64Factory

constant SOAP::Mapping::Registry::Base64Factory

Base64Factory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > BasetypeFactory

constant SOAP::Mapping::Registry::BasetypeFactory

BasetypeFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > DateTimeFactory

constant SOAP::Mapping::Registry::DateTimeFactory

DateTimeFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > HashFactory

constant SOAP::Mapping::Registry::HashFactory

HashFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > RubyOriginalMap

constant SOAP::Mapping::Registry::RubyOriginalMap

RubyOriginalMap


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > SOAPBaseMap

constant SOAP::Mapping::Registry::SOAPBaseMap

SOAPBaseMap


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > StringFactory

constant SOAP::Mapping::Registry::StringFactory

StringFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > TypedArrayFactory

constant SOAP::Mapping::Registry::TypedArrayFactory

TypedArrayFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > TypedStructFactory

constant SOAP::Mapping::Registry::TypedStructFactory

TypedStructFactory


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > URIFactory

constant SOAP::Mapping::Registry::URIFactory

URIFactory


instance method SOAP::Mapping::Registry#add

add(obj_class, soap_class, factory, info = nil)
set(obj_class, soap_class, factory, info = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > default_factory

instance method SOAP::Mapping::Registry#default_factory

default_factory
default_factory=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > excn_handler_obj2soap

instance method SOAP::Mapping::Registry#excn_handler_obj2soap

excn_handler_obj2soap
excn_handler_obj2soap=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > excn_handler_soap2obj

instance method SOAP::Mapping::Registry#excn_handler_soap2obj

excn_handler_soap2obj
excn_handler_soap2obj=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > find_mapped_obj_class

instance method SOAP::Mapping::Registry#find_mapped_obj_class

find_mapped_obj_class(soap_class)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > find_mapped_soap_class

instance method SOAP::Mapping::Registry#find_mapped_soap_class

find_mapped_soap_class(obj_class)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > obj2soap

instance method SOAP::Mapping::Registry#obj2soap

obj2soap(obj, type_qname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > soap2obj

instance method SOAP::Mapping::Registry#soap2obj

soap2obj(node, klass = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry > new

singleton method SOAP::Mapping::Registry.new

new(config = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > add

instance method SOAP::Mapping::Registry::Map#add

add(obj_class, soap_class, factory, info)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > clear

instance method SOAP::Mapping::Registry::Map#clear

clear


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > find_mapped_obj_class

instance method SOAP::Mapping::Registry::Map#find_mapped_obj_class

find_mapped_obj_class(target_soap_class)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > find_mapped_soap_class

instance method SOAP::Mapping::Registry::Map#find_mapped_soap_class

find_mapped_soap_class(target_obj_class)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > init

instance method SOAP::Mapping::Registry::Map#init

init(init_map = [])


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > obj2soap

instance method SOAP::Mapping::Registry::Map#obj2soap

obj2soap(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > soap2obj

instance method SOAP::Mapping::Registry::Map#soap2obj

soap2obj(node, klass = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::Registry::Map > new

singleton method SOAP::Mapping::Registry::Map.new

new(registry)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_ARRAY

constant SOAP::Mapping::RubytypeFactory::TYPE_ARRAY

TYPE_ARRAY


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_CLASS

constant SOAP::Mapping::RubytypeFactory::TYPE_CLASS

TYPE_CLASS


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_HASH

constant SOAP::Mapping::RubytypeFactory::TYPE_HASH

TYPE_HASH


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_MODULE

constant SOAP::Mapping::RubytypeFactory::TYPE_MODULE

TYPE_MODULE


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_RANGE

constant SOAP::Mapping::RubytypeFactory::TYPE_RANGE

TYPE_RANGE


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_REGEXP

constant SOAP::Mapping::RubytypeFactory::TYPE_REGEXP

TYPE_REGEXP


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_STRING

constant SOAP::Mapping::RubytypeFactory::TYPE_STRING

TYPE_STRING


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_STRUCT

constant SOAP::Mapping::RubytypeFactory::TYPE_STRUCT

TYPE_STRUCT


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_SYMBOL

constant SOAP::Mapping::RubytypeFactory::TYPE_SYMBOL

TYPE_SYMBOL


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > TYPE_TIME

constant SOAP::Mapping::RubytypeFactory::TYPE_TIME

TYPE_TIME


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > obj2soap

instance method SOAP::Mapping::RubytypeFactory#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > soap2obj

instance method SOAP::Mapping::RubytypeFactory#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/rubytypeFactory > class SOAP::Mapping::RubytypeFactory > new

singleton method SOAP::Mapping::RubytypeFactory.new

new(config = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::SOAPException > cause

instance method SOAP::Mapping::SOAPException#cause

cause


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::SOAPException > excn_type_name

instance method SOAP::Mapping::SOAPException#excn_type_name

excn_type_name


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::SOAPException > to_e

instance method SOAP::Mapping::SOAPException#to_e

to_e


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/registry > class SOAP::Mapping::SOAPException > new

singleton method SOAP::Mapping::SOAPException.new

new(e)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::StringFactory_ > obj2soap

instance method SOAP::Mapping::StringFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::StringFactory_ > soap2obj

instance method SOAP::Mapping::StringFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::StringFactory_ > new

singleton method SOAP::Mapping::StringFactory_.new

new(allow_original_mapping = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping::TraverseSupport > mark_marshalled_obj

instance method SOAP::Mapping::TraverseSupport#mark_marshalled_obj

mark_marshalled_obj(obj, soap_obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/mapping > module SOAP::Mapping::TraverseSupport > mark_unmarshalled_obj

instance method SOAP::Mapping::TraverseSupport#mark_unmarshalled_obj

mark_unmarshalled_obj(node, obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::TypedArrayFactory_ > obj2soap

instance method SOAP::Mapping::TypedArrayFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::TypedArrayFactory_ > soap2obj

instance method SOAP::Mapping::TypedArrayFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::TypedArrayFactory_ > new

singleton method SOAP::Mapping::TypedArrayFactory_.new

new(allow_original_mapping = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::TypedStructFactory_ > obj2soap

instance method SOAP::Mapping::TypedStructFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::TypedStructFactory_ > soap2obj

instance method SOAP::Mapping::TypedStructFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::URIFactory_ > obj2soap

instance method SOAP::Mapping::URIFactory_#obj2soap

obj2soap(soap_class, obj, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/factory > class SOAP::Mapping::URIFactory_ > soap2obj

instance method SOAP::Mapping::URIFactory_#soap2obj

soap2obj(obj_class, node, info, map)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > MapKeyName

constant SOAP::Mapping::WSDLEncodedRegistry::MapKeyName

MapKeyName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > MapValueName

constant SOAP::Mapping::WSDLEncodedRegistry::MapValueName

MapValueName


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > definedelements

instance method SOAP::Mapping::WSDLEncodedRegistry#definedelements

definedelements


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > definedtypes

instance method SOAP::Mapping::WSDLEncodedRegistry#definedtypes

definedtypes


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > excn_handler_obj2soap

instance method SOAP::Mapping::WSDLEncodedRegistry#excn_handler_obj2soap

excn_handler_obj2soap
excn_handler_obj2soap=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > excn_handler_soap2obj

instance method SOAP::Mapping::WSDLEncodedRegistry#excn_handler_soap2obj

excn_handler_soap2obj
excn_handler_soap2obj=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > obj2soap

instance method SOAP::Mapping::WSDLEncodedRegistry#obj2soap

obj2soap(obj, qname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > soap2obj

instance method SOAP::Mapping::WSDLEncodedRegistry#soap2obj

soap2obj(node, obj_class = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlencodedregistry > class SOAP::Mapping::WSDLEncodedRegistry > new

singleton method SOAP::Mapping::WSDLEncodedRegistry.new

new(definedtypes = XSD::NamedElements::Empty)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > MAPPING_OPT

constant SOAP::Mapping::WSDLLiteralRegistry::MAPPING_OPT

MAPPING_OPT


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > definedelements

instance method SOAP::Mapping::WSDLLiteralRegistry#definedelements

definedelements


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > definedtypes

instance method SOAP::Mapping::WSDLLiteralRegistry#definedtypes

definedtypes


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > excn_handler_obj2soap

instance method SOAP::Mapping::WSDLLiteralRegistry#excn_handler_obj2soap

excn_handler_obj2soap
excn_handler_obj2soap=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > excn_handler_soap2obj

instance method SOAP::Mapping::WSDLLiteralRegistry#excn_handler_soap2obj

excn_handler_soap2obj
excn_handler_soap2obj=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > obj2soap

instance method SOAP::Mapping::WSDLLiteralRegistry#obj2soap

obj2soap(obj, qname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/mapping/wsdlliteralregistry > class SOAP::Mapping::WSDLLiteralRegistry > soap2obj

instance method SOAP::Mapping::WSDLLiteralRegistry#soap2obj

soap2obj(node, obj_class = nil)


singleton method SOAP::Mapping::WSDLLiteralRegistry.new

new(definedtypes = XSD::NamedElements::Empty, definedelements = XSD::namedElements::Empty)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/marshal > module SOAP::Marshal > MarshalMappingRegistry

constant SOAP::Marshal::MarshalMappingRegistry

MarshalMappingRegistry


Ruby 1.8.7 Reference Manual > All Libraries > library soap/marshal > module SOAP::Marshal > dump

singleton method SOAP::Marshal.dump

dump(obj, io = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/marshal > module SOAP::Marshal > load

singleton method SOAP::Marshal.load

load(stream)


singleton method SOAP::Marshal.marshal

marshal(obj, mapping_registry = SOAP::Marshal::MarshalMappingRegistry, io = nil)


singleton method SOAP::Marshal.unmarshal

unmarshal(stream, mapping_registry = SOAP::Marshal::MarshalMappingRegistry)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > NO_PROXY_HOSTS

constant SOAP::NetHttpClient::NO_PROXY_HOSTS

NO_PROXY_HOSTS


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > SSLEnabled

constant SOAP::NetHttpClient::SSLEnabled

SSLEnabled


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > connect_timeout

instance method SOAP::NetHttpClient#connect_timeout

connect_timeout
connect_timeout=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > debug_dev

instance method SOAP::NetHttpClient#debug_dev

debug_dev
debug_dev=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > get_content

instance method SOAP::NetHttpClient#get_content

get_content(url, header = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > no_proxy

instance method SOAP::NetHttpClient#no_proxy

no_proxy
no_proxy=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > post

instance method SOAP::NetHttpClient#post

post(url, req_body, header = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > protocol_version

instance method SOAP::NetHttpClient#protocol_version

protocol_version
protocol_version=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > proxy

instance method SOAP::NetHttpClient#proxy

proxy


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > proxy=

instance method SOAP::NetHttpClient#proxy=

proxy=(proxy)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > receive_timeout

instance method SOAP::NetHttpClient#receive_timeout

receive_timeout
receive_timeout=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > reset

instance method SOAP::NetHttpClient#reset

reset(url)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > reset_all

instance method SOAP::NetHttpClient#reset_all

reset_all


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > save_cookie_store

instance method SOAP::NetHttpClient#save_cookie_store

save_cookie_store(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > send_timeout

instance method SOAP::NetHttpClient#send_timeout

send_timeout
send_timeout=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > set_basic_auth

instance method SOAP::NetHttpClient#set_basic_auth

set_basic_auth(uri, user_id, passwd)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > set_cookie_store

instance method SOAP::NetHttpClient#set_cookie_store

set_cookie_store(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > ssl_config

instance method SOAP::NetHttpClient#ssl_config

ssl_config
ssl_config=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > test_loopback_response

instance method SOAP::NetHttpClient#test_loopback_response

test_loopback_response


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient > new

singleton method SOAP::NetHttpClient.new

new(proxy = nil, agent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::Response > content

instance method SOAP::NetHttpClient::Response#content

content


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::Response > contenttype

instance method SOAP::NetHttpClient::Response#contenttype

contenttype


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::Response > reason

instance method SOAP::NetHttpClient::Response#reason

reason


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::Response > status

instance method SOAP::NetHttpClient::Response#status

status


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::Response > new

singleton method SOAP::NetHttpClient::Response.new

new(res)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::SessionManager > connect_timeout

instance method SOAP::NetHttpClient::SessionManager#connect_timeout

connect_timeout
connect_timeout=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::SessionManager > receive_timeout

instance method SOAP::NetHttpClient::SessionManager#receive_timeout

receive_timeout
receive_timeout=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/netHttpClient > class SOAP::NetHttpClient::SessionManager > send_timeout

instance method SOAP::NetHttpClient::SessionManager#send_timeout

send_timeout
send_timeout=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > allow_unqualified_element

instance method SOAP::Parser#allow_unqualified_element

allow_unqualified_element
allow_unqualified_element=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > characters

instance method SOAP::Parser#characters

characters(text)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > charset

instance method SOAP::Parser#charset

charset


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > decode_typemap

instance method SOAP::Parser#decode_typemap

decode_typemap
decode_typemap=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > default_encodingstyle

instance method SOAP::Parser#default_encodingstyle

default_encodingstyle
default_encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > end_element

instance method SOAP::Parser#end_element

end_element(name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > envelopenamespace

instance method SOAP::Parser#envelopenamespace

envelopenamespace
envelopenamespace=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > parse

instance method SOAP::Parser#parse

parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > start_element

instance method SOAP::Parser#start_element

start_element(name, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser > new

singleton method SOAP::Parser.new

new(opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame > encodingstyle

instance method SOAP::Parser::ParseFrame#encodingstyle

encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame > name

instance method SOAP::Parser::ParseFrame#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame > node

instance method SOAP::Parser::ParseFrame#node

node


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame > node=

instance method SOAP::Parser::ParseFrame#node=

node=(node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame > ns

instance method SOAP::Parser::ParseFrame#ns

ns


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame > new

singleton method SOAP::Parser::ParseFrame.new

new(ns, name, node, encodingstyle)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame::NodeContainer > node

instance method SOAP::Parser::ParseFrame::NodeContainer#node

node


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame::NodeContainer > replace_node

instance method SOAP::Parser::ParseFrame::NodeContainer#replace_node

replace_node(node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/parser > class SOAP::Parser::ParseFrame::NodeContainer > new

singleton method SOAP::Parser::ParseFrame::NodeContainer.new

new(node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/processor > module SOAP::Processor > default_parser_option

singleton method SOAP::Processor.default_parser_option

default_parser_option
default_parser_option=(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/processor > module SOAP::Processor > marshal

singleton method SOAP::Processor.marshal

marshal(env, opt = {}, io = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/processor > module SOAP::Processor > unmarshal

singleton method SOAP::Processor.unmarshal

unmarshal(stream, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > CATDEF_REGEXP (protected)

constant SOAP::Property::CATDEF_REGEXP

CATDEF_REGEXP


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > COMMENT_REGEXP (protected)

constant SOAP::Property::COMMENT_REGEXP

COMMENT_REGEXP


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > DEF_REGSRC (protected)

constant SOAP::Property::DEF_REGSRC

DEF_REGSRC


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > FrozenError (protected)

constant SOAP::Property::FrozenError

FrozenError


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > KEY_REGSRC (protected)

constant SOAP::Property::KEY_REGSRC

KEY_REGSRC


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > LINE_REGEXP (protected)

constant SOAP::Property::LINE_REGEXP

LINE_REGEXP


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > NO_HOOK (protected)

constant SOAP::Property::NO_HOOK

NO_HOOK


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > <<

instance method SOAP::Property#<<

self << value


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > []

instance method SOAP::Property#[]

self[name]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > []=

instance method SOAP::Property#[]=

self[name] = value


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > add_hook

instance method SOAP::Property#add_hook

add_hook(name = nil, cascade = false, &hook)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > deref_key (protected)

instance method SOAP::Property#deref_key

deref_key(key)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > each

instance method SOAP::Property#each

each {|key, value| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > empty?

instance method SOAP::Property#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > keys

instance method SOAP::Property#keys

keys


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > load

instance method SOAP::Property#load

load(stream)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > loadproperty

instance method SOAP::Property#loadproperty

loadproperty(propname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > local_assign (protected)

instance method SOAP::Property#local_assign

local_assign(key, value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > local_assign_hook (protected)

instance method SOAP::Property#local_assign_hook

local_assign_hook(key, cascade, &hook)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > local_hook (protected)

instance method SOAP::Property#local_hook

local_hook(key, dirent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > local_referent (protected)

instance method SOAP::Property#local_referent

local_referent(key)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > lock

instance method SOAP::Property#lock

lock(cascade = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > locked?

instance method SOAP::Property#locked?

locked?


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > unlock

instance method SOAP::Property#unlock

unlock(cascade = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > values

instance method SOAP::Property#values

values


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > load

singleton method SOAP::Property.load

load(stream)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > loadproperty

singleton method SOAP::Property.loadproperty

loadproperty(propname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > class SOAP::Property > new

singleton method SOAP::Property.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > module SOAP::Property::Util > const_from_name

module function SOAP::Property::Util.#const_from_name

const_from_name(fqname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/property > module SOAP::Property::Util > require_from_name

module function SOAP::Property::Util.#require_from_name

require_from_name(fqname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/rpc > module SOAP::RPC > ServerException

constant SOAP::RPC::ServerException

ServerException


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/rpc > module SOAP::RPC > defined_methods

singleton method SOAP::RPC.defined_methods

defined_methods(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > HTTPVersion

constant SOAP::RPC::CGIStub::HTTPVersion

HTTPVersion


instance method SOAP::RPC::CGIStub#add_document_operation

add_document_operation(receiver, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > add_headerhandler

instance method SOAP::RPC::CGIStub#add_headerhandler

add_headerhandler(obj)
add_rpc_headerhandler(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > add_method

instance method SOAP::RPC::CGIStub#add_method

add_rpc_method(obj, name, *param)
add_method


instance method SOAP::RPC::CGIStub#add_method_as

add_rpc_method_as(obj, name, name_as, *param)
add_method_as(obj, name, name_as, *param)


instance method SOAP::RPC::CGIStub#add_method_with_namespace

add_rpc_method_with_namespace(namespace, obj, name, *param)
add_method_with_namespace(namespace, obj, name, *param)


instance method SOAP::RPC::CGIStub#add_method_with_namespace_as

add_rpc_method_with_namespace_as(namespace, obj, name, name_as, *param)
add_method_with_namespace_as(namespace, obj, name, name_as, *param)


instance method SOAP::RPC::CGIStub#add_rpc_operation

add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > add_rpc_servant

instance method SOAP::RPC::CGIStub#add_rpc_servant

add_rpc_servant(obj, namespace = @default_namespace)
add_servant


instance method SOAP::RPC::CGIStub#generate_explicit_type

generate_explicit_type
generate_explicit_type=(generate_explicit_type)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > mapping_registry

instance method SOAP::RPC::CGIStub#mapping_registry

mapping_registry
mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > on_init

instance method SOAP::RPC::CGIStub#on_init

on_init


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > set_fcgi_request

instance method SOAP::RPC::CGIStub#set_fcgi_request

set_fcgi_request(request)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub > new

singleton method SOAP::RPC::CGIStub.new

new(appname, default_namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPFCGIRequest > []

instance method SOAP::RPC::CGIStub::SOAPFCGIRequest#[]

self[var]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPFCGIRequest > body

instance method SOAP::RPC::CGIStub::SOAPFCGIRequest#body

body


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPFCGIRequest > meta_vars

instance method SOAP::RPC::CGIStub::SOAPFCGIRequest#meta_vars

meta_vars


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPFCGIRequest > new

singleton method SOAP::RPC::CGIStub::SOAPFCGIRequest.new

new(request)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPRequest > []

instance method SOAP::RPC::CGIStub::SOAPRequest#[]

self[var]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPRequest > body

instance method SOAP::RPC::CGIStub::SOAPRequest#body

body


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPRequest > meta_vars

instance method SOAP::RPC::CGIStub::SOAPRequest#meta_vars

meta_vars


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPStdinRequest > []

instance method SOAP::RPC::CGIStub::SOAPStdinRequest#[]

self[var]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPStdinRequest > body

instance method SOAP::RPC::CGIStub::SOAPStdinRequest#body

body


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPStdinRequest > meta_vars

instance method SOAP::RPC::CGIStub::SOAPStdinRequest#meta_vars

meta_vars


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/cgistub > class SOAP::RPC::CGIStub::SOAPStdinRequest > new

singleton method SOAP::RPC::CGIStub::SOAPStdinRequest.new

new(stream)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > add_document_method

instance method SOAP::RPC::Driver#add_document_method

add_document_method(name, soapaction, req_qname, res_qname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > add_document_operation

instance method SOAP::RPC::Driver#add_document_operation

add_document_operation(soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > add_method

instance method SOAP::RPC::Driver#add_method

add_rpc_method(name, *params)
add_method(name, *params)


instance method SOAP::RPC::Driver#add_method_as

add_rpc_method_as(name, name_as, *params)
add_method_as(name, name_as, *params)


instance method SOAP::RPC::Driver#add_method_with_soapaction

add_rpc_method_with_soapaction(name, soapaction, *params)
add_method_with_soapaction(name, soapaction, *params)


instance method SOAP::RPC::Driver#add_method_with_soapaction_as

add_rpc_method_with_soapaction_as(name, name_as, soapaction, *params)
add_method_with_soapaction_as(name, name_as, soapaction, *params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > add_rpc_operation

instance method SOAP::RPC::Driver#add_rpc_operation

add_rpc_operation(qname, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > allow_unqualified_element

instance method SOAP::RPC::Driver#allow_unqualified_element

allow_unqualified_element
allow_unqualified_element=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > call

instance method SOAP::RPC::Driver#call

call(name, *params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > default_encodingstyle

instance method SOAP::RPC::Driver#default_encodingstyle

default_encodingstyle
default_encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > endpoint_url

instance method SOAP::RPC::Driver#endpoint_url

endpoint_url
endpoint_url=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > generate_explicit_type

instance method SOAP::RPC::Driver#generate_explicit_type

generate_explicit_type
generate_explicit_type=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > headerhandler

instance method SOAP::RPC::Driver#headerhandler

headerhandler
headerhandler=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > httpproxy

instance method SOAP::RPC::Driver#httpproxy

httpproxy
httpproxy=(httpproxy)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > inspect

instance method SOAP::RPC::Driver#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > invoke

instance method SOAP::RPC::Driver#invoke

invoke(headers, body)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > loadproperty

instance method SOAP::RPC::Driver#loadproperty

loadproperty(propertyname)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > mandatorycharset

instance method SOAP::RPC::Driver#mandatorycharset

mandatorycharset


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > mapping_registry

instance method SOAP::RPC::Driver#mapping_registry

mapping_registry
mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > options

instance method SOAP::RPC::Driver#options

options


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > proxy

instance method SOAP::RPC::Driver#proxy

proxy


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > reset_stream

instance method SOAP::RPC::Driver#reset_stream

reset_stream
reset_stream=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > soapaction

instance method SOAP::RPC::Driver#soapaction

soapaction
soapaction=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > streamhandler

instance method SOAP::RPC::Driver#streamhandler

streamhandler
streamhandler=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > test_loopback_response

instance method SOAP::RPC::Driver#test_loopback_response

test_loopback_response
test_loopback_response=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > wiredump_dev

instance method SOAP::RPC::Driver#wiredump_dev

wiredump_dev
wiredump_dev=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > wiredump_file_base

instance method SOAP::RPC::Driver#wiredump_file_base

wiredump_file_base
wiredump_file_base=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > __attr_proxy

singleton method SOAP::RPC::Driver.__attr_proxy

__attr_proxy(symbol, assignable = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/driver > class SOAP::RPC::Driver > new

singleton method SOAP::RPC::Driver.new

new(endpoint_url, namespace = nil, soapaction = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > add_document_method

instance method SOAP::RPC::HTTPServer#add_document_method

add_document_method(obj, soapaction, name, req_qnames, res_qnames)


instance method SOAP::RPC::HTTPServer#add_document_operation

add_document_operation(reseicer, soapaction, name, param_def, opt = {})


instance method SOAP::RPC::HTTPServer#add_document_request_operation

add_document_request_operation(factory, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > add_headerhandler

instance method SOAP::RPC::HTTPServer#add_headerhandler

add_headerhandler(obj)
add_rpc_headerhandler(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > add_method

instance method SOAP::RPC::HTTPServer#add_method

add_rpc_method(obj, name, *param)
add_method(obj, name, *param)


instance method SOAP::RPC::HTTPServer#add_method_as

add_rpc_method_as(obj, name, name_as, *param)
add_method_as(obj, name, name_as, *param)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > add_request_headerhandler

instance method SOAP::RPC::HTTPServer#add_request_headerhandler

add_request_headerhandler(factory)


instance method SOAP::RPC::HTTPServer#add_rpc_operation

add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})


instance method SOAP::RPC::HTTPServer#add_rpc_request_operation

add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > add_rpc_request_servant

instance method SOAP::RPC::HTTPServer#add_rpc_request_servant

add_rpc_request_servant(factory, namespace = @default_namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > add_rpc_servant

instance method SOAP::RPC::HTTPServer#add_rpc_servant

add_rpc_servant(obj, namespace = @default_namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > default_namespace

instance method SOAP::RPC::HTTPServer#default_namespace

default_namespace
default_namespace=(value)


instance method SOAP::RPC::HTTPServer#generate_explicit_type

generate_explicit_type
generate_explicit_type=(generate_explicit_type)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > mapping_registry

instance method SOAP::RPC::HTTPServer#mapping_registry

mapping_registry
mapping_registry=(mapping_registry)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > on_init

instance method SOAP::RPC::HTTPServer#on_init

on_init


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > server

instance method SOAP::RPC::HTTPServer#server

server


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > shutdown

instance method SOAP::RPC::HTTPServer#shutdown

shutdown


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > status

instance method SOAP::RPC::HTTPServer#status

status


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/httpserver > class SOAP::RPC::HTTPServer > new

singleton method SOAP::RPC::HTTPServer.new

new(config)


instance method SOAP::RPC::Proxy#add_document_method

add_document_operation(soapaction, name, param_def, opt = {})
add_document_method(soapaction, name, param_def, opt = {})


instance method SOAP::RPC::Proxy#add_method

add_rpc_operation(qname, soapaction, name, param_def, opt = {})
add_method(qname, soapaction, name, param_def, opt = {})
add_rpc_method(qname, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > allow_unqualified_element

instance method SOAP::RPC::Proxy#allow_unqualified_element

allow_unqualified_element
allow_unqualified_element=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > call

instance method SOAP::RPC::Proxy#call

call(name, *params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > check_fault

instance method SOAP::RPC::Proxy#check_fault

check_fault(body)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > default_encodingstyle

instance method SOAP::RPC::Proxy#default_encodingstyle

default_encodingstyle
default_encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > endpoint_url

instance method SOAP::RPC::Proxy#endpoint_url

endpoint_url
endpoint_url=(endpoint_url)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > generate_explicit_type

instance method SOAP::RPC::Proxy#generate_explicit_type

generate_explicit_type
generate_explicit_type=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > headerhandler

instance method SOAP::RPC::Proxy#headerhandler

headerhandler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > inspect

instance method SOAP::RPC::Proxy#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > invoke

instance method SOAP::RPC::Proxy#invoke

invoke(req_header, req_body, opt = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > literal_mapping_registry

instance method SOAP::RPC::Proxy#literal_mapping_registry

literal_mapping_registry
literal_mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > mandatorycharset

instance method SOAP::RPC::Proxy#mandatorycharset

mandatorycharset
mandatorycharset=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > mapping_registry

instance method SOAP::RPC::Proxy#mapping_registry

mapping_registry
mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > operation

instance method SOAP::RPC::Proxy#operation

operation


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > reset_stream

instance method SOAP::RPC::Proxy#reset_stream

reset_stream


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > route

instance method SOAP::RPC::Proxy#route

route(req_header, req_body, reqopt, resopt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > set_wiredump_file_base

instance method SOAP::RPC::Proxy#set_wiredump_file_base

set_wiredump_file_base(wiredump_file_base)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > soapaction

instance method SOAP::RPC::Proxy#soapaction

soapaction
soapaction=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > streamhandler

instance method SOAP::RPC::Proxy#streamhandler

streamhandler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > test_loopback_response

instance method SOAP::RPC::Proxy#test_loopback_response

test_loopback_response


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy > new

singleton method SOAP::RPC::Proxy.new

new(endpoint_url, soapaction, options)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > attributeformdefault

instance method SOAP::RPC::Proxy::Operation#attributeformdefault

attributeformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > elementformdefault

instance method SOAP::RPC::Proxy::Operation#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > raise_fault

instance method SOAP::RPC::Proxy::Operation#raise_fault

raise_fault(mapping_registry, literal_mapping_registry)


instance method SOAP::RPC::Proxy::Operation#request_body

request_body(values, mapping_registry, literal_mapping_registry, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > request_default_encodingstyle

instance method SOAP::RPC::Proxy::Operation#request_default_encodingstyle

request_default_encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > request_style

instance method SOAP::RPC::Proxy::Operation#request_style

request_style


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > request_use

instance method SOAP::RPC::Proxy::Operation#request_use

request_use


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > response_default_encodingstyle

instance method SOAP::RPC::Proxy::Operation#response_default_encodingstyle

response_default_encodingstyle


instance method SOAP::RPC::Proxy::Operation#response_obj

response_obj(body, mapping_registry, literal_mapping_registry, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > response_style

instance method SOAP::RPC::Proxy::Operation#response_style

response_style


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > response_use

instance method SOAP::RPC::Proxy::Operation#response_use

response_use


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > soapaction

instance method SOAP::RPC::Proxy::Operation#soapaction

soapaction


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/proxy > class SOAP::RPC::Proxy::Operation > new

singleton method SOAP::RPC::Proxy::Operation.new

new(soapaction, param_def, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > actor

instance method SOAP::RPC::Router#actor

actor


instance method SOAP::RPC::Router#add_document_method

add_document_operation(receiver, soapaction, name, param_def, opt = {})
add_document_method(receiver, soapaction, name, param_def, opt = {})


instance method SOAP::RPC::Router#add_document_request_operation

add_document_request_operation(factory, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > add_headerhandler

instance method SOAP::RPC::Router#add_headerhandler

add_headerhandler(handler)


instance method SOAP::RPC::Router#add_method

add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
add_method(receiver, qname, soapaction, name, param_def, opt = {})
add_rpc_method(receiver, qname, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > add_request_headerhandler

instance method SOAP::RPC::Router#add_request_headerhandler

add_request_headerhandler(factory)


instance method SOAP::RPC::Router#add_rpc_request_operation

add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > add_rpc_request_servant

instance method SOAP::RPC::Router#add_rpc_request_servant

add_rpc_request_servant(factory, namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > add_rpc_servant

instance method SOAP::RPC::Router#add_rpc_servant

add_rpc_servant(obj, namespace)
add_servant(obj, namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > create_fault_response

instance method SOAP::RPC::Router#create_fault_response

create_fault_response(e)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > external_ces

instance method SOAP::RPC::Router#external_ces

external_ces
external_ces=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > generate_explicit_type

instance method SOAP::RPC::Router#generate_explicit_type

generate_explicit_type
generate_explicit_type=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > literal_mapping_registry

instance method SOAP::RPC::Router#literal_mapping_registry

literal_mapping_registry
literal_mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > mapping_registry

instance method SOAP::RPC::Router#mapping_registry

mapping_registry
mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > route

instance method SOAP::RPC::Router#route

route(conn_data)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router > new

singleton method SOAP::RPC::Router.new

new(actor)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::ApplicationScopeOperation > new

singleton method SOAP::RPC::Router::ApplicationScopeOperation.new

new(soapaction, receiver, name, param_def, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > call

instance method SOAP::RPC::Router::Operation#call

call(body,mapping_registry, literal_mapping_registry, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > name

instance method SOAP::RPC::Router::Operation#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > request_default_encodingstyle

instance method SOAP::RPC::Router::Operation#request_default_encodingstyle

request_default_encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > request_style

instance method SOAP::RPC::Router::Operation#request_style

request_style


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > request_use

instance method SOAP::RPC::Router::Operation#request_use

request_use


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > response_default_encodingstyle

instance method SOAP::RPC::Router::Operation#response_default_encodingstyle

response_default_encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > response_style

instance method SOAP::RPC::Router::Operation#response_style

response_style


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > response_use

instance method SOAP::RPC::Router::Operation#response_use

response_use


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > soapaction

instance method SOAP::RPC::Router::Operation#soapaction

soapaction


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::Operation > new

singleton method SOAP::RPC::Router::Operation.new

new(soapaction, name, param_def, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/router > class SOAP::RPC::Router::RequestScopeOperation > new

singleton method SOAP::RPC::Router::RequestScopeOperation.new

new(soapaction, receiver_factory, name, param_def, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > IN

constant SOAP::RPC::SOAPMethod::IN

IN


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > INOUT

constant SOAP::RPC::SOAPMethod::INOUT

INOUT


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > OUT

constant SOAP::RPC::SOAPMethod::OUT

OUT


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > RETVAL

constant SOAP::RPC::SOAPMethod::RETVAL

RETVAL


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > have_outparam?

instance method SOAP::RPC::SOAPMethod#have_outparam?

have_outparam?


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > inparam

instance method SOAP::RPC::SOAPMethod#inparam

inparam


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > input_params

instance method SOAP::RPC::SOAPMethod#input_params

input_params


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > outparam

instance method SOAP::RPC::SOAPMethod#outparam

outparam


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > output_params

instance method SOAP::RPC::SOAPMethod#output_params

output_params


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > param_def

instance method SOAP::RPC::SOAPMethod#param_def

param_def


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > retval_class_name

instance method SOAP::RPC::SOAPMethod#retval_class_name

retval_class_name


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > retval_name

instance method SOAP::RPC::SOAPMethod#retval_name

retval_name


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > set_outparam

instance method SOAP::RPC::SOAPMethod#set_outparam

set_outparam(params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > set_param

instance method SOAP::RPC::SOAPMethod#set_param

set_param(params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > create_doc_param_def

singleton method SOAP::RPC::SOAPMethod.create_doc_param_def

create_doc_param_def(req_qnames, res_qnames)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > create_rpc_param_def

singleton method SOAP::RPC::SOAPMethod.create_rpc_param_def

create_rpc_param_def(param_names)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > derive_rpc_param_def

singleton method SOAP::RPC::SOAPMethod.derive_rpc_param_def

derive_rpc_param_def(obj, name, *param)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > new

singleton method SOAP::RPC::SOAPMethod.new

new(qname, param_def = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethod > param_count

singleton method SOAP::RPC::SOAPMethod.param_count

param_count(paramdef, *type)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodRequest > create_method_response

instance method SOAP::RPC::SOAPMethodRequest#create_method_response

create_method_response(response_name = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodRequest > dup

instance method SOAP::RPC::SOAPMethodRequest#dup

dup


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodRequest > each

instance method SOAP::RPC::SOAPMethodRequest#each

each {|name, inparam| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodRequest > soapaction

instance method SOAP::RPC::SOAPMethodRequest#soapaction

soapaction
soapaction=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodRequest > create_request

singleton method SOAP::RPC::SOAPMethodRequest.create_request

create_request(qname, *params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodRequest > new

singleton method SOAP::RPC::SOAPMethodRequest.new

new(qname, param_def = nil, soapaction = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodResponse > each

instance method SOAP::RPC::SOAPMethodResponse#each

each {|retval_name, retval| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodResponse > retval=

instance method SOAP::RPC::SOAPMethodResponse#retval=

retval=(retval)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPMethodResponse > new

singleton method SOAP::RPC::SOAPMethodResponse.new

new(qname, param_def = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPVoid > Name

constant SOAP::RPC::SOAPVoid::Name

Name


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::RPC::SOAPVoid > new

singleton method SOAP::RPC::SOAPVoid.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > add_ervant

instance method SOAP::RPC::SOAPlet#add_ervant

add_ervant(obj, namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > allow_content_encoding_gzip=

instance method SOAP::RPC::SOAPlet#allow_content_encoding_gzip=

allow_content_encoding_gzip=(allow)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > app_scope_router

instance method SOAP::RPC::SOAPlet#app_scope_router

app_scope_router


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > do_GET

instance method SOAP::RPC::SOAPlet#do_GET

do_GET(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > do_POST

instance method SOAP::RPC::SOAPlet#do_POST

do_POST(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > get_instance

instance method SOAP::RPC::SOAPlet#get_instance

get_instance(config, *options)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > options

instance method SOAP::RPC::SOAPlet#options

options


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > require_path_info?

instance method SOAP::RPC::SOAPlet#require_path_info?

require_path_info?


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/soaplet > class SOAP::RPC::SOAPlet > new

singleton method SOAP::RPC::SOAPlet.new

new(router = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/standaloneServer > class SOAP::RPC::StandaloneServer > add_headerhandler

instance method SOAP::RPC::StandaloneServer#add_headerhandler

add_headerhandler(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/standaloneServer > class SOAP::RPC::StandaloneServer > add_servant

instance method SOAP::RPC::StandaloneServer#add_servant

add_servant(obj, namespace = @default_namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/standaloneServer > class SOAP::RPC::StandaloneServer > new

singleton method SOAP::RPC::StandaloneServer.new

new(appname, default_namespace, host = "0.0.0.0", port = 8080)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > ITEM_NAME

constant SOAP::SOAPArray::ITEM_NAME

ITEM_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > TypeParseRegexp

constant SOAP::SOAPArray::TypeParseRegexp

TypeParseRegexp


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > []

instance method SOAP::SOAPArray#[]

self[*idxary]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > []=

instance method SOAP::SOAPArray#[]=

self[] = *idxary


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > add

instance method SOAP::SOAPArray#add

add(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > arytype

instance method SOAP::SOAPArray#arytype

arytype


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > deep_map

instance method SOAP::SOAPArray#deep_map

deep_map(ary) {|ele| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > each

instance method SOAP::SOAPArray#each

each {|data| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > include?

instance method SOAP::SOAPArray#include?

include?(var)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > offset

instance method SOAP::SOAPArray#offset

offset
offset=(var)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > position

instance method SOAP::SOAPArray#position

position


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > rank

instance method SOAP::SOAPArray#rank

rank


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > replace

instance method SOAP::SOAPArray#replace

replace {|ele| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > size

instance method SOAP::SOAPArray#size

size
size=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > size_fixed

instance method SOAP::SOAPArray#size_fixed

size_fixed
size_fixed=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > soap2array

instance method SOAP::SOAPArray#soap2array

soap2array(ary)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > sparse

instance method SOAP::SOAPArray#sparse

sparse
sparse=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > to_a

instance method SOAP::SOAPArray#to_a

to_a


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > traverse

instance method SOAP::SOAPArray#traverse

traverse {|v, *rank| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > create_arytype

singleton method SOAP::SOAPArray.create_arytype

create_arytype(typename, rank)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > decode

singleton method SOAP::SOAPArray.decode

decode(elename, type, arytype)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > new

singleton method SOAP::SOAPArray.new

new(type = nil, rank = 1, arytype = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPArray > parse_type

singleton method SOAP::SOAPArray.parse_type

parse_type(string)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::SOAPAttachment > data

instance method SOAP::SOAPAttachment#data

data


Ruby 1.8.7 Reference Manual > All Libraries > library soap/attachment > class SOAP::SOAPAttachment > new

singleton method SOAP::SOAPAttachment.new

new(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPBase64 > Type

constant SOAP::SOAPBase64::Type

Type


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPBase64 > as_xsd

instance method SOAP::SOAPBase64#as_xsd

as_xsd


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPBase64 > new

singleton method SOAP::SOAPBase64.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPBasetype > initialize

instance method SOAP::SOAPBasetype#initialize

initialize(*arg)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPBody > encode

instance method SOAP::SOAPBody#encode

encode(generator, ns, attrs = {})


instance method SOAP::SOAPBody#fault

fault [added by soap/rpc/element]
fault=(fault) [added by soap/rpc/element]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::SOAPBody > outparams

instance method SOAP::SOAPBody#outparams

outparams [added by soap/rpc/element]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::SOAPBody > request

instance method SOAP::SOAPBody#request

request [added by soap/rpc/element]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/rpc/element > class SOAP::SOAPBody > response

instance method SOAP::SOAPBody#response

response [added by soap/rpc/element]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPBody > root_node

instance method SOAP::SOAPBody#root_node

root_node


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPBody > new

singleton method SOAP::SOAPBody.new

new(data = nil, is_fault = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPCompoundtype > initialize

instance method SOAP::SOAPCompoundtype#initialize

initialize(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > []

instance method SOAP::SOAPElement#[]

self[idx]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > []=

instance method SOAP::SOAPElement#[]=

self[idx] = data


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > add

instance method SOAP::SOAPElement#add

add(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > data

instance method SOAP::SOAPElement#data

text
text=(value)
data


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > each

instance method SOAP::SOAPElement#each

each {|key, value| ... }


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > elename

instance method SOAP::SOAPElement#elename

elename
elename=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > encodingstyle

instance method SOAP::SOAPElement#encodingstyle

encodingstyle
encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > extraattr

instance method SOAP::SOAPElement#extraattr

extraattr
extraattr=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > id

instance method SOAP::SOAPElement#id

id
id=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > inspect

instance method SOAP::SOAPElement#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > key?

instance method SOAP::SOAPElement#key?

key?(name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > members

instance method SOAP::SOAPElement#members

members


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > parent

instance method SOAP::SOAPElement#parent

parent
parent=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > position

instance method SOAP::SOAPElement#position

position
position=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > precedents

instance method SOAP::SOAPElement#precedents

precedents


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > qualified

instance method SOAP::SOAPElement#qualified

qualified
qualified=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > root

instance method SOAP::SOAPElement#root

root
root=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > to_obj

instance method SOAP::SOAPElement#to_obj

to_obj


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > decode

singleton method SOAP::SOAPElement.decode

decode(elename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > from_obj

singleton method SOAP::SOAPElement.from_obj

from_obj(obj, namespace = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > new

singleton method SOAP::SOAPElement.new

new(elename, text = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPElement > to_elename

singleton method SOAP::SOAPElement.to_elename

to_elename(obj, namespace = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPEnvelope > body

instance method SOAP::SOAPEnvelope#body

body
body=(body)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPEnvelope > encode

instance method SOAP::SOAPEnvelope#encode

encode(generator, ns, attrs = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPEnvelope > external_content

instance method SOAP::SOAPEnvelope#external_content

external_content


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPEnvelope > header

instance method SOAP::SOAPEnvelope#header

header
header=(header)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPEnvelope > to_ary

instance method SOAP::SOAPEnvelope#to_ary

to_ary


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPEnvelope > new

singleton method SOAP::SOAPEnvelope.new

new(header = nil, body = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPExternalReference > referred

instance method SOAP::SOAPExternalReference#referred

referred


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPExternalReference > refidstr

instance method SOAP::SOAPExternalReference#refidstr

refidstr


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPExternalReference > new

singleton method SOAP::SOAPExternalReference.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPFault > detail

instance method SOAP::SOAPFault#detail

detail
detail=(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPFault > encode

instance method SOAP::SOAPFault#encode

encode(generator, ns, attrs = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPFault > faultactor

instance method SOAP::SOAPFault#faultactor

faultactor
faultactor=(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPFault > faultcode

instance method SOAP::SOAPFault#faultcode

faultcode
faultcode=(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPFault > faultstring

instance method SOAP::SOAPFault#faultstring

faultstring
faultstring=(rhs)


singleton method SOAP::SOAPFault.new

new(faultcode = nil, faultstring = nil, faultactor = nil, detail = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > EncodeCharRegexp

constant SOAP::SOAPGenerator::EncodeCharRegexp

EncodeCharRegexp


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > EncodeMap

constant SOAP::SOAPGenerator::EncodeMap

EncodeMap


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > add_reftarget

instance method SOAP::SOAPGenerator#add_reftarget

add_reftarget(name, node)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > charset

instance method SOAP::SOAPGenerator#charset

charset
charset=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > default_encodingstyle

instance method SOAP::SOAPGenerator#default_encodingstyle

default_encodingstyle
default_encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > element_local?

instance method SOAP::SOAPGenerator#element_local?

element_local?(element)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > element_qualified?

instance method SOAP::SOAPGenerator#element_qualified?

element_qualified?(element)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_child

instance method SOAP::SOAPGenerator#encode_child

encode_child(ns, child, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_data

instance method SOAP::SOAPGenerator#encode_data

encode_data(ns, obj, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_element

instance method SOAP::SOAPGenerator#encode_element

encode_element(ns, obj, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_name

instance method SOAP::SOAPGenerator#encode_name

encode_name(ns, data, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_name_end

instance method SOAP::SOAPGenerator#encode_name_end

encode_name_end(ns, data)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_rawstring

instance method SOAP::SOAPGenerator#encode_rawstring

encode_rawstring(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_string

instance method SOAP::SOAPGenerator#encode_string

encode_string(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_tag

instance method SOAP::SOAPGenerator#encode_tag

encode_tag(elename, attrs = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > encode_tag_end

instance method SOAP::SOAPGenerator#encode_tag_end

encode_tag_end(elename, cr = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > generate

instance method SOAP::SOAPGenerator#generate

generate(obj, io = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > generate_explicit_type

instance method SOAP::SOAPGenerator#generate_explicit_type

generate_explicit_type
generate_explicit_type=(value)


instance method SOAP::SOAPGenerator#use_numeric_character_reference

use_numeric_character_reference
use_numeric_character_reference=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > assign_ns

singleton method SOAP::SOAPGenerator.assign_ns

assign_ns(attrs, ns, namespace, tag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/generator > class SOAP::SOAPGenerator > new

singleton method SOAP::SOAPGenerator.new

new(opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeader > add

instance method SOAP::SOAPHeader#add

add(name, value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeader > encode

instance method SOAP::SOAPHeader#encode

encode(generator, ns, attrs = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeader > length

instance method SOAP::SOAPHeader#length

length
size


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeader > new

singleton method SOAP::SOAPHeader.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeaderItem > element

instance method SOAP::SOAPHeaderItem#element

element
element=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeaderItem > encode

instance method SOAP::SOAPHeaderItem#encode

encode(generator, ns, attrs = {})


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeaderItem > encodingstyle

instance method SOAP::SOAPHeaderItem#encodingstyle

encodingstyle
encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeaderItem > mustunderstand

instance method SOAP::SOAPHeaderItem#mustunderstand

mustunderstand
mustunderstand=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/element > class SOAP::SOAPHeaderItem > new

singleton method SOAP::SOAPHeaderItem.new

new(element, mustunderstand = true, encodingstyle = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPModuleUtils > decode

instance method SOAP::SOAPModuleUtils#decode

decode(elename)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > __getobj__

instance method SOAP::SOAPReference#__getobj__

__getobj__


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > __setobj__

instance method SOAP::SOAPReference#__setobj__

__setobj__(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > method_missing

instance method SOAP::SOAPReference#method_missing

method_missing(msg_id, *params)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > refid

instance method SOAP::SOAPReference#refid

refid
refid=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > refidstr

instance method SOAP::SOAPReference#refidstr

refidstr


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > create_refid

singleton method SOAP::SOAPReference.create_refid

create_refid(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > decode

singleton method SOAP::SOAPReference.decode

decode(elename, refidstr)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPReference > new

singleton method SOAP::SOAPReference.new

new(obj = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > []

instance method SOAP::SOAPStruct#[]

self[idx]


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > []=

instance method SOAP::SOAPStruct#[]=

self[idx] = data


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > add

instance method SOAP::SOAPStruct#add

add(name, value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > each

instance method SOAP::SOAPStruct#each

each


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > key?

instance method SOAP::SOAPStruct#key?

key?(name)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > members

instance method SOAP::SOAPStruct#members

members


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > replace

instance method SOAP::SOAPStruct#replace

replace


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > to_obj

instance method SOAP::SOAPStruct#to_obj

to_obj


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > to_s

instance method SOAP::SOAPStruct#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > decode

singleton method SOAP::SOAPStruct.decode

decode(elename, type)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > class SOAP::SOAPStruct > new

singleton method SOAP::SOAPStruct.new

new(type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > definedtype

instance method SOAP::SOAPType#definedtype

definedtype
definedtype=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > elename

instance method SOAP::SOAPType#elename

elename
elename=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > encodingstyle

instance method SOAP::SOAPType#encodingstyle

encodingstyle
encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > extraattr

instance method SOAP::SOAPType#extraattr

extraattr


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > id

instance method SOAP::SOAPType#id

id
id=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > initialize

instance method SOAP::SOAPType#initialize

initialize(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > inspect

instance method SOAP::SOAPType#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > parent

instance method SOAP::SOAPType#parent

parent
parent=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > position

instance method SOAP::SOAPType#position

position
position=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > precedents

instance method SOAP::SOAPType#precedents

precedents


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > root

instance method SOAP::SOAPType#root

root
root=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/baseData > module SOAP::SOAPType > rootnode

instance method SOAP::SOAPType#rootnode

rootnode


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler > RUBY_VERSION_STRING

constant SOAP::StreamHandler::RUBY_VERSION_STRING

RUBY_VERSION_STRING


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler > create_media_type

singleton method SOAP::StreamHandler.create_media_type

create_media_type(charset)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler > parse_media_type

singleton method SOAP::StreamHandler.parse_media_type

parse_media_type(str)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > is_fault

instance method SOAP::StreamHandler::ConnectionData#is_fault

is_fault
is_fault=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > receive_contenttype

instance method SOAP::StreamHandler::ConnectionData#receive_contenttype

receive_contenttype
receive_contenttype=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > receive_string

instance method SOAP::StreamHandler::ConnectionData#receive_string

receive_string
receive_string=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > send_contenttype

instance method SOAP::StreamHandler::ConnectionData#send_contenttype

send_contenttype
send_contenttype=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > send_string

instance method SOAP::StreamHandler::ConnectionData#send_string

send_string
send_string=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > soapaction

instance method SOAP::StreamHandler::ConnectionData#soapaction

soapaction
soapaction=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/streamHandler > class SOAP::StreamHandler::ConnectionData > new

singleton method SOAP::StreamHandler::ConnectionData.new

new(send_string = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > allow_unqualified_element

instance method SOAP::WSDLDriver#allow_unqualified_element

allow_unqualified_element
allow_unqualified_element=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > default_encodingstyle

instance method SOAP::WSDLDriver#default_encodingstyle

default_encodingstyle
default_encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > endpoint_url

instance method SOAP::WSDLDriver#endpoint_url

endpoint_url
endpoint_url=(value)


instance method SOAP::WSDLDriver#generateEncodeType=

generate_explicit_type
generate_explicit_type=(value)
generateEncodeType=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > headerhandler

instance method SOAP::WSDLDriver#headerhandler

headerhandler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > httpproxy

instance method SOAP::WSDLDriver#httpproxy

httpproxy
httpproxy=(httpproxy)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > inspect

instance method SOAP::WSDLDriver#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > mandatorycharset

instance method SOAP::WSDLDriver#mandatorycharset

mandatorycharset
mandatorycharset=(mandatorycharset)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > mapping_registry

instance method SOAP::WSDLDriver#mapping_registry

mapping_registry
mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > options

instance method SOAP::WSDLDriver#options

options


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > reset_stream

instance method SOAP::WSDLDriver#reset_stream

reset_stream


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > streamhandler

instance method SOAP::WSDLDriver#streamhandler

streamhandler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > test_loopback_response

instance method SOAP::WSDLDriver#test_loopback_response

test_loopback_response


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > wiredump_dev

instance method SOAP::WSDLDriver#wiredump_dev

wiredump_dev
wiredump_dev=(wire_dump_dev)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > wiredump_file_base

instance method SOAP::WSDLDriver#wiredump_file_base

wiredump_file_base
wiredump_file_base=(wiredump_file_base)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > wsdl_mapping_registry

instance method SOAP::WSDLDriver#wsdl_mapping_registry

wsdl_mapping_registry
wsdl_mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > __attr_proxy

singleton method SOAP::WSDLDriver.__attr_proxy

__attr_proxy(symbol, assignable = false)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver > new

singleton method SOAP::WSDLDriver.new

new(wsdl, port, logdev)


instance method SOAP::WSDLDriverFactory#createDriver

create_driver(service = nil, port = nil)
createDriver(service = nil, port = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriverFactory > create_rpc_driver

instance method SOAP::WSDLDriverFactory#create_rpc_driver

create_rpc_driver(servicename = nil, portname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriverFactory > inspect

instance method SOAP::WSDLDriverFactory#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriverFactory > wsdl

instance method SOAP::WSDLDriverFactory#wsdl

wsdl


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriverFactory > new

singleton method SOAP::WSDLDriverFactory.new

new(wsdl)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > allow_unqualified_element

instance method SOAP::WSDLDriver::Servant__#allow_unqualified_element

allow_unqualified_element
allow_unqualified_element=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > default_encodingstyle

instance method SOAP::WSDLDriver::Servant__#default_encodingstyle

default_encodingstyle
default_encodingstyle=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > document_send

instance method SOAP::WSDLDriver::Servant__#document_send

document_send(name, header_obj, body_obj)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > endpoint_url

instance method SOAP::WSDLDriver::Servant__#endpoint_url

endpoint_url
endpoint_url=(endpoint_url)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > generate_explicit_type

instance method SOAP::WSDLDriver::Servant__#generate_explicit_type

generate_explicit_type
generate_explicit_type=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > headerhandler

instance method SOAP::WSDLDriver::Servant__#headerhandler

headerhandler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > inspect

instance method SOAP::WSDLDriver::Servant__#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > mapping_registry

instance method SOAP::WSDLDriver::Servant__#mapping_registry

mapping_registry
mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > options

instance method SOAP::WSDLDriver::Servant__#options

options


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > port

instance method SOAP::WSDLDriver::Servant__#port

port


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > reset_stream

instance method SOAP::WSDLDriver::Servant__#reset_stream

reset_stream


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > rpc_call

instance method SOAP::WSDLDriver::Servant__#rpc_call

rpc_call(name, *values)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > soapaction

instance method SOAP::WSDLDriver::Servant__#soapaction

soapaction
soapaction=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > streamhandler

instance method SOAP::WSDLDriver::Servant__#streamhandler

streamhandler


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > test_loopback_response

instance method SOAP::WSDLDriver::Servant__#test_loopback_response

test_loopback_response


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > wsdl_mapping_registry

instance method SOAP::WSDLDriver::Servant__#wsdl_mapping_registry

wsdl_mapping_registry
wsdl_mapping_registry=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library soap/wsdlDriver > class SOAP::WSDLDriver::Servant__ > new

singleton method SOAP::WSDLDriver::Servant__.new

new(host, wsdl, port, logdev)


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class SOCKSSocket > close

instance method SOCKSSocket#close

close -> nil

ソケットを閉じます。


singleton method SOCKSSocket.new

open(host, service) -> SOCKSSocket
new(host, service) -> SOCKSSocket

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、または octet decimal によるインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサー ビス名かポート番号です。

[PARAM] host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] service:
/etc/services (または NIS) に登録されているサービス名かポート番号です。
new(host, serv) -> SOCKSSocket [redefined by resolv-replace]

SOCKSSocket.newのパラメータ host の名前解決に resolv ライブラリを使います。

[PARAM] host:
ホスト名を文字列で指定します。
[PARAM] serv:
ホスト名を文字列で指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。


singleton method SecureRandom.base64

base64(n = nil) -> String

ランダムな base64 文字列を生成して返します。

[PARAM] n:
文字列の生成に使われるランダムネスのサイズを整数で指定します。 生成される文字列のサイズではないことに注意して下さい。生成される文字列のサイズは n の約 4/3 倍になります。nil を指定した場合 n として 16 が使われます。
[EXCEPTION] NotImplementedError:
安全な乱数発生器が使えない場合に発生します。
p SecureRandom.base64(3)    #=> "4pYO"  (文字列のサイズは 3 でない)

[SEE_ALSO] [RFC3548]


singleton method SecureRandom.hex

hex(n = nil) -> String

ランダムな hex 文字列を生成して返します。

[PARAM] n:
文字列の生成に使われるランダムネスのサイズを整数で指定します。 生成される文字列のサイズではないことに注意して下さい。生成される文字列のサイズは n の約 2 倍になります。nil を指定した場合 n として 16 が使われます。
[EXCEPTION] NotImplementedError:
安全な乱数発生器が使えない場合に発生します。
p SecureRandom.hex(3)    #=> "f72233"   (文字列のサイズは 3 でない)


singleton method SecureRandom.random_bytes

random_bytes(n = nil) -> String

ランダムなバイト列を生成して返します。

[PARAM] n:
生成される文字列のサイズを整数で指定します。 nil を指定した場合 n として 16 が使われます。
[EXCEPTION] NotImplementedError:
安全な乱数発生器が使えない場合に発生します。
p SecureRandom.random_bytes(3)    #=> "\321\020\203"


singleton method SecureRandom.random_number

random_number(n = 0) -> Integer | Float

ランダムな数値を生成して返します。 n が 1 以上の整数の場合、0 以上 n 未満の整数を返します。 n が 0 の場合、0.0 以上 1.0 未満の実数を返します。

[PARAM] n:
ランダムな数値の上限を数値で指定します。
[EXCEPTION] NotImplementedError:
安全な乱数発生器が使えない場合に発生します。
p SecureRandom.random_number(1 << 64)    #=> 4078466195356651249


instance method Set#+

union(enum) -> Set
self + enum -> Set
self | enum -> Set

和集合、すなわち、2 つの集合の少なくともどちらか一方に属するすべての 要素からなる新しい集合を作ります。

[PARAM] enum:
Enumerable オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
p Set[10, 20, 30] + Set[10, 20, 40]
#=> #<Set: {40, 30, 20, 10}>


instance method Set#-

difference(enum) -> Set
self - enum -> Set

差集合、すなわち、元の集合の要素のうち引数 enum に含まれる要素を取り除いた 新しい集合を作ります。

[PARAM] enum:
Enumerable オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
p Set[10, 20, 30] - Set[10, 20, 40]
#=> #<Set: {30}>


instance method Set#<<

add(o) -> self
self << o -> self
add?(o) -> self | nil

集合にオブジェクト o を加えます。

add は常に self を返します。<< は add の別名です。

add? は、集合に要素が追加された場合には self を、変化がなかった場合には nil を返します。

[PARAM] o:
追加対象のオブジェクトを指定します。
s = Set[1, 2]
s << 10
p s          #=> #<Set: {1, 2, 10}>
p s.add?(20) #=> #<Set: {1, 2, 20, 10}>
p s.add?(2)  #=> nil


instance method Set#==

self == set -> bool

2 つの集合が等しいときに true を返します。

より厳密には、引数 set が Set オブジェクトであり、自身と set が同数の 要素を持ち、かつそれらの要素がすべて等しい場合に true となります。 それ以外の場合には、false を返します。 要素の等しさは Object#eql? により判定されます。

[PARAM] set:
比較対象のオブジェクトを指定します。
s1 = Set[10, 20, 30]
s2 = Set[10, 30, 40]
s3 = Set[30, 10, 30, 20]
p s1 == s2 #=> false
p s1 == s3 #=> true


instance method Set#^

self ^ enum -> Set

対称差、すなわち、2 つの集合のいずれか一方にだけ属するすべての要素からなる 新しい集合を作ります。

[PARAM] enum:
Enumerable オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
s1 = Set[10, 20, 30]
s2 = Set[10, 30, 50]
p s1 ^ s2 #=> #<Set: {50, 20}>


instance method Set#&

intersection(enum) -> Set
self & enum -> Set

共通部分、すなわち、2つの集合のいずれにも属するすべての要素からなる 新しい集合を作ります。

[PARAM] enum:
Enumerable オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
s1 = Set[10, 20, 30]
s2 = Set[10, 30, 50]
p s1 & s2 #=> #<Set: {30, 10}>


instance method Set#classify

classify {|o| ... } -> Hash

集合をブロックの値によって分類し、結果をハッシュとして返します。

ブロックは集合の各要素について実行され、引数 o にはその要素が 渡されます。

生成されるハッシュのキーはブロックの実行結果、値は分類された集合と なります。

numbers = Set[10, 4.5, 20, 30, 31.2]
p numbers.classify {|o| o.class}
#=> {Float=>#<Set: {4.5, 31.2}>, Fixnum=>#<Set: {30, 20, 10}>}


instance method Set#clear

clear -> self

集合の要素をすべて削除し、空にした後の self を返します。

p s = Set[10, 20, 30] #=> #<Set: {30, 20, 10}>
s.clear
p s #=> #<Set: {}>


instance method Set#clone

clone -> Set
dup -> Set

集合を複製して返します。

dup は、集合の内容と taint 情報のみコピーします。 clone は、それに加えて、freeze 情報と特異メソッドをコピーします。 いずれも共通して、内部記憶として保持するハッシュもコピーしますが、 集合の要素そのものはコピーしません。

ただし、Ruby 1.8 の Set クラスでは、内部記憶として用いるハッシュには taint 情報および freeze 情報が付加されないので、taint 情報および freeze 情報のコピーは実質的な効果を持ちません。

s1 = Set[10, 20]

s2 = s1.dup
s2 << 30
p s1 #=> #<Set: {20, 10}>
p s2 #=> #<Set: {30, 20, 10}>

[SEE_ALSO] Object#clone


instance method Set#collect!

collect! {|o| ...} -> self
map! {|o| ...} -> self

集合の各要素についてブロックを評価し、その結果で元の集合を置き換えます。

set = Set['hello', 'world']
set.map! {|str| str.capitalize}
p set  #=> #<Set: {"Hello", "World"}>

[SEE_ALSO] Enumerable#collect


instance method Set#delete

delete(o) -> self
delete?(o) -> self | nil

集合からオブジェクト o を削除します。

delete は常に self を返します。

delete? は、集合の要素が削除された場合には self を、変化がなかった場合 には nil を返します。

[PARAM] o:
削除対象のオブジェクトを指定します。
s = Set[10, 20, 30]
s.delete(10)
p s             #=> #<Set: {30, 20}>
p s.delete?(20) #=> #<Set: {30}>
p s.delete?(10) #=> nil


instance method Set#delete_if

delete_if {|o| ... } -> self
reject! {|o| ... } -> self | nil

集合の各要素に対してブロックを実行し、その結果が真であるようなすべての 要素を削除します。

delete_if は常に self を返します。

reject! は、要素が 1 つ以上削除されれば self を、1 つも削除されなければ nil を返します。

s1 = Set['hello.rb', 'test.rb', 'hello.rb.bak']
s1.delete_if {|str| str =~ /\.bak$/}
p s1 #=> #<Set: {"test.rb", "hello.rb"}>

s2 = Set['hello.rb', 'test.rb', 'hello.rb.bak']
p s2.reject! {|str| str =~ /\.bak$/} #=> #<Set: {"test.rb", "hello.rb"}>
p s2.reject! {|str| str =~ /\.o$/}   #=> nil

[SEE_ALSO] Enumerable#reject


instance method Set#divide

divide {|o| ... } -> Set
divide {|o1, o2| ... } -> Set

元の集合をブロックで定義される関係で分割し、その結果を集合として返します。

ブロックの引数が 1 個の場合、block.call(o1) == block.call(o2) が真 ならば、o1 と o2 は同じ分割に属します。

ブロックの引数が 2 個の場合、block.call(o1, o2) が真ならば、 o1 と o2 は同じ分割に属します。 この場合、block.call(o1, o2) == block.call(o2, o1) が成立しないブロックを与えると期待通りの結果が得られません。

例1

numbers = Set.new(1..6)
set = numbers.divide {|i| i % 3}
p set
#=> #<Set: {#<Set: {5, 2}>, #<Set: {1, 4}>, #<Set: {6, 3}>}>

例2

numbers = Set[1, 3, 4, 6, 9, 10, 11]
set = numbers.divide {|i, j| (i - j).abs == 1}
p set     #=> #<Set: {#<Set: {1}>,
          #           #<Set: {11, 9, 10}>,
          #           #<Set: {3, 4}>,
          #           #<Set: {6}>}>

応用例

8x2 のチェス盤上で、ナイトが到達できる位置に関する分類を作成します。

require 'set'

board = Set.new
m, n = 8, 2
for i in 1..m
  for j in 1..n
    board << [i,j]
  end
end
knight_move = Set[1,2]
p board.divide { |i,j|
  Set[(i[0] - j[0]).abs, (i[1] - j[1]).abs] == knight_move
}
#=> #<Set: {#<Set: {[6, 2], [4, 1], [2, 2], [8, 1]}>,
#            #<Set: {[2, 1], [8, 2], [6, 1], [4, 2]}>,
#            #<Set: {[1, 1], [3, 2], [5, 1], [7, 2]}>,
#            #<Set: {[1, 2], [5, 2], [3, 1], [7, 1]}>}>


instance method Set#each

each {|o| ... } -> self

集合の各要素についてブロックを実行します。

s = Set[10, 20]
ary = []
s.each {|num| ary << num + 1}
p ary #=> [21, 11]


instance method Set#empty?

empty? -> bool

集合が要素を 1 つも持たないときに true を返します。

p Set[10, 20].empty? #=> false
p Set[].empty?       #=> true


instance method Set#flatten

flatten -> Set
flatten! -> self | nil

集合を再帰的に平滑化します。

flatten は、平滑化した集合を新しく作成し、それを返します。

flatten! は、元の集合を破壊的に平滑化します。集合の要素に変更が 発生した場合には self を、そうでない場合には nil を返します。

[EXCEPTION] ArgumentError:
集合の要素として自身が再帰的に現れた場合に発生 します。
s = Set[Set[1,2], 3]
p s.flatten #=> #<Set: {1, 2, 3}>
p s         #=> #<Set: {#<Set: {1, 2}>, 3}>
s.flatten!
p s         #=> #<Set: {1, 2, 3}>

[SEE_ALSO] Array#flatten


instance method Set#include?

include?(o) -> bool
member?(o) -> bool

オブジェクト o がその集合に属する場合に true を返します。

[PARAM] o:
オブジェクトを指定します。
set = Set['hello', 'world']
p set.include?('world') #=> true
p set.include?('bye') #=> false


instance method Set#inspect

inspect -> String

人間の読みやすい形に表現した文字列を返します。

puts Set.new(['element1', 'element2']).inspect
#=> #<Set: {"element1", "element2"}>


instance method Set#length

size -> Integer
length -> Integer

集合の要素数を返します。

p Set[10, 20, 30, 10].size #=> 3


instance method Set#merge

merge(enum) -> self

元の集合に enum で与えられた要素を追加します。

[PARAM] enum:
追加対象の要素を格納した Enumerate オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
set = Set[10, 20]
set.merge([10, 30])
p set #=> #<Set: {30, 20, 10}>


instance method Set#proper_subset?

subset?(set) -> bool
proper_subset?(set) -> bool

自身が集合 set の部分集合である場合に true を返します。

subset? は、2 つの集合が等しい場合にも true となります。

proper_subset? は、2 つの集合が等しい場合には false を返します。

[PARAM] set:
比較対象の Set オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Set オブジェクトでない場合に発生します。
s = Set[1, 2]
p s.subset?(Set[1, 2, 3]) #=> true
p s.subset?(Set[1, 4]) #=> false
p s.subset?(Set[1, 2]) #=> true
p s.proper_subset?(Set[1, 2, 3]) #=> true
p s.proper_subset?(Set[1, 4]) #=> false
p s.proper_subset?(Set[1, 2]) #=> false

[SEE_ALSO] Set#superset?


instance method Set#proper_superset?

superset?(set) -> bool
proper_superset?(set) -> bool

自身が集合 set の上位集合 (スーパーセット) である場合に true を 返します。

superset? は、2 つの集合が等しい場合にも true となります。

proper_superset? は、2 つの集合が等しい場合には false を返します。

[PARAM] set:
比較対象の Set オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Set オブジェクトでない場合に発生します。
s = Set[1, 2, 3]
p s1.superset?(Set[1, 2]) #=> true
p s1.superset?(Set[1, 4]) #=> false
p s1.superset?(Set[1, 2, 3]) #=> true
p s.proper_superset?(Set[1, 2]) #=> true
p s.proper_superset?(Set[1, 4]) #=> false
p s.proper_superset?(Set[1, 2, 3]) #=> false

[SEE_ALSO] Set#subset?


instance method Set#replace

replace(enum) -> self

集合の要素をすべて削除し、enum で与えられた要素に置き換えます。

[PARAM] enum:
置き換え後の集合要素を格納する Enumerable オブジェクトを 指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
p s = Set[10, 20, 30] #=> #<Set: {30, 20, 10}>
s.replace([15, 25])
p s #=> #<Set: {25, 15}>


instance method Set#subtract

subtract(enum) -> self

元の集合から、enum で与えられた要素を削除します。

[PARAM] enum:
削除対象の要素を格納した Enumerate オブジェクトを指定します。
[EXCEPTION] ArgumentError:
引数が Enumerable オブジェクトでない場合に発生します。
set = Set[10, 20, 40]
set.subtract([10, 20, 30])
p set #=> #<Set: {40}>


instance method Set#to_a

to_a -> Array

自身を配列に変換します。要素の順序は不定です。

set = Set['hello', 'world']
p set.to_a
#=> ["world", "hello"]


singleton method Set.[]

self[*ary] -> Set

与えられたオブジェクトを要素とする新しい集合を作ります。

[PARAM] ary:
新しい集合の要素を指定します。
p Set[1, 2] #=> #<Set: {1, 2}>


singleton method Set.new

new(enum = nil) -> Set
new(enum = nil) {|o| ... } -> Set

引数 enum で与えられた要素を元に、新しい集合を作ります。

引数を指定しない場合、または引数が nil である場合には、空の集合を 作ります。

引数を与えてブロックを与えない場合、enum の各要素からなる集合を 作ります。

引数とブロックの両方を与えた場合、enum の各要素についてブロックを 評価し、その結果を新しい集合の要素とします。

[PARAM] enum:
Enumerable オブジェクトを指定します。
[EXCEPTION] ArgumentError:
Enumerable オブジェクトでない引数が与えられた場合に 発生します。
p Set.new                      #=> #<Set: {}>
p Set.new([1, 2])              #=> #<Set: {1, 2}>
p Set.new([1, 2]) {|o| o * 2}  #=> #<Set: {2, 4}>


instance method Shell#[]

test(command, file1, file2 = nil) -> bool
self[command, file1, file2 = nil] -> bool

執筆者募集。 ファイルテスト関数testと同じです。

[PARAM] command:
ファイルテスト関数testと同じです。
[PARAM] file1:
文字列でファイルへのパスを指定します。 ファイルテスト関数testに渡される第一引数となります。
[PARAM] file2:
文字列でファイルへのパスを指定します。 ファイルテスト関数testに渡される第二引数となります。省略可。

例:

require 'shell'
Shell.verbose = false
sh = Shell.new
begin
  sh.mkdir("foo")
rescue
end
p sh[?e, "foo"]         #=> true
p sh[:e, "foo"]         #=> true
p sh["e", "foo"]        #=> true
p sh[:exists?, "foo"]   #=> true
p sh["exists?", "foo"]  #=> true


instance method Shell#atime

atime(filename) -> Time

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] File.atime


instance method Shell#basename

basename(filename, suffix = "") -> String

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] suffix:
サフィックスを文字列で与えます。'.*' という文字列を与えた場合、'*' はワイルドカードとして働き '.' を含まない任意の文字列にマッチします。

[SEE_ALSO] File.basename


instance method Shell#blockdev?

blockdev?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#blockdev?


instance method Shell#cat

cat(*files) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

[PARAM] files:
シェルコマンド cat に与えるファイル名を文字列で指定します。

動作例

require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
  glob("*.txt").to_a.each { |file|
    file.chomp!
    cat(file).each { |l|
      echo(l) | tee(file + ".tee") >> "all.tee"
    }
  }
}


instance method Shell#cd

cd(path, &block) -> self
chdir(path, &block) -> self

カレントディレクトリをpathにする. イテレータとして呼ばれたときには ブロック実行中のみカレントディレクトリを変更する.

[PARAM] path:
カレントディレクトリを文字列で指定します.
[PARAM] block:
path で指定したディレクトリで行う操作をブロックで指定します.

使用例

require 'shell'
sh = Shell.new
sh.transact {
  cd("/tmp"){
    p cwd #=> "/tmp"
  }
  p cwd #=> "/Users/kouya/rbmanual"
}


instance method Shell#chardev?

chardev?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#chardev?


instance method Shell#chmod

chmod(mode, *filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] mode:
chmod(2) と同様に整数で指定します。

[SEE_ALSO] File.chmod


instance method Shell#chown

chown(owner, group, *filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] owner:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、オーナーを現在の>ままにすることができます。
[PARAM] group:
chown(2) と同様に数値で指定します。nil または -1 を指定することで、グループを現在の>ままにすることができます。
[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.chown


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > cmp

instance method Shell#cmp

cmp

Shell#compare と同じです。


instance method Shell#compare

compare(file1, file2) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] file1:
ファイルの名前を文字列で与えます。
[PARAM] file2:
新しいファイル名を文字列で与えます。

[SEE_ALSO] File.compare


instance method Shell#copy

copy(from, to) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] from:
ファイルの名前を文字列で与えます。
[PARAM] to:
新しいファイル名を文字列で与えます。

[SEE_ALSO] File.copy


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > cp

instance method Shell#cp

cp

Shell#copy と同じです。


instance method Shell#ctime

ctime(filename) -> Time

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] File.ctime


instance method Shell#cwd

cwd -> String
dir -> String
getwd -> String
pwd -> String

カレントディレクトリのパスを文字列で返します。

使用例

require 'shell'
sh = Shell.new
p sh.cwd
# 例
#=> "/Users/kouya/tall"


instance method Shell#delete

delete(*filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.delete


instance method Shell#directory?

directory?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#directory?


instance method Shell#dirname

dirname(filename) -> String

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.dirname


instance method Shell#echo

echo(*strings) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

[PARAM] strings:
シェルコマンド echo に与える引数を文字列で指定します。

動作例

require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
  glob("*.txt").to_a.each { |file|
    file.chomp!
    cat(file).each { |l|
      echo(l) | tee(file + ".tee") >> "all.tee"
    }
  }
}


instance method Shell#executable?

executable?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#executable?


instance method Shell#executable_real?

executable_real?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#executable_real?


instance method Shell#exist?

exist?(file) -> bool
exists?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#exist? FileTest.#exists?


instance method Shell#expand_path

expand_path(path)

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] path:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.expand_path


instance method Shell#file?

file?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#file?


instance method Shell#foreach

foreach(path = nil, &block) -> ()

pathがファイルなら, File#foreach pathがディレクトリなら, Dir#foreach の動作をします。

[PARAM] path:
ファイルもしくはディレクトリのパスを文字列で指定します。

使用例

require 'shell'
Shell.verbose = false
sh = Shell.new
sh.foreach("/tmp"){|f|
  puts f
}


instance method Shell#ftype

ftype(filename) -> String

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.ftype


instance method Shell#glob

glob(patten) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

[PARAM] patten:
シェルコマンド glob に与えるパターンを指定します。 パターンの書式については、Dir.[]を参照してください。

動作例

require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
  glob("*.txt").to_a.each { |file|
    file.chomp!
    cat(file).each { |l|
      echo(l) | tee(file + ".tee") >> "all.tee"
    }
  }
}

[SEE_ALSO] Dir.[]


instance method Shell#grpowned?

grpowned?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#grpowned?


instance method Shell#install

install(from, to, mode = nil, verbose = false) -> ()

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] from:
コピー元のファイル。
[PARAM] to:
コピー先のファイル。
[PARAM] mode:
ファイルのアクセスモード。8進数で指定します。
[PARAM] verbose:
真を指定すると詳細を表示します。

[SEE_ALSO] File.install


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > jobs

instance method Shell#jobs

jobs -> Array

執筆者募集. スケジューリングされているjobの一覧を返す.


instance method Shell#join

join(*item) -> String

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] item:
連結したいディレクトリ名やファイル名を文字列で与えます。

[SEE_ALSO] File.join


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > kill

instance method Shell#kill

kill(sig, job)

執筆者募集. jobにシグナルsigを送る.


instance method Shell#link

link(old, new) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] old:
ファイル名を表す文字列を指定します。
[PARAM] new:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.link


instance method Shell#lstat

lstat(filename) -> File::Stat

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.lstat


instance method Shell#makedirs

makedirs(*dirs) -> Array

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] dirs:
作成するディレクトリを指定します。

[SEE_ALSO] File.makedirs


instance method Shell#mkdir

mkdir(*path) -> Array

Dir.mkdirと同じです。 (複数可)

[PARAM] path:
作成するディレクトリ名を文字列で指定します。
[RETURN]
作成するディレクトリの一覧の配列を返します。

使用例

require 'shell'
Shell.verbose = false
sh = Shell.new
begin
  p sh.mkdir("foo") #=> ["foo"]
rescue => err
  puts err
end


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > mkpath

instance method Shell#mkpath

mkpath

Shell#makedirs と同じです。


instance method Shell#move

move(from, to) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] from:
ファイルの名前を文字列で与えます。
[PARAM] to:
新しいファイル名を文字列で与えます。

[SEE_ALSO] File.move


instance method Shell#mtime

mtime(filename) -> Time

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] File.mtime


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > mv

instance method Shell#mv

mv

Shell#move と同じです。


instance method Shell#open

open(path, mode) -> object

pathがファイルなら, File#open pathがディレクトリなら, Dir#open の動作をします。

[PARAM] path:
くわしくは、File.open, Dir.openを参照してください。
[PARAM] mode:
くわしくは、File.open, Dir.openを参照してください。


instance method Shell#out

out(dev = STDOUT, &block) -> ()

Shell#transact を呼び出しその結果を dev に出力します。

[PARAM] dev:
出力先をIO オブジェクトなどで指定します。
[PARAM] block:
transact 内部で実行するシェルを指定します。

使用例:

require 'shell'
Shell.def_system_command("head")
sh = Shell.new
File.open("out.txt", "w"){ |fp|
  sh.out(fp) {
    system("ls", "-l") | head("-n 3")
  }
}


instance method Shell#owned?

owned?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#owned?


instance method Shell#pipe?

pipe?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列か IO オブジェクトを指定します。

[SEE_ALSO] FileTest.#pipe?


instance method Shell#popd

popd -> ()
popdir -> ()

ディレクトリスタックからポップし, それをカレントディレクトリにする.

動作例

require 'shell'
Shell.verbose = false
sh = Shell.new
sh.pushd("/tmp")
p sh.cwd #=> "/tmp"
sh.pushd("/usr")
p sh.cwd #=> "/usr"
sh.popd
p sh.cwd #=> "/tmp"


instance method Shell#pushd

pushd(path = nil, &block) -> object
pushdir(path = nil, &block) -> object

カレントディレクトリをディレクトリスタックにつみ, カレントディレク トリをpathにする. pathが省略されたときには, カレントディレクトリと ディレクトリスタックのトップを交換する. イテレータとして呼ばれたと きには, ブロック実行中のみpushdする.

[PARAM] path:
カレントディレクトリをpathにする。文字列で指定します。
[PARAM] block:
イテレータとして呼ぶ場合, ブロックを指定します。

動作例

require 'shell'
Shell.verbose = false
sh = Shell.new
sh.pushd("/tmp")
p sh.cwd #=> "/tmp"
sh.pushd("/usr")
p sh.cwd #=> "/usr"
sh.popd
p sh.cwd #=> "/tmp"
sh.pushd("/usr/local"){
  p sh.cwd #=> "/usr/local"
}
p sh.cwd #=> "/tmp"


instance method Shell#readable?

readable?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#readable?


instance method Shell#readable_real?

readable_real?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#readable_real?


instance method Shell#readlink

readlink(path) -> String

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] path:
シンボリックリンクを表す文字列を指定します。

[SEE_ALSO] File.readlink


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > rehash

instance method Shell#rehash

rehash -> Hash

執筆者募集。 リハッシュする。通常使う事はありません。


instance method Shell#rename

rename(from, to) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] from:
ファイルの名前を文字列で与えます。
[PARAM] to:
新しいファイル名を文字列で与えます。

[SEE_ALSO] File.rename


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > rm_f

instance method Shell#rm_f

rm_f

Shell#safe_unlink と同じです。


instance method Shell#rmdir

rmdir(*path) -> ()

Dir.rmdirと同じです。 (複数可)

[PARAM] path:
削除するディレクトリ名を文字列で指定します。


instance method Shell#safe_unlink

safe_unlink(*filenames) -> Array

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] filenames:
削除するファイルを指定します。

[SEE_ALSO] File.safe_unlink


instance method Shell#setgid?

setgid?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#setgid?


instance method Shell#setuid?

setuid?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#setuid?


instance method Shell#size

size(file) -> Integer
size?(file) -> Integer | nil

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#size FileTest.#size?


instance method Shell#socket?

socket?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#socket?


instance method Shell#split

split(pathname) -> [String]

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] pathname:
パス名を表す文字列を指定します。

[SEE_ALSO] File.split


instance method Shell#stat

stat(filename) -> File::Stat

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。

[SEE_ALSO] File.stat


instance method Shell#sticky?

sticky?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#sticky?


instance method Shell#symlink

symlink(old, new) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] old:
ファイル名を表す文字列を指定します。
[PARAM] new:
シンボリックリンクを表す文字列を指定します。

[SEE_ALSO] File.symlink


instance method Shell#symlink?

symlink?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#symlink?


instance method Shell#syscopy

syscopy(from, to) -> bool

FileToolsクラスにある同名のクラスメソッドと同じです.

[PARAM] from:
ファイルの名前を文字列で与えます。
[PARAM] to:
新しいファイル名を文字列で与えます。

[SEE_ALSO] File.syscopy


instance method Shell#system

system(command, *opts) -> Shell::Filter

commandを実行する.

[PARAM] command:
実行するコマンドのパスを文字列で指定します。
[PARAM] opts:
command のオプションを文字列で指定します。複数可。

使用例:

require 'shell'
Shell.verbose = false
sh = Shell.new

print sh.system("ls", "-l")
Shell.def_system_command("head")
sh.system("ls", "-l") | sh.head("-n 3") > STDOUT


instance method Shell#system_path

system_path -> Array
system_path=(path)

コマンドサーチパスの配列を返す。

[PARAM] path:
コマンドサーチパスの配列を指定します。

使用例

require 'shell'
sh = Shell.new
sh.system_path = [ "./" ]
p sh.system_path #=> ["./"]


instance method Shell#tee

tee(file) -> Shell::Filter

実行すると, それらを内容とする Filter オブジェクトを返します.

[PARAM] file:
シェルコマンドtee に与えるファイル名を文字列で指定します。

動作例

require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
  glob("*.txt").to_a.each { |file|
    file.chomp!
    cat(file).each { |l|
      echo(l) | tee(file + ".tee") >> "all.tee"
    }
  }
}


instance method Shell#transact

transact { ... } -> object

ブロック中で shell を self として実行します。

例:

require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact{
  system("ls", "-l") | head > STDOUT
  # transact の中では、
  # sh.system("ls", "-l") | sh.head > STDOUT と同じとなる。
}


instance method Shell#truncate

truncate(path, length) -> 0

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] path:
パスを表す文字列を指定します。
[PARAM] length:
変更したいサイズを整数で与えます。

[SEE_ALSO] File.truncate


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell > umask

instance method Shell#umask

umask -> object

umaskを返します。


instance method Shell#unlink

unlink(path) -> self

pathがファイルなら, File#unlink pathがディレクトリなら, Dir#unlink の動作をします。

[PARAM] path:
くわしくは、File.unlink, Dir.unlinkを参照してください。


instance method Shell#utime

utime(atime, mtime, *filename) -> Integer

Fileクラスにある同名のクラスメソッドと同じです.

[PARAM] filename:
ファイル名を表す文字列を指定します。
[PARAM] atime:
最終アクセス時刻を Time か、起算時からの経過秒数を数値で指定します。
[PARAM] utime:
更新時刻を Time か、起算時からの経過秒数を数値で指定します。

[SEE_ALSO] File.utime


instance method Shell#writable?

writable?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#writable?


instance method Shell#writable_real?

writable_real?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#writable_real?


instance method Shell#zero?

zero?(file) -> bool

FileTestクラスにある同名のクラスメソッドと同じです.

[PARAM] file:
ファイル名を表す文字列を指定します。

[SEE_ALSO] FileTest.#zero?


singleton method Shell.alias_command

alias_command(alias, command, *opts) {...} -> self

コマンドの別名(エイリアス)を作成します。 コマンドが無い場合は、Shell.def_system_command などであらかじめ作成します.

[PARAM] alias:
エイリアスの名前を文字列で指定します.
[PARAM] command:
コマンド名を文字列で指定します.
[PARAM] opts:
command で指定したコマンドのオプションを指定します.

使用例: ls -la | sort -k 5 のような例。

Shell.def_system_command("ls")
Shell.alias_command("lsla", "ls", "-a", "-l")
Shell.def_system_command("sort")
sh = Shell.new
sh.transact {
  (lsla | sort("-k 5")).each {|l|
    puts l
  }
}


singleton method Shell.cd

cd(path = nil) -> self

pathをカレントディレクトリとするShellオブジェクトを生成します.

[PARAM] path:
カレントディレクトリとするディレクトリを文字列で指定します。

使用例

require 'shell'
sh = Shell.new
sh.cd("/tmp")


singleton method Shell.debug

debug -> bool | Integer
debug? -> bool | Integer
debug=(val)

デバッグ用のフラグの設定および、参照を行います。

[PARAM] val:
bool 値や整数値を指定します。詳細は下記を参照してください。
# debug: true -> normal debug
# debug: 1    -> eval definition debug
# debug: 2    -> detail inspect debug


singleton method Shell.def_system_command

def_system_command(command, path = command) -> nil

Shellのメソッドとしてcommandを登録します.

OS上のコマンドを実行するにはまず, Shellのメソッドとして定義します. 注) コマンドを定義しなくとも直接実行できるShell#systemコマンドもあります.

[PARAM] command:
Shell のメソッドとして定義するコマンドを文字列で指定します。
[PARAM] path:
command のパスを指定します。 指定しない場合はcommand と同じになります。

例)

Shell.def_system_command "ls"
# ls を定義

Shell.def_system_command "sys_sort", "sort"
# sortコマンドをsys_sortとして定義

sh = Shell.new
sh.transact {
  ls.each { |l|
    puts l
  }
  (ls("-l") | sys_sort("-k 5")).each {|l|
    puts l
  }
}


singleton method Shell.default_record_separator

default_record_separator -> String
default_record_separator=(rs)

執筆者募集

Shell で用いられる入力レコードセパレータを表す文字列を設定および参照します。 なにも指定しない場合は$/ の値が用いられます。

[PARAM] rs:
Shell で用いられる入力レコードセパレータを表す文字列を指定します。


singleton method Shell.default_system_path

default_system_path -> Array
default_system_path=(path)

Shellでもちいられるコマンドを検索する対象のパスを設定および、参照します。

[PARAM] path:
Shellでもちいられるコマンドを検索する対象のパスを文字列で指定します。

動作例

require 'shell'
p Shell.default_system_path
# 例
#=> [ "/opt/local/bin", "/opt/local/sbin", "/usr/bin", "/bin", "/usr/sbin", "/sbin", "/usr/local/bin", "/usr/X11/bin", "/Users/kouya/bin"]
Shell.default_system_path = ENV["HOME"] + "/bin"
p Shell.default_system_path
# => "/Users/kouya/bin"


singleton method Shell.install_system_commands

install_system_commands(pre = "sys_") -> ()

system_path上にある全ての実行可能ファイルをShellに定義する. メソッ ド名は元のファイル名の頭にpreをつけたものとなる.

[PARAM] pre:
Shellに定義するメソッド名の先頭に付加される文字列を指定します。

使用例: ls -l | head -n 5 のような例。

Shell.install_system_commands
sh = Shell.new
sh.verbose = false
sh.transact {
  (sys_ls("-l") | sys_head("-n 5")).each {|l|
    puts l
  }
}


singleton method Shell.new

new -> Shell

プロセスのカレントディレクトリをカレントディレクトリとするShellオ ブジェクトを生成します.

使用例：カレントディレクトリを表示

sh = Shell.new
puts sh.pwd.to_s


singleton method Shell.unalias_command

unalias_command(alias) -> ()

commandのaliasを削除します.

[PARAM] alias:
削除したいエイリアスの名前を文字列で指定します。
[EXCEPTION] NameError:
alias で指定したコマンドが無い場合に発生します。

使用例: ls -la | sort -k 5 のような例。

Shell.def_system_command("ls")
Shell.alias_command("lsla", "ls", "-a", "-l")
Shell.def_system_command("sort")
sh = Shell.new
sh.transact {
  (lsla | sort("-k 5")).each {|l|
    puts l
  }
}
Shell.unalias_command("lsla")
begin
  Shell.unalias_command("lsla")
rescue NameError => err
  puts err
end


singleton method Shell.undef_system_command

undef_system_command(command) -> Shell::CommandProcessor

commandを削除します.

[PARAM] command:
削除するコマンドの文字列を指定します。

動作例：

Shell.def_system_command("ls")
# ls を定義
Shell.undef_system_command("ls")
# ls を 削除

sh = Shell.new
begin
  sh.transact {
    ls("-l").each {|l|
      puts l
    }
  }
rescue NameError => err
  puts err
end


singleton method Shell.verbose

verbose -> bool
verbose? -> bool
verbose=(flag)

true ならば冗長な出力の設定を行います。

[PARAM] flag:
true ならば冗長な出力の設定を行います。


instance method Shell::Filter#+

self + filter

執筆者募集

filter1 + filter2 は filter1の出力の後, filter2の出力を行う.


instance method Shell::Filter#<

self < src -> self

srcをフィルタの入力とする. srcが, 文字列ならばファイルを, IOオブジェクトであれ ばそれをそのまま入力とする.

[PARAM] src:
フィルタの入力を, 文字列もしくは,IO オブジェクトで指定します.

使用例

Shell.def_system_command("head")
sh = Shell.new
sh.transact {
  (sh.head("-n 30") < "/etc/passwd") > "ugo.txt"
}


instance method Shell::Filter#>

self > to -> self

toをフィルタの出力とする. toが, 文字列ならばファイルに, IOオブジェクトであれ ばそれをそのまま出力とする.

[PARAM] to:
出力先を指定します.文字列ならばファイルに,IOオブジェクトならばそれに出力します.

使用例

Shell.def_system_command("tail")
sh = Shell.new
sh.transact {
  (sh.tail("-n 3") < "/etc/passwd") > File.open("tail.out", "w")
  #(sh.tail("-n 3") < "/etc/passwd") > "tail.out" # と同じ.
}


instance method Shell::Filter#>>

self >> to -> self

toをフィルタに追加する. toが, 文字列ならばファイルに, IOオブジェクトであれば それをそのまま出力とする.

[PARAM] to:
出力先を指定します。文字列ならばファイルに、IOオブジェクトならばそれに出力します。

使用例

Shell.def_system_command("tail")
sh = Shell.new
sh.transact {
  (sh.tail("-n 3") < "/etc/passwd") >> "tail.out"
  #(sh.tail("-n 3") < "/etc/passwd") >> File.open("tail.out", "w") # でも同じ.
}


instance method Shell::Filter#|

self | filter -> object

パイプ結合を filter に対して行います。

[PARAM] filter:
Shell::Filter オブジェクトを指定します.
[RETURN]
filter を返します.

使用例

Shell.def_system_command("tail")
Shell.def_system_command("head")
Shell.def_system_command("wc")
sh = Shell.new
sh.transact {
  i = 1
  while i <= (cat("/etc/passwd") | wc("-l")).to_s.chomp.to_i
    puts (cat("/etc/passwd") | head("-n #{i}") | tail("-n 1")).to_s
    i += 1
  end
}


instance method Shell::Filter#each

each(rs = nil) -> ()

フィルタの一行ずつをblockに渡します。

[PARAM] rs:
レコードセパレーターを表す文字列を指定します。 nil ならば、Shell.record_separatorの値が使用されます。

使用例

sh = Shell.new
sh.cat("/etc/passwd").each { |line|
  puts line
}


Ruby 1.8.7 Reference Manual > All Libraries > library shell > class Shell::Filter > input

instance method Shell::Filter#input

input
input=

執筆者募集

フィルターを設定します。


instance method Shell::Filter#to_a

to_a -> Array
to_s -> String

実行結果を文字列、それぞれ文字列の配列で返します。

使用例

Shell.def_system_command("wc")
sh = Shell.new
puts sh.cat("/etc/passwd").to_a

sh.transact {
  puts (cat("/etc/passwd") | wc("-l")).to_s
}


singleton method Shell::Filter.new

new -> Shell::Filter

執筆者募集。 Shell::Filter クラス のインスタンスを返します。 通常このnewを直接使う機会はすくないでしょう。


module function Shellwords.#shellescape

shellescape(str) -> String

文字列を Bourne シェルのコマンドライン中で安全に使えるようにエスケープします。

[PARAM] str:
エスケープの対象となる文字列を指定します。
[RETURN]
エスケープされた文字列を返します。

例:

require 'shellwords'

pattern = 'Jan 15'
puts "grep #{Shellwords.shellescape(pattern)} file"
# => grep Jan\ 15 file


module function Shellwords.#shelljoin

shelljoin(array) -> String

配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。

個々の配列要素に対するエスケープには、Shellwords.#shellescape と 同じ規則が適用されます。

[PARAM] array:
エスケープ対象の文字列を要素とする配列を指定します。
[RETURN]
エスケープ結果を連結した文字列を返します。

例:

require 'shellwords'

pattern = 'Jan 15'
file = 'file name with spaces'
puts Shellwords.shelljoin(['grep', pattern, file])
# => grep Jan\ 15 file\ name\ with\ spaces


module function Shellwords.#shellsplit

shellsplit(line) -> [String]
shellwords(line) -> [String]

Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。

空白、シングルクォート (')、ダブルクォート (")、バックスラッシュ (\) を解釈します。

[PARAM] line:
分割の対象となる文字列を指定します。
[RETURN]
分割結果の各文字列を要素とする配列を返します。
[EXCEPTION] ArgumentError:
引数の中に対でないシングルクォートまたはダブル クォートが現れた場合に発生します。

例:

require 'shellwords'

p Shellwords.shellwords(%q{  foo bar "foo bar"\ baz 'foo bar'  })
# => ["foo", "bar", "foo bar baz", "foo bar"]

p Shellwords.shellwords(%q{  A B C "D E F" "G","H I"  })
# => ["A", "B", "C", "D E F", "G,H I"]


singleton method Shellwords.escape

escape(str) -> String

文字列を Bourne シェルのコマンドライン中で安全に使えるようにエスケープします。

このメソッドは、Shellwords.#shellescape の別名です。

[PARAM] str:
エスケープの対象となる文字列を指定します。
[RETURN]
エスケープされた文字列を返します。


singleton method Shellwords.join

join(array) -> String

配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。

このメソッドは、Shellwords.#shelljoin の別名です。

[PARAM] array:
エスケープ対象の文字列を要素とする配列を指定します。
[RETURN]
エスケープ結果を連結した文字列を返します。


singleton method Shellwords.split

split(line) -> [String]

Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。

このメソッドは、Shellwords.#shellsplit の別名です。

[PARAM] line:
分割の対象となる文字列を指定します。
[RETURN]
分割結果の各文字列を要素とする配列を返します。
[EXCEPTION] ArgumentError:
引数の中に対でないシングルクォートまたはダブル クォートが現れた場合に発生します。


module function Signal.#list

list -> Hash

シグナル名とシグナル番号を対応づけた Hash オブジェクトを返し ます。

例:

p Signal.list   # => {"WINCH"=>28, "PROF"=>27, ...}


module function Signal.#trap

trap(signal, command) -> String | Proc | nil
trap(signal) { ... } -> String | Proc | nil

指定された割り込み signal に対するハンドラとして command を登録します。 指定したシグナルが捕捉された時には例外が発生せず、代わりに command が実行されます。 ブロックを指定した場合にはブロックをハンドラとして登録します。

trap は前回の trap で設定したハンドラを返します。 文字列を登録していた場合はそれを、 ブロックを登録していたらそれを Proc オブジェクトに変換して返します。 また何も登録されていないときも nil を返します。 ruby の仕組みの外でシグナルハンドラが登録された場合 (例えば拡張ライブラリが独自に sigaction を呼んだ場合など) も nil を返します。

[PARAM] signal:
シグナル名を表す文字列か Symbol、またはシグナル番号を指定します。 さらに特別な値として 0 または "EXIT" が指定できます。 これは「プログラムの終了時」を表します。
[PARAM] command:
シグナルハンドラとして Ruby プログラムを表す文字列か Proc オブジェクト、また次に挙げる文字列を 指定します。nil、空文字列""、"SIG_IGN" または"IGNORE" を指定した時は、 可能ならばそのシグナルを無視します。 "SIG_DFL" または "DEFAULT" を指定した時は、シグナルハンドラをデフォルトに戻します。 "EXIT"を指定した時は、シグナルを受け取ると終了処理を 行ったあとステータス 0 で終了します。
[EXCEPTION] ArgumentError:
システムに定義されていないシグナルを trap に指定した場合に 発生します。例えばネイティブな Windows システム (mswin32, mingw など) で動く ruby では INT ILL FPE SEGV TERM BREAK ABRT EXIT しか定義されていません。

いくつかのシグナルに対して、Ruby インタプリタは例外 Interrupt や SignalException を発生させます。このようなシグナルは例外処理によっ て捕捉することもできます。

例:

begin
  Process.kill :QUIT, $$   # 自身にSIGQUITを送信
rescue SignalException
  puts "rescue #$!"
end
# => rescue SIGQUIT

例:

p Signal.trap(:INT, "p true")       # => nil
p Signal.trap(:INT) { p false }     # => "p true"
p Signal.trap(:INT, proc{ p nil })  # => #<Proc:0x403951a8>
p Signal.trap(:INT, "SIG_IGN")      # => #<Proc:0x401b1328>
p Signal.trap(:INT, "DEFAULT")      # => nil
p Signal.trap(:INT, "EXIT")         # => nil
p Signal.trap(:INT, nil)            # => "EXIT"

[SEE_ALSO] 終了処理


instance method SimpleDelegator#__getobj__

__getobj__ -> object

委譲先のオブジェクトを返します。

[SEE_ALSO] Delegator#__getobj__


instance method SimpleDelegator#__setobj__

__setobj__(obj) -> object

委譲先のオブジェクトを obj に変更します。

メソッド委譲を行うためのクラスメソッドの再定義は行われないことに注意してください。 メソッド委譲を行うためのクラスメソッドの定義は生成時にのみ行われます。 そのため、以前の委譲先オブジェクトと obj の間で呼び出せるメソッドに違いがあった場合は、 何かしらの可能性が発生する可能性があります。

[PARAM] obj:
委譲先のオブジェクト
[RETURN]
変更後の委譲先オブジェクト


instance method SimpleDelegator#clone

clone -> object
dup(obj) -> object

オブジェクトの複製を作成して返します。 dupの引数objについては、[ruby-list:44914]にて問題があることが報告されています。

[SEE_ALSO] Object#clone,Object#dup


singleton method SimpleDelegator.new

new(obj) -> object

メソッドを委譲するオブジェクトの設定と、 メソッド委譲を行うためのクラスメソッドの定義を行います。

[PARAM] obj:
委譲先のオブジェクト

[SEE_ALSO] Delegator.new


instance method SingleForwardable#def_delegator

def_singleton_delegator(accessor, method, ali = method) -> nil
def_delegator(accessor, method, ali = method) -> nil

メソッドの委譲先を設定します。

[PARAM] accessor:
委譲先のオブジェクト
[PARAM] method:
委譲先のメソッド
[PARAM] ali:
委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、 委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。

def_delegator は def_singleton_delegator の別名になります。


instance method SingleForwardable#def_delegators

def_singleton_delegators(accessor, *methods) -> nil
def_delegators(accessor, *methods) -> nil

メソッドの委譲先をまとめて設定します。

[PARAM] accessor:
委譲先のオブジェクト
[PARAM] methods:
委譲するメソッドのリスト

委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、 委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。

def_delegators は def_singleton_delegators の別名になります。


singleton method Singleton.instance

instance -> object

そのクラスの唯一のインスタンスを返します。 最初に呼ばれたときはそのインスタンスを生成します。

Singleton を include したクラスで定義されますので、 正確には Singleton モジュールのメソッドではありません。


Ruby 1.8.7 Reference Manual > All Libraries > library thread > class SizedQueue > max

instance method SizedQueue#max

max
max=(n)

queue の最大サイズを設定します。


instance method SizedQueue#pop

pop

queue からひとつ値を取り出します。 queue に push しようと待っているスレッドがあれば、実行を再開させます。

あとは Queue#pop と同じです。


instance method SizedQueue#push

push(obj)

queue に obj を追加します。

queue のサイズが max に達している場合は、 queue のサイズが max より小さくなるまで他のスレッドに実行を譲ります。その後、 queue に obj を追加します。

あとは Queue#push と同じです。


singleton method SizedQueue.new

new(max)

SizedQueue オブジェクトを生成します。 max は queue のサイズの最大値です。


constant Socket::AF_APPLETALK

AF_APPLETALK
AF_ATM
AF_AX25
AF_CCITT
AF_CHAOS
AF_CNT
AF_COIP
AF_DATAKIT
AF_DEC
AF_DLI
AF_E164
AF_ECMA
AF_HYLINK
AF_IMPLINK
AF_INET
AF_INET6
AF_IPX
AF_ISDN
AF_ISO
AF_LAT
AF_LINK
AF_LOCAL
AF_MAX
AF_NATM
AF_NDRV
AF_NETBIOS
AF_NETGRAPH
AF_NS
AF_OSI
AF_PPP
AF_PUP
AF_ROUTE
AF_SIP
AF_SNA
AF_SYSTEM
AF_UNIX
AF_UNSPEC

アドレスファミリー: Socket.open の第一引数 domain に使用します。


constant Socket::AI_ADDRCONFIG

AI_ADDRCONFIG
AI_ALL
AI_CANONNAME
AI_DEFAULT
AI_MASK
AI_NUMERICHOST
AI_PASSIVE
AI_V4MAPPED
AI_V4MAPPED_CFG

フラグ: Socket.getaddrinfo の flags 引数に使用します。 getaddrinfo(3)も参照して下さい。


constant Socket::EAI_ADDRFAMILY

EAI_ADDRFAMILY
EAI_AGAIN
EAI_BADFLAGS
EAI_BADHINTS
EAI_FAIL
EAI_FAMILY
EAI_MAX
EAI_MEMORY
EAI_NODATA
EAI_NONAME
EAI_PROTOCOL
EAI_SERVICE
EAI_SOCKTYPE
EAI_SYSTEM

Socket.getaddrinfoが失敗したときに返すエラーコードです。 getaddrinfo(3)も参照して下さい。


constant Socket::INADDR_ALLHOSTS_GROUP

INADDR_ALLHOSTS_GROUP
INADDR_ANY
INADDR_BROADCAST
INADDR_LOOPBACK
INADDR_MAX_LOCAL_GROUP
INADDR_NONE
INADDR_UNSPEC_GROUP


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class Socket > IPPORT_RESERVED

constant Socket::IPPORT_RESERVED

IPPORT_RESERVED
IPPORT_USERRESERVED


constant Socket::IPPROTO_BIP

IPPROTO_BIP
IPPROTO_EGP
IPPROTO_EON
IPPROTO_GGP
IPPROTO_HELLO
IPPROTO_ICMP
IPPROTO_IDP
IPPROTO_IGMP
IPPROTO_IP
IPPROTO_MAX
IPPROTO_ND
IPPROTO_PUP
IPPROTO_RAW
IPPROTO_TCP
IPPROTO_TP
IPPROTO_UDP
IPPROTO_XTP

IPプロトコル: BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に 使用します。

また、Socket.open の 第一引数 domain に AF_INET もしくは AF_INET6, 第二引数 type に SOCK_RAW を指定した場合の、 第三引数 protocol にも使用します。

なお、AF_INET で SOCK_STREAM な場合には IPPROTO_TCP を使用できますが、 その場合は 0 を指定しても同じ結果を得られますので通常は使用されません。 AF_INET で SOCK_DGRAM の場合の IPPROTO_UDP も同様です。


constant Socket::IP_ADD_MEMBERSHIP

IP_ADD_MEMBERSHIP
IP_DEFAULT_MULTICAST_LOOP
IP_DEFAULT_MULTICAST_TTL
IP_DROP_MEMBERSHIP
IP_HDRINCL
IP_MAX_MEMBERSHIPS
IP_MULTICAST_IF
IP_MULTICAST_LOOP
IP_MULTICAST_TTL
IP_OPTIONS
IP_RECVDSTADDR
IP_RECVOPTS
IP_RECVRETOPTS
IP_RETOPTS
IP_TOS
IP_TTL


constant Socket::MSG_COMPAT

MSG_COMPAT
MSG_CTRUNC
MSG_DONTROUTE
MSG_DONTWAIT
MSG_EOF
MSG_EOR
MSG_FLUSH
MSG_HAVEMORE
MSG_HOLD
MSG_OOB
MSG_PEEK
MSG_RCVMORE
MSG_SEND
MSG_TRUNC
MSG_WAITALL


constant Socket::NI_DGRAM

NI_DGRAM
NI_MAXHOST
NI_MAXSERV
NI_NAMEREQD
NI_NOFQDN
NI_NUMERICHOST
NI_NUMERICSERV

Socket.getnameinfoの第2引数 flags に与える定数です。 getnameinfo(3)も参照して下さい。


constant Socket::PF_APPLETALK

PF_APPLETALK
PF_ATM
PF_AX25
PF_CCITT
PF_CHAOS
PF_CNT
PF_COIP
PF_DATAKIT
PF_DEC
PF_DLI
PF_ECMA
PF_HYLINK
PF_IMPLINK
PF_INET
PF_INET6
PF_IPX
PF_ISDN
PF_ISO
PF_KEY
PF_LAT
PF_LINK
PF_LOCAL
PF_MAX
PF_NATM
PF_NDRV
PF_NETBIOS
PF_NETGRAPH
PF_NS
PF_OSI
PF_PIP
PF_PPP
PF_PUP
PF_ROUTE
PF_RTIP
PF_SIP
PF_SNA
PF_SYSTEM
PF_UNIX
PF_UNSPEC
PF_XTP

プロトコルファミリー: Socket.open の第三引数 protocol に使用します。


constant Socket::SHUT_RD

SHUT_RD
SHUT_RDWR
SHUT_WR

shutdown の how: BasicSocket#shutdown の how 引数に使用します。


constant Socket::SOCK_DGRAM

SOCK_DGRAM
SOCK_PACKET
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_STREAM

ソケットタイプ: Socket.open の第二引数 type に使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class Socket > SOL_ATALK

constant Socket::SOL_ATALK

SOL_ATALK
SOL_AX25
SOL_IP
SOL_IPX
SOL_SOCKET
SOL_TCP
SOL_UDP


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class Socket > SOPRI_BACKGROUND

constant Socket::SOPRI_BACKGROUND

SOPRI_BACKGROUND
SOPRI_INTERACTIVE
SOPRI_NORMAL


constant Socket::SO_ACCEPTCONN

SO_ACCEPTCONN
SO_ACCEPTFILTER
SO_ATTACH_FILTER
SO_BINDTODEVICE
SO_BROADCAST
SO_DEBUG
SO_DETACH_FILTER
SO_DONTROUTE
SO_DONTTRUNC
SO_ERROR
SO_KEEPALIVE
SO_LINGER
SO_NKE
SO_NOSIGPIPE
SO_NO_CHECK
SO_NREAD
SO_OOBINLINE
SO_PASSCRED
SO_PEERCRED
SO_PEERNAME
SO_PRIORITY
SO_RCVBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
SO_SECURITY_AUTHENTICATION
SO_SECURITY_ENCRYPTION_NETWORK
SO_SECURITY_ENCRYPTION_TRANSPORT
SO_SNDBUF
SO_SNDLOWAT
SO_SNDTIMEO
SO_TIMESTAMP
SO_TYPE
SO_USELOOPBACK
SO_WANTMORE
SO_WANTOOBFLAG


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class Socket > TCP_MAXSEG

constant Socket::TCP_MAXSEG

TCP_MAXSEG
TCP_NODELAY


instance method Socket#accept

accept

新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。

たとえば IPv4 の TCP サーバソケットを生成し、accept でクライアントからの接続を受け付けるには以下のようにします。

例:

serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(8080, "0.0.0.0")
serv.bind(sockaddr)
serv.listen(5)
sock = serv.accept


instance method Socket#accept_nonblock

accept_nonblock

ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。

引数、返り値は Socket#accept と同じです。

accept(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。


instance method Socket#bind

bind(my_sockaddr)

ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。my_sockaddr は socket/ソケットアドレス構造体を pack した文字列 です。

0 を返します。


instance method Socket#connect

connect(server_sockaddr)

connect(2) と同じ働きをします。server_sockaddr は、 socket/ソケットアドレス構造体を pack した文字列 です。

0 を返します。

たとえば IPv4 の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。

例:

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET / HTTP/1.0\r\n\r\n"
print s.read


instance method Socket#connect_nonblock

connect_nonblock(server_sockaddr)

ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。

引数、返り値は Socket#connect と同じです。

connect(2)がエラーになった場合、 EINPROGRESS を含め例外 Errno::EXXX が発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class Socket > listen

instance method Socket#listen

listen(backlog)

listen(2) と同じ働きをします。

0 を返します。


instance method Socket#recvfrom

recvfrom(maxlen[, flags])

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレスのペアです。引数につい ては recv と同様です。

例:

s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s1.bind(Socket.sockaddr_in(0, "0.0.0.0"))
s2.send("foo", 0, s1.getsockname)
mesg, sockaddr = s1.recvfrom(10)
p mesg                                    #=> "foo"
p sockaddr                                #=> "\002\000\200r\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(sockaddr)     #=> [32882, "127.0.0.1"]


instance method Socket#recvfrom_nonblock

recvfrom_nonblock(maxlen[, flags])

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。

引数、返り値は Socket#recvfrom と同じです。

recvfrom(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。


instance method Socket#sysaccept

sysaccept

接続したクライアントのファイル記述子とアドレスのペアを返すことを除 けば Socket#accept と同じです。


singleton method Socket.getaddrinfo

getaddrinfo(nodename, servname[, family[, socktype[, protocol[, flags]]]]) -> Array

[RFC2553]で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。

[PARAM] nodename:
ホスト名を指定します。
[PARAM] servname:
[PARAM] family:
[PARAM] socktype:
[PARAM] protocol:
[PARAM] flags:
[RETURN]
アドレス情報の配列を返します。詳細は下記を参照してください。

アドレス情報の配列を返します。アドレス情報とは7つの要素からなる次の 形の配列です。

  • 第0要素 - アドレスファミリー (String)
  • 第1要素 - ポート番号 (Integer)
  • 第2要素 - ホスト名 (String)
  • 第3要素 - アドレス (String)
  • 第4要素 - アドレスファミリーに対応する Integer
  • 第5要素 - ソケットタイプに対応する Integer
  • 第6要素 - プロトコルに対応する Integer

必須引数の意味は以下の通りです。

  • nodename - ホスト名 (socket/ホスト指定形式を参照)
  • servname - サービス名 (socket/サービス指定形式を参照)

残りの引数は省略可能です。

  • family - アドレスファミリー。 Socket::AF_INET など、 [[m:Socket::Constants#アドレスファミリー]]にある定数を指定します。
  • socktype - ソケットタイプ。 Socket::SOCK_STREAM など、 [[m:Socket::Constants#ソケットタイプ]]にある定数を指定します。
  • protocol - プロトコル。 Socket::IPPROTO_IP など、 [[m:Socket::Constants#プロトコル]]にある定数を指定します。
  • flags - getaddrinfo(3) の第3引数に指定する addrinfo 構造体の
ai_flags メンバに相当する Fixnum。
Socket::AI_PASSIVE、
Socket::AI_CANONNAME、
Socket::AI_NUMERICHOST
が用意されている場合があります。

引数に指定できる定数の意味については getaddrinfo(3) を参照して下さい。

例:

p Socket.getaddrinfo(Socket.gethostname, "ftp")
#=> [["AF_INET", 21, "helium.ruby-lang.org", "210.251.121.214", 2, 1, 6]]

pp Socket.getaddrinfo(Socket.gethostname, nil)
#=> [["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 1, 6],
#    ["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 2, 17],
#    ["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 3, 0]]


singleton method Socket.gethostbyaddr

gethostbyaddr(host[, type])

sockaddr 構造体をパックした文字列からホスト情報を返します。 ホスト情報の構造は Socket.gethostbyname と同じです。 type には、アドレスタイプ(デフォルトは Socket::AF_INET)を指定します。


singleton method Socket.gethostbyname

gethostbyname(host)

ホスト名または IP アドレス(指定方法に関しては socket/ホスト指定形式を参照) からホストの情報を返します。 ホスト情報は以下の 4 要素の配列で表現されています。

  • ホスト名
  • ホストの別名の配列
  • ホストのアドレスタイプ (整数定数)
  • ホストのアドレス

第四要素のホストのアドレスは、各アドレスタイプに対応する C のアドレス構造体を pack した文字列として表現されています。 例えばアドレスタイプが AF_INET (定数 2) ならば Socket.unpack_sockaddr_in で unpack できます。

例:

irb(main):009:0> Socket.gethostbyname("210.251.121.214")
["helium.ruby-lang.org", ["helium"], 2, "\322\373y\326"]

irb(main):009:0> Socket.unpack_sockaddr_in(Socket.gethostbyname("210.251.121.214")[3])[1]
"210.251.121.214"


singleton method Socket.gethostname

gethostname

システムの標準のホスト名を取得します。

ホストの別名やアドレスなど他の情報を得るには Socket.getaddrinfo を使ってください。 ただし、これは不可能な場合もあります。

例:

p Socket.gethostname   #=> "helium.ruby-lang.org"


singleton method Socket.getnameinfo

getnameinfo(sa[, flags])

[RFC2553] で定義された getnameinfo() の機能を提供するク ラスメソッド。 gethostbyaddr() や getservbyport() の代 わりとして用意されています。IPのバージョンに依存しないプログラムを 書くための標準的なAPIです。

配列を返し、その要素はアドレスとポートを表す文字列です。

引数 sa には文字列か配列を与えます。文字列の場合は sockaddr 構造体 のパック文字列を与えます。具体的には BasicSocket#getsockname の値が利用できます。配列を与える場合には、要素が3つの場合と4つの場合 があります。

  • 要素が3つの場合: [アドレスファミリー, サービス, ホスト]
  • 要素が4つの場合: [アドレスファミリー, サービス, 任意, アドレスを表す文字列]

アドレスファミリーには Socket::AF_INET 等の定数の他に文字列 で "AF_INET" もしくは "AF_INET6" もしくは nil が 指定できます。ただしIPv6が使えないようにコンパイルされている場合は "AF_INET6" は無効な指定となります。アドレスファミリーに nil を指定することは Socket::AF_UNSPEC を指定すること と等価です。

サービス、ホストの指定に関しては socket/サービス指定形式、 socket/ホスト指定形式を参照してください。

要素が3つの場合でも、ホストにはアドレスを指定できますが、要素が4つ の場合には、最後の要素を名前解決しないことが保証されます。 2002-01-01

省略可能な第2引数 flags には getnameinfo(3) の第7番目の引数に指定する flags に相当する Fixnum を与えます。

引数flagsを構成するための定数として
Socket::NI_MAXHOST、
Socket::NI_MAXSERV、
Socket::NI_NOFQDN、
Socket::NI_NUMERICHOST、
Socket::NI_NAMEREQD、
Socket::NI_NUMERICSERV、
Socket::NI_DGRAM
が用意されている場合があります。

これらの定数の意味については getnameinfo(3)を参照 して下さい。

例:

Socket.getnameinfo(Socket.sockaddr_in('21','127.0.0.1'))
#=> ["localhost", "ftp"]

Socket.getnameinfo([nil, 21,'127.0.0.1'])
#=> ["localhost", "ftp"]


singleton method Socket.getservbyname

getservbyname(service[, proto])

service, protoに対応するポート番号を返 します。protoの省略値は"tcp"です。


singleton method Socket.new

open(domain, type, protocol) -> Socket
new(domain, type, protocol) -> Socket

新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。

例えば、IPv4 の TCP ソケットは以下のように生成されます。

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)

なお、socket(2) の domain 引数において AF_ と PF_ のどちらの定数を使用するかについては混乱がありますが、 Stevens の「UNIX ネットワークプログラミング第2版 Vol.1」4.2節に述べられているように、 現実的にはどちらでも問題なく、また、既存のコーディング習慣として AF_ が用いられることが多いため、 ここでは AF_ を使用しています。

[PARAM] domain:
例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
[PARAM] type:
例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
[PARAM] protocol:
プロトコルに使用する数値を指定します。


singleton method Socket.pack_sockaddr_in

sockaddr_in(port, host)
pack_sockaddr_in(port, host)

指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。

例:

require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.sockaddr_in("echo", "::1")
=> "\n\000\000\a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000"


singleton method Socket.pack_sockaddr_un

sockaddr_un(path)
pack_sockaddr_un(path)

指定したアドレスをsocket/ソケットアドレス構造体を pack した文字列 で返します。

例:

require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...."


singleton method Socket.pair

pair(domain, type, protocol)
socketpair(domain, type, protocol)

相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。


singleton method Socket.unpack_sockaddr_in

unpack_sockaddr_in(sockaddr)

socket/ソケットアドレス構造体を pack した文字列を unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。

例:

require 'socket'
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "localhost"))
=> [7, "127.0.0.1"]
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "::1"))
=> [7, "::1"]


singleton method Socket.unpack_sockaddr_un

unpack_sockaddr_un(sockaddr)

socket/ソケットアドレス構造体を pack した文字列を unpack したソケットパス名を返します。

例:

require 'socket'
p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0"))
=> "/tmp/.X11-unix/X0"


constant Socket::Constants::AF_APPLETALK

AF_APPLETALK
AF_ATM
AF_AX25
AF_CCITT
AF_CHAOS
AF_CNT
AF_COIP
AF_DATAKIT
AF_DEC
AF_DLI
AF_E164
AF_ECMA
AF_HYLINK
AF_IMPLINK
AF_INET
AF_INET6
AF_IPX
AF_ISDN
AF_ISO
AF_LAT
AF_LINK
AF_LOCAL
AF_MAX
AF_NATM
AF_NDRV
AF_NETBIOS
AF_NETGRAPH
AF_NS
AF_OSI
AF_PPP
AF_PUP
AF_ROUTE
AF_SIP
AF_SNA
AF_SYSTEM
AF_UNIX
AF_UNSPEC

アドレスファミリー: Socket.open の第一引数 domain に使用します。


constant Socket::Constants::AI_ADDRCONFIG

AI_ADDRCONFIG
AI_ALL
AI_CANONNAME
AI_DEFAULT
AI_MASK
AI_NUMERICHOST
AI_PASSIVE
AI_V4MAPPED
AI_V4MAPPED_CFG

フラグ: Socket.getaddrinfo の flags 引数に使用します。 getaddrinfo(3)も参照して下さい。


constant Socket::Constants::EAI_ADDRFAMILY

EAI_ADDRFAMILY
EAI_AGAIN
EAI_BADFLAGS
EAI_BADHINTS
EAI_FAIL
EAI_FAMILY
EAI_MAX
EAI_MEMORY
EAI_NODATA
EAI_NONAME
EAI_PROTOCOL
EAI_SERVICE
EAI_SOCKTYPE
EAI_SYSTEM

Socket.getaddrinfoが失敗したときに返すエラーコードです。 getaddrinfo(3)も参照して下さい。


constant Socket::Constants::INADDR_ALLHOSTS_GROUP

INADDR_ALLHOSTS_GROUP
INADDR_ANY
INADDR_BROADCAST
INADDR_LOOPBACK
INADDR_MAX_LOCAL_GROUP
INADDR_NONE
INADDR_UNSPEC_GROUP


Ruby 1.8.7 Reference Manual > All Libraries > library socket > module Socket::Constants > IPPORT_RESERVED

constant Socket::Constants::IPPORT_RESERVED

IPPORT_RESERVED
IPPORT_USERRESERVED


constant Socket::Constants::IPPROTO_BIP

IPPROTO_BIP
IPPROTO_EGP
IPPROTO_EON
IPPROTO_GGP
IPPROTO_HELLO
IPPROTO_ICMP
IPPROTO_IDP
IPPROTO_IGMP
IPPROTO_IP
IPPROTO_MAX
IPPROTO_ND
IPPROTO_PUP
IPPROTO_RAW
IPPROTO_TCP
IPPROTO_TP
IPPROTO_UDP
IPPROTO_XTP

IPプロトコル: BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に 使用します。

また、Socket.open の 第一引数 domain に AF_INET もしくは AF_INET6, 第二引数 type に SOCK_RAW を指定した場合の、 第三引数 protocol にも使用します。

なお、AF_INET で SOCK_STREAM な場合には IPPROTO_TCP を使用できますが、 その場合は 0 を指定しても同じ結果を得られますので通常は使用されません。 AF_INET で SOCK_DGRAM の場合の IPPROTO_UDP も同様です。


constant Socket::Constants::IP_ADD_MEMBERSHIP

IP_ADD_MEMBERSHIP
IP_DEFAULT_MULTICAST_LOOP
IP_DEFAULT_MULTICAST_TTL
IP_DROP_MEMBERSHIP
IP_HDRINCL
IP_MAX_MEMBERSHIPS
IP_MULTICAST_IF
IP_MULTICAST_LOOP
IP_MULTICAST_TTL
IP_OPTIONS
IP_RECVDSTADDR
IP_RECVOPTS
IP_RECVRETOPTS
IP_RETOPTS
IP_TOS
IP_TTL


constant Socket::Constants::MSG_COMPAT

MSG_COMPAT
MSG_CTRUNC
MSG_DONTROUTE
MSG_DONTWAIT
MSG_EOF
MSG_EOR
MSG_FLUSH
MSG_HAVEMORE
MSG_HOLD
MSG_OOB
MSG_PEEK
MSG_RCVMORE
MSG_SEND
MSG_TRUNC
MSG_WAITALL


constant Socket::Constants::NI_DGRAM

NI_DGRAM
NI_MAXHOST
NI_MAXSERV
NI_NAMEREQD
NI_NOFQDN
NI_NUMERICHOST
NI_NUMERICSERV

Socket.getnameinfoの第2引数 flags に与える定数です。 getnameinfo(3)も参照して下さい。


constant Socket::Constants::PF_APPLETALK

PF_APPLETALK
PF_ATM
PF_AX25
PF_CCITT
PF_CHAOS
PF_CNT
PF_COIP
PF_DATAKIT
PF_DEC
PF_DLI
PF_ECMA
PF_HYLINK
PF_IMPLINK
PF_INET
PF_INET6
PF_IPX
PF_ISDN
PF_ISO
PF_KEY
PF_LAT
PF_LINK
PF_LOCAL
PF_MAX
PF_NATM
PF_NDRV
PF_NETBIOS
PF_NETGRAPH
PF_NS
PF_OSI
PF_PIP
PF_PPP
PF_PUP
PF_ROUTE
PF_RTIP
PF_SIP
PF_SNA
PF_SYSTEM
PF_UNIX
PF_UNSPEC
PF_XTP

プロトコルファミリー: Socket.open の第三引数 protocol に使用します。


constant Socket::Constants::SHUT_RD

SHUT_RD
SHUT_RDWR
SHUT_WR

shutdown の how: BasicSocket#shutdown の how 引数に使用します。


constant Socket::Constants::SOCK_DGRAM

SOCK_DGRAM
SOCK_PACKET
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
SOCK_STREAM

ソケットタイプ: Socket.open の第二引数 type に使用します。


Ruby 1.8.7 Reference Manual > All Libraries > library socket > module Socket::Constants > SOL_ATALK

constant Socket::Constants::SOL_ATALK

SOL_ATALK
SOL_AX25
SOL_IP
SOL_IPX
SOL_SOCKET
SOL_TCP
SOL_UDP


Ruby 1.8.7 Reference Manual > All Libraries > library socket > module Socket::Constants > SOPRI_BACKGROUND

constant Socket::Constants::SOPRI_BACKGROUND

SOPRI_BACKGROUND
SOPRI_INTERACTIVE
SOPRI_NORMAL


constant Socket::Constants::SO_ACCEPTCONN

SO_ACCEPTCONN
SO_ACCEPTFILTER
SO_ATTACH_FILTER
SO_BINDTODEVICE
SO_BROADCAST
SO_DEBUG
SO_DETACH_FILTER
SO_DONTROUTE
SO_DONTTRUNC
SO_ERROR
SO_KEEPALIVE
SO_LINGER
SO_NKE
SO_NOSIGPIPE
SO_NO_CHECK
SO_NREAD
SO_OOBINLINE
SO_PASSCRED
SO_PEERCRED
SO_PEERNAME
SO_PRIORITY
SO_RCVBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
SO_SECURITY_AUTHENTICATION
SO_SECURITY_ENCRYPTION_NETWORK
SO_SECURITY_ENCRYPTION_TRANSPORT
SO_SNDBUF
SO_SNDLOWAT
SO_SNDTIMEO
SO_TIMESTAMP
SO_TYPE
SO_USELOOPBACK
SO_WANTMORE
SO_WANTOOBFLAG


Ruby 1.8.7 Reference Manual > All Libraries > library socket > module Socket::Constants > TCP_MAXSEG

constant Socket::Constants::TCP_MAXSEG

TCP_MAXSEG
TCP_NODELAY


instance method String#*

self * times -> String

文字列の内容を times 回だけ繰り返した新しい文字列を作成して返します。

[PARAM] times:
整数
[RETURN]
self を times 回繰り返した新しい文字列
[EXCEPTION] ArgumentError:
引数に負数を指定したときに発生します。

例:

p "str" * 3   # => "strstrstr"

str = "abc"
p str * 4   # => "abcabcabcabc"
p str * 0   # => ""
p str       # => "abc"  (変化なし)


instance method String#+

self + other -> String

文字列と other を連結した新しい文字列を返します。

[PARAM] other:
文字列
[RETURN]
self と other を連結した文字列

例:

p "str" + "ing"   # => "string"

a = "abc"
b = "def"
p a + b   # => "abcdef"
p a       # => "abc"  (変化なし)
p b       # => "def"


instance method String#<<

self << other -> self
concat(other) -> self

self に文字列 other を破壊的に連結します。 other が 0 から 255 のまでの整数である場合は その 1 バイトを末尾に追加します (つまり、整数が示す ASCII コードの文字が追加されます)。

self を返します。

[PARAM] other:
文字列もしくは 0 から 255 までの範囲の整数

例:

str = "string"
str.concat "XXX"
p str    # => "stringXXX"

str << "YYY"
p str    # => "stringXXXYYY"

str << 56  # 文字AのASCIIコード
p str    # => "stringXXXYYYA"


instance method String#<=>

self <=> other -> Integer

self と other を ASCII コード順で比較して、 self が大きい時には正の整数、等しい時には 0、小さい時には負の整数を返します。 このメソッドは Comparable モジュールのメソッドを実装するために使われます。

変数 $= の値が真であるときは アルファベットの大文字小文字を無視して比較します。 ただし $= 変数はいずれ廃止されることが決まっているので $= に頼るべきではありません。 代わりに String#casecmp を使ってください。

other が文字列でない場合、 other.to_str と other.<=> が定義されていれば 0 - (other <=> self) の結果を返します。 そうでなければ nil を返します。

[PARAM] other:
文字列
[RETURN]
比較結果の整数か nil

例:

p "aaa" <=> "xxx"   # => -1
p "aaa" <=> "aaa"   # => 0
p "xxx" <=> "aaa"   # => 1

p "string" <=> "stringAA"  # => -1
p "string" <=> "string"    # => 0
p "stringAA" <=> "string"  # => 1


instance method String#==

self == other -> bool

文字列の内容が文字列 other の内容と等しいときに true を返します。 等しくなければ false を返します。

このメソッドは文字列の内容を比較します。 同一のオブジェクトかどうかを比較するわけではありません。 つまり、"string" == str という式を実行した場合には、 str が "string" という内容の文字列でありさえすれば常に true を返します。 同一のオブジェクトであるかどうかを判定したいときは Object#equal? を使ってください。

変数 $= の値が真であるときは アルファベットの大文字小文字を無視して比較します。 ただし $= 変数はいずれ廃止されることが決まっているので $= に頼るべきではありません。

アルファベットの大文字小文字を無視して比較したい場合は、String#upcase, String#downcase で大文字小文字を揃えてから比較するとよいです。

[PARAM] other:
任意のオブジェクト
[RETURN]
true か false

例:

p "string" == "string"  # => true
p "string" == "STRING"  # => false
p "string" == ""        # => false
p "" == "string"        # => false

p "string" == "str" + "ing"   # => true   (内容が同じなら true)
p "string" == "stringX".chop  # => true   (内容が同じなら true)

p "string".upcase == "String".upcase     # => true
p "string".downcase == "String".downcase # => true

[SEE_ALSO] String#<=>, String#casecmp


instance method String#=~

self =~ other -> Integer

正規表現 other とのマッチを行います。 マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。

other が正規表現でも文字列でもない場合は other =~ self を行います。

Ruby 1.6 までは、other が文字列であった場合には other を正規表現にコンパイルして self とのマッチを実行していました。 しかし Ruby 1.8 以降では other に文字列を指定すると 例外 TypeError が発生します。

このメソッドが実行されると、組み込み変数 $~, $1, ... にマッチに関する情報が設定されます。

[PARAM] other:
正規表現もしくは =~ メソッドを持つオブジェクト
[EXCEPTION] TypeError:
other が文字列であった

例:

p "string" =~ /str/   # => 0
p "string" =~ /not/   # => nil
p "abcfoo" =~ /foo/   # => 3


instance method String#[]

self[nth] -> Integer
slice(nth) -> Integer

nth 番目のバイトを整数 (文字コード) で返します。 nth が負の場合は文字列の末尾から数えます。 つまり、 self.size + nth 番目のバイトを返します。

nth が範囲外を指す場合は nil を返します。

[PARAM] nth:
バイトインデックスを表す整数
[RETURN]
文字コードを表す整数

例:

p 'bar'[2]        # => 114
p 'bar'[2] == ?r  # => true
p 'bar'[-1]       # => 114

p 'bar'[3]        # => nil
p 'bar'[-4]       # => nil

このメソッドの逆に文字コードから文字列を得るには Integer#chr を使ってください。

self[nth, len] -> String | nil
slice(nth, len) -> String | nil

nth バイト番目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。

nth が範囲外を指す場合は nil を返します。

[PARAM] nth:
取得したい文字列の開始インデックス。整数
[PARAM] len:
取得したい文字列の長さ。正の整数

例:

str0 = "bar"
p str0[2, 1]         #=> "r"
p str0[2, 0]         #=> ""
p str0[2, 100]       #=> "r"  (右側を超えても平気)
p str0[2, 1] == ?r   #=> false  (左辺は長さ1の文字列、右辺は整数の文字コード)
p str0[-1, 1]        #=> "r"
p str0[-1, 2]        #=> "r" (飽くまでも「右に向かって len バイト」)

p str0[3, 1]         #=> ""
p str0[4, 1]         #=> nil
p str0[-4, 1]        #=> nil
str1 = str0[0, 2]    # (str0の「一部」をstr1とする)
p str1               #=> "ba"
str1[0] = "XYZ"
p str1               #=> "XYZa" (str1の内容が破壊的に変更された)
p str0               #=> "bar" (str0は無傷、str1はstr0と内容を共有していない)
self[substr] -> String
slice(substr) -> String

self が substr を含む場合、一致した文字列を新しく作って返します。 substr を含まなければ nil を返します。

[PARAM] substr:
取得したい文字列のパターン。文字列

例:

substr = "bar"
result = "foobar"[substr]
p result   # => "bar"
p substr.equal?(result)   # => false
self[regexp, nth = 0] -> String
slice(regexp, nth = 0) -> String

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。 nth を省略したときや 0 の場合は正規表現がマッチした部分文字列全体を返します。 正規表現が self にマッチしなかった場合や nth に対応する括弧がないときは nil を返します。

このメソッドを実行すると、 マッチ結果に関する情報が組み込み変数 $~ に設定されます。

[PARAM] regexp:
取得したい文字列のパターンを示す正規表現
[PARAM] nth:
取得したい正規表現レジスタのインデックス。整数
p "foobar"[/bar/]  # => "bar"
p $~.begin(0)      # => 3

p "foobar"[/bar/]   # => "bar"
p $~.begin(0)       # => 3

p "def getcnt(line)"[ /def\s+(\w+)/, 1 ]   # => "getcnt"
self[range] -> String
slice(range) -> String

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

[PARAM] range:
取得したい文字列の範囲を示す Range オブジェクト

rangeオブジェクトが終端を含む場合

インデックスと文字列の対応については以下の対照図も参照してください。

  0   1   2   3   4   5   (インデックス)
 -6  -5  -4  -3  -2  -1   (負のインデックス)
| a | b | c | d | e | f |
|<--------->|                'abcdef'[0..2]  # => 'abc'
                |<----->|    'abcdef'[4..5]  # => 'ef'
        |<--------->|        'abcdef'[2..4]  # => 'cde'

range.last が文字列の長さ以上のときは (文字列の長さ - 1) を指定したものとみなされます。

range.first が 0 より小さいか文字列の長さより大きいとき、 および range.first > range.last + 1 であるときは nil を 返します。ただし range.first および range.last のどちらか または両方が負の数のときは一度だけ文字列の長さを足して 再試行します。

例:

'abcd'[ 2 ..  1] # => ""
'abcd'[ 2 ..  2] # => "c"
'abcd'[ 2 ..  3] # => "cd"
'abcd'[ 2 ..  4] # => "cd"

'abcd'[ 2 .. -1] # => "cd"   # str[f..-1] は「f 文字目から
'abcd'[ 3 .. -1] # => "d"    # 文字列の最後まで」を表す慣用句

'abcd'[ 1 ..  2] # => "bc"
'abcd'[ 2 ..  2] # =>  "c"
'abcd'[ 3 ..  2] # =>   ""
'abcd'[ 4 ..  2] # =>  nil

'abcd'[-3 ..  2] # =>  "bc"
'abcd'[-4 ..  2] # => "abc"
'abcd'[-5 ..  2] # =>  nil

rangeオブジェクトが終端を含まない場合

文字列と「隙間」の関係については以下の模式図を参照してください。

 0   1   2   3   4   5   6  (隙間番号)
-6  -5  -4  -3  -2  -1      (負の隙間番号)
 | a | b | c | d | e | f |
 |<--------->|                'abcdef'[0...3]  # => 'abc'
                 |<----->|    'abcdef'[4...6]  # => 'ef'
         |<--------->|        'abcdef'[2...5]  # => 'cde'

range.last が文字列の長さよりも大きいときは文字列の長さを 指定したものとみなされます。

range.first が 0 より小さいか文字列の長さより大きいとき、 および range.first > range.last であるときは nil を返します。 ただし range.first と range.last のどちらかまたは両方が負の数 であるときは一度だけ文字列の長さを足して再試行します。

例:

'abcd'[ 2 ... 3] # => "c"
'abcd'[ 2 ... 4] # => "cd"
'abcd'[ 2 ... 5] # => "cd"

'abcd'[ 1 ... 2] # => "b"
'abcd'[ 2 ... 2] # => ""
'abcd'[ 3 ... 2] # => nil

'abcd'[-3 ... 2] # => "b"
'abcd'[-4 ... 2] # => "ab"
'abcd'[-5 ... 2] # => nil


instance method String#[]=

self[nth] = val

nth 番目のバイトを文字列 val で置き換えます。 val が 0 から 255 の範囲の整数である場合、 文字コードとみなしてその文字で置き換えます。

val を返します。

[PARAM] nth:
置き換えたいバイトのインデックス
[PARAM] val:
指定バイトと置き換える文字列もしくはバイト

例:

buf = "string"
buf[1] = "!!"
p buf   # => "s!!ring"
self[nth, len] = val

nth バイト番目から長さ len バイトの部分文字列を文字列 val で置き換えます。 nth が負の場合は文字列の末尾から数えます。

val を返します。

[PARAM] nth:
置き換えたい部分文字列の開始インデックス
[PARAM] len:
置き換えたい部分文字列の長さ
[PARAM] val:
指定範囲の部分文字列と置き換える文字列

例:

buf = "string"
buf[1, 4] = "!!"
p buf   # => "s!!g"
self[substr] = val

文字列中の substr に一致する最初の部分文字列を文字列 val で置き換えます。

self が substr を含まない場合は 例外 IndexError が発生します。

val を返します。

[PARAM] substr:
置き換えたい部分文字列のパターンを示す文字列
[PARAM] val:
指定範囲の部分文字列と置き換える文字列
[EXCEPTION] IndexError:
self が部分文字列 substr を含まない

例:

buf = "string"
buf["trin"] = "!!"
p buf   # => "s!!g"

buf = "string"
buf["nosuchstring"] = "!!"   # IndexError
self[regexp, nth = 0] = val

正規表現 regexp の nth 番目の括弧にマッチする 最初の部分文字列を文字列 val で置き換えます。 nth を省略したときや nth が 0 の場合は、 マッチした部分文字列全体を val で置き換えます。

正規表現がマッチしなければ例外 IndexError が発生します。

val を返します。

[PARAM] regexp:
置き換えたい部分文字列のパターンを示す正規表現
[PARAM] nth:
置き換えたい部分文字列のパターンを示す正規表現レジスタの番号
[PARAM] val:
指定範囲の部分文字列と置き換えたい文字列

例:

buf = "string"
buf[/tr../] = "!!"
p buf   # => "s!!g"

buf = "def exec(cmd)"
buf[/def\s+(\w+)/, 1] = "preprocess"
p buf    # => "def preprocess(cmd)"
self[range] = val

rangeで指定したインデックスの範囲に含まれる部分文字列を文字列 val で置き換えます。

val を返します。

[PARAM] range:
置き換えたい範囲を示す Range オブジェクト


instance method String#%

self % args -> String

printf と同じ規則に従って args をフォーマットします。

args が配列であれば Kernel.#sprintf(self, *args) と同じです。 それ以外の場合は Kernel.#sprintf(self, args) と同じです。

[PARAM] args:
フォーマットする値、もしくはその配列
[RETURN]
フォーマットされた文字列

例:

p "i = %d" % 10       # => "i = 10"
p "i = %x" % 10       # => "i = a"
p "i = %o" % 10       # => "i = 12"

p "i = %#d" % 10      # => "i = 10"
p "i = %#x" % 10      # => "i = 0xa"
p "i = %#o" % 10      # => "i = 012"

p "%d" % 10           # => "10"
p "%d,%o" % [10, 10]  # => "10,12"

sprintf フォーマット

Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3) のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が ないこと、2進数の指示子(%b)が存在すること、sprintf のすべての方言をサ ポートしていないこと(%': 3桁区切り)などの違いがあります。

Ruby には整数の大きさに上限がないので、%b, %o, %x に負の数を与えると (左側に無限に1が続くとみなせるので) ..f のような表示をします。絶対値に符号を付けた形式 で出力するためには %+x、% x のように指定します。

以下は sprintf フォーマットの書式です。[] で囲まれた部分は省略可 能であることを示しています。

%[引数指定$][フラグ][幅][.精度]指示子

`%' 自身を出力するには `%%' とします。

以下それぞれの要素に関して説明します。

フラグ

フラグには #, +, ' '(スペース), -, 0 の5種類があります。

#

2進、8進、16進の指示子(b, o, x, X) ではそれぞれプレフィック スとして "0b", "0", "0x", "0X" を付加します。 C 言語とは異なり引数が 0 の場合にもプレフィックスが付加されます。

  p sprintf("%#b", 10) #=> "0b1010"
  p sprintf("%#o", 10) #=> "012"
  p sprintf("%#x", 10) #=> "0xa"
  p sprintf("%#X", 10) #=> "0XA"

浮動小数点数 (f, e, E, g, G) に対しては必ず出力に"."をつけます。

  p sprintf("%.0f", 10) #=> "10"
  p sprintf("%#.0f", 10) #=> "10."
  p sprintf("%.0e", 10) #=> "1e+01"
  p sprintf("%#.0e", 10) #=> "1.e+01"

また g, G では上記に加えて末尾の余分な0が残ります。

  p sprintf("%.05g", 10) #=> "10"
  p sprintf("%#.05g", 10) #=> "10.000"
+

出力文字列を符号付きにします。特に正の数では`+'が付加されます。 数値の指示子 (d, i, b, o, x, X, u, f, e, E, g, G) に対してだけ意味を持ちます。 また、特に b, o, x, X, u に対しては、負数に対して "-" を付加することを示します。

  p sprintf("%d", 1)   #=> "1"
  p sprintf("%+d", 1)  #=> "+1"

  p sprintf("%x", -1)  #=> "..f"  # ".." は無限に f が続くことを表している
  p sprintf("%+x", -1) #=> "-1"
' '(スペース)

`+' と同じですが正の符号 `+' の代わりに空白を用います。数値の指示子 (d, i, b, o, x, X, u, f, e, E, g, G) に対してだけ意味を持ちます。

  p sprintf("%d", 1)   #=> "1"
  p sprintf("%+d", 1)  #=> "+1"
  p sprintf("% d", 1)  #=> " 1"

  p sprintf("%x", -1)  #=> "..f"
  p sprintf("% x", 1)  #=> " 1"
  p sprintf("% x", -1) #=> "-1"
-

出力を左詰めにします幅の指定がなければ 意味がありません。

0

出力が右詰めの場合に余った部分に空白の代わりに "0" を詰めます。

数値の指示子の一部(d, i, b, o, x, X, u, f, g, G)に対し てだけ意味を持ちます(e, E には意味がない)

  p sprintf("%010d", 10)   #=> "0000000010"

`#' と一緒に指定した場合の出力は以下のようになります。

  p sprintf("%#010x", 10)  #=> "0x0000000a"
  p sprintf("%#010o", 10)  #=> "0000000012"
  p sprintf("%#010b", 10)  #=> "0b00001010"

これは、以下と同じです。

  p sprintf("%#10.8x", 10) #=> "0x0000000a"
  p sprintf("%#10.9o", 10) #=> "0000000012"
  p sprintf("%#10.8b", 10) #=> "0b00001010"

通常は、以下のようになります。

  p sprintf("%#10x", 10)   #=> "       0xa"
  p sprintf("%#10o", 10)   #=> "       012"
  p sprintf("%#10b", 10)   #=> "    0b1010"

幅

0以外の数字で始まる数字列は幅指定になります。幅は生成文字列の長さを示 します。後述の精度の値によらずこの幅分だ けの文字列が生成されます。

幅の指定はフラグで付与される " ", "+", "-", "0b", "0", "0x", "0X" の長さも考慮されます。

p sprintf("%+5d", 11)  #=> "  +11"
p sprintf("%+-5d", 11) #=> "+11  "
p sprintf("%+05d", 11) #=> "+0011"

幅は「最低限必要な幅」の指定になります。結果の文字列が指定した幅を超 える場合は幅の指定は無効になります。

幅として `*' を指定すると幅の値を引数から得ることになります。

p sprintf("%#05x", 10)    #=> "0x00a"
p sprintf("%#0*x", 5, 10) #=> "0x00a"

精度

"." の後に続く数字列は精度を表します("." のみの場合 ".0" と同じです)。精度は 整数の指示子 (d, i, b, o, x, X, u) に対しては、数値列部分の長さを意味します。

p sprintf("%10.5d", 1)  #=> "     00001"
p sprintf("%#10.5x", 1) #=> "   0x00001"
p sprintf("%+10.5x", 1) #=> "    +00001"

浮動小数点数の指示子 (f) に対しては小数部の桁数を意味します。

p sprintf("%10.5f", 1)   #=> "   1.00000"
p sprintf("%10.5f", 10)  #=> "  10.00000"

浮動小数点数の指示子 (e, E, g, G) に対しては有効桁数を意味します。

p sprintf("%10.5e", 1)   #=> "1.00000e+00"
p sprintf("%10.5e", 10)  #=> "1.00000e+01"
p sprintf("%10.5g",  10)  #=> "        10"
p sprintf("%#10.5G", 10)  #=> "    10.000"

文字列の指示子(s, p) に対しては引数の文字列のうち指定した数を超える分を切り捨てます。 幅と精度を同じ値にすれば、どのような引数に対してもその 長さだけの出力を行うことになります。

p sprintf("%10.2s", "foo")  #=> "        fo"

p sprintf("%5.5s", "foo")     #=> "  foo"
p sprintf("%5.5s", "foobar")  #=> "fooba"

精度として `*' を指定すると精度の値を引数から得ることになります。

p sprintf("%.5s", "foobar")    #=> "fooba"
p sprintf("%.*s", 5, "foobar") #=> "fooba"

指示子

指示子は引数の型の解釈を示します。指示子を省略することはできません。 指示子には大きく分けて

  • 文字列を表す指示子: c, s, p
  • 整数を表す指示子: d, i, u, b, o, x, X,
  • 浮動小数点数を表す指示子: f, g, e, E, G

があります

c

引数の数値(0〜255)を文字コードとみなして対応する文字を出力します。 引数が数値以外のオブジェクトの場合 to_int メソッドによる変換を試みます。

  p sprintf("%c", 97)  #=> "a"

フラグ `-' と幅 の指定だけが意味を持ちます。

s

文字列を出力します。

引数が String オブジェクトでなければ to_s メソッドにより文字列化 したものを引数として扱います。

p

Object#inspect の結果を出力します。

  p sprintf("%s", /e+/)  #=> "(?-mix:e+)"
  p sprintf("%p", /e+/)  #=> "/e+/"
d
i

引数の数値を10進表現の整数として出力します。

引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に 変換されます。

  p sprintf("%d", -1) #=> "-1"
  p sprintf("%d", 3.1) #=> "3"
  p sprintf("%d", '0b1010') #=> "10"
u

引数の数値を符号なし整数とみなして10進表現の整数として出力します。

  p sprintf("%u", '0b1010') #=> "10"
  p sprintf("%u", -1) #=> "..4294967295" (warning)
b
o
x
X

整数をそれぞれ2進、8進、16進、16進(大文字)表現の文字列で出力します。

`#' フラグを指定すれば "0b", "0", "0x", "0X" を先頭に付加します。

`+', ` ' フラグがない場合、負の数には ".." が先頭(`#' フラグがあれば "0x" などの後)に付加されます。これは最上位桁の文字が無限に続くことを 意味し、2の補数表現で負の数を表しています。

   p sprintf("%#b", 10)    #=> "0b1010"
   p sprintf("%#o", 10)    #=> "012"
   p sprintf("%#x", 10)    #=> "0xa"

   # 負の数に対して ".." が付加されます
   p sprintf("%#b", -1)    #=> "0b..1"
   p sprintf("%#o", -1)    #=> "0..7"
   p sprintf("%#x", -1)    #=> "0x..f"

   p sprintf("%10x", -1)   #=> "       ..f"
   p sprintf("%-10x", -1)  #=> "..f       "

   # 「精度」を指定した場合、".." は付加されません
   p sprintf("%.10x", -1)  #=> "ffffffffff"
f
e
E
g
G

f は小数点表現(xxx.xxx)で数値を出力します。

e は指数表現(x.xxxe+xx)で数値を出力します。

g は 指数が -4 より小さいか精度以上の場合に e と同じ出力を、それ以 外では f と同じ出力を行います。ただし、小数部の末尾の0は取り除かれ ます。

大文字の指示子(E, G)は出力のアルファベットを大文字にします。

  p sprintf("%f", 1.0) #=> "1.000000"
  p sprintf("%e", 1.0) #=> "1.000000e+00"
  p sprintf("%g", 1.0) #=> "1"

  p sprintf("%f", 10.1) #=> "10.100000"
  p sprintf("%e", 10.1) #=> "1.010000e+01"
  p sprintf("%g", 10.1) #=> "10.1"

  p sprintf("%g", 10 ** 6)  #=> "1e+06"
  p sprintf("%g", 10 ** -5) #=> "1e-05"

精度の省略値は 6 です。

無限大、NaN(Not a Number) に対する出力は以下のとおりです。

  p sprintf("%f",  1.0/0)  #=> "inf"
  p sprintf("%f", -1.0/0)  #=> "-inf"
  p sprintf("%f",  0.0/0)  #=> "nan"

  p sprintf("%E",  1.0/0)  #=> "INF"
  p sprintf("%E", -1.0/0)  #=> "-INF"
  p sprintf("%E",  0.0/0)  #=> "NAN"

f, e, E, g, G に関しては sprintf(3) の結果を利用しています。従って出力結果は 実際にはシステムに依存することになります。

引数指定

利用頻度が低いので最後に説明します。

nth$

nth 番目の引数のフォーマットを行うことを示します。

  p sprintf("%d, %x, %o", 1, 2, 3) #=> "1, 2, 3"
  p sprintf("%3$d, %2$x, %1$o", 1, 2, 3) #=> "3, 2, 1"

  p sprintf("%1$d, %1$x, %1$o", 10) #=> "10, a, 12"

状況によってフォーマットを変えたいが引数の順序を変えたくない場合に使 用します。

  case ENV['LC_TIME']
  when /^ja_JP/
    fmt = "%1$d年%2$d月%3$d日"
  else
    fmt = "%2$02d/%03$2d/%1$02d"
  end

  p sprintf(fmt, 1, 4, 22) #=> "04/22/01"

"*" の後に指定することで幅や 精度を引数で指定することもできます。

  p sprintf("%5.2f", 1)              #=> " 1.00"
  p sprintf("%*.*f", 5, 2, 1)        #=> " 1.00"
  p sprintf("%1$*2$.*3$f", 1, 5, 2)  #=> " 1.00"


instance method String#bytes

each_byte {|byte| ... } -> ()
bytes {|byte| ... } -> ()
each_byte -> Enumerable::Enumerator
bytes -> Enumerable::Enumerator

文字列の各バイトに対して繰り返します。

なお、バイトごとに分割した配列を得たいときは、 Ruby 1.8 までなら unpack('C*') を、 Ruby 1.9 以降は String#bytes.to_a を使ってください。

例:

"str".each_byte do |byte|
  p byte
end
    # => 115
    # => 116
    # => 114

[SEE_ALSO] String#unpack


instance method String#bytesize

bytesize -> Integer

文字列のバイト長を整数で返します。

例:

#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size     #=> 6
p "いろは".bytesize #=> 9

[SEE_ALSO] String#size


instance method String#capitalize

capitalize -> String

文字列先頭の文字を大文字に、残りを小文字に変更した文字列を返します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。

例:

p "foobar--".capitalize   # => "Foobar--"
p "fooBAR--".capitalize   # => "Foobar--"
p "FOOBAR--".capitalize   # => "Foobar--"

$KCODE が適切に設定されていない場合は、 マルチバイト文字の一部をあやまって変換してしまう場合があります。 この問題は以下のように Shift JIS エンコーディングを使う場合に発生します。

$KCODE = 'NONE'
# 文字列は Shift JIS エンコーディングで記述されている
puts "帰".capitalize   # => 蟻

また、$KCODE を設定しても、 マルチバイト文字のいわゆる全角アルファベットは処理しません。

[SEE_ALSO] String#capitalize!, String#upcase, String#downcase, String#swapcase


instance method String#capitalize!

capitalize! -> self | nil

文字列先頭の文字を大文字に、残りを小文字に変更します。 ただし、アルファベット以外の文字は位置に関わらず変更しません。

[RETURN]
capitalize! は self を変更して返しますが、 変更が起こらなかった場合は nil を返します。

例:

str = "foobar"
str.capitalize!
p str   # => "Foobar"

str = "fooBAR"
str.capitalize!
p str   # => "Foobar"

$KCODE が適切に設定されていない場合は、 マルチバイト文字の一部をあやまって変換してしまう場合があります。 この問題は以下のように Shift JIS エンコーディングを使う場合に発生します。

$KCODE = 'NONE'
# 文字列は Shift JIS エンコーディングで記述されている
puts "帰".capitalize   # => 蟻

また、$KCODE を設定しても、 マルチバイト文字のいわゆる全角アルファベットは処理しません。

[SEE_ALSO] String#capitalize, String#upcase, String#downcase, String#swapcase


instance method String#casecmp

casecmp(other) -> Integer

String#<=> と同様に文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。

このメソッドの動作は組み込み変数 $= には影響されません。

[PARAM] other:
self と比較する文字列

例:

p 'a' <=> 'A'       # => 1
p 'a'.casecmp('A')  # => 0

[SEE_ALSO] String#<=>


instance method String#center

center(width, padding = ' ') -> String

長さ width の文字列に self を中央寄せした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。

[PARAM] width:
返り値の文字列の最小の長さ
[PARAM] padding:
長さが width になるまで self の両側に詰める文字

例:

p "foo".center(10)       # => "   foo    "
p "foo".center(9)        # => "   foo   "
p "foo".center(8)        # => "  foo   "
p "foo".center(7)        # => "  foo  "
p "foo".center(3)        # => "foo"
p "foo".center(2)        # => "foo"
p "foo".center(1)        # => "foo"
p "foo".center(10, "*")  # => "***foo****"

[SEE_ALSO] String#ljust, String#rjust


instance method String#chars

each_char {|cstr| block } -> self
chars {|cstr| block } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

文字列の各文字に対して繰り返します。

たとえば、

"hello".each_char {|c| print c, ' ' }

は次のように出力されます。

h e l l o


instance method String#chomp

chomp(rs = $/) -> String

self の末尾から rs で指定する改行コードを取り除いた文字列を生成し返します。 ただし、rs が "\n" ($/ のデフォルト値) のときは、 実行環境によらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。

rs に nil を指定した場合、このメソッドは何もしません。

rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、 末尾の連続する改行コードをすべて取り除きます。

例:

p "foo\n".chomp             # => "foo"
p "foo\n".chomp("\n")       # => "foo"
p "foo\r\n".chomp("\r\n")   # => "foo"

$/ = "\n"   # デフォルト値と同じ
p "foo\r".chomp    # => "foo"
p "foo\r\n".chomp  # => "foo"
p "foo\n".chomp    # => "foo"
p "foo\n\r".chomp  # => "foo\n"


instance method String#chomp!

chomp!(rs = $/) -> self | nil

self の末尾から rs で指定する改行コードを取り除きます。 ただし rs が "\n" ($/ のデフォルト値) のときは、 システムによらず "\r", "\r\n", "\n" のすべてを改行コードとみなして取り除きます。

rs に nil を指定した場合、このメソッドは何もしません。

rs に空文字列 ("") を指定した場合は「パラグラフモード」になり、 末尾の連続する改行コードをすべて取り除きます。

[RETURN]
chomp! は通常 self を返しますが、取り除く改行がなかった場合は nil を返します。

例:

buf = "string\n"
buf.chomp!
p buf   # => "string"

$/ = "\n"   # デフォルトと同じ
p "foo\r".chomp!    # => "foo"
p "foo\r\n".chomp!  # => "foo"
p "foo\n".chomp!    # => "foo"
p "foo\n\r".chomp!  # => "foo\n"


instance method String#chop

chop -> String

文字列の最後の文字を取り除いた新しい文字列を生成して返します。 ただし、文字列の終端が "\r\n" であればその 2 文字を取り除きます。

例:

p "string\n".chop    # => "string"
p "string\r\n".chop  # => "string"
p "string".chop      # => "strin"
p "strin".chop       # => "stri"
p "".chop            # => ""
chop -> String [redefined by jcode]
chop! -> String|nil [redefined by jcode]

String#chop の日本語対応版です。

例：

#!/usr/bin/env ruby

$KCODE = 'e'
zstr = 'ＡＢＣＤＥＦ'
hoge = 'hogehoge'

p zstr.chop       # => "ＡＢＣＤＥ\243"
p hoge.chop       # => "hogehog"

require 'jcode'
p zstr.chop       # => "ＡＢＣＤＥ"
p hoge.chop       # => "hogehog"


instance method String#chop!

chop! -> self | nil

文字列の最後の文字を取り除きます。 ただし、終端が "\r\n" であればその 2 文字を取り除きます。

[RETURN]
chop! は self を変更して返しますが、取り除く文字がなかった場合は nil を返します。


instance method String#count

count(*chars) -> Integer

chars で指定された文字が文字列 self にいくつあるか数えます。

検索する文字を示す引数 chars の形式は tr(1) と同じです。 つまり、「"a-c"」は文字 a から c を意味し、 「"^0-9"」のように文字列の先頭が「^」の場合は 指定文字以外を意味します。

文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。 また、「-」「^」「\」は バックスラッシュ (「\」) によりエスケープできます。

引数を複数指定した場合は、 すべての引数にマッチした文字だけを数えます。

[PARAM] chars:
出現回数を数える文字のパターン

例:

p 'abcdefg'.count('c')               # => 1
p '123456789'.count('2378')          # => 4
p '123456789'.count('2-8', '^4-6')   # => 4

# ファイルの行数を数える
n_lines = File.open("foo").read.count("\n")

# ファイルの末尾に改行コードがない場合にも対処する
buf = File.open("foo").read
n_lines = buf.count("\n")
n_lines += 1 if /[^\n]\z/ =~ buf
    # if /\n\z/ !~ buf だと空ファイルを 1 行として数えてしまうのでダメ


instance method String#crypt

crypt(salt) -> String

self と salt から暗号化された文字列を生成して返します。 salt には英数字、ドット (「.」)、スラッシュ (「/」) から構成される、 2 バイト以上の文字列を指定します。

暗号化された文字列から暗号化前の文字列 (self) を求めることは一般に困難で、 self を知っている者のみが同じ暗号化された文字列を生成できます。 このことから self を知っているかどうかの認証に使うことが出来ます。

salt には、以下の様になるべくランダムな文字列を選ぶべきです。 他にも [ruby-list:29297] などがあります。

注意:

  • crypt の処理は crypt(3) の実装に依存しています。 従って、crypt で処理される内容の詳細や salt の与え方については、 利用環境の crypt(3) 等を見て確認してください。
  • crypt の結果は利用環境が異なると変わる場合があります。 crypt の結果を、異なる利用環境間で使用する場合には注意して下さい。
  • 典型的な DES を使用した crypt(3) の場合、 self の最初の 8 バイト、salt の最初の 2 バイトだけが使用されます。
[PARAM] salt:
文字列を暗号化するための鍵となる文字列。 英数字・「.」・「/」のいずれかで構成される 2 バイト以上の文字列

例:

# パスワードの暗号化
salt = [rand(64),rand(64)].pack("C*").tr("\x00-\x3f","A-Za-z0-9./")
passwd.crypt(salt)

# UNIX のログイン認証
require 'etc'

def valid_login?(user, password)
  ent = Etc.getpwnam(user)
  passwd.crypt(ent.passwd) == ent.passwd
end

p valid_login?("taro", "password")   # => 真偽値が得られる


instance method String#delete

delete(*strs) -> String

self から strs に含まれる文字を取り除いた文字列を生成し返します。

str の形式は tr(1) と同じです。 つまり、`a-c' は a から c を意味し、"^0-9" のように 文字列の先頭が `^' の場合は指定文字以外を意味します。

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 「^」も文字列の先頭にあるときだけ効果を発揮します。 また、「-」「^」「\」はバックスラッシュ (「\」) によってエスケープできます。

なお、引数を複数指定した場合は、 すべての引数にマッチする文字だけが削除されます。

[PARAM] strs:
削除する文字列を示す文字列 (のリスト)

例:

p "123456789".delete("2378")         #=> "14569"
p "123456789".delete("2-8", "^4-6")  #=> "14569"
delete(str) -> String [redefined by jcode]
delete!(str) -> String|nil [redefined by jcode]

String#delete の日本語対応版です。 指定したパターンの文字列を取り除きます。

ただしこのメソッドは置き換え前の物とは異なり 複数の引数を取れません。

[PARAM] str:
取り除く文字のパターン。

例：

#!/usr/bin/env ruby

$KCODE = 'EUC'
zstr = 'ＡＢＣＤＥＦ'
hoge = 'hogehoge'

p zstr.delete("Ａ")  # => "唾津\306"
p hoge.delete("e")   # => "hoghog"

require 'jcode'
p zstr.delete("Ａ")  # => "ＢＣＤＥＦ"
p hoge.delete("e")   # => "hoghog"


instance method String#delete!

delete!(*strs) -> self | nil

self から strs に含まれる文字を破壊的に取り除きます。

str の形式は tr(1) と同じです。 つまり、「a-c」は a から c を意味し、"^0-9" のように 文字列の先頭が「^」の場合は指定文字以外を意味します。

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 「^」も文字列先頭にあるときだけ否定の効果を発揮します。 また、「-」「^」「\」はバックスラッシュ (「\」) によってエスケープできます。

なお、引数を複数指定した場合は、 すべての引数にマッチする文字だけが削除されます。

[RETURN]
通常は self を返しますが、何も変更が起こらなかった場合は nil を返します。
[PARAM] strs:
削除する文字列を示す文字列 (のリスト)

例:

p "123456789".delete("2-8", "^4-6")  #=> "14569"
p "123456789".delete("2378")         #=> "14569"


instance method String#downcase

downcase -> String

'A' から 'Z' までの アルファベット大文字をすべて小文字に置き換えた新しい文字列を生成し返します。 アルファベット大文字以外の文字はすべてそのまま保存されます。

処理する文字列の文字コードが Shift JIS で、 しかも $KCODE が適切に設定されていない場合、 このメソッドはマルチバイト文字の一部も変換してしまう場合があります。 逆に、$KCODE を適切に設定しても マルチバイト文字のアルファベットは処理できません。

例:

p "STRing?".downcase   # => "string?"

# -*- Coding: shift_jis -*-
$KCODE ='n'
puts "帰".downcase   # => 蟻

[SEE_ALSO] String#upcase, String#swapcase, String#capitalize


instance method String#downcase!

downcase! -> self | nil

文字列中の 'A' から 'Z' までの アルファベット大文字をすべて破壊的に小文字に置き換えます。 アルファベット大文字以外の文字はすべてそのまま保存されます。

処理する文字列の文字コードが Shift JIS で、 しかも $KCODE が適切に設定されていない場合、 このメソッドはマルチバイト文字の一部も変換してしまう場合があります。 逆に、$KCODE を適切に設定しても マルチバイト文字のアルファベットは処理できません。

[RETURN]
self を変更して返します。変更が無かった場合は nil を返します。

例:

p "STRing?".downcase   # => "string?"

# -*- Coding: shift_jis -*-
$KCODE ='n'
puts "帰".downcase   # => 蟻

[SEE_ALSO] String#upcase, String#swapcase, String#capitalize


instance method String#dump

dump -> String

文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。

例:

# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump   # => "abc\r\n\f\000\01010\\\""


instance method String#each

each(rs = $/) {|line| ... } -> ()
each_line(rs = $/) {|line| ... } -> ()
lines(rs = $/) {|line| ... } -> ()
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator
lines(rs = $/) -> Enumerable::Enumerator

文字列中の各行に対して繰り返します。 行の区切りは rs に指定した文字列で、 そのデフォルト値は変数 $/ の値です。 各 line には区切りの文字列も含みます。

rs に nil を指定すると行区切りなしとみなします。 rs に空文字列 "" を指定すると「パラグラフモード」になり、 改行コードが 2 つ以上連続するところで文字列を分割します (つまり空行で分割します)。

[PARAM] rs:
行末を示す文字列

例:

"aa\nbb\ncc\n".each_line do |line|
  p line
end
    # => "aa\n"
    # => "bb\n"
    # => "cc\n"

p "aa\nbb\ncc\n".lines.to_a   # => ["aa\n", "bb\n", "cc\n"]
p "aa\n".lines.to_a           # => ["aa\n"]
p "".lines.to_a               # => []

s = "aa\nbb\ncc\n"
p s.lines("\n").to_a #=> ["aa\n", "bb\n", "cc\n"]
p s.lines("bb").to_a #=> ["aa\nbb", "\ncc\n"]


instance method String#each_char

each_char -> [String] [redefined by jcode]
each_char {|char| ... } -> String [redefined by jcode]

文字列中の各文字に対してブロックを呼びだします。 ブロックを指定せずに呼び出された時には、各文字の配列を返します。

例：

#!/usr/bin/env ruby

$KCODE = 'EUC'

require 'jcode'

zstr = 'ＡＢＣＤＥＦ'
zstr.each_char do |x|
  print "+#{x}+"
end                     # => +Ａ++Ｂ++Ｃ++Ｄ++Ｅ++Ｆ+


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class String > empty?

instance method String#empty?

empty? -> bool

文字列が空 (つまり長さ 0) の時、真を返します。


instance method String#end_with?

end_with?(str) -> bool

self の末尾が str であるとき true を返します。

[PARAM] str:
パターンを表す文字列

例:

"string".end_with?("ing")   # => true
"string".end_with?("str")   # => false

[SEE_ALSO] String#start_with?


instance method String#eql?

eql?(other) -> bool

self == other と同じです。 Hash クラス内での比較に使われます。

[SEE_ALSO] Hash


instance method String#gsub

gsub(pattern, replace) -> String

文字列中で pattern にマッチする部分全てを 文字列 replace で置き換えた文字列を生成し返します。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 \1 ... \9 は n 番目の括弧の内容に置き換えられます。 置換文字列内では \`、\'、\+ も使えます。 これらは $`、$'、$+ に対応します。

[PARAM] pattern:
置き換える文字列のパターン
[PARAM] replace:
pattern で指定した文字列と置き換える文字列

例:

p 'abcdefg'.gsub(/def/, '!!')          # => "abc!!g"
p 'abcabc'.gsub(/b/, '<<\&>>')         # => "a<<b>>ca<<b>>c"
p 'xxbbxbb'.gsub(/x+(b+)/, 'X<<\1>>')  # => "X<<bb>>X<<bb>>"

注意:

第 2 引数 replace に $1 を埋め込んでも意図した結果にはなりません。 この文字列が評価される時点ではまだ正規表現マッチが行われておらず、 $1 がセットされていないからです。

また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、 replace に「\」自身を入れたいときは 「\」を二重にエスケープしなければなりません。

# ひとつめの括弧の内容に置き換えるときによくある間違い
p 'xbbb-xbbb'.gsub(/x(b+)/, "#{$1}")   # => "-"        # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\1")      # => "1-1"      # NG
p 'xbbb-xbbb'.gsub(/x(b+)/, "\\1")     # => "bbb-bbb"  # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\1')      # => "bbb-bbb"  # OK
p 'xbbb-xbbb'.gsub(/x(b+)/, '\\1')     # => "bbb-bbb"  # OK

# バックスラッシュを倍にするときによくある間違い
puts '\n'.gsub(/\\/, "\\\\")      # => \n   # NG
puts '\n'.gsub(/\\/, '\\\\')      # => \n   # NG
puts '\n'.gsub(/\\/, "\\\\\\\\")  # => \\n  # OK
puts '\n'.gsub(/\\/, '\\\\\\\\')  # => \\n  # OK

このような間違いを確実に防止し、コードの可読性を上げるには、 \& や \1 よりも下記のようにブロック付き形式の gsub を使うべきです。

p 'xbbb-xbbb'.gsub(/x(b+)/) { $1 }   # => "bbb-bbb"  # OK

puts '\n'.gsub(/\\/) { '\\\\' }      # => \\n        # OK

[SEE_ALSO] String#sub

gsub(pattern) {|matched| .... } -> String
gsub(pattern) -> Enumerable::Enumerator

文字列中で pattern にマッチした部分を順番にブロックに渡し、 その実行結果で置き換えます。 ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

[PARAM] pattern:
置き換える文字列のパターン
[RETURN]
置換した場合は self、置換しなかった場合は nil

例:

p 'abcabc'.gsub(/[bc]/) {|s| s.upcase }  #=> "aBCaBC"
p 'abcabc'.gsub(/[bc]/) { $&.upcase }    #=> "aBCaBC"

[SEE_ALSO] String#sub


instance method String#gsub!

gsub!(pattern, replace) -> self | nil

文字列中で pattern にマッチする部分全てを文字列 replace に破壊的に置き換えます。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 \1 ... \9 は n 番目の括弧の内容に置き換えられます。 置換文字列内では \`、\'、\+ も使えます。 これらは $`、$'、$+ に対応します。

gsub! は通常 self を変更して返しますが、 置換が起こらなかった場合は nil を返します。

[PARAM] pattern:
置き換える文字列のパターン
[PARAM] replace:
pattern で指定した文字列と置き換える文字列
[RETURN]
置換した場合は self、置換しなかった場合は nil

例:

buf = "String-String"
buf.gsub!(/in./, "!!")
p buf   # => "Str!!-Str!!"

buf = "String.String"
buf.gsub!(/in./, '<<\&>>')
p buf   # => "Str<<ing>>-Str<<ing>>"

注意:

引数 replace の中で $1 を使うことはできません。 replace は gsub メソッドの呼び出しより先に評価されるので、 まだ gsub の正規表現マッチが行われておらず、 $1 がセットされていないからです。

また、gsub では「\」が部分文字列との置き換えという特別な意味を持つため、 replace に「\」自身を入れたいときは 「\」を二重にエスケープしなければなりません。

例:

# ひとつめの括弧にマッチした部分に置き換えるときによくやる間違い
'abbbcd'.gsub!(/a(b+)/, "#{$1}")       # NG
'abbbcd'.gsub!(/a(b+)/, "\1")          # NG
'abbbcd'.gsub!(/a(b+)/, "\\1")         # OK
'abbbcd'.gsub!(/a(b+)/, '\\1')         # OK
'abbbcd'.gsub!(/a(b+)/, '\1')          # OK
'abbbcd'.gsub!(/a(b+)/) { $1 }         # OK   これがもっとも安全

[SEE_ALSO] String#sub

gsub!(pattern) {|matched| .... } -> self | nil
gsub!(pattern) -> Enumerable::Enumerator

文字列中で pattern にマッチする部分全てを順番にブロックに渡し、 その評価結果に置き換えます。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

また、ブロックなしの場合と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

[PARAM] pattern:
置き換える文字列のパターン
[RETURN]
置換した場合は self、置換しなかった場合は nil

例:

str = 'abcabc'
str.gsub!(/b/) {|s| s.upcase }
p str    #=> "aBcaBc"

str = 'abcabc'
str.gsub!(/b/) { $&.upcase }
p str    #=> "aBcaBc"

[SEE_ALSO] String#sub


instance method String#hash

hash -> Integer

self のハッシュ値を返します。 eql? で等しい文字列は、常にハッシュ値も等しくなります。

[SEE_ALSO] Hash


instance method String#hex

hex -> Integer

文字列に 16 進数で数値が表現されていると解釈して整数に変換します。 接頭辞 "0x", "0X" とアンダースコアは無視されます。 文字列が [_0-9a-fA-F] 以外の文字を含むときはその文字以降を無視します。

self が空文字列のときは 0 を返します。

例:

p "10".hex    # => 16
p "ff".hex    # => 255
p "0x10".hex  # => 16
p "-0x10".hex # => -16

p "xyz".hex   # => 0
p "10z".hex   # => 16
p "1_0".hex   # => 16

p "".hex      # => 0

[SEE_ALSO] String#oct, String#to_i, String#to_f, Kernel.#Integer, Kernel.#Float

このメソッドの逆に数値を文字列に変換するには Kernel.#sprintf, String#%, Integer#to_s などを使ってください。


instance method String#include?

include?(substr) -> bool

文字列中に部分文字列 substr が含まれていれば真を返します。

substr が 0 から 255 の範囲の Fixnum の場合、 文字コードとみなして、その文字が含まれていれば真を返します。

[PARAM] substr:
検索する文字列もしくは文字コードを表す整数


instance method String#index

index(pattern, pos = 0) -> Integer

インデックス pos から右に向かって pattern を検索し、 最初に見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。

引数 pattern は探索する部分文字列、 正規表現、文字コードを示す 0 から 255 の整数のいずれかで指定します。

pos が負の場合、文字列の末尾から数えた位置から探索します。

[PARAM] pattern:
探索する部分文字列、正規表現、文字コードを示す 0 から 255 の整数
[PARAM] pos:
探索を開始するインデックス

例:

p "astrochemistry".index("str")         # => 1
p "regexpindex".index(/e.*x/, 2)        # => 3
p "character".index(?c)                 # => 0

p "foobarfoobar".index("bar", 6)        # => 9
p "foobarfoobar".index("bar", -6)       # => 9

[SEE_ALSO] String#rindex


instance method String#insert

insert(pos, other) -> ()

nth 番目の文字の直前に文字列 other を挿入します。 self[pos, 0] = other と同じ操作です。

[PARAM] pos:
文字列を挿入するインデックス
[PARAM] other:
挿入する文字列

例:

str = "foobaz"
str.insert(3, "bar")
p str   # => "foobarbaz"


instance method String#inspect

inspect -> String

文字列オブジェクトの内容を、出力したときに人間が読みやすいような適当な形式に変換します。 変換された文字列は印字可能な文字のみによって構成されます

現在の実装では、Ruby のリテラル形式を使って、 文字列中の不可視文字をエスケープシーケンスに変換します。

$KCODE が設定されている場合は、 そのエンコーディング内の適正なマルチバイト文字をそのまま出力します。 それ以外の不可視文字はエスケープシーケンスを使って出力されます。

このメソッドは主にデバッグのために用意されています。 永続化などの目的で文字列をダンプしたいときは、 String#dump を使うべきです。

例：

# p ではないことに注意
puts "string".inspect    # => "string"
puts "\t\r\n".inspect    # => "\t\r\n"

[SEE_ALSO] String#dump


instance method String#intern

intern -> Symbol
to_sym -> Symbol

文字列に対応するシンボル値 Symbol を返します。

なお、このメソッドの逆にシンボルに対応する文字列を得るには Symbol#to_s または Symbol#id2name を使います。

ナルキャラクタ ("\0") を含む文字列、もしくは空の文字列をinternすると、 例外 ArgumentError が発生します。

[EXCEPTION] ArgumentError:
self が ナルキャラクタ ("\0") を含む文字列、もしくは空の文字列の場合発生します。

例:

p "foo".intern                 # => :foo
p "foo".intern.to_s == "foo"   # => true


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class String > is_binary_data?

instance method String#is_binary_data?

is_binary_data? [added by yaml]


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class String > is_complex_yaml?

instance method String#is_complex_yaml?

is_complex_yaml? [added by yaml]


instance method String#iseuc

iseuc -> bool [added by kconv]

self が EUC-JP なバイト列として正当であるかどうかを判定します。

Kconv.#iseuc(self) と同じです。


instance method String#issjis

issjis -> bool [added by kconv]

self が Shift_JIS なバイト列として正当であるかどうかを判定します。

Kconv.#issjis と同じです。


instance method String#isutf8

isutf8 -> bool [added by kconv]

self が UTF-8 なバイト列として正当であるかどうかを判定します。

Kconv.#isutf8(self) と同じです。


instance method String#jcount

jcount(str) -> Integer [added by jcode]

String#count の日本語対応版です。

self に文字列 str で指定した文字がいくつ含まれているかを数えます

ただし String#count とは異なり利用できるパターンは "Ａ-Ｄ" のような「^」(否定)を含まないパターンのみであり、 また複数のパターンを取ることはできません。

[PARAM] str:
出現回数を数える文字のパターンを文字列で与えます。

例：

#!/usr/bin/env ruby

$KCODE = 'e'
zstr = 'ＡＢＣＤＥＦ'
hogehoge = 'hogehoge'

p zstr.count('Ａ')     # => 7   これは正しくない
p zstr.jcount('ＡＢ')  # => 8
p hogehoge.count('g')  # => 2

require 'jcode'
p zstr.jcount('Ａ')    # => 1   これは正しい
p hogehoge.jcount('g') # => 2

p zstr.jcount('ＡＢ')  # => 2


instance method String#jlength

jlength -> Integer [added by jcode]
jsize -> Integer [added by jcode]

String#length の日本語対応版です。

文字数を整数で返します。

例：

#!/usr/bin/env ruby

$KCODE = 'EUC'
zstr = 'ＡＢＣＤＥＦ'
hogehoge = 'hogehoge'

p zstr.size       # => 12   これは正しくない
p hogehoge.size   # => 8

require 'jcode'
p zstr.jsize      # => 6    これは正しい
p hogehoge.jsize  # => 8


instance method String#kconv

kconv(out_code, in_code = Kconv::AUTO) -> String [added by kconv]

self のエンコーディングを out_code に変換した文字列を 返します。 out_code in_code は Kconv の定数で指定します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf を使ってください。

[PARAM] out_code:
変換後のエンコーディングを Kconv の定数で指定します。
[PARAM] in_code:
変換する文字列のエンコーディングを Kconv の定数で指定します。

[SEE_ALSO] Kconv.#kconv


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class String > length

instance method String#length

length -> Integer
size -> Integer

文字列のバイト数を返します。


instance method String#ljust

ljust(width, padding = ' ') -> String

長さ width の文字列に self を左詰めした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。

[PARAM] width:
返り値の文字列の最小の長さ
[PARAM] padding:
長さが width になるまで self の右側に詰める文字

例:

p "foo".ljust(10)        # => "foo       "
p "foo".ljust(9)         # => "foo      "
p "foo".ljust(8)         # => "foo     "
p "foo".ljust(2)         # => "foo"
p "foo".ljust(1)         # => "foo"
p "foo".ljust(10, "*")   # => "foo*******"

[SEE_ALSO] String#center, String#rjust


instance method String#lstrip

lstrip -> String

文字列の先頭にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v" です。

例:

p "  abc\n".lstrip     #=> "abc\n"
p "\t abc\n".lstrip    #=> "abc\n"
p "abc\n".lstrip       #=> "abc\n"

[SEE_ALSO] String#strip, String#rstrip


instance method String#lstrip!

lstrip! -> self | nil

文字列の先頭にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。

lstrip! は self を変更して返します。 ただし取り除く空白がなかったときは nil を返します。

例:

str = "  abc"
p str.lstrip!   # => "abc"
p str           # => "abc"

str = "abc"
p str.lstrip!   # => nil
p str           # => "abc"


instance method String#match

match(regexp) -> MatchData

regexp.match(self) と同じです。 regexp が文字列の場合は、正規表現にコンパイルします。 詳しくは Regexp#match を参照してください。


instance method String#mbchar?

mbchar? -> Integer|nil [added by jcode]

self に多バイト文字が最初に現れる位置を返します。 多バイト文字が含まれていなければ nil を返します。

例：

#!/usr/bin/env ruby

$KCODE = 'EUC'
zstr = 'ＡＢＣＤＥＦ'
hoge = 'hogehoge'

require 'jcode'
p zstr.mbchar?   # => 0
p hoge.mbchar?   # => nil


instance method String#next

succ -> String
next -> String

self の「次の」文字列を返します。

「次の」文字列は、対象の文字列の右端から アルファベットなら アルファベット順(aの次はb, zの次はa, 大文字も同様)に、 数字なら 10 進数(9 の次は 0)とみなして計算されます。

p "aa".succ        # => "ab"
p "88".succ.succ   # => "90"

"99" → "100", "AZZ" → "BAA" のような繰り上げも行われます。 このとき負符号などは考慮されません。

p "99".succ   # => "100"
p "ZZ".succ   # => "AAA"
p "a9".succ   # => "b0"
p "-9".succ   # => "-10"

self にアルファベットや数字とそれ以外の文字が混在している場合、 アルファベットと数字だけが「次の」文字になり、残りは保存されます。

p "1.9.9".succ # => # "2.0.0"

逆に self がアルファベットや数字をまったく含まない場合は、 単純に文字コードを 1 増やします。

p ".".succ     # => "/"

さらに、self が空文字列の場合は "" を返します。 このメソッドはマルチバイト文字を意識せず、 単に文字列をバイト列として扱います。

なお、succ と逆の動作をするメソッドはありません。 また、succ という名前の由来は successor です。

例:

p "aa".succ   # => "ab"

# 繰り上がり
p "99".succ   # => "100"
p "a9".succ   # => "b0"
p "Az".succ   # => "Ba"
p "zz".succ   # => "aaa"
p "-9".succ   # => "-10"
p "9".succ    # => "10"
p "09".succ   # => "10"

# アルファベット・数字とそれ以外の混在
p "1.9.9".succ # => # "2.0.0"

# アルファベット・数字以外のみ
p ".".succ     # => "/"
p "\0".succ    # => "\001"
p "\377".succ  # => "\001\000"

このメソッドは文字列の Range の内部で使用されます。


instance method String#next!

succ! -> String
next! -> String

self を「次の」文字列に置き換えます。 「次の」文字列は、アルファベットなら 16 進数、 数字なら 10 進数とみなして計算されます。 「次の」文字列の計算では "99" → "100" のように繰り上げも行われます。 このとき負符号などは考慮されません。

self にアルファベットや数字とそれ以外の文字が混在している場合、 アルファベットと数字だけが「次の」文字になり、残りは保存されます。 逆に self がアルファベットや数字をまったく含まない場合は、 単純に文字コードを 1 増やします。

さらに、self が空文字列の場合は "" を返します。

このメソッドはマルチバイト文字を意識せず、 単に文字列をバイト列として扱います。

なお、succ! と逆の動作をするメソッドはありません。

例:

p "aa".succ   # => "ab"

# 繰り上がり
p "99".succ   # => "100"
p "a9".succ   # => "b0"
p "Az".succ   # => "Ba"
p "zz".succ   # => "aaa"
p "-9".succ   # => "-10"
p "9".succ    # => "10"
p "09".succ   # => "10"

# アルファベット・数字とそれ以外の混在
p "1.9.9".succ # => # "2.0.0"

# アルファベット・数字以外のみ
p ".".succ     # => "/"
p "\0".succ    # => "\001"
p "\377".succ  # => "\001\000"

[SEE_ALSO] String#succ


instance method String#oct

oct -> Integer

文字列を 8 進文字列であると解釈して、整数に変換します。

例:

p "10".oct  # => 8
p "010".oct # => 8
p "8".oct   # => 0

oct は文字列の接頭辞 ("0", "0b", "0B", "0x", "0X") に応じて 8 進以外の変換も行います。

例:

p "0b10".oct  # => 2
p "10".oct    # => 8
p "010".oct   # => 8
p "0x10".oct  # => 16

整数とみなせない文字があればそこまでを変換対象とします。 変換対象が空文字列であれば 0 を返します。

Ruby 1.6 では、8 進だけが符号を許す。 Ruby 1.8 以降はいずれも符号を許す

例:

p "-010".oct     # => -8
p "-0x10".oct    # => 0
p "-0b10".oct    # => 0

p "1_0_1x".oct   # => 65

[SEE_ALSO] String#hex, String#to_i, String#to_f, Kernel.#Integer, Kernel.#Float

逆に、数値を文字列に変換するにはKernel.#sprintf, String#%, Integer#to_s を使用します。


instance method String#partition

partition(sep) -> [String, String, String]

セパレータ sep が最初に登場する部分で self を 3 つに分割し、 [最初のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。

self がセパレータを含まないときは、 返り値の第 2 要素と第 3 要素が空文字列になります。

[PARAM] sep:
セパレータを表す文字列か正規表現を指定します。

例：

p "axaxa".partition("x")   # => ["a", "x", "axa"]
p "aaaaa".partition("x")   # => ["aaaaa", "", ""]
p "aaaaa".partition("")    # => ["aaaaa", "", ""]

[SEE_ALSO] String#rpartition, String#split


instance method String#replace

replace(other) -> String

self の内容を other の内容で置き換えます。

例:

str = "foo"
str.replace "bar"
p str   # => "bar"


instance method String#reverse

reverse -> String

文字列をバイト単位で左右逆転した文字列を返します。

例:

p "foobar".reverse   # => "raboof"
p "".reverse         # => ""


instance method String#reverse!

reverse! -> ()

文字列をバイト単位で左右逆転します。

例:

str = "foobar"
str.reverse!
p str   # => "raboof"


instance method String#rindex

rindex(pattern, pos = self.size) -> Integer | nil

文字列のインデックス pos から左に向かって pattern を探索します。 見つかった部分文字列の左端のインデックスを返します。 見つからなければ nil を返します。

pos が負の場合は、文字列の末尾から数えた位置から探索します。

rindex と String#index とでは、探索方向だけが逆になります。 完全に左右が反転した動作をするわけではありません。 探索はその開始位置を右から左にずらしながら行いますが、 部分文字列の照合はどちらのメソッドも左から右に向かって行います。 以下の例を参照してください。

# String#index の場合
p "stringstring".index("ing", 1)    # => 3
  # ing            # ここから探索を始める
  #  ing
  #   ing          # 右にずらしていってここで見つかる

# String#rindex の場合
p "stringstring".rindex("ing", -1)  # => 9
  #           ing    # インデックス -1 のバイトから探索を始める
  #          ing
  #         ing      # 左にずらしていってここで見つかる
[PARAM] pattern:
探索する部分文字列。 文字列、正規表現、文字コードを示す 0 から 255 の整数のいずれか
[PARAM] pos:
探索を始めるインデックス

例:

p "astrochemistry".rindex("str")        # => 10
p "character".rindex(?c)                # => 5
p "regexprindex".rindex(/e.*x/, 2)      # => 1

p "foobarfoobar".rindex("bar", 6)       # => 3
p "foobarfoobar".rindex("bar", -6)      # => 3

[SEE_ALSO] String#index


instance method String#rjust

rjust(width, padding = ' ') -> String

長さ width の文字列に self を右詰めした文字列を返します。 self の長さが width より長い時には元の文字列の複製を返します。 また、第 2 引数 padding を指定したときは 空白文字の代わりに padding を詰めます。

[PARAM] width:
返り値の文字列の最小の長さ
[PARAM] padding:
長さが width になるまで self の右側に詰める文字

例:

p "foo".rjust(10)        # => "       foo"
p "foo".rjust(9)         # => "      foo"
p "foo".rjust(8)         # => "     foo"
p "foo".rjust(2)         # => "foo"
p "foo".rjust(1)         # => "foo"
p "foo".rjust(10, "*")   # => "*******foo"

[SEE_ALSO] String#center, String#ljust


instance method String#rpartition

rpartition(sep) -> [String, String, String]

セパレータ sep が最後に登場する部分で self を 3 つに分割し、 [最後のセパレータより前の部分, セパレータ, それ以降の部分] の 3 要素の配列を返します。

self がセパレータを含まないときは、 返り値の第 1 要素と第 2 要素が空文字列になります。

[PARAM] sep:
セパレータを表す文字列か正規表現を指定します。

例：

p "axaxa".rpartition("x")   # => ["axa", "x", "a"]
p "aaaaa".rpartition("x")   # => ["", "", "aaaaa"]

[SEE_ALSO] String#partition, String#split


instance method String#rstrip

rstrip -> String

文字列の末尾にある空白文字を全て取り除いた新しい文字列を返します。 空白文字の定義は " \t\r\n\f\v\0" です。

例:

p "  abc\n".rstrip          #=> "  abc"
p "  abc \t\r\n\0".rstrip   #=> "  abc"
p "  abc".rstrip            #=> "  abc"
p "  abc\0 ".rstrip         #=> "  abc\0"

str = "abc\n"
p str.rstrip    #=> "abc"
p str           #=> "abc\n"  (元の文字列は変化しない)

[SEE_ALSO] String#lstrip,String#strip


instance method String#rstrip!

rstrip! -> self | nil

文字列の末尾にある空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v\0" です。

例:

str = "  abc\n"
p str.rstrip!   # => "  abc"
p str           # => "  abc"

str = "  abc \r\n\t\v\0"
p str.rstrip!   # => "  abc"
p str           # => "  abc"

[SEE_ALSO] String#rstrip, String#lstrip


instance method String#scan

scan(re) -> [String] | [[String]]

self に対して正規表現 re を繰り返しマッチし、 マッチした部分文字列の配列を返します。

正規表現が括弧を含む場合は、 括弧で括られたパターンにマッチした部分文字列の配列の配列を返します。

例:

p "foobar".scan(/../)               # => ["fo", "ob", "ar"]
p "foobarbazfoobarbaz".scan(/ba./)  # => ["bar", "baz", "bar", "baz"]

p "foobar".scan(/(.)/)
    # => [["f"], ["o"], ["o"], ["b"], ["a"], ["r"]]

p "foobarbazfoobarbaz".scan(/(ba)(.)/)
    # => [["ba", "r"], ["ba", "z"], ["ba", "r"], ["ba", "z"]]
scan(re) {|s| ... } -> ()

正規表現 re がマッチした部分文字列をブロックに渡して実行します。 正規表現 re が括弧を含む場合は、 括弧で括られたパターンにマッチした文字列の配列を渡します。

Ruby 1.6 以前は re が文字列の場合、 その文字列を正規表現にコンパイルしていました。 Ruby 1.8 以降は、その文字列そのものがパターンになります。

[PARAM] re:
パターン

例:

"foobarbazfoobarbaz".scan(/ba./) {|s| p s }
    # => "bar"
    #    "baz"
    #    "baz"
    #    "baz"

"foobarbazfoobarbaz".scan(/(ba)(.)/) {|s| p s }
    # => ["ba", "r"]
    #    ["ba", "z"]
    #    ["ba", "r"]
    #    ["ba", "z"]


instance method String#scanf

scanf(format) -> Array [added by scanf]
scanf(format) {|*ary| ...} -> Array [added by scanf]

ブロックを指定しない場合、見つかった文字列を format に従って変 換し、そのオブジェクトの配列を返します。 format で指定した文字列が見つからない場合は空の配列を 生成して返します。

str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]

ブロックを指定した場合は scanf を継続して実行し、順次 見つかった文字列を変換したオブジェクトの配列を引数に、ブロックを 実行します。このとき、ブロックの実行結果を要素とする配列を返します。

str = "123 0x45 678 0x90"
p str.scanf("%d%x"){|n, s| [n, s]}
#=> [[123, 69], [678, 144]]

formatに完全にマッチしていなくても、部分的にマッチしていれば、 ブロックは実行されます。

str = "123 abc 456 def"
ret = str.scanf("%s%d") { |s, n| [s, n] }
p ret #=> [["123", nil], ["abc", 456], ["def", nil]]
[PARAM] format:
スキャンするフォーマットを文字列で指定します。 詳細は、String#scanf/scanfフォーマット文字列 を参照してください。

使用例:

str = "123 abc 456 def 789 ghi"
p str.scanf("%d%s") #=> [123, "abc"]

scanfフォーマット文字列

文字 '%' と(s,d のような)指示子の間に、整数を指定する事により読み込む文字列の幅を 指定する事ができます。もし幅が与えられなければ、無限大の値が規定値として使用されます。 (但し、%c では、この規定値は適用されません。) 上記の幅が整数 n で与えられた場合、多くても n 個の文字列がマッチします。 このフォーマット文字列によるマッチの実行前、多くの場合入力文字列のスペースは読み飛ばされます。 つまり、スペースは幅の数として数えられない事になります。

動作例;

p "a           10".scanf("%s %d")  # => ["a", 10]
p "a10".scanf("%1s %d")      # => ["a", 10]

使用例；

str = "1234"
p str.scanf("%1s%3d")  #=> ["1", 234]
space

フォーマット中の空白は(0個を含む)任意の数の空白にマッチします。

  p "a           10".scanf("%s %d")  # => ["a", 10]
  p "a10".scanf("%1s %d")            # => ["a", 10]
%%

% そのもの

%d
%u

符号付き10進数

%i

Kernel.#Integerのように接頭辞を受け付ける符号付き整数

%o

符号付き8進数

%x
%X

符号付き16進数

%f
%g
%e
%E

符号付き浮動小数点数

%s

空白文字を含まない文字列 (幅が指定されているときは指定された文字数か空白文字の直前までの短い方)

%c

1文字(幅が指定されているときは指定された文字数)

[...]

正規表現/文字クラス


instance method String#shellescape

shellescape -> String [added by shellwords]

文字列を Bourne シェルのコマンドライン中で安全に使えるようにエスケープします。

string.shellescape は、Shellwords.escape(string) と等価です。

[RETURN]
エスケープされた文字列を返します。

[SEE_ALSO] Shellwords.#shellescape


instance method String#shellsplit

shellsplit -> [String] [added by shellwords]

Bourne シェルの単語分割規則に従った空白区切りの単語分割を行い、 単語 (文字列) の配列を返します。

string.shellsplit は、Shellwords.shellsplit(string) と等価です。

[RETURN]
分割結果の各文字列を要素とする配列を返します。
[EXCEPTION] ArgumentError:
引数の中に対でないシングルクォートまたはダブル クォートが現れた場合に発生します。

[SEE_ALSO] Shellwords.#shellsplit


instance method String#slice!

slice!(nth) -> Integer
slice!(pos, len) -> String
slice!(substr) -> String
slice!(regexp, nth = 0) -> String
slice!(first..last) -> String
slice!(first...last) -> String
slice!(regexp, nth = 0) -> String

指定した範囲 (String#[] 参照) を 文字列から取り除いたうえで取り除いた部分文字列を返します。

引数が範囲外を指す場合は nil を返します。


instance method String#split

split(sep = $;, limit = 0) -> [String] | [[String]]

第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、 結果を文字列の配列で返します。

第 1 引数 sep は以下のいずれかです。

正規表現

正規表現にマッチする部分で分割する。 特に、括弧によるグルーピングがあればそのグループにマッチした 文字列も結果の配列に含まれる (後述)。

文字列

その文字列自体にマッチする部分で分割する。

1 バイトの空白文字 ' ' か nil

先頭と末尾の空白を除いたうえで、空白文字列で分割する。

空文字列 '' あるいは空文字列にマッチする正規表現

文字列を 1 文字ずつに分割する。マルチバイト文字を認識する。

sep が正規表現で、かつその正規表現に括弧が含まれている場合には、 各括弧のパターンにマッチした文字列も配列に含まれます。 括弧が複数ある場合は、マッチしたものだけが配列に含まれます。

第 2 引数 limit は以下のいずれかです。

limit > 0

最大 limit 個の文字列に分割する

limit == 0

分割個数制限はなしで、配列末尾の空文字列を取り除く

limit < 0

分割個数の制限はなし

[PARAM] sep:
文字列を分割するときのセパレータのパターン
[PARAM] limit:
分割する最大個数

例:

p "   a \t  b \n  c".split(/\s+/) # => ["", "a", "b", "c"]

p "   a \t  b \n  c".split(nil)   # => ["a", "b", "c"]
p "   a \t  b \n  c".split(' ')   # => ["a", "b", "c"]   # split(nil) と同じ
p "   a \t  b \n  c".split        # => ["a", "b", "c"]   # split(nil) と同じ

# 括弧を含む正規表現
p '1-10,20'.split(/([-,])/)   # => ["1", "-", "10", ",", "20"]

# 正規表現が空文字列にマッチする場合は 1 文字に分割
p 'hi there'.split(/\s*/).join(':')  # => "h:i:t:h:e:r:e"

# 文字列全体を 1 文字ずつに分割する例
p 'hi there'.split(//).join(':')     # => "h:i: :t:h:e:r:e"

# $KCODE を設定すればマルチバイト文字列を認識
$KCODE = "EUC"
p '文字列'.split(//).join(':')       # => "文:字:列"

# limit == 0 だと制限なく分割、配列末尾の空文字列は取り除かれる
p "a,b,c,,,".split(/,/, 0)   # => ["a", "b", "c"]

# limit 省略時は 0 と同じ (最もよく使われるパターン)
p "a,b,c,,,".split(/,/)      # => ["a", "b", "c"]

# 正の limit 使用例
p "a,b,c,d,e".split(/,/, 1)  # => ["a,b,c,d,e"]
p "a,b,c,d,e".split(/,/, 2)  # => ["a", "b,c,d,e"]
p "a,b,c,d,e".split(/,/, 3)  # => ["a", "b", "c,d,e"]
p "a,b,c,d,e".split(/,/, 4)  # => ["a", "b", "c", "d,e"]
p "a,b,c,d,e".split(/,/, 5)  # => ["a", "b", "c", "d", "e"]
p "a,b,c,d,e".split(/,/, 6)  # => ["a", "b", "c", "d", "e"]
p "a,b,c,d,e".split(/,/, 7)  # => ["a", "b", "c", "d", "e"]

# limit が負の数の場合は制限なく分割
p "a,b,c,,,".split(/,/, -1)    # => ["a", "b", "c", "", "", ""]


instance method String#squeeze

squeeze(*chars) -> String

chars に含まれる文字が複数並んでいたら 1 文字にまとめます。

chars の形式は tr(1) と同じです。つまり、 `a-c' は a から c を意味し、"^0-9" のように 文字列の先頭が `^' の場合は指定文字以外を意味します。

`-' は文字列の両端にない場合にだけ範囲指定の意味になります。 同様に、`^' もその効果は文字列の先頭にあるときだけです。また、 `-', `^', `\' はバックスラッシュ(`\')によ りエスケープすることができます。

引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。

引数を複数指定した場合は、すべての引数にマッチする文字を 1 文字にまとめます。

[PARAM] chars:
１文字にまとめる文字。

例:

p "112233445566778899".squeeze          # =>"123456789"
p "112233445566778899".squeeze("2-8")   # =>"11234567899"

# 以下の 2 つは同じ意味
p "112233445566778899".squeeze("2378")          # =>"11234455667899"
p "112233445566778899".squeeze("2-8", "^4-6")   # =>"11234455667899"
squeeze([str]) -> String [redefined by jcode]
squeeze!([str]) -> String|nil [redefined by jcode]

String#squeeze の日本語対応版です。 指定した文字を1文字にまとめます。

ただしこのメソッドは置き換え前の物とは異なり、 2つ以上の引数を取ることはできません。

[PARAM] str:
1文字にまとめる文字のパターン。

例：

#!/usr/bin/env ruby

$KCODE = 'EUC'
zstr = 'ＡＡＢＢＣＣ'
hoge = 'hhoge'

p zstr.squeeze   # => "ＡＡＢＢＣＣ"
p hoge.squeeze   # => "hoge"

require 'jcode'
p zstr.squeeze   # => "ＡＢＣ"
p hoge.squeeze   # => "hoge"


instance method String#squeeze!

squeeze!(*chars) -> ()

chars に含まれる文字が複数並んでいたら 1 文字にまとめます。

chars の形式は tr(1) と同じです。つまり、 `a-c' は a から c を意味し、"^0-9" のように 文字列の先頭が `^' の場合は指定文字以外を意味します。

`-' は文字列の両端にない場合にだけ範囲指定の意味になります。 同様に、`^' もその効果は文字列の先頭にあるときだけです。また、 `-', `^', `\' はバックスラッシュ(`\')によ りエスケープすることができます。

引数を 1 つも指定しない場合は、すべての連続した文字を 1 文字にまとめます。

引数を複数指定した場合は、すべての引数にマッチする文字を 1 文字にまとめます。

[PARAM] chars:
１文字にまとめる文字。

例:

str = "112233445566778899"
str.squeeze!
p str    # =>"123456789"

str = "112233445566778899"
str.squeeze!("2-8")
p str    # =>"11234567899"


instance method String#start_with?

start_with?(str) -> bool

self の先頭が str であるとき true を返します。

[PARAM] str:
パターンを表す文字列

例:

"string".end_with?("str")   # => true
"string".end_with?("ing")   # => false

[SEE_ALSO] String#end_with?


instance method String#strip

strip -> String

文字列先頭と末尾の空白文字を全て取り除いた文字列を生成して返します。 空白文字の定義は " \t\r\n\f\v" です。 また、文字列右側からは "\0" も取り除きますが、 左側の "\0" は取り除きません。

例:

p "  abc  \r\n".strip    #=> "abc"
p "abc\n".strip          #=> "abc"
p "  abc".strip          #=> "abc"
p "abc".strip            #=> "abc"
p "  \0  abc  \0".strip  # => "\000  abc"   # 右側のみ "\0" も取り除く

str = "\tabc\n"
p str.strip              #=> "abc"
p str                    #=> "\tabc\n" (元の文字列は変化しない)

[SEE_ALSO] String#lstrip, String#rstrip


instance method String#strip!

strip! -> self | nil

先頭と末尾の空白文字を全て破壊的に取り除きます。 空白文字の定義は " \t\r\n\f\v" です。 また、文字列右側からは "\0" も取り除きますが、 左側の "\0" は取り除きません。

strip! は、内容を変更した self を返します。 ただし取り除く空白がなかったときは nil を返します。

例:

str = "  abc\r\n"
p str.strip!     #=> "abc"
p str            #=> "abc"

str = "abc"
p str.strip!     #=> nil
p str            #=> "abc"

str = "  \0  abc  \0"
str.strip!
p str            # => "\000  abc"   # 右側の "\0" のみ取り除かれる

[SEE_ALSO] String#strip, String#lstrip


instance method String#sub

sub(pattern, replace) -> String

文字列中で pattern にマッチした最初の部分を 文字列 replace で置き換えた文字列を生成し返します。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 \1 ... \9 は n 番目の括弧の内容に置き換えられます。 置換文字列内では \`、\'、\+ も使えます。 これらは $`、$'、$+ に対応します。

[PARAM] pattern:
置き換える文字列のパターン
[PARAM] replace:
pattern で指定した文字列と置き換える文字列

例:

p 'abcdefg'.sub(/def/, '!!')          # => "abc!!g"
p 'abcabc'.sub(/b/, '<<\&>>')         # => "a<<b>>cabc"
p 'xxbbxbb'.sub(/x+(b+)/, 'X<<\1>>')  # => "X<<bb>>xbb"

注意:

第 2 引数 replace に $1 を埋め込んでも意図した結果にはなりません。 この文字列が評価される時点ではまだ正規表現マッチが行われておらず、 $1 がセットされていないからです。

また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、 replace に「\」自身を入れたいときは 「\」を二重にエスケープしなければなりません。

# ひとつめの括弧の内容に置き換えるときによくある間違い
p 'xbbb-xbbb'.sub(/x(b+)/, "#{$1}")   # => "-xbbb"     # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\1")      # => "1-xbbb"    # NG
p 'xbbb-xbbb'.sub(/x(b+)/, "\\1")     # => "bbb-xbbb"  # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\1')      # => "bbb-xbbb"  # OK
p 'xbbb-xbbb'.sub(/x(b+)/, '\\1')     # => "bbb-xbbb"  # OK

# バックスラッシュを倍にするときによくある間違い
puts '\n'.sub(/\\/, "\\\\")      # => \n   # NG
puts '\n'.sub(/\\/, '\\\\')      # => \n   # NG
puts '\n'.sub(/\\/, "\\\\\\\\")  # => \\n  # OK
puts '\n'.sub(/\\/, '\\\\\\\\')  # => \\n  # OK

このような間違いを確実に防止し、コードの可読性を上げるには、 \& や \1 よりも下記のようにブロック付き形式の sub を使うべきです。

p 'xbbb-xbbb'.sub(/x(b+)/) { $1 }   # => "bbb-xbbb"  # OK

puts '\n'.sub(/\\/) { '\\\\' }      # => \\n        # OK

[SEE_ALSO] String#gsub

sub(pattern) {|matched| .... } -> String

文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果で置き換えた新しい文字列を返します。 ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

[PARAM] pattern:
置き換える文字列のパターン

例:

p 'abcabc'.sub(/b/) {|s| s.upcase }  #=> "aBcabc"
p 'abcabc'.sub(/b/) { $&.upcase }    #=> "aBcabc"

[SEE_ALSO] String#gsub


instance method String#sub!

sub!(pattern, replace) -> self | nil

文字列中で pattern にマッチした最初の部分を文字列 replace へ破壊的に置き換えます。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 \1 ... \9 は n 番目の括弧の内容に置き換えられます。 置換文字列内では \`、\'、\+ も使えます。 これらは $`、$'、$+ に対応します。

sub! は通常 self を変更して返しますが、 置換が起こらなかった場合は nil を返します。

[PARAM] pattern:
置き換える文字列のパターン
[PARAM] replace:
pattern で指定した文字列と置き換える文字列
[RETURN]
置換した場合は self、置換しなかった場合は nil

例:

buf = "String-String"
buf.sub!(/in./, "!!")
p buf   # => "Str!!-String"

buf = "String.String"
buf.sub!(/in./, '<<\&>>')
p buf   # => "Str<<ing>>-String"

注意:

引数 replace の中で $1 を使うことはできません。 replace は sub メソッドの呼び出しより先に評価されるので、 まだ sub の正規表現マッチが行われておらず、 $1 がセットされていないからです。

また、sub では「\」が部分文字列との置き換えという特別な意味を持つため、 replace に「\」自身を入れたいときは 「\」を二重にエスケープしなければなりません。

例:

# ひとつめの括弧にマッチした部分に置き換えるときによくやる間違い
'abbbcd'.sub!(/a(b+)/, "#{$1}")       # NG
'abbbcd'.sub!(/a(b+)/, "\1")          # NG
'abbbcd'.sub!(/a(b+)/, "\\1")         # OK
'abbbcd'.sub!(/a(b+)/, '\\1')         # OK
'abbbcd'.sub!(/a(b+)/, '\1')          # OK
'abbbcd'.sub!(/a(b+)/) { $1 }         # OK   これがもっとも安全

[SEE_ALSO] String#gsub

sub!(pattern) {|matched| .... } -> self | nil

文字列中で pattern にマッチした最初の部分をブロックに渡し、 その評価結果へ破壊的に置き換えます。

Ruby 1.6 以前では pattern が文字列の場合、 その文字列を正規表現にコンパイルしていました。 しかし Ruby 1.8 以降では、その文字列そのものがパターンになります。

また、ブロックなしの sub と違い、ブロックの中からは 組み込み変数 $1, $2, $3, ... を問題なく参照できます。

[PARAM] pattern:
置き換える文字列のパターン
[RETURN]
置換した場合は self、置換しなかった場合は nil

例:

str = 'abcabc'
str.sub!(/b/) {|s| s.upcase }
p str    #=> "aBcabc"

str = 'abcabc'
str.sub!(/b/) { $&.upcase }
p str    #=> "aBcabc"

[SEE_ALSO] String#gsub


instance method String#succ

succ -> String [redefined by jcode]
succ! -> String|nil [redefined by jcode]

String#succ の日本語対応版です。 「次の」文字列を返します。

以下のような次の文字列を返します。

"あaあ".succ => "あaぃ"
"rｂ".succ => "rｃ"
"_紅玉".succ => "_紅桐"

従来の String#succ は、 多バイト文字と半角文字が混在している文字列を 意図通りに処理することができません。 例えば上記のコードは、それぞれ "あbあ"、"sｂ"、"_紘玉"(最後のは SJIS 環境の場合の例で、 EUC-JP の場合はこうはなりません)を返します。

なお、"99" の次は "100" になるのに対し、 "９９" の次は "１００" にはならないことに注意。 "Ａｚ" や "ｚｚ" も同様です。つまり多バイト文字では 従来の String#succ のようなアルファベットや数字に 関する繰り上げを行わないということです。


instance method String#sum

sum(bits = 16) -> Integer

文字列の bits ビットのチェックサムを計算します。 以下と同じです。

def sum(bits)
  sum = 0
  each_byte {|c| sum += c }
  return 0 if sum == 0
  sum & ((1 << bits) - 1)
end

例えば以下のコードで UNIX System V の sum(1) コマンドと同じ値が得られます。

例:

sum = 0
ARGF.each_line do |line|
  sum += line.sum
end
sum %= 65536
[PARAM] bits:
チェックサムのビット数


instance method String#swapcase

swapcase -> String

'A' から 'Z' までのアルファベット大文字を小文字に、 'a' から 'z' までのアルファベット小文字を大文字に変更した文字列を返します。

このメソッドはマルチバイト文字を認識しません。 そのため、文字列が Shift JIS エンコーディングで、 かつ $KCODE が適切に設定されていない場合、 マルチバイト文字の一部も変換してしまう場合があります。 逆に、$KCODE を設定しても マルチバイト文字のアルファベットは処理しません。

例:

p "ABCxyz".swapcase   # => "abcXYZ"
p "Access".swapcase   # => "aCCESS"

# -*- Coding: shift_jis -*-
$KCODE = 'n'
puts "蟻".swapcase   # => 帰

[SEE_ALSO] String#upcase, String#downcase, String#capitalize


instance method String#swapcase!

swapcase! -> self | nil

'A' から 'Z' までのアルファベット大文字を小文字に、 'a' から 'z' までのアルファベット小文字を大文字に、破壊的に変更します。

swapcase! は self を変更して返しますが、 置換が起こらなかった場合は nil を返します。

このメソッドはマルチバイト文字を認識しません。 そのため、文字列が Shift JIS エンコーディングで、 かつ $KCODE が適切に設定されていない場合、 マルチバイト文字の一部も変換してしまう場合があります。 逆に、$KCODE を設定しても マルチバイト文字のアルファベットは処理しません。

例:

str = "ABCxyz"
str.swapcase!
p str   # => "abcXYZ"

# -*- Coding: shift_jis -*-
$KCODE ='n'
puts "蟻".swapcase   # => 帰

[SEE_ALSO] String#upcase, String#downcase, String#capitalize


Ruby 1.8.7 Reference Manual > All Libraries > library bigdecimal/util > class String > to_d

instance method String#to_d

to_d [added by bigdecimal/util]

BigDecimalに変換する


instance method String#to_f

to_f -> Float

文字列を 10 進数表現と解釈して、浮動小数点数 Float に変換します。

浮動小数点数とみなせなくなるところまでを変換対象とします。 変換対象が空文字列であれば 0.0 を返します。

例:

p "10".to_f    # => 10.0
p "10e2".to_f  # => 1000.0
p "1e-2".to_f  # => 0.01
p ".1".to_f    # => 0.1

p "nan".to_f   # => 0.0
p "INF".to_f   # => 0.0
p "-Inf".to_f  # => -0.0
p(("10" * 1000).to_f)   # => Infinity (with warning)

p "".to_f      # => 0.0
p "1_0_0".to_f # => 100.0
p " \n10".to_f # => 10.0       # 先頭の空白は無視される
p "0xa.a".to_f # => 0.0

なお、このメソッドの逆に、数値を文字列に変換するには Kernel.#sprintf,String#%,Integer#to_s を使用します。

[SEE_ALSO] String#hex, String#oct, String#to_i, Kernel.#Integer, Kernel.#Float


instance method String#to_i

to_i(base = 10) -> Integer

文字列を 10 進数表現された整数であると解釈して、整数に変換します。

p " 10".to_i    # => 10
p "+10".to_i    # => 10
p "-10".to_i    # => -10

p "010".to_i    # => 10
p "-010".to_i   # => -10

整数とみなせない文字があればそこまでを変換対象とします。 変換対象が空文字列であれば 0 を返します。

p "0x11".to_i   # => 0
p "".to_i       # => 0

基数を指定することでデフォルトの 10 進以外に 2 〜 36 進数表現へ変換できます。 それぞれ Ruby の整数リテラルで使用可能なプリフィクスは無視されます。 また、base に 0 を指定するとプリフィクスから基数を判断します。 認識できるプリフィクスは、 0b (2 進数)、0 (8 進数)、0o (8 進数)、0d (10 進数)、0x (16 進数) です。

0, 2 〜 36 以外の引数を指定した場合は 例外 ArgumentError が発生します。

p "01".to_i(2)    # => 1
p "0b1".to_i(2)   # => 1

p "07".to_i(8)    # => 7
p "0o7".to_i(8)   # => 7

p "1f".to_i(16)   # => 31
p "0x1f".to_i(16) # => 31

p "0b10".to_i(0)  # => 2
p "0o10".to_i(0)  # => 8
p "010".to_i(0)   # => 8
p "0d10".to_i(0)  # => 10
p "0x10".to_i(0)  # => 16
[PARAM] base:
進数を指定する整数。0 か、2〜36 の整数。
[RETURN]
整数

このメソッドの逆に数値を文字列に変換するには、 Kernel.#sprintf, String#%, Integer#to_s を使用します。

String#hex, String#oct, String#to_f, Kernel.#Integer, Kernel.#Float も参照してください。


instance method String#to_ptr

to_ptr -> DL::PtrData [added by dl]

自身を複製し、複製した文字列を指す DL::PtrData を返します。 この返り値には、DL::FREE が free 関数としてセットされています。

s = 'abc'
sp = s.to_ptr
p sp.size #=> 3
p sp.to_s #=> "abc"
p sp[0] = 'A'
p sp.to_s #=> "Abc"
p s       #=> "abc"


instance method String#to_s

to_s -> String
to_str -> String

self を返します。

例:

p "str".to_s     # => "str"
p "str".to_str   # => "str"

このメソッドは、文字列を他のクラスのインスタンスと混ぜて処理したいときに有効です。 例えば返り値が文字列か nil であるメソッド some_method があるとき、 to_s メソッドを使うと以下のように統一的に処理できます。

# some_method(5).downcase だと返り値が nil のときに
# エラーになるので to_s をはさむ
p some_method(5).to_s.downcase


instance method String#toeuc

toeuc -> String [added by kconv]

self のエンコーディングを EUC-JP に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-exm0', str) を使ってください。

[SEE_ALSO] Kconv.#toeuc


instance method String#tojis

tojis -> String [added by kconv]

self のエンコーディングを iso-2022-jp に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-jxm0', str) を使ってください。

[SEE_ALSO] Kconv.#tojis


instance method String#tosjis

tosjis -> String [added by kconv]

self のエンコーディングを shift_jis に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-sxm0', str) を使ってください。

[SEE_ALSO] Kconv.#tosjis


instance method String#toutf8

toutf8 -> String [added by kconv]

self のエンコーディングを UTF-8 に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-wxm0', str) を使ってください。

[SEE_ALSO] Kconv.#toutf8


instance method String#toutf16

toutf16 -> String [added by kconv]

self のエンコーディングを UTF-16BE に変換した文字列を 返します。変換元のエンコーディングは文字列の内容から推測します。

このメソッドは MIME エンコードされた文字列を展開し、 いわゆる半角カナを全角に変換します。 これらを変換したくない場合は、 NKF.#nkf('-w16xm0', str) を使ってください。

[SEE_ALSO] Kconv.#toutf16


instance method String#tr

tr(pattern, replace) -> String

pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に置き換えます。

pattern の形式は tr(1) と同じです。つまり、 `a-c' は a から c を意味し、"^0-9" のように 文字列の先頭が `^' の場合は指定文字以外が置換の対象になります。

replace に対しても `-' による範囲指定が可能です。 例えば String#upcase は tr を使って "foo".tr('a-z', 'A-Z') と書けます。

`-' は文字列の両端にない場合にだけ範囲指定の意味になります。 `^' も文字列の先頭にあるときにだけ否定の効果を発揮します。 また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。

replace の範囲が pattern の範囲よりも小さい場合は、 replace の最後の文字が無限に続くものとして扱われます。

[PARAM] pattern:
置き換える文字のパターン
[PARAM] replace:
pattern で指定した文字を置き換える文字

例:

p "foo".tr("f", "X")      # => "Xoo"
p "foo".tr('a-z', 'A-Z')  # => "FOO"
p "FOO".tr('A-Z', 'a-z')  # => "foo"

[SEE_ALSO] String#tr_s

tr(search, replace) -> String [redefined by jcode]
tr!(search, replace) -> String|nil [redefined by jcode]

String#tr の日本語対応版です。 search に含まれる文字を検索し、 replace の対応する文字に 置き換えます。

[PARAM] search:
置き換える文字のパターン
[PARAM] replace:
pattern で指定した文字を置き換える文字

例:

#!/usr/bin/env ruby

$KCODE = 'EUC'
zstr = 'ＡＡＢＢＣＣ'
hoge = 'hhoge'

p zstr.tr('Ａ-Ｚ','A-Z')    # => "A疏疏汰汰蛋\303"
p hoge.tr('a-z','Ａ-Ｚ')    # => "旙旙\332"

require 'jcode'
p zstr.tr('Ａ-Ｚ','A-Z')    # => "AABBCC"
p hoge.tr('a-z','Ａ-Ｚ')    # => "ＨＨＯＧＥ"

[SEE_ALSO] String#tr_s


instance method String#tr!

tr!(pattern, replace) -> self | nil

pattern 文字列に含まれる文字を検索し、 それを replace 文字列の対応する文字に破壊的に置き換えます。

pattern の形式は tr(1) と同じです。 つまり、`a-c' は a から c を意味し、 "^0-9" のように文字列の先頭が `^' の場合は 指定文字以外が置換の対象になります。

replace に対しても `-' による範囲指定が可能です。 例えば、String#upcase を tr で書くと、

p "foo".tr('a-z', 'A-Z')
=> "FOO"

となります。

`-' は文字列の両端にない場合にだけ範囲指定の意味になります。 `^' も文字列の先頭にあるときにだけ否定の効果を発揮します。 また、`-', `^', `\' はバックスラッシュ (`\') によりエスケープできます。

replace の範囲が pattern の範囲よりも小さい場合は、 replace の最後の文字が無限に続くものと扱われます。

tr! は self を変更して返しますが、 置換が起こらなかった場合は nil を返します。

[PARAM] pattern:
置き換える文字のパターン
[PARAM] replace:
pattern で指定した文字を置き換える文字

[SEE_ALSO] String#tr, String#tr_s


instance method String#tr_s

tr_s(pattern, replace) -> String

文字列の中に pattern 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。

pattern の形式は tr(1) と同じです。 つまり「a-c」は a から c を意味し、 "^0-9" のように文字列の先頭が「^」の場合は指定した文字以外が置換の対象になります。

replace でも「-」を使って範囲を指定できます。

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 同様に、「^」もその効果は文字列の先頭にあるときだけです。 また、「-」、「^」、「\」はバックスラッシュ (「\」) でエスケープできます。

replace の範囲が pattern の範囲よりも小さい場合、 replace の最後の文字が無限に続くものとして扱われます。

[PARAM] pattern:
置き換える文字のパターン
[PARAM] replace:
pattern で指定した文字を置き換える文字

例:

p "gooooogle".tr_s("o", "X")       # => "gXgle"
p "gooooogle".tr_s("a-z", "A-Z")   # => "GOGLE"

注意: 一般に、tr_s を tr と squeeze で置き換えることはできません。 tr と squeeze の組みあわせでは tr の置換後の文字列全体を squeeze しますが、 tr_s は置換された部分だけを squeeze します。 以下のコードを参照してください。

p "foo".tr_s("o", "f")              # => "ff"
p "foo".tr("o", "f").squeeze("f")   # => "f"

[SEE_ALSO] String#tr

tr_s(search, replace) -> String [redefined by jcode]
tr_s!(search, replace) -> String|nil [redefined by jcode]

String#tr_s の日本語対応版です。 文字列の中に search 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。

[PARAM] search:
置き換える文字のパターン
[PARAM] replace:
pattern で指定した文字を置き換える文字

例:

$KCODE = 'EUC'

p "foo".tr_s("o", "f")        # => "ff"
p "ｆｏｏ".tr_s("ｏ", "ｆ")   # => TODO: fill result

require 'jcode'
p "foo".tr_s("o", "f")        # => "ff"
p "ｆｏｏ".tr_s("ｏ", "ｆ")   # => "ｆｆ"

[SEE_ALSO] String#tr


instance method String#tr_s!

tr_s!(pattern, replace) -> self | nil

文字列の中に pattern 文字列に含まれる文字が存在したら、 replace 文字列の対応する文字に置き換えます。さらに、 置換した部分内に同一の文字の並びがあったらそれを 1 文字に圧縮します。

pattern の形式は tr(1) と同じです。 つまり「a-c」は a から c を意味し、 "^0-9" のように文字列の先頭が「^」の場合は指定した文字以外が置換の対象になります。

replace でも「-」を使って範囲を指定できます。

p "gooooogle".tr_s("a-z", "A-Z")   # => "GOGLE"

「-」は文字列の両端にない場合にだけ範囲指定の意味になります。 同様に、「^」もその効果は文字列の先頭にあるときだけです。 また、「-」、「^」、「\」はバックスラッシュ (「\」) でエスケープできます。

replace の範囲が search の範囲よりも小さい場合、 replace の最後の文字が無限に続くものとして扱われます。

tr_s は置換後の文字列を生成して返します。 tr_s! は self を変更して返しますが、 置換が起こらなかった場合は nil を返します。

注意: 一般に、tr_s! を tr! と squeeze! で置き換えることはできません。 tr! と squeeze! の組みあわせでは tr! の置換後の文字列全体を squeeze! しますが、 tr_s! は置換された部分だけを squeeze! します。 以下のコードを参照してください。

str = "foo"
str.tr_s!("o", "f")
p str   # => "ff"

str = "foo"
str.tr!("o", "f")
str.squeeze!("f")
p str   # => "f"
[PARAM] pattern:
置き換える文字のパターン
[PARAM] replace:
pattern で指定した文字を置き換える文字

[SEE_ALSO] String#tr, String#tr_s


instance method String#unpack

unpack(template) -> Array

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

[PARAM] template:
pack テンプレート文字列
[RETURN]
オブジェクトの配列

以下にあげるものは、Array#pack、String#unpack のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字 を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」 を表すこともできます。

長さの意味はテンプレート文字により異なりますが大抵、

"iiii"

のように連続するテンプレート文字は

"i4"

と書き換えることができます。

テンプレート文字列中の空白類は無視されます。 また、`#' から改行あるいはテンプレート文字列の最後まではコメントとみな され無視されます。

整数のテンプレート文字のシステム依存性

各テンプレート文字の説明の中で、 short や long はシステムによらずそれぞれ 2, 4バイトサ イズの数値(32ビットマシンで一般的なshort, longのサイズ)を意味していま す。s, S, l, L に対しては直後に _ または ! を "s_" あるいは "s!" のように 続けることでシステム依存の short, long のサイズにすることもできます。

i, I (int)のサイズは常にシステム依存であり、n, N, v, V のサイズは常にシステム依存ではない(!をつけられない)ことに注意してください。

つまり、IO#ioctl などで C の構造体を渡すときのように、 システム依存のサイズとエンディアンに合わせる必要があるときには s!, S!, i!, I!, l!, L!, q!, Q! を用います。 また、ネットワークプロトコルやファイルフォーマットのように、 システムに依存しないデータを扱うときには n, N, v, V を用います。

まとめると以下のようになります。

エンディアン非依存、整数サイズ非依存 (ネットワークプロトコルなどに適切)
  n: big endian unsigned 16bit
  N: big endian unsigned 32bit
  v: little endian unsigned 16bit
  V: little endian unsigned 32bit
エンディアン依存、整数サイズ依存 (C の構造体などに適切)
  s!: signed short
  S!: unsigned short
  i!: signed int
  I!: unsigned int
  l!: signed long
  L!: unsigned long
  q!: signed long long
  Q!: unsigned long long
エンディアン依存、整数サイズ非依存 (C99 の stdint.h にある厳密な幅を持つ整数型に適切)
  s: int16_t
  S: uint16_t
  l: int32_t
  L: uint32_t

各テンプレート文字の説明

説明中、Array#pack と String#unpack で違いのあるものは `/' で区切って 「Array#pack の説明 / String#unpack の説明」としています。

a

ASCII文字列(null文字を詰める/後続するnull文字やスペースを残す)

    ["abc"].pack("a")    # => "a"
    ["abc"].pack("a*")   # => "abc"
    ["abc"].pack("a4")   # => "abc\0"

    "abc\0".unpack("a4") # => ["abc\0"]
    "abc ".unpack("a4")  # => ["abc "]
A

ASCII文字列(スペースを詰める/後続するnull文字やスペースを削除)

    ["abc"].pack("A")    # => "a"
    ["abc"].pack("A*")   # => "abc"
    ["abc"].pack("A4")   # => "abc "

    "abc ".unpack("A4")  # => ["abc"]
    "abc\0".unpack("A4") # => ["abc"]
Z

null終端文字列(aと同じ / 後続するnull文字を削除)

    ["abc"].pack("Z")  # => "a"
    ["abc"].pack("Z*") # => "abc"
    ["abc"].pack("Z4") # => "abc\0"

    "abc\0".unpack("Z4") # => ["abc"]
    "abc ".unpack("Z4")  # => ["abc "]
b

ビットストリング(各バイトごとに下位ビットから上位ビット)

    "\377\000".unpack("b*") # => ["1111111100000000"]
    "\001\002".unpack("b*") # => ["1000000001000000"]
    "\001\002".unpack("b3") # => ["100"]

    ["1000000001000000"].pack("b*") # => "\001\002"
B

ビットストリング(各バイトごとに上位ビットから下位ビット)

    "\377\000".unpack("B*")  # => ["1111111100000000"]
    "\001\002".unpack("B*")  # => ["0000000100000010"]
    "\001\002".unpack("B9")  # => ["000000010"]
    "\001\002".unpack("B15") # => ["000000010000001"]

    ["0000000100000010"].pack("B*")  # => "\001\002"
    ["0000000100000010"].pack("B0")  # => ""
    ["0000000100000010"].pack("B1")  # => "\000"
    ["0000000100000010"].pack("B7")  # => "\000"
    ["0000000100000010"].pack("B8")  # => "\001"
    ["0000000100000010"].pack("B9")  # => "\001\000"
    ["0000000100000010"].pack("B14") # => "\001\000"
    ["0000000100000010"].pack("B15") # => "\001\002"
    ["0000000100000010"].pack("B16") # => "\001\002"
h

16進文字列(下位ニブルが先)

    "\x01\xfe".unpack("h*") # => ["10ef"]
    "\x01\xfe".unpack("h3") # => ["10e"]

    ["10ef"].pack("h*") # => "\001\376"
H

16進文字列(上位ニブルが先)

    "\x01\xfe".unpack("H*") # => ["01fe"]
    "\x01\xfe".unpack("H3") # => ["01f"]
    "~".unpack("H2")        # => ["7e"]

    ["01fe"].pack("H*") # => "\001\376"
    ["7e"].pack("H2")   # => "~"
c

char (8bit 符号つき整数)

    "\001\376".unpack("c*") # => [1, -2]

    [1, -2].pack("c*")  # => "\001\376"
    [1, 254].pack("c*") # => "\001\376"
C

unsigned char (8bit 符号なし整数)

    "\001\376".unpack("C*") # => [1, 254]

    [1, -2].pack("C*")  # => "\001\376"
    [1, 254].pack("C*") # => "\001\376"
s

short (16bit 符号つき整数, エンディアンに依存) (s! は 16bit でなく、short のサイズに依存)

リトルエンディアン:

    "\001\002\376\375".unpack("s*") # => [513, -514]

    [513, 65022].pack("s*") # => "\001\002\376\375"
    [513, -514].pack("s*")  # => "\001\002\376\375"

ビッグエンディアン:

    "\001\002\376\375".unpack("s*") # => [258, -259]

    [258, 65277].pack("s*") # => "\001\002\376\375"
    [258, -259].pack("s*")  # => "\001\002\376\375"
S

unsigned short (16bit 符号なし整数, エンディアンに依存) (S! は 16bit でなく、short のサイズに依存)

リトルエンディアン:

    "\001\002\376\375".unpack("S*") # => [513, 65022]

    [513, 65022].pack("s*") # => "\001\002\376\375"
    [513, -514].pack("s*")  # => "\001\002\376\375"

ビッグエンディアン:

    "\001\002\376\375".unpack("S*") # => [258, 65277]

    [258, 65277].pack("S*") # => "\001\002\376\375"
    [258, -259].pack("S*")  # => "\001\002\376\375"
i

int (符号つき整数, エンディアンと int のサイズに依存)

リトルエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("i*") # => [67305985, -50462977]

    [67305985, 4244504319].pack("i*") # => RangeError
    [67305985, -50462977].pack("i*")  # => "\001\002\003\004\377\376\375\374"

ビッグエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("i*") # => [16909060, -66052]

    [16909060, 4294901244].pack("i*") # => RangeError
    [16909060, -66052].pack("i*")     # => "\001\002\003\004\377\376\375\374"
I

unsigned int (符号なし整数, エンディアンと int のサイズに依存)

リトルエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("I*") # => [67305985, 4244504319]

    [67305985, 4244504319].pack("I*") # => "\001\002\003\004\377\376\375\374"
    [67305985, -50462977].pack("I*")  # => "\001\002\003\004\377\376\375\374"

ビッグエンディアン, 32bit int:

    "\001\002\003\004\377\376\375\374".unpack("I*") # => [16909060, 4294901244]

    [16909060, 4294901244].pack("I*") # => "\001\002\003\004\377\376\375\374"
    [16909060, -66052].pack("I*")     # => "\001\002\003\004\377\376\375\374"
l

long (32bit 符号つき整数, エンディアンに依存) (l! は 32bit でなく、long のサイズに依存)

リトルエンディアン, 32bit long:

    "\001\002\003\004\377\376\375\374".unpack("l*") # => [67305985, -50462977]

    [67305985, 4244504319].pack("l*") # => RangeError
    [67305985, -50462977].pack("l*")  # => "\001\002\003\004\377\376\375\374"
L

unsigned long (32bit 符号なし整数, エンディアンに依存) (L! は 32bit でなく、long のサイズに依存)

リトルエンディアン, 32bit long:

    "\001\002\003\004\377\376\375\374".unpack("L*") # => [67305985, 4244504319]

    [67305985, 4244504319].pack("L*") # => "\001\002\003\004\377\376\375\374"
    [67305985, -50462977].pack("L*")  # => "\001\002\003\004\377\376\375\374"
q

long long (符号付き整数, エンディアンと long long のサイズに依存) (C で long long が扱えない場合には 64bit)

リトルエンディアン, 64bit long long:

    "\001\002\003\004\005\006\007\010\377\376\375\374\373\372\371\370".unpack("q*")
    # => [578437695752307201, -506097522914230529]

    [578437695752307201, -506097522914230529].pack("q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
    [578437695752307201, 17940646550795321087].pack("q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
Q

unsigned long long (符号なし整数, エンディアンと long long のサイズに依存) (C で long long が扱えない場合には 64bit)

リトルエンディアン, 64bit long long:

    "\001\002\003\004\005\006\007\010\377\376\375\374\373\372\371\370".unpack("Q*")
    # => [578437695752307201, 17940646550795321087]

    [578437695752307201, 17940646550795321087].pack("Q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
    [578437695752307201, -506097522914230529].pack("Q*")
    # => "\001\002\003\004\005\006\a\010\377\376\375\374\373\372\371\370"
m

base64された文字列。60 オクテットごと(と最後)に改行コードが付加されます。

Base64は、3オクテット(8bits * 3 = 24bits)のバイナリコードをASCII文字の うちの65文字 ([A-Za-z0-9+/]の64文字とpaddingのための'=')だけを使用して 4オクテット(6bits * 4 = 24bits)の印字可能文字列に変換するエンコーディ ング法です。[RFC2045] で定義されています。

    [""].pack("m")             # => ""
    ["\0"].pack("m")           # => "AA==\n"
    ["\0\0"].pack("m")         # => "AAA=\n"
    ["\0\0\0"].pack("m")       # => "AAAA\n"
    ["\377"].pack("m")         # => "/w==\n"
    ["\377\377"].pack("m")     # => "//8=\n"
    ["\377\377\377"].pack("m") # => "////\n"

    ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"].pack("m")
    # => "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n"
    ["abcdefghijklmnopqrstuvwxyz"].pack("m3")
    # => "YWJj\nZGVm\nZ2hp\namts\nbW5v\ncHFy\nc3R1\ndnd4\neXo=\n"

    "".unpack("m")       # => [""]
    "AA==\n".unpack("m") # => ["\000"]
    "AA==".unpack("m")   # => ["\000"]

    "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJT\nVFVWV1hZWg==\n".unpack("m")
    # => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
    "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==\n".unpack("m")
    # => ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"]
M

quoted-printable encoding された文字列

    ["a b c\td \ne"].pack("M") # => "a b c\td =\n\ne=\n"

    "a b c\td =\n\ne=\n".unpack("M") # => ["a b c\td \ne"]
n

ネットワークバイトオーダー(ビッグエンディアン)のunsigned short (16bit 符号なし整数)

    [0,1,-1,32767,-32768,65535].pack("n*")
    # => "\000\000\000\001\377\377\177\377\200\000\377\377"

    "\000\000\000\001\377\377\177\377\200\000\377\377".unpack("n*")
    # => [0, 1, 65535, 32767, 32768, 65535]
N

ネットワークバイトオーダー(ビッグエンディアン)のunsigned long (32bit 符号なし整数)

    [0,1,-1].pack("N*") # => "\000\000\000\000\000\000\000\001\377\377\377\377"

    "\000\000\000\000\000\000\000\001\377\377\377\377".unpack("N*") # => [0, 1, 4294967295]
v

"VAX"バイトオーダー(リトルエンディアン)のunsigned short (16bit 符号なし整数)

    [0,1,-1,32767,-32768,65535].pack("v*")
    # => "\000\000\001\000\377\377\377\177\000\200\377\377"

    "\000\000\001\000\377\377\377\177\000\200\377\377".unpack("v*")
    # => [0, 1, 65535, 32767, 32768, 65535]
V

"VAX"バイトオーダー(リトルエンディアン)のunsigned long (32bit 符号なし整数)

    [0,1,-1].pack("V*") # => "\000\000\000\000\001\000\000\000\377\377\377\377"

    "\000\000\000\000\001\000\000\000\377\377\377\377".unpack("V*") # => [0, 1, 4294967295]
f

単精度浮動小数点数(機種依存)

IA-32 (x86) (IEEE754 単精度 リトルエンディアン):

    [1.0].pack("f")      # => "\000\000\200?"
    [0.0/0.0].pack("f")  # => "\000\000\300\377"      # NaN
    [1.0/0.0].pack("f")  # => "\000\000\200\177"      # +Inf
    [-1.0/0.0].pack("f") # => "\000\000\200\377"      # -Inf

SPARC (IEEE754 単精度 ビッグエンディアン):

    [1.0].pack("f")      # => "?\200\000\000"
    [0.0/0.0].pack("f")  # => "\177\377\377\377"      # NaN
    [1.0/0.0].pack("f")  # => "\177\200\000\000"      # +Inf
    [-1.0/0.0].pack("f") # => "\377\200\000\000"      # -Inf

VAX (NetBSD 3.0) (非IEEE754):

    [1.0].pack("f") # => "\200@\000\000"
d

倍精度浮動小数点数(機種依存)

IA-32 (IEEE754 倍精度 リトルエンディアン):

    [1.0].pack("d")      # => "\000\000\000\000\000\000\360?"
    [0.0/0.0].pack("d")  # => "\000\000\000\000\000\000\370\377"      # NaN
    [1.0/0.0].pack("d")  # => "\000\000\000\000\000\000\360\177"      # +Inf
    [-1.0/0.0].pack("d") # => "\000\000\000\000\000\000\360\377"      # -Inf

SPARC (IEEE754 倍精度 ビッグエンディアン):

    [1.0].pack("d")      # => "?\360\000\000\000\000\000\000"
    [0.0/0.0].pack("d")  # => "\177\377\377\377\377\377\377\377"      # NaN
    [1.0/0.0].pack("d")  # => "\177\360\000\000\000\000\000\000"      # +Inf
    [-1.0/0.0].pack("d") # => "\377\360\000\000\000\000\000\000"      # -Inf

VAX (NetBSD 3.0) (非IEEE754):

    [1.0].pack("d") # => "\200@\000\000\000\000\000\000"
e

リトルエンディアンの単精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("e") # => "\000\000\200?"

SPARC (IEEE754):

    [1.0].pack("e") # => "\000\000\200?"
E

リトルエンディアンの倍精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("E") # => "\000\000\000\000\000\000\360?"

SPARC (IEEE754):

    [1.0].pack("E") # => "\000\000\000\000\000\000\360?"
g

ビッグエンディアンの単精度浮動小数点数(機種依存)

IA-32 (IEEE754):

    [1.0].pack("g") # => "?\200\000\000"

SPARC (IEEE754):

    [1.0].pack("g") # => "?\200\000\000"

IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。

    s = [v].pack("g").unpack("B*")[0][0,1]      # 符号
    e = [v].pack("g").unpack("B*")[0][1,8]      # 指数部
    f = [v].pack("g").unpack("B*")[0][9,23]     # 仮数部

そして、s, e, f の意味は以下の通りです。

    sgn = s == "0" ? +1.0 : -1.0
    exp = Integer("0b" + e)
    fra = Integer("0b" + f)
    if exp == 0
      if fra == 0
        sgn * 0                     # ±0 (positive/negative zero)
      else
        sgn * fra * 2**(-126-23)    # 非正規化数 (denormalized number)
      end
    elsif exp == 255
      if fra == 0
        sgn * Inf                   # ±∞ (positive/negative infinity)
      else
        NaN                         # 非数 (not a number)
      end
    else
      fra += 1 << 23                # ゲタ
      sgn * fra * 2**(exp-127-23)   # 正規化数 (normalized number)
    end
G

ビッグエンディアンの倍精度浮動小数点数(機種依存)

IA-32:

    [1.0].pack("G") # => "?\360\000\000\000\000\000\000"

SPARC:

    [1.0].pack("G") # => "?\360\000\000\000\000\000\000"

IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。

    s = [v].pack("G").unpack("B*")[0][0,1]    # 符号
    e = [v].pack("G").unpack("B*")[0][1,11]   # 指数部
    f = [v].pack("G").unpack("B*")[0][12,52]  # 仮数部

そして、s, e, f の意味は以下の通りです。

    sgn = s == "0" ? +1.0 : -1.0
    exp = Integer("0b" + e)
    fra = Integer("0b" + f)
    if exp == 0
      if fra == 0
        sgn * 0                     # ±0 (positive/negative zero)
      else
        sgn * fra * 2**(-1022-52)   # 非正規化数 (denormalized number)
      end
    elsif exp == 2047
      if fra == 0
        sgn * Inf                   # ±∞ (positive/negative infinity)
      else
        NaN                         # 非数 (not a number)
      end
    else
      fra += 1 << 52                # ゲタ
      sgn * fra * 2**(exp-1023-52)  # 正規化数 (normalized number)
    end
p

ナル終端の文字列へのポインタ

    [""].pack("p")             # => "\310\037\034\010"
    ["a", "b", "c"].pack("p3") # => " =\030\010\340^\030\010\360^\030\010"
    [nil].pack("p")            # => "\000\000\000\000"
P

構造体(固定長文字列)へのポインタ

    [nil].pack("P")    # => "\000\000\000\000"
    ["abc"].pack("P3") # => "x*\024\010"

    ["abc"].pack("P4") # => ArgumentError: too short buffer for P(3 for 4)
    [""].pack("P")     # => ArgumentError: too short buffer for P(0 for 1)
u

uuencodeされた文字列

    [""].pack("u")           # => ""
    ["a"].pack("u")          # => "!80``\n"
    ["abc"].pack("u")        # => "#86)C\n"
    ["abcd"].pack("u")       # => "$86)C9```\n"
    ["a"*45].pack("u")       # => "M86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A\n"
    ["a"*46].pack("u")       # => "M86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A86%A\n!80``\n"
    ["abcdefghi"].pack("u6") # => "&86)C9&5F\n#9VAI\n"
U

UTF-8

    [0].pack("U")                               # => "\000"
    [1].pack("U")                               # => "\001"
    [0x7f].pack("U")                            # => "\177"
    [0x80].pack("U")                            # => "\302\200"
    [0x7fffffff].pack("U")                      # => "\375\277\277\277\277\277"
    [0x80000000].pack("U")                      # => RangeError
    [0,256,65536].pack("U3")                    # => "\000\304\200\360\220\200\200"

    "\000\304\200\360\220\200\200".unpack("U3") # => [0, 256, 65536]
    "\000\304\200\360\220\200\200".unpack("U")  # => [0]
    "\000\304\200\360\220\200\200".unpack("U*") # => [0, 256, 65536]
w

BER圧縮整数

1バイトあたり7ビットを使用して必要最小限のバイト数で任意サイズの 0以上の整数を表す数値表現。各バイトの最上位ビットはデータの最後 を除いて必ず1が立っている(つまり最上位ビットはどこまでデータがあ るかを示している)。

ISO/IEC 8825-1:1995 : Information technology−ASN.1 encoding rules : Specification of Basic Encoding Rules(BER) に定められる整数の符号化方法。

    [0].pack("w")             # => "\000"
    [1].pack("w")             # => "\001"
    [127].pack("w")           # => "\177"
    [128].pack("w")           # => "\201\000"
    [0x3fff].pack("w")        # => "\377\177"
    [0x4000].pack("w")        # => "\201\200\000"
    [0x3fffffff].pack("w")    # => "\203\377\377\377\177"
    [0x40000000].pack("w")    # => "\204\200\200\200\000"
    [0xffffffff].pack("w")    # => "\217\377\377\377\177"
    [0x100000000].pack("w")   # => "\220\200\200\200\000"

    "\0".unpack("w")          # => [0]
    "\0\201\0\1".unpack("w*") # => [0, 128, 1]

なお、BER圧縮整数でエンコードした結果は大小関係を保存しない。 たとえば、[0x3fff].pack("w") > [0x4000].pack("w") である。

x

ナルバイト/1バイト読み飛ばす

    [?a, ?b].pack("CxC")    # => "a\000b"
    [?a, ?b].pack("Cx3C")   # => "a\000\000\000b"

    "a\000b".unpack("CxC")  # => [97, 98]
    "a\377b".unpack("CxC")  # => [97, 98]
    "a\377b".unpack("Cx3C") # => ArgumentError: x outside of string
X

1バイト後退

    [?a, ?b, ?c].pack("CCXC") # => "ac"

    "abcdef".unpack("x*XC") # => [102]
@

絶対位置への移動

    [?a, ?b].pack("C @3 C") # => "a\000\000b"

    "a\000\000b".unpack("C @3 C") # => [97, 98]

使用例

以下、pack/unpack の使用例の一部です。

pack を使用しなくても同じことができる場合はその例も載せています。 pack は暗号になりやすい面があることを考慮し、pack を使いたくない人 に別解を示すためです。

数値(文字コード)の配列を文字列に変換する例
    [82, 117, 98, 121].pack("cccc")  # => "Ruby"
    [82, 117, 98, 121].pack("c4")    # => "Ruby"
    [82, 117, 98, 121].pack("c*")    # => "Ruby"

    s = ""
    [82, 117, 98, 121].each {|c| s << c}
    s    # => "Ruby"

    [82, 117, 98, 121].collect {|c| sprintf "%c", c}.join   # => "Ruby"

    [82, 117, 98, 121].inject("") {|s, c| s << c}    # => "Ruby"
文字列を数値(文字コード)の配列に変換する例
    "Ruby".unpack('C*')    # => [82, 117, 98, 121]

    a = []
    "Ruby".each_byte {|c| a << c}
    a    # => [82, 117, 98, 121]
"x" でナルバイトを埋めることができる
    [82, 117, 98, 121].pack("ccxxcc")    # => "Ru\000\000by"
"x" で文字を読み飛ばす事が出来る
    "Ru\0\0by".unpack('ccxxcc')    # => [82, 117, 98, 121]
Hexダンプを数値の配列に変換する例
    "61 62 63 64 65 66".delete(' ').to_a.pack('H*').unpack('C*')
    # => [97, 98, 99, 100, 101, 102]

    "61 62 63 64 65 66".split.collect {|c| c.hex}
    # => [97, 98, 99, 100, 101, 102]
バイナリと16進数のpackでは長さ指定は生成されるバイト数ではなく、ビットやニブルの個数を表す
    [0b01010010, 0b01110101, 0b01100010, 0b01111001].pack("C4")
    # => "Ruby"
    ["01010010011101010110001001111001"].pack("B32") # 8 bits * 4
    # => "Ruby"

    [0x52, 0x75, 0x62, 0x79].pack("C4")
    # => "Ruby"
    ["52756279"].pack("H8")  # 2 nybbles * 4
    # => "Ruby"
テンプレート文字'a'の長さ指定は1つの文字列だけに適用される
    ["RUBY", "u", "b", "y"].pack("a4")
    # => "RUBY"

    ["RUBY", "u", "b", "y"].pack("aaaa")
    # => "Ruby"

    ["RUBY", "u", "b", "y"].pack("a*aaa")
    # => "RUBYuby"
テンプレート文字"a"は、長さが足りない分をヌル文字で補う
    ["Ruby"].pack("a8")
    # => "Ruby\000\000\000\000"
リトルエンディアンとビッグエンディアン
    [1,2].pack("s2")
    # => "\000\001\000\002" # ビッグエンディアンのシステムでの出力
    # => "\001\000\002\000" # リトルエンディアンのシステムでの出力

    [1,2].pack("n2")
    # => "\000\001\000\002" # システムによらずビッグエンディアン

    [1,2].pack("v2")
    # => "\001\000\002\000" # システムによらずリトルエンディアン
ネットワークバイトオーダの signed long
      s = "\xff\xff\xff\xfe"
      n = s.unpack("N")[0]
      if n[31] == 1
        n = -((n ^ 0xffff_ffff) + 1)
      end
      n # => -2
ネットワークバイトオーダの signed long(その2)
      s = "\xff\xff\xff\xfe"
      n = s.unpack("N").pack("l").unpack("l")[0]
      n # => -2
IPアドレス
      require 'socket'
      Socket.gethostbyname("localhost")[3].unpack("C4").join(".")
      # => "127.0.0.1"

      "127.0.0.1".split(".").collect {|c| c.to_i}.pack("C4")
      # => "\177\000\000\001"
sockaddr_in 構造体
      require 'socket'
      [Socket::AF_INET,
       Socket.getservbyname('echo'),
       127, 0, 0, 1].pack("s n C4 x8")
      # => "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"

pack/unpack を使う代わりに Socket.pack_sockaddr_in, Socket.unpack_sockaddr_in メソッドがあります。

'\0'終端文字列のアドレス

テンプレート文字 "p" や "P" は、C 言語レベルのインタフェースのた めにあります(例えば IO#ioctl)。

    ["foo"].pack("p")    # => "8\266\021\010"

結果の文字列はゴミに見えますが、実際は文字列"foo\0"を指すアドレ ス(のバイナリ表現)です。以下のようにすれば見慣れた表記で見ること が出来ます

    printf "%#010x\n", "8\266\021\010".unpack("L")[0] # => 0x0811b638

アドレスが指す先のオブジェクト(この例で "foo\0") は、pack の結 果が GC されるまではGCされないことが保証されています。

unpack("p"), unpack("P") は、pack の結果からしか unpack できません。

    ["foo"].pack("p").unpack("p") # => ["foo"]
    "8\266\021\010".unpack("p")
    # => -:1:in `unpack': no associated pointer (ArgumentError)
    #         from -:1

"p" や "P" は、nil を特別に扱い NULL ポインタとして解釈します。(以下は、32bitマシンで一般的な結果)

      [nil].pack("p")        # => "\000\000\000\000"
      "\0\0\0\0".unpack("p") # => [nil]
構造体のアドレス

例えば、

      struct {
        int   a;
        short b;
        long  c;
      } v = {1,2,3};

を表す文字列は

      v = [1,2,3].pack("i!s!l!")

です。(byte alignment の問題から実際は適当な padding が必要に なるかもしれません)

この構造体を指すアドレスは

      [v].pack("P")  # => "\300\265\021\010"

で得られます。

UTF-8からUCS-2への変換 (サロゲートを処理していないので UTF-16 とはいえない)

Little endian:

    ("Comments").unpack("U*").pack("v*") # => "C\000o\000m\000m\000e\000n\000t\000s\000"

Big endian:

    ("Comments").unpack("U*").pack("n*") # => "\000C\000o\000m\000m\000e\000n\000t\000s"


instance method String#upcase

upcase -> String

'a' から 'z' までのアルファベット小文字を大文字に変換した文字列を作成し返します。

このメソッドはマルチバイト文字列を認識しますが、 それはあくまでも「1 文字を 1 文字として認識する」だけであって、 いわゆる全角アルファベットの大文字小文字までは変換しません。

また、マルチバイト文字列に対応するためには $KCODE を設定する必要があります。 文字列が Shift JIS エンコーディングで $KCODE が適切に設定されていないときは 以下のようにマルチバイト文字の一部も変換してしまいます。

#coding:Shift_JIS
$KCODE = "SJIS"
puts "蟻".upcase   # => 蟻   ($KCODE が適切なので正しく無視された)

$KCODE = "NONE"
puts "蟻".upcase   # => 帰   ($KCODE が不適切なので誤って処理された)

例:

p "stRIng? STring.".upcase   # => "STRING? STRING."

[SEE_ALSO] String#upcase!, String#downcase, String#swapcase, String#capitalize


instance method String#upcase!

upcase! -> self | nil

ASCII 文字列の範囲内で 'a' から 'z' までの アルファベット小文字を全て大文字にします。 このメソッドは self を破壊的に変更して返しますが、 置換が起こらなかった場合は nil を返します。

このメソッドはマルチバイト文字列を認識しますが、 それはあくまでも「1 文字を 1 文字として認識する」だけであって、 いわゆる全角アルファベットの大文字小文字までは変換しません。

また、マルチバイト文字列に対応するためには $KCODE を設定する必要があります。 文字列が Shift JIS エンコーディングで $KCODE が適切に設定されていないときは 以下のようにマルチバイト文字の一部も変換してしまいます。

#coding:Shift_JIS
$KCODE = "SJIS"
str = "蟻"
str.upcase!
puts str   # => 蟻   ($KCODE が適切なので正しく無視された)

$KCODE = "NONE"
str = "蟻"
str.upcase!
puts str   # => 帰   ($KCODE が不適切なので誤って処理された)

例:

buf = "stRIng? STring."
buf.upcase!
p buf   # => "STRING? STRING."

[SEE_ALSO] String#upcase, String#downcase!, String#swapcase!, String#capitalize!


instance method String#upto

upto(max, exclusive = false) {|s| ... } -> self

self から始めて max まで 「次の文字列」を順番にブロックに与えて繰り返します。 「次」の定義については String#succ を参照してください。

たとえば以下のコードは a, b, c, ... z, aa, ... az, ..., za を 出力します。

("a" .. "za").each do |str|
  puts str
end
'a'.upto('za') do |str|
  puts str
end
[PARAM] max:
繰り返しをやめる文字列
[PARAM] exclusive:
max を含むかどうか。false の場合は max を含む。


singleton method String.new

new(string = "") -> String

string と同じ内容の新しい文字列を作成して返します。 引数を省略した場合は空文字列を生成して返します。

[PARAM] string:
文字列
[RETURN]
引数 string と同じ内容の文字列オブジェクト


instance method StringIO#<<

self << obj -> self

obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで 文字列に変換します。 self を返します。

[PARAM] obj:
自身に書き込みたい、文字列か to_s が定義されたオブジェクトを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > binmode

instance method StringIO#binmode

binmode -> self

何もせずに self を返します。


instance method StringIO#bytes

each_byte {|ch| ... } -> self
bytes {|ch| ... } -> self
each_byte -> Enumerable::Enumerator
bytes -> Enumerable::Enumerator

自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

[EXCEPTION] IOError:
自身が読み取り不可なら発生します。
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }

#=>
104
111
103
101


instance method StringIO#chars

each_char {|c| ... } -> self
chars {|c| ... } -> self
each_char -> Enumerable::Enumerator
chars -> Enumerable::Enumerator

自身に含まれる文字を一文字ずつブロックに渡して評価します。

自身は読み込み用にオープンされていなければなりません。

また、マルチバイト文字列を使用する場合は $KCODE を適切に設定してください。

[EXCEPTION] IOError:
自身が読み込み用にオープンされていない場合に発生します。

[SEE_ALSO] IO#each_char


instance method StringIO#close

close -> nil

自身を close します。以後、自身に対する読み書きが禁止されます。 close された StringIO に読み書き等が行われると IOError が発生します。

[EXCEPTION] IOError:
自身がすでに close されていた時に発生します。


instance method StringIO#close_read

close_read -> nil

自身に対する読み取りを禁止します。

[EXCEPTION] IOError:
自身がすでに読みとり不可だった場合に発生します。


instance method StringIO#close_write

close_write -> nil

自身に対する書き込みを禁止します。

[EXCEPTION] IOError:
自身がすでに書き込み不可だった場合に発生します。


instance method StringIO#closed?

closed? -> bool

自身が既に close されていた場合に true を返します。そうでない場合は、false を返します。

sio = StringIO.open("hoge")
p sio.closed? # => false
sio.close_read
p sio.closed? # => false
sio.close_write
sio.closed?   # => true


instance method StringIO#closed_read?

closed_read? -> bool

自身に対する読み取りが禁止されているなら true を返します。そうでない場合は、false を返します。


instance method StringIO#closed_write?

closed_write? -> bool

自身に対する書き込みが禁止されているなら true を返します。そうでない場合は、false を返します。


instance method StringIO#each

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self
lines(rs = $/) {|line| ... } -> self
each(rs = $/) -> Enumerable::Enumerator
each_line(rs = $/) -> Enumerable::Enumerator
lines(rs = $/) -> Enumerable::Enumerator

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み取り不可なら発生します。
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

[SEE_ALSO] $/


instance method StringIO#eof

eof -> bool
eof? -> bool

自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > fcntl

instance method StringIO#fcntl

fcntl -> ()

例外 NotImplementedError が常に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > fileno

instance method StringIO#fileno

fileno -> nil

何もせず nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > flush

instance method StringIO#flush

flush -> self

何もせずに self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > fsync

instance method StringIO#fsync

fsync -> 0

何もせずに 0 を返します。


instance method StringIO#getbyte

getc -> Integer | nil
getbyte -> Integer | nil

自身から 1 文字読み込んで、その文字に対応する Fixnum を返します。 文字列の終端に到達した時には nil を返します。

[EXCEPTION] IOError:
自身が読み取り不可なら発生します。
a = StringIO.new("ho")
a.getc                   #=> 104
a.getc                   #=> 111
a.getc                   #=> nil


instance method StringIO#gets

gets(rs = $/) -> String | nil

自身から 1 行読み込んで、その文字列を返します。文字列の終端に到達した時には nil を返します。 $_ に読み込んだ行がセットされます。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
a = StringIO.new("hoge")
a.gets                  #=> "hoge"
$_                      #=> "hoge"
a.gets                  #=> nil
$_                      #=> nil

[SEE_ALSO] $/


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > isatty

instance method StringIO#isatty

isatty -> false

何もせず false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > length

instance method StringIO#length

size -> Integer
length -> Integer

文字列の長さを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > lineno

instance method StringIO#lineno

lineno -> Integer

現在の行番号を返します。これは StringIO#gets が呼ばれた回数です。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > lineno=

instance method StringIO#lineno=

lineno=(n)

現在の行番号を n にセットします。

[PARAM] n:
行番号を整数で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > path

instance method StringIO#path

path -> nil

StringIO には対応するパスはないので nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > pid

instance method StringIO#pid

pid -> nil

何もせず nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > pos

instance method StringIO#pos

pos -> Integer
tell -> Integer

自身の現在の位置を返します。


instance method StringIO#pos=

pos=(n)

自身の位置を n に移動します。自身が表す文字列のサイズより大きくても構いません。

[PARAM] n:
自身の位置を整数で指定します。
[EXCEPTION] Errno::EINVAL:
n がマイナスである場合に発生します。
a = StringIO.new("hoge", 'r+')
a.pos = 10
a << 'Z'
a.string                        #=> "hoge\000\000\000\000\000\000Z"


instance method StringIO#print

print() -> nil
print(*obj) -> nil

自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。

[PARAM] obj:
書き込みたいオブジェクトを指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
a = StringIO.new("", 'r+')
a.print("hoge", "bar", "foo")
a.string                     #=> "hogebarfoo"


instance method StringIO#printf

printf(format, *obj) -> nil

指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。

[PARAM] format:
文字列のフォーマットを指定します。Kernel.#format を参照して下さい。
[PARAM] obj:
書き込みたいオブジェクトを指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
a = StringIO.new("", 'r+')
a.printf("%c%c%c", 97, 98, 99)
a.string                      #=> "abc"


instance method StringIO#putc

putc(ch) -> object

文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。 ch が文字列なら、その先頭の文字を書き込みます。ch を返します。

[PARAM] ch:
書き込みたい文字を、整数か文字列で指定します。ch が Float や Rational であっても、整数に変換されてから書き込まれます。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。


instance method StringIO#puts

puts(*obj) -> nil

obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。

[PARAM] obj:
書き込みたいオブジェクトを指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。
a = StringIO.new("", 'r+')
a.puts("hoge", "bar", "foo")
a.string                     #=> "hoge\nbar\nfoo\n"


instance method StringIO#read

read -> String
read(len) -> String | nil
read(len, outbuf) -> String

自身から len バイト読み込みんで返します。len が省略された場合は、最後まで読み込んで返します。 詳しい仕様は IO#read を参照して下さい。

[PARAM] len:
読み込みたい長さを整数で指定します。詳しい仕様は IO#read を参照して下さい。
[PARAM] outbuf:
読み込んだ文字列を出力するバッファを文字列で指定します。指定した文字列オブジェクトが あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の 長さが length と異なる場合、その文字列は一旦 length 長に拡張(あるいは縮小)されたあと、 実際に読み込んだデータのサイズになります。IO#read と同じです。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。


instance method StringIO#readbyte

readchar -> Integer
readbyte -> Integer

自身から 1 文字読み込んで、その文字に対応する整数を返します。

文字列の終端に到達した時には例外 EOFError を発生させます。

a = StringIO.new("hoge")
a.readchar               #=> 104
[EXCEPTION] EOFError:
文字列の終端に到達した時に発生します。


instance method StringIO#readline

readline(rs = $/) -> String

自身から 1 行読み込んで、その文字列を返します。

文字列の終端に到達した時には、例外 EOFError を発生させます。 IO#readline と違い読み込んだ文字列を変数 $_ にセットしません。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] EOFError:
文字列の終端に到達した時に発生します。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
a = StringIO.new("hoge\nfoo\nbar\n")
a.readline                           #=> "hoge\n"
a.readline(nil)                      #=> "foo\nbar\n"
a.readline                           #=> EOFError が発生する

[SEE_ALSO] $/


instance method StringIO#readlines

readlines(rs = $/) -> [String]

自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。 既に文字列の終端に達していれば空配列 [] を返します。

[PARAM] rs:
行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
[EXCEPTION] IOError:
自身が読み込み用にオープンされていなければ発生します。
a = StringIO.new("hoge\nfoo\nbar\n")
a.readlines                          #=> ["hoge\n", "foo\n", "bar\n"]
a.readlines                          #=> []

[SEE_ALSO] $/


instance method StringIO#reopen

reopen(sio) -> StringIO

自身が表す文字列が指定された StringIO と同じものになります。

[PARAM] sio:
自身が表したい StringIO を指定します。

例:

require 'stringio'
sio = StringIO.new("hoge", 'r+')
sio2 = StringIO.new("foo", 'r+')
sio.reopen(sio2)
p sio.read                       #=> "foo"
reopen(str, mode = 'r+') -> StringIO

自身が表す文字列が指定された文字列 str になります。

与えられた str がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。 ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価します。

[PARAM] str:
自身が表したい文字列を指定します。 この文字列はバッファとして使われます。StringIO#write などによって、 str 自身も書き換えられます。
[PARAM] mode:
Kernel.#open 同様文字列か整数で自身のモードを指定します。
[EXCEPTION] Errno::EACCES:
str がフリーズされていて、mode が書き込み可能に設定されている場合に発生します。

例:

require 'stringio'
sio = StringIO.new("hoge", 'r+')
sio.reopen('foo')
p sio.read                      #=> "foo"


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > rewind

instance method StringIO#rewind

rewind -> 0

自身の pos と lineno をそれぞれ 0 にします。


instance method StringIO#seek

seek(offset, whence = IO::SEEK_SET)

自身の pos を whence の位置から offset バイトだけ移動させます。

[PARAM] offset:
移動させたいバイト数を整数で指定します。
[PARAM] whence:
以下のいずれかの定数を指定します。
  • IO::SEEK_SET: ファイルの先頭から (デフォルト)
  • IO::SEEK_CUR: 現在のファイルポインタから
  • IO::SEEK_END: ファイルの末尾から
[EXCEPTION] Errno::EINVAL:
offset + whence がマイナスである場合に発生します。
[EXCEPTION] ArgumentError:
whence が上の SEEK_SET, SEEK_CUR, SEEK_END 以外だった場合に発生します。


instance method StringIO#string

string -> String

自身が表す文字列を返します。

返されるのは生成時に与えられたバッファとして使われている文字列です。 文字列は複製されないことに注意して下さい。

例:

sio = StringIO.new
sio << "abc"
s = sio.string
p s                    #=> "abc"
sio << "xyz"
p s                    #=> "abcxyz"


instance method StringIO#string=

string=(buf)

自身が表す文字列を指定された buf に変更します。

buf はバッファとして使われ、書き込みメソッドによって書き換えられます。 自身は読み書き両用になりますが、 buf がフリーズされている場合には読み取り専用になります。 pos と lineno は 0 にセットされます。

[PARAM] buf:
自身が新たに表す文字列を指定します。
[EXCEPTION] TypeError:
buf が nil の場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > sync

instance method StringIO#sync

sync -> true

何もせずに true を返します。


instance method StringIO#sync=

sync=(bool)

何もせずに bool を返します。

[PARAM] bool:
true か false を指定します。


instance method StringIO#sysread

sysread -> String
sysread(len) -> String
sysread(len, outbuf) -> String

自身から len バイト読み込みんで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

[PARAM] len:
読み込みたい長さを整数で指定します。StringIO#read と同じです。
[PARAM] outbuf:
読み込んだ文字列を出力するバッファを文字列で指定します。指定した文字列オブジェクトが あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の 長さが length と異なる場合、その文字列は一旦 length 長に拡張(あるいは縮小)されたあと、 実際に読み込んだデータのサイズになります。IO#read と同じです。
[EXCEPTION] EOFError:
文字列の終端に達した場合に発生します。


instance method StringIO#syswrite

syswrite(obj) -> Integer

自身に obj を書き込みます。StringIO#write と同じです。

[PARAM] obj:
書き込みたいオブジェクトを指定します。
[EXCEPTION] IOError:
自身が書き込み用にオープンされていなければ発生します。


instance method StringIO#truncate

truncate(len) -> Integer

自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。 拡大した場合は、その部分を 0 で埋めます。 len を返します。

[PARAM] len:
変更したいサイズを整数で指定します。
[EXCEPTION] IOError:
自身が書き込み可能でない時に発生します。
[EXCEPTION] Errno::EINVAL:
len がマイナスの時に発生します。
a = StringIO.new("hoge", 'r+')
a.truncate(2)
a.string                       #=> "ho"
a.truncate(5)
a.string                       #=> "ho\000\000\000"


Ruby 1.8.7 Reference Manual > All Libraries > library stringio > class StringIO > tty?

instance method StringIO#tty?

tty? -> false

何もせず false を返します。


instance method StringIO#ungetc

ungetc(ch) -> nil

整数で指定された文字 ch を自身に書き戻します。 nil を返します。

何回でも書き戻すことが可能です。 現在位置が自身のサイズよりも大きい場合は、自身をリサイズしてから、ch を書き戻します。 また現在位置が 0 である場合は何も行いません。

[PARAM] ch:
書き戻したい文字を整数で指定します。
[EXCEPTION] IOError:
自身が読み込み可能でない時に発生します。
s = StringIO.new("hoge")
s.pos = 1
s.ungetc(?H)
p s.string   #=> "Hoge"
p s.pos        #=> 0

s = StringIO.new("hoge")
s.pos = 8
s.ungetc(?A)
p s.string   #=> "hoge\000\000\000A"
p s.pos        #=> 7


instance method StringIO#write

write(obj) -> Integer

自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。 書き込まれた文字列の長さを返します。

全ての出力メソッドは、最終的に「write」という名のメソッドを呼び出すので、 このメソッドを置き換えることで出力関数の挙動を変更することができます。

[PARAM] obj:
書き込みたいオブジェクトを指定します。
[EXCEPTION] IOError:
自身が書き込み可能でない時に発生します。
a = StringIO.new("hoge", 'r+')
a.write("aaa")                 #=> 3
a.string                       #=> "aaae"


singleton method StringIO.new

new(string = '', mode = 'r+') -> StringIO
open(string = '', mode = 'r+') -> StringIO
open(string = '', mode = 'r+') {|io| ... } -> StringIO

StringIO オブジェクトを生成して返します。

与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。 ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価します。

[PARAM] string:
生成される StringIO のデータを文字列で指定します。 この文字列はバッファとして使われます。StringIO#write などによって、 string 自身も書き換えられます。
[PARAM] mode:
Kernel.#open 同様文字列か整数で指定します。
[EXCEPTION] Errno::EACCES:
string がフリーズされていて、mode が書き込み可能に設定されている場合に発生します。
require 'stringio'

s = "foo"
io = StringIO.new(s)
p io.getc       # => 102
p io.pos        # => 1
p io.size       # => 3
io << "bar"
p io.size       # => 4
p s             # => "fbar"
io.rewind
p io.gets       # => "fbar"

StringIO.open("hoge"){|io|
  p io.string   # => "hoge"
}


constant StringScanner::Id

Id -> String

StringScanner クラスの詳しいバージョンを文字列で返します。 この文字列は Object#freeze されています。


constant StringScanner::Version

Version -> String

StringScanner クラスのバージョンを文字列で返します。 この文字列は Object#freeze されています。

StringScanner::Version           # => "0.7.0"
StringScanner::Version.frozen?   # => true


instance method StringScanner#<<

self << str -> self
concat(str) -> self

操作対象の文字列に対し str を破壊的に連結します。 マッチ記録は変更されません。

selfを返します。

[PARAM] str:
操作対象の文字列に対し str を破壊的に連結します。

使用例

s = StringScanner.new('test') # => #<StringScanner 0/4 @ "test">
s.match(/\w(\w*)/)            # => "test"
s[0]                          # => "test"
s[1]                          # => "est"
s << ' string'                # => #<StringScanner 4/11 "test" @ " stri...">
s[0]                          # => "test"
s[1]                          # => "est"
s.match(/\s+/)                # => " "
s.match(/\w+/)                # => "string"

この操作は StringScanner.new に渡した文字列にも影響することがあります。

str = 'test'
s = StringScanner.new(str) # => #<StringScanner 0/4 @ "test">
s << ' string'             # => #<StringScanner 0/11 @ "test ...">
str                        # => "test string"


instance method StringScanner#[]

self[nth] -> String | nil

前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。インデックス 0 はマッチした部分全体です。前回のマッチが 失敗していると常に nil を返します。

[PARAM] nth:
前回マッチした正規表現の nth 番目のかっこに対応する部分文字列を 返します。
s = StringScanner.new('test string')
s.scan(/\w(\w)(\w*)/) # => "test"
s[0]                  # => "test"
s[1]                  # => "e"
s[2]                  # => "st"
s.scan(/\w+/)         # => nil
s[0]                  # => nil
s[1]                  # => nil
s[2]                  # => nil
s.scan(/\s+/)         # => " "
s[0]                  # => " "
s[1]                  # => nil
s[2]                  # => nil
s.scan(/\w(\w)(\w*)/) # => "string"
s[0]                  # => "string"
s[1]                  # => "t"
s[2]                  # => "ring"


instance method StringScanner#beginning_of_line?

beginning_of_line? -> bool
bol? -> bool

スキャンポインタが行頭を指しているなら true を、 行頭以外を指しているなら false を返します。

行頭の定義は、文字列先頭かまたは \n の直後を指していることです。 文字列末尾は必ずしも行頭ではありません。

使用例

s = StringScanner.new("test\nstring")
s.bol?        # => true
s.scan(/\w+/)
s.bol?        # => false
s.scan(/\n/)
s.bol?        # => true
s.scan(/\w+/)
s.bol?        # => false


instance method StringScanner#check

check(regexp) -> String | nil

現在位置から regexp とのマッチを試みます。 マッチに成功したらマッチした部分文字列を返します。 マッチに失敗したら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

[PARAM] regexp:
マッチに用いる正規表現を指定します。

使用例

s = StringScanner.new('test string')
s.check(/\w+/) # => "test"
s.pos          # => 0
s.matched      # => "test"
s.check(/\s+/) # => nil
s.matched      # => nil


instance method StringScanner#check_until

check_until(regexp) -> String | nil

regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

[PARAM] regexp:
マッチに用いる正規表現を指定します。

使用例

s = StringScanner.new('test string')
s.check_until(/str/) # => "test str"
s.matched            # => "str"
s.pos                # => 0
s.pre_match          # => "test "


instance method StringScanner#clear

terminate -> self
clear -> self

スキャンポインタを文字列末尾後まで進め、マッチ記録を捨てます。

[RETURN]
self を返します。

pos = self.string.size と同じ動作です。

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched     # => "test"
s.pos         # => 4
s[0]          # => "test"
s.terminate
s.matched     # => nil
s[0]          # => nil
s.pos         # => 11

StringScanner#clear は将来のバージョンで削除される予定です。 代わりに StringScanner#terminate を使ってください。


instance method StringScanner#empty?

eos? -> bool
empty? -> bool

スキャンポインタが文字列の末尾を指しているなら true を、 末尾以外を指しているなら false を返します。

使用例

s = StringScanner.new('test string')
s.eos?        # => false
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
s.eos?        # => true

StringScanner#empty? は将来のバージョンで削除される予定です。 代わりに StringScanner#eos? を使ってください。


instance method StringScanner#exist?

exist?(regexp) -> Fixnum | nil

スキャンポインタの位置から，次にマッチする文字列の末尾までの長さを返します。

マッチに失敗したら nil を返します。

このメソッドはマッチが成功してもスキャンポインタを進めません。

[PARAM] regexp:
マッチに用いる正規表現を指定します。

使用例

s = StringScanner.new('test string')
s.exist?(/s/) # => 3
s.exist?(//)  # => 0
s.scan(/\w+/) # => "test"
s.exist?(/s/) # => 2
s.exist?(/e/) # => nil


instance method StringScanner#get_byte

get_byte -> String | nil
getbyte -> String | nil

$KCODE に関らず 1 バイトスキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すなら nil を返します。

StringScanner#getbyte は将来のバージョンで削除される予定です。 代わりに StringScanner#get_byte を使ってください。

使用例

require 'strscan'

s = StringScanner.new("るびい") # 文字コードはEUC-JPとします
$KCODE = 'n'                    # 単なるバイト列として認識されます
s.get_byte                      # => "\244"
s.get_byte                      # => "\353"
$KCODE = 'e'                    # やはり単なるバイト列として認識されます
s.get_byte                      # => "\244"
s.get_byte                      # => "\323"
s.get_byte                      # => "\244"
s.get_byte                      # => "\244"
s.get_byte                      # => nil


instance method StringScanner#getch

getch -> String | nil

一文字スキャンして文字列で返します。 スキャンポインタをその後ろに進めます。 スキャンポインタが文字列の末尾を指すならnilを返します。

一文字の定義は $KCODE に依存します。

使用例

require 'strscan'

s = StringScanner.new("るびい") # 文字コードはEUC-JPとします
$KCODE = 'n'                    # 単なるバイト列として認識されます
s.getch                         # => "\244"
s.getch                         # => "\353"
$KCODE = "e"                    # EUC-JPの文字列として認識されます
s.getch                         # => "び"
s.getch                         # => "い"
s.getch                         # => nil


instance method StringScanner#inspect

inspect -> String

StringScannerオブジェクトを表す文字列を返します。

文字列にはクラス名の他、以下の情報が含まれます。

  • スキャナポインタの現在位置。
  • スキャン対象の文字列の長さ。
  • スキャンポインタの前後にある文字。上記実行例の @ がスキャンポインタを表します。

使用例

require 'strscan'

s = StringScanner.new('test string')
s.inspect                            # => "#<StringScanner 0/11 @ \"test ...\">"
s.scan(/\w+/)                        # => "test"
s.inspect                            # => "#<StringScanner 4/11 \"test\" @ \" stri...\">"
s.scan(/\s+/)                        # => " "
s.inspect                            # => "#<StringScanner 5/11 \"test \" @ \"strin...\">"
s.scan(/\w+/)                        # => "string"
s.inspect                            # => "#<StringScanner fin>"


instance method StringScanner#match?

match?(regexp) -> Fixnum | nil

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタは進めずにマッチした 部分文字列の長さを返します。マッチしなかったら nil を 返します。

マッチしたサイズは文字単位でなくバイト単位となります。

require 'strscan'
s = StringScanner.new("るびい") # 文字コードはUTF-8とします
puts s.string      #=> るびい
puts s.match?(/る/)  #=> 3
[PARAM] regexp:
マッチに用いる正規表現を指定します。

使用例

s = StringScanner.new('test string')
p s.match?(/\w+/)   #=> 4
p s.match?(/\w+/)   #=> 4
p s.match?(/\s+/)   #=> nil


instance method StringScanner#matched

matched -> String | nil

前回マッチした部分文字列を返します。 前回のマッチに失敗していると nil を返します。

使用例

s = StringScanner.new('test string')
s.matched     # => nil
s.scan(/\w+/) # => "test"
s.matched     # => "test"
s.scan(/\w+/) # => nil
s.matched     # => nil
s.scan(/\s+/) # => " "
s.matched     # => " "


instance method StringScanner#matched?

matched? -> bool

前回のマッチが成功していたら true を、 失敗していたら false を返します。

使用例

s = StringScanner.new('test string')
s.matched?    # => false
s.scan(/\w+/) # => "test"
s.matched?    # => true
s.scan(/\w+/) # => nil
s.matched?    # => false
s.scan(/\s+/) # => " "
s.matched?    # => true


instance method StringScanner#matched_size

matched_size -> Fixnum | nil

前回マッチした部分文字列の長さを返します。 前回マッチに失敗していたら nil を返します。

マッチしたサイズは文字単位でなくバイト単位となります。

require 'strscan'

s = StringScanner.new("るびい") # 文字コードはUTF-8とします
puts s.string       #=> るびい
puts s.scan(/る/)   #=> る
p s.matched_size    #=> 3

使用例

s = StringScanner.new('test string')
s.matched_size # => nil
s.scan(/\w+/)  # => "test"
s.matched_size # => 4
s.scan(/\w+/)  # => nil
s.matched_size # => nil


instance method StringScanner#matchedsize

matchedsize -> Fixnum | nil

StringScanner#matched_size と同じです。

このメソッドは は将来のバージョンで削除される予定です。 代わりに StringScanner#matched_size を使ってください。

[SEE_ALSO] StringScanner#matched_size


instance method StringScanner#peek

peek(bytes) -> String
peep(bytes) -> String

スキャンポインタから長さ bytes バイト分だけ文字列を返します。

動作例:

require 'strscan'
s = StringScanner.new('test string')
s.peek(4)   # => "test"

また、このメソッドを実行してもスキャンポインタは移動しません。

StringScanner#peep は将来のバージョンでは削除される予定です。 代わりに StringScanner#peek を使ってください。

[PARAM] bytes:
0 以上の整数を指定します。 ただし、スキャン対象の文字列の長さを超える分は無視されます。 bytes が 0 のとき、またはスキャンポインタが文字列の末尾を 指しているときは空文字列 ("") を返します。
[EXCEPTION] ArgumentError:
bytes に負数を与えると発生します。

使用例

require 'strscan'

s = StringScanner.new('test string')
p s.peek(4)     # => "test"
p s.peek(20)    # => "test string"
p s.peek(0)     # => ""
begin
  s.peek(-1)
rescue ArgumentError => err
  puts err # negative string size (or size too big)
end
p s.scan(/\w+/) # => "test"
p s.scan(/\s+/) # => " "
p s.scan(/\w+/) # => "string"
p s.peek(4)     # => ""

# このメソッドを実行してもスキャンポインタは移動しません。

s = StringScanner.new('test string')
p s.peek(4)     # => "test"
p s.peek(4)     # => "test"
p s.scan(/\w+/) # => "test"
p s.peek(4)     # => " str"
p s.peek(4)     # => " str"


instance method StringScanner#pointer

pointer -> Fixnum
pos -> Fixnum

現在のスキャンポインタのインデックスを返します。

使用例

s = StringScanner.new('test string')
s.pos         # => 0
s.scan(/\w+/) # => "test"
s.pos         # => 4
s.scan(/\w+/) # => nil
s.pos         # => 4
s.scan(/\s+/) # => " "
s.pos         # => 5


instance method StringScanner#pointer=

pointer=(n) -> Fixnum
pos=(n) -> Fixnum

スキャンポインタのインデックスを n にセットします。

[PARAM] n:
整数で、バイト単位で指定します。 負数を指定すると文字列の末尾からのオフセットとして扱います。
[EXCEPTION] RangeError:
マッチ対象の文字列の長さを超える値を指定すると発生します。
[RETURN]
n を返します。

使用例

require 'strscan'

s = StringScanner.new('test string')
p s.scan(/\w+/) # => "test"
p s.pos = 1     # => 1
p s.scan(/\w+/) # => "est"
p s.pos = 7     # => 7
p s.scan(/\w+/) # => "ring"

begin
  s.pos = 20
rescue RangeError => err
  puts err #=> index out of range
end
p s.pos = -4    # => -4
p s.scan(/\w+/) # => "ring"


instance method StringScanner#post_match

post_match -> String | nil

前回マッチを行った文字列のうち、マッチしたところよりも後ろの 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。

s = StringScanner.new('test string')
s.post_match  # => nil
s.scan(/\w+/) # => "test"
s.post_match  # => " string"
s.scan(/\w+/) # => nil
s.post_match  # => nil
s.scan(/\s+/) # => " "
s.post_match  # => "string"
s.scan(/\w+/) # => "string"
s.post_match  # => ""
s.scan(/\w+/) # => nil
s.post_match  # => nil


instance method StringScanner#pre_match

pre_match -> String | nil

前回マッチを行った文字列のうち、マッチしたところよりも前の 部分文字列を返します。前回のマッチが失敗していると常に nil を 返します。

s = StringScanner.new('test string')
s.pre_match   # => nil
s.scan(/\w+/) # => "test"
s.pre_match   # => ""
s.scan(/\w+/) # => nil
s.pre_match   # => nil
s.scan(/\s+/) # => " "
s.pre_match   # => "test"
s.scan(/\w+/) # => "string"
s.pre_match   # => "test "
s.scan(/\w+/) # => nil
s.pre_match   # => nil


instance method StringScanner#reset

reset -> self

スキャンポインタを文字列の先頭 (インデックス 0) に戻し、 マッチ記録を捨てます。

pos = 0と同じ動作です。

[RETURN]
self を返します。
s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.matched     # => "test"
s.pos         # => 4
s[0]          # => "test"
s.reset
s.matched     # => nil
s[0]          # => nil
s.pos         # => 0


instance method StringScanner#rest

rest -> String

文字列の残り (rest) を返します。 具体的には、スキャンポインタが指す位置からの文字列を返します。

スキャンポインタが文字列の末尾を指していたら空文字列 ("") を返します。

s = StringScanner.new('test string')
s.rest         # => "test string"
s.scan(/\w+/)  # => "test"
s.rest         # => " string"
s.scan(/\s+/)  # => " "
s.rest         # => "string"
s.scan(/\w+/)  # => "string"
s.rest         # => ""


instance method StringScanner#rest?

rest? -> bool

文字列が残っているならば trueを、 残っていないならば false を返します。

StringScanner#eos? と逆の結果を返します。

StringScanner#rest? は将来のバージョンで削除される予定です。 代わりに StringScanner#eos? を使ってください。

使用例

s = StringScanner.new('test string')
p s.eos?        # => false
p s.rest?       # => true
s.scan(/\w+/)
s.scan(/\s+/)
s.scan(/\w+/)
p s.eos?        # => true
p s.rest?       # => false


instance method StringScanner#rest_size

rest_size -> Fixnum
restsize -> Fixnum

文字列の残りの長さを返します。 stringscanner.rest.size と同じです。

StringScanner#restsize は将来のバージョンで削除される予定です。 代わりにStringScanner#rest_size を使ってください。

使用例

s = StringScanner.new('test string')
p s.rest_size # => 11
p s.rest.size # => 11


instance method StringScanner#scan

scan(regexp) -> String | nil

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたら、スキャンポインタを進めて正規表現にマッチした 部分文字列を返します。マッチしなかったら nil を返します。

[PARAM] regexp:
マッチに用いる正規表現を指定します。

使用例

s = StringScanner.new('test string')
p s.scan(/\w+/)   #=> "test"
p s.scan(/\w+/)   #=> nil
p s.scan(/\s+/)   #=> " "
p s.scan(/\w+/)   #=> "string"
p s.scan(/./)     #=> nil


instance method StringScanner#scan_full

scan_full(regexp, s, f) -> object

スキャンポインタの位置から regexp と文字列のマッチを試します。 マッチに成功すると、s と f の値によって以下のように動作します。

  • s が true ならばスキャンポインタを進めます。
  • s が false ならばスキャンポインタを進めません。
  • f が true ならばマッチした部分文字列を返します。
  • f が false ならばマッチした部分文字列の長さを返します。

マッチに失敗すると s や f に関係なく nil を返します。

このメソッドは s と f の組み合わせにより、 他のメソッドと同等の動作になります。

  • scan_full(regexp, true, true) は StringScanner#scan と同等。
  • scan_full(regexp, true, false) は StringScanner#skip と同等。
  • scan_full(regexp, false, true) は StringScanner#check と同等。
  • scan_full(regexp, false, false) は StringScanner#match? と同等。
[PARAM] regexp:
マッチに用いる正規表現を指定します。
[PARAM] s:
true ならばスキャンポインタを進めます。 false ならばスキャンポインタを進めません。
[PARAM] f:
true ならばマッチした部分文字列を返します。 false ならばマッチした部分文字列の長さを返します。

使用例

s = StringScanner.new('test string')
p s.scan_full(/\w+/, true, true)     #=> "test"
p s.scan_full(/\s+/, false, true)    #=> " "
p s.scan_full(/\s+/, true, false)    #=> 1
p s.scan_full(/\w+/, false, false)   #=> 6
p s.scan_full(/\w+/, true, true)     #=> "string"

[SEE_ALSO] StringScanner#scan StringScanner#skip StringScanner#check StringScanner#match?


instance method StringScanner#scan_until

scan_until(regexp) -> String | nil

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列を返します。 マッチに失敗したら nil を返します。

[PARAM] regexp:
マッチに用いる正規表現を指定します。

使用例

s = StringScanner.new('test string')
s.scan_until(/str/) # => "test str"
s.matched           # => "str"
s.pos               # => 8
s.pre_match         # => "test "


instance method StringScanner#search_full

search_full(regexp, s, f) -> object

regexp で指定された正規表現とマッチするまで文字列をスキャンします。 マッチに成功すると、s と f の値によって以下のように動作します。

  • s が true ならばスキャンポインタを進めます。
  • s が false ならばスキャンポインタを進めません。
  • f が true ならばスキャン開始位置からマッチした部分の末尾までの部分文字列を返します。
  • f が false ならばスキャン開始位置からマッチした部分の末尾までの部分文字列の長さを返します。

マッチに失敗すると s や f に関係なく nil を返します。

このメソッドは s と f の組み合わせにより、 他のメソッドと同等の動作になります。

  • search_full(regexp, true, true) は StringScanner#scan_until と同等。
  • search_full(regexp, true, false) は StringScanner#skip_until と同等。
  • search_full(regexp, false, true) は StringScanner#check_until と同等。
  • search_full(regexp, false, false) は StringScanner#exist? と同等。
[PARAM] regexp:
マッチに用いる正規表現を指定します。
[PARAM] s:
true ならばスキャンポインタを進めます。 false ならばスキャンポインタを進めません。
[PARAM] f:
true ならばマッチした部分文字列を返します。 false ならばマッチした部分文字列の長さを返します。

使用例

s = StringScanner.new('test string')
p s.search_full(/t/, true, true)       #=> "t"
p s.search_full(/str/, false, true)    #=> "est str"
p s.search_full(/string/, true, true)  #=> "est string"

[SEE_ALSO] StringScanner#scan_until StringScanner#skip_until StringScanner#check_until StringScanner#exist?


instance method StringScanner#skip

skip(regexp) -> Fixnum | nil

スキャンポインタの地点だけで regexp と文字列のマッチを試します。 マッチしたらスキャンポインタを進めマッチした部分文字列の 長さを返します。マッチしなかったら nil を返します。

[PARAM] regexp:
マッチに使用する正規表現を指定します。

使用例

s = StringScanner.new('test string')
p s.skip(/\w+/)   #=> 4
p s.skip(/\w+/)   #=> nil
p s.skip(/\s+/)   #=> 1
p s.skip(/\w+/)   #=> 6
p s.skip(/./)     #=> nil


instance method StringScanner#skip_until

skip_until(regexp) -> Fixnum | nil

regexp が一致するまで文字列をスキャンします。 マッチに成功したらスキャンポインタを進めて、 スキャン開始位置からマッチ部分の末尾までの部分文字列の長さを返します。 マッチに失敗したら nil を返します。

[PARAM] regexp:
マッチに使用する正規表現を指定します。

使用例

s = StringScanner.new('test string')
s.scan_until(/str/) # => 8
s.matched           # => "str"
s.pos               # => 8
s.pre_match         # => "test "


instance method StringScanner#string

string -> String

スキャン対象にしている文字列を返します。

使用例

s = StringScanner.new('test string')
s.string # => "test string"

返り値は freeze されていません。

s = StringScanner.new('test string')
s.string.frozen? # => false

なお、このメソッドは StringScanner.new に渡した 文字列をそのまま返しますが、この仕様が将来に渡って保証されるわけではありません。 この仕様に依存したコードを書かないようにしましょう。

str = 'test string'
s = StringScanner.new(str)
s.string == str    # => true
s.string.eql?(str) # => true (将来は false になる可能性がある)

また、返り値の文字列に対して破壊的な変更もできますが、 この操作がスキャン対象の文字列を変更することも保証されません。 この仕様に依存したコードを書かないでください。

str = 'test string'
s = StringScanner.new(str)
s.string.replace("0123")
s.scan(/\w+/)     # => "0123" (将来は "test" が返る可能性あり)
str               # => "0123" (将来は "test string" が返る可能性あり)


instance method StringScanner#string=

string=(str) -> String

スキャン対象の文字列を str に変更して、マッチ記録を捨てます。

[PARAM] str:
スキャン対象の文字列を str に変更して、マッチ記録を捨てます。
[RETURN]
str を返します。

使用例

str = '0123'
s = StringScanner.new('test string')
s.string = str     # => "0123"
s.scan(/\w+/)      # => "0123"


instance method StringScanner#unscan

unscan -> self

スキャンポインタを前回のマッチの前の位置に戻します。

s = StringScanner.new('test string')
s.scan(/\w+/) # => "test"
s.unscan
s.scan(/\w+/) # => "test"
[RETURN]
selfを返します。

このメソッドでポインタを戻せるのは 1 回分だけです。 2 回分以上戻そうとしたときは例外 StringScanner::Error が発生します。 また、まだマッチを一度も行っていないときや、 前回のマッチが失敗していたときも例外 StringScanner::Error が発生します。

[EXCEPTION] StringScanner::Error:
2 回分以上戻そうとした時や、 まだマッチを一度も行っていない時、 前回のマッチが失敗していた時に発生します。

使用例

s = StringScanner.new('test string')
begin
  # マッチを一度も行っていないので、例外が発生する。
  s.unscan
rescue StringScanner::Error => err
  puts err
  # 出力例
  #=> unscan failed: previous match had failed
end
p s.scan(/\w+/) # => "test"
s.unscan
begin
  # 二回以上戻そうとしたので、例外が発生する。
  s.unscan
rescue StringScanner::Error => err
  puts err
  # 出力例
  #=> unscan failed: previous match had failed
end
p s.scan(/\w+/) # => "test"
p s.scan(/\w+/) # => nil
begin
  # 前回のマッチが失敗しているので、例外が発生する。
  s.unscan
rescue => err
  puts err
  # 出力例
  #=> unscan failed: previous match had failed
end


Ruby 1.8.7 Reference Manual > All Libraries > library strscan > class StringScanner > must_C_version

singleton method StringScanner.must_C_version

must_C_version -> self

このメソッドは後方互換性のために定義されています。


singleton method StringScanner.new

new(str, dup = false) -> StringScanner

新しい StringScanner オブジェクトを生成します。

[PARAM] str:
スキャン対象の文字列を指定します。
[PARAM] dup:
dup は単に無視します。 引数の文字列は複製も freeze もされず、そのまま使います。

使用例

s = StringScanner.new('This is an example string')
s.eos?            #=> false

p s.scan(/\w+/)   #=> "This"
p s.scan(/\w+/)   #=> nil
p s.scan(/\s+/)   #=> " "


instance method Struct#==

self == other -> bool

自身と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
Dog = Struct.new(:name, :age)
dog1 = Dog.new("fred", 5)
dog2 = Dog.new("fred", 5)

p dog1 == dog2                #=> true
p dog1.eql?(dog2)             #=> true
p dog1.equal?(dog2)           #=> false

[SEE_ALSO] Struct#eql?


instance method Struct#[]

self[member] -> object

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を返します。

[PARAM] member:
Fixnum でメンバのインデックスを指定します。 Symbol, String でメンバの名前を指定します。
[EXCEPTION] IndexError:
member が整数で存在しないメンバを指定した場合に発生します。
[EXCEPTION] NameError:
member が String, Symbol で存在しないメンバを指定した場合に発生します。
Foo = Struct.new(:foo, :bar)
obj = Foo.new('FOO', 'BAR')
p obj[:foo]     # => "FOO"
p obj['bar']    # => "BAR"
# p obj[:baz]     # => in `[]': no member 'baz' in struct (NameError)
p obj[0]        # => "FOO"
p obj[1]        # => "BAR"
p obj[-1]       # => "BAR"    # Array のように負のインデックスも指定できます。
p obj[2]        # => in `[]': offset 2 too large for struct(size:2) (IndexError)


instance method Struct#[]=

self[member] = value

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体の member で指定されたメンバの値を value にして value を返します。

[PARAM] member:
Fixnum でメンバのインデックスを指定します。 Symbol, String でメンバの名前を指定します。
[PARAM] value:
メンバに設定する値を指定します。
[EXCEPTION] IndexError:
member が整数で存在しないメンバを指定した場合に発生します。
[EXCEPTION] NameError:
member が String, Symbol で存在しないメンバを指定した場合に発生します。


instance method Struct#each

each {|value| ... } -> self
each -> Enumerable::Enumerator

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体の各メンバに対して繰り返します。


instance method Struct#each_pair

each_pair {|member, value| ... } -> self
each_pair -> Enumerable::Enumerator

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

Foo = Struct.new(:foo, :bar)
Foo.new('FOO', 'BAR').each_pair {|m, v| p [m,v]}
# => [:foo, "FOO"]
     [:bar, "BAR"]


instance method Struct#eql?

eql?(other) -> bool

自身と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
Dog = Struct.new(:name, :age)
dog1 = Dog.new("fred", 5)
dog2 = Dog.new("fred", 5)

p dog1 == dog2                #=> true
p dog1.eql?(dog2)             #=> true
p dog1.equal?(dog2)           #=> false

[SEE_ALSO] Struct#==


instance method Struct#equal?

equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

[SEE_ALSO] Struct#eql?, Struct#==


instance method Struct#hash

hash -> Integer

自身が保持するメンバのハッシュ値を元にして算出した整数を返します。 自身が保持するメンバの値が変化すればこのメソッドが返す値も変化します。

Dog = Struct.new(:name, :age)
dog = Dog.new("fred", 5)
p dog.hash                    #=> 7917421
dog.name = "john"
p dog.hash                    #=> -38913223


instance method Struct#length

length -> Fixnum
size -> Fixnum

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの数を返します。


instance method Struct#members

members -> [String]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(文字列)の配列を返します。

Foo = Struct.new(:foo, :bar)
p Foo.new.members  # => ["foo", "bar"]


instance method Struct#to_a

values -> [object]
to_a -> [object]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの値を配列にいれて返します。

例えば以下のようにして passwd のエントリを出力できます。

require 'etc'
print Etc.getpwuid.values.join(":"), "\n"


instance method Struct#values_at

values_at(*members) -> [object]

(このメソッドは Struct の下位クラスにのみ定義されています) 引数で指定されたメンバの値の配列を返します。

[PARAM] members:
Fixnum でメンバのインデックスを指定します。 Symbol, String でメンバの名前を指定します。
[EXCEPTION] IndexError:
member が整数で存在しないメンバを指定した場合に発生します。
[EXCEPTION] NameError:
member が String, Symbol で存在しないメンバを指定した場合に発生します。
Foo = Struct.new(:foo, :bar, :baz)
obj = Foo.new('FOO', 'BAR', 'BAZ')
p obj.values_at(0, :bar, 'baz')    # => ["FOO", "BAR", "BAZ"]


singleton method Struct.[]

new(*args) -> Class

Struct クラスに新しいサブクラスを作って、それを返します。

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します

実装の都合により、クラス名の省略は後づけの機能でした。 メンバ名に String を指定できるのは後方互換性のためだと考えた方が良いでしょう。 したがって、メンバ名は Symbol で指定するのが無難です。

[PARAM] args:
構造体を定義するための可変長引数。String または Symbol を指定します。

第一引数が String の場合

args[0] が String の場合、クラス名になるので、大文字で始まる必要 があります。つまり、以下のような指定はエラーになります。

p Struct.new('foo', 'bar')
# => -:1:in `new': identifier foo needs to be constant (NameError)

また args[1..-1] は、Symbol か String で指定します。

p Struct.new("Foo", :foo, :bar)   # => Struct::Foo

第一引数が Symbol の場合

args[0] が Symbol の場合、生成した構造体クラスは名前の無い クラスになります。名前の無いクラスは最初に名前を求める際に代入され ている定数名を検索し、見つかった定数名をクラス名とします。

Foo = Struct.new(:foo, :bar)
p Foo                             # => Foo

[SEE_ALSO] Class.new

new(*args) -> Struct
self[*args] -> Struct

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

[PARAM] args:
構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。
[RETURN]
構造体クラスのインスタンス。
[EXCEPTION] ArgumentError:
構造体のメンバの数よりも多くの引数を指定した場合に発生します。
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values      # => [1, nil]


singleton method Struct.members

members -> [String]

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(String)の配列を返します。

Foo = Struct.new(:foo, :bar)
p Foo.members      # => ["foo", "bar"]


singleton method Struct.yaml_tag_class_name

yaml_tag_class_name -> String [added by yaml]

Struct::をのぞいたクラス名を返す

[RETURN]
Struct::をのぞいたクラス名
require 'yaml'

YStruct = Struct.new("YStruct", :name)
p YStruct::yaml_tag_class_name
#=> "YStruct"


singleton method Struct.yaml_tag_read_class

yaml_tag_read_class(name) -> String [added by yaml]

引数nameにStruct::を加えた文字列を返す

[RETURN]
引数nameにStruct::を加えた文字列
require 'yaml'

YStruct = Struct.new("YStruct", :name)
p YStruct::yaml_tag_read_class("YStruct")
#=> "Struct::YStruct"


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > gid

instance method Struct::Group#gid

gid -> Integer

グループ ID を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > gid=

instance method Struct::Group#gid=

gid=(gid)

グループ ID を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > mem

instance method Struct::Group#mem

mem -> [String]

このグループに所属するメンバーのログイン名を配列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > mem=

instance method Struct::Group#mem=

mem=(mem)

このグループに所属するメンバーのログイン名を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > name

instance method Struct::Group#name

name -> String

グループ名を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > name=

instance method Struct::Group#name=

name=(name)

グループ名を返します。


instance method Struct::Group#passwd

passwd -> String

暗号化されたパスワードを返します。

このグループのパスワードへのアクセスが無効である場合は 'x' を返します。 このグループの一員になるのにパスワードが不要である場合は、空文字列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Group > passwd=

instance method Struct::Group#passwd=

passwd=(passwd)

このグループのパスワードを設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > age

instance method Struct::Passwd#age

age -> Integer

エージ(整数)を返します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > age=

instance method Struct::Passwd#age=

age=(age)

エージ(整数)を設定します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > change

instance method Struct::Passwd#change

change -> Integer

パスワード変更時間(整数)を返します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > change=

instance method Struct::Passwd#change=

change=(change)

パスワード変更時間(整数)を設定します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > class

instance method Struct::Passwd#class

class -> String

ユーザアクセスクラス(文字列)を返します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > class=

instance method Struct::Passwd#class=

class=(class)

ユーザアクセスクラス(文字列)を設定します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > comment

instance method Struct::Passwd#comment

comment -> String

コメント(文字列)を返します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > comment=

instance method Struct::Passwd#comment=

comment=(comment)

コメント(文字列)を設定します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > dir

instance method Struct::Passwd#dir

dir -> String

このユーザのホームディレクトリを表すパスを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > dir=

instance method Struct::Passwd#dir=

dir=(dir)

このユーザのホームディレクトリを表すパスを設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > expire

instance method Struct::Passwd#expire

expire -> Integer

アカウント有効期限(整数)を返します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > expire=

instance method Struct::Passwd#expire=

expire=(expire)

アカウント有効期限(整数)を設定します。このメンバはシステム依存です。


instance method Struct::Passwd#gecos

gecos

このユーザのフルネーム等の詳細情報を返します。

様々な構造化された情報を返す Unix システムも存在しますが、それはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > gecos=

instance method Struct::Passwd#gecos=

gecos=()

このユーザのフルネーム等の詳細情報を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > gid

instance method Struct::Passwd#gid

gid -> Integer

このユーザの gid を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > gid=

instance method Struct::Passwd#gid=

gid=(gid)

このユーザの gid を設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > name

instance method Struct::Passwd#name

name -> String

このユーザのログイン名を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > name=

instance method Struct::Passwd#name=

name=(name)

このユーザのログイン名を設定します。


instance method Struct::Passwd#passwd

passwd -> String

このユーザの暗号化されたパスワードを返します。

シャドウパスワードが使用されている場合は、 'x' を返します。 このユーザがログインできない場合は '*' を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > passwd=

instance method Struct::Passwd#passwd=

passwd=(passwd)

このユーザの暗号化されたパスワードを設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > quota

instance method Struct::Passwd#quota

quota -> Integer

クォータ(整数)を返します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > quota=

instance method Struct::Passwd#quota=

quota=(quota)

クォータ(整数)を設定します。このメンバはシステム依存です。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > shell

instance method Struct::Passwd#shell

shell -> String

このユーザのログインシェルを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > shell=

instance method Struct::Passwd#shell=

shell=(shell)

このユーザのログインシェルを設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > uid

instance method Struct::Passwd#uid

uid -> Integer

このユーザの uid を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library etc > class Struct::Passwd > uid=

instance method Struct::Passwd#uid=

uid=(uid)

このユーザの uid を設定します。


instance method Struct::Tms#cstime

cstime -> Float

終了した子プロセスのシステム CPU 時間の合計(秒)を返します。

Windows 上では常に 0 を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Struct::Tms > cstime=

instance method Struct::Tms#cstime=

cstime=(n)

終了した子プロセスのシステム CPU 時間の合計(秒)をセットします。


instance method Struct::Tms#cutime

cutime -> Float

終了した子プロセスのユーザー CPU 時間の合計(秒)を返します。

Windows 上では常に 0 を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Struct::Tms > cutime=

instance method Struct::Tms#cutime=

cutime=(n)

終了した子プロセスのユーザー CPU 時間の合計(秒)をセットします。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Struct::Tms > stime

instance method Struct::Tms#stime

stime -> Float

システム CPU 時間を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Struct::Tms > stime=

instance method Struct::Tms#stime=

stime=(n)

システム CPU 時間をセットします。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Struct::Tms > utime

instance method Struct::Tms#utime

utime -> Float

ユーザー CPU 時間を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Struct::Tms > utime=

instance method Struct::Tms#utime=

utime=(n)

ユーザー CPU 時間をセットします。


Ruby 1.8.7 Reference Manual > All Libraries > library rexml > class Symbol > dclone

instance method Symbol#dclone

dclone [added by rexml]


instance method Symbol#id2name

id2name -> String
to_s -> String

シンボルに対応する文字列を返します。

逆に、文字列に対応するシンボルを得るには String#intern を使います。

p :foo.id2name
#=> "foo"

p :foo.id2name.intern == :foo
#=> true

[SEE_ALSO] String#intern


instance method Symbol#inspect

inspect -> String

Returns the representation of sym as a symbol literal.

:fred.inspect   #=> ":fred"


instance method Symbol#to_i

to_i -> Integer
to_int -> Integer

シンボルに対応する整数を返します。

このメソッドで得られる整数は、内部実装で名前の管理に使われています。 オブジェクトに対応する整数(Object#object_id で得ら れます)と Symbol に対応する整数は別のものです。

逆にこの整数から対応するシンボルを得るには Fixnum#to_sym が使えます

id = :foo.to_i
p id                  #=> 8881
p id.to_sym           #=> :foo

[SEE_ALSO] Fixnum#to_sym


instance method Symbol#to_proc

to_proc -> Proc

self に対応する Proc オブジェクトを返します。

(1..3).collect(&:to_s)  #=> ["1", "2", "3"]
(1..3).inject(&:+)      #=> 6


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Symbol > to_sym

instance method Symbol#to_sym

to_sym -> self

self を返します。

[SEE_ALSO] String#intern


singleton method Symbol.all_symbols

all_symbols -> [Symbol]

定義済みの全てのシンボルオブジェクトの配列を返します。

p Symbol.all_symbols #=> [:RUBY_PLATFORM, :RUBY_VERSION, ...]

リテラルで表記したシンボルのうち、コンパイル時に値が決まるものはその時に生成されます。 それ以外の式展開を含むリテラルや、メソッドで表記されたものは式の評価時に生成されます。 (何にも使われないシンボルは最適化により生成されないことがあります)

def number
  'make_3'
end

p Symbol.all_symbols.select{|sym|sym.to_s.include? 'make'}
#=> [:make_1, :make_2]

re  = #確実に生成されるように代入操作を行う
:make_1,
:'make_2',
:"#{number}",
'make_4'.intern

p Symbol.all_symbols.select{|sym|sym.to_s.include? 'make'}
#=> [:make_1, :make_2, :make_3, :make_4]


singleton method Sync.new

new -> Sync

Sync_mをincludeしたクラスのオブジェクトを返します。 使い方はSync_mを参照してください。

[SEE_ALSO] Sync_m


instance method SyncEnumerator#each

each {|elem| ... } -> self

与えられた Enumerable オブジェクトのそれぞれの要素の配列を引数として ブロックを評価します。self を返します。

要素がある Enumerable オブジェクトがひとつでもあれば、評価を続けます。 要素のなくなった Enumerable オブジェクトの代わりに nil を配列の要素とします。 全ての Enumerable オブジェクトの要素がなくなるとそこで、ブロックの評価を止めます。

例:

s = SyncEnumerator.new([1, 2, 3], ['a', 'b'], ['X'])
s.each{|arry| p arry}

# => 結果
# [1, "a", "X"]
# [2, "b", nil]
# [3, nil, nil]


instance method SyncEnumerator#end?

end?(i = nil) -> bool

SyncEnumerator が終わりに達している場合は真を返します。

i を与えた場合は、i 番目の Enumerable オブジェクトが終わりに 達している場合、真を返します。


instance method SyncEnumerator#length

length -> Integer
size -> Integer

与えられた Enumerable オブジェクトの数を返します。


singleton method SyncEnumerator.new

new(*enums) -> SyncEnumerator

SyncEnumerator オブジェクトを生成します。

複数の Enumerable オブジェクトを与えます。 Enumerable オブジェクトのサイズは異なっていても構いません。


constant Sync_m::EX

EX

排他ロックされている状態を表す定数です。 オブジェクトの状態を更新する場合のように、 1つのスレッドがオブジェクトを独占的に使用したい場合に用いる。 排他ロック中に他のスレッドはオブジェクトを共有/排他ロックできない。


constant Sync_m::SH

SH

共有ロックされている状態を表す定数です。 複数のスレッドが同時にオブジェクトを使用できる場合に用いる。 複数のスレッドが共有ロックしている場合、 どのスレッドもオブジェクトを排他ロックできない。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > UN

constant Sync_m::UN

UN

ロックされていない状態を表す定数です。


module function Sync_m.#exclusive?

sync_exclusive? -> bool
exclusive? -> bool

排他ロックされているかどうかを返します。


module function Sync_m.#lock

sync_lock(mode = EX) -> self
lock(mode = EX) -> self

ロック状態を変更します。 変更できるまで現在のスレッドの実行をブロックする。

[PARAM] mode:
変更後の状態を指定します。 通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > locked?

module function Sync_m.#locked?

sync_locked? -> bool
locked? -> bool

ロックされているかどうかを返します。


module function Sync_m.#shared?

sync_shared? -> bool
shared? -> bool

共有ロックされているかどうかを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_ex_count

module function Sync_m.#sync_ex_count

sync_ex_count -> Integer


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_ex_count=

module function Sync_m.#sync_ex_count=

sync_ex_count=(count)


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_ex_locker

module function Sync_m.#sync_ex_locker

sync_ex_locker -> Thread | nil


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_ex_locker=

module function Sync_m.#sync_ex_locker=

sync_ex_locker=(thread)


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_extended

module function Sync_m.#sync_extended

sync_extended


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_mode

module function Sync_m.#sync_mode

sync_mode -> Symbol

現在のロック状態を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_sh_locker

module function Sync_m.#sync_sh_locker

sync_sh_locker -> Hash


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_sh_locker=

module function Sync_m.#sync_sh_locker=

sync_sh_locker=(hash)


module function Sync_m.#sync_synchronize

sync_synchronize(mode = EX) {...} -> object
synchronize(mode = EX) {...} -> object

ロック状態を変更してブロックを実行します。 ブロックの実行結果を返します。

[PARAM] mode:
変更後の状態を指定します。 通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。


module function Sync_m.#sync_try_lock

sync_try_lock(mode = EX) -> bool
try_lock(mode = EX) -> bool

ロック状態を変更します。 変更できたかどうかをtrueかfalseで返し、ブロックしない。

[PARAM] mode:
変更後の状態を指定します。 通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。


module function Sync_m.#sync_unlock

sync_unlock(mode = EX) -> self
unlock(mode = EX) -> self

ロックを解除します。

[PARAM] mode:
変更後の状態を指定します。 通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_upgrade_waiting

module function Sync_m.#sync_upgrade_waiting

sync_upgrade_waiting -> [Thread]


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_upgrade_waiting=

module function Sync_m.#sync_upgrade_waiting=

sync_upgrade_waiting=(arr)


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_waiting

module function Sync_m.#sync_waiting

sync_waiting -> [Thread]


Ruby 1.8.7 Reference Manual > All Libraries > library sync > module Sync_m > sync_waiting=

module function Sync_m.#sync_waiting=

sync_waiting=(arr)


Ruby 1.8.7 Reference Manual > All Libraries > library sync > class Sync_m::Err > Fail

singleton method Sync_m::Err.Fail

Fail(*options) -> ()

自身に定義されているメッセージをセットして例外を発生させます。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > class Sync_m::LockModeFailer > Fail

singleton method Sync_m::LockModeFailer.Fail

Fail(*options) -> ()

自身に定義されているメッセージをセットして例外を発生させます。


Ruby 1.8.7 Reference Manual > All Libraries > library sync > class Sync_m::UnknownLocker > Fail

singleton method Sync_m::UnknownLocker.Fail

Fail(*options) -> ()

自身に定義されているメッセージをセットして例外を発生させます。


module function Syslog.#LOG_MASK

LOG_MASK(priority) -> Fixnum

1つの優先度に対するマスクを作成する。

[PARAM] priority:
priority は優先度を示す定数を指定します。 詳しくは、Syslog::Constantsを参照してください。

例:

Syslog.mask = Syslog::LOG_MASK(Syslog::LOG_ERR)


module function Syslog.#LOG_UPTO

LOG_UPTO(priority) -> Fixnum

priorityまでのすべての優先度のマスクを作成する。

[PARAM] priority:
priority は優先度を示す定数を指定します。 詳しくは、Syslog::Constantsを参照してください。

例:

Syslog.mask = Syslog::LOG_UPTO(Syslog::LOG_ERR)


module function Syslog.#alert

emerg(message, *arg) -> self
alert(message, *arg) -> self
crit(message, *arg) -> self
err(message, *arg) -> self
warning(message, *arg) -> self
notice(message, *arg) -> self
info(message, *arg) -> self
debug(message, *arg) -> self

Syslog#log()のショートカットメソッド。 システムによっては定義されていないものもあります。

例えば、Syslog.emerg(message, *arg) は、Syslog.log(Syslog::LOG_EMERG, message, *arg) と同じです。

[PARAM] message:
フォーマット文字列です。Kernel.#sprintf と同じ形式の引数を指定します。
[PARAM] arg:
フォーマットされる引数です。
[EXCEPTION] ArgumentError:
引数が1つ以上でない場合に発生します。
[EXCEPTION] RuntimeError:
syslog がopen されていない場合発生します。

例:

Syslog.open("syslogtest") {|syslog|
  syslog.crit("the sky is falling in %d seconds!",5)
}


module function Syslog.#close

close -> nil

syslogを閉じます。

[EXCEPTION] RuntimeError:
syslog がopen されていない場合発生します。

使用例

require 'syslog'

Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
Syslog.close


module function Syslog.#facility

ident -> String | nil
options -> Fixnum | nil
facility -> Fixnum | nil

最後のopenで与えられた対応する引数を返します。

使用例

require 'syslog'

Syslog.open("syslogtest")
p Syslog.ident    #=> "syslogtest"
p Syslog.options  #=> 3
p Syslog.facility #=> 8


Ruby 1.8.7 Reference Manual > All Libraries > library syslog > module Syslog > instance

module function Syslog.#instance

instance -> self

selfを返す。(旧版との互換性のため)


module function Syslog.#log

log(priority, format, *arg) -> self

syslogにメッセージを書き込みます。

priority は優先度を示す定数(Syslog::Constants参照)。 また、facility(Syslog::Constants参照)を論理和で指定す ることで open で指定した facility を切替えることもできる。

format 以降は Kernel.#sprintf と同じ形式の引数を指定する。

但し、syslog(3) のように format に %m は使用できません。

メッセージに改行を含める必要はない。

[PARAM] priority:
priority は優先度を示す定数を指定します。 詳しくは、Syslog::Constantsを参照してください。
[PARAM] format:
フォーマット文字列です。
[PARAM] arg:
フォーマットされる引数です。
[EXCEPTION] ArgumentError:
引数が２つ以上でない場合に発生します。

例:

Syslog.open("syslogtest") {|syslog|
  syslog.log(Syslog::LOG_CRIT, "the sky is falling in %d seconds!", 10)
}


module function Syslog.#mask

mask -> Fixnum | nil
mask=(mask)

ログの優先度のマスクを取得または設定する。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされない。

[PARAM] mask:
ログの優先度のマスクを設定します。
[EXCEPTION] RuntimeError:
syslog がオープンされていない場合、発生します。

使用例

require 'syslog'
include Syslog::Constants
# ログの場所は実行環境によって異なる。詳しくはsyslog.conf を参照
log = '/var/log/ftp.log'

Syslog.open('ftpd', LOG_PID | LOG_NDELAY, LOG_FTP)
Syslog.mask = Syslog::LOG_UPTO(LOG_ERR)

[ LOG_CRIT, LOG_ERR, LOG_WARNING,
  LOG_NOTICE, LOG_INFO, LOG_DEBUG ].each_with_index { |c, i|
  Syslog.log(c, "test for syslog FTP #{c}, #{i}")
}
Syslog.close
File.foreach(log){|line|
  print line if line =~ /FTP/
}


module function Syslog.#open

open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) -> self
open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self

与えられた引数でsyslogを開く。以降、他の Syslog モジュール関数が使 用可能となる。

ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、 最後に Syslog.#close を行う。

syslog の詳細については syslog(3) を参照してください。

[PARAM] ident:
すべてのログにつく識別子で、どのプログラムから送られ たログなのかを識別するために使われる文字列を指定します。 指定しない場合はプログラム名が使われます。
[PARAM] options:
Syslog.open や Syslog.log の動作を制御するフラグを指定します。 指定しない場合は、Syslog::LOG_PID|Syslog::LOG_CONSの値が使われ ます。使用できる値はSyslog::Constants を参照してください。
[PARAM] facility:
ログ出力を行うプログラムの種別を指定します。syslog はこの値 にしたがって出力先となるログファイルを決定します。 詳しくは、 syslog.conf(5), Syslog::Constants を参照してください。
[EXCEPTION] RuntimeError:
syslogを既に開いていた場合はRuntimeErrorが発生する。
[RETURN]
self を返します。

syslogを既に開いていた場合はRuntimeErrorが発生します。

require 'syslog'

Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
begin
  Syslog.open("syslogtest2")
rescue RuntimeError => err
  puts err #=> "syslog already open"
end

options と facility に指定できる値については Syslog::Constants を参照してください。

指定例:

Syslog.open('ftpd', Syslog::LOG_PID | Syslog::LOG_NDELAY,
            Syslog::LOG_FTP)


module function Syslog.#open!

open!(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self
reopen(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self

開いていた syslog を最初にクローズする点を除いてSyslog.#open と同じです。

[PARAM] ident:
すべてのログにつく識別子で、どのプログラムから送られ たログなのかを識別するために使われる文字列を指定します。 指定しない場合はプログラム名が使われます。
[PARAM] options:
Syslog.open や Syslog.log の動作を制御するフラグを指定します。 指定しない場合は、Syslog::LOG_PID|Syslog::LOG_CONSの値が使われ ます。使用できる値はSyslog::Constants を参照してください。
[PARAM] facility:
ログ出力を行うプログラムの種別を指定します。syslog はこの値 にしたがって出力先となるログファイルを決定します。 詳しくは、 syslog.conf(5), Syslog::Constants を参照してく ださい。

使用例

require 'syslog'

Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
begin
  Syslog.open!("syslogtest2")
  Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 200)
rescue RuntimeError => err
  # RuntimeError は発生しない。
  puts err
end
File.foreach('/var/log/system.log'){|line|
  print line if line =~ /the sky is/
}

[SEE_ALSO] Syslog.#open


module function Syslog.#opened?

opened? -> bool

syslog をオープンしていれば真を返す。

使用例

require 'syslog'

p Syslog.opened? #=> false
Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
p Syslog.opened? #=> true


constant Syslog::Constants::LOG_ALERT

LOG_EMERG
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG

優先度(priorities)を示す定数。 定数 の詳細については syslog(3) を参照してください。


constant Syslog::Constants::LOG_AUTH

LOG_AUTH
LOG_AUTHPRIV
LOG_CONSOLE
LOG_CRON
LOG_DAEMON
LOG_FTP
LOG_KERN
LOG_LPR
LOG_MAIL
LOG_NEWS
LOG_NTP
LOG_SECURITY
LOG_SYSLOG
LOG_USER
LOG_UUCP
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7

機能(facilities)を示す定数。

定数 の詳細については syslog(3) を参照してください。


constant Syslog::Constants::LOG_CONS

LOG_PID
LOG_CONS
LOG_ODELAY
LOG_NDELAY
LOG_NOWAIT
LOG_PERROR

オプション(options)を示す定数。 定数 の詳細については syslog(3) を参照してください。


instance method SystemCallError#errno

errno -> Fixnum | nil

レシーバに対応するシステム依存のエラーコードを返します。

エラーコードを渡さない形式で生成した場合は nil を返します。

begin
  raise Errno::ENOENT
rescue Errno::ENOENT => err
  p err.errno                 # => 2
  p Errno::ENOENT::Errno      # => 2
end

begin
  raise SystemCallError, 'message'
rescue SystemCallError => err
  p err.errno                 # => nil
end

なお、例外を発生させずにエラーコードを得るには、 Errno::EXXX::Errno 定数を使います。


singleton method SystemCallError.new

new(error_message) -> SystemCallError

SystemCallError オブジェクトを生成して返します。

[PARAM] error_message:
エラーメッセージを表す文字列

例:

p SystemCallError.new("message")
    # => #<SystemCallError: unknown error - message>
new(error_message, errno) -> SystemCallError
new(errno) -> SystemCallError

整数 errno に対応する Errno::EXXX オブジェクトを生成して返します。

整数 errno をシステムコールで発生したエラーの原因を示すコードであると解釈し、 対応する例外クラスのインスタンスを生成して返します。

生成されるオブジェクトは SystemCallError の直接のインスタンスではなく、サブクラスのインスタンスです。 それらのサブクラスは Errno モジュール内に定義されています。 対応するサブクラスが存在しないコードを与えた場合には、 SystemCallError の直接のインスタンスが生成されます。

エラーコードの取り得る値および意味はシステムに依存します。詳しくは Errno::EXXX を参照してください。

[PARAM] error_message:
エラーメッセージを表す文字列
[PARAM] errno:
システム依存のエラーコード
[EXCEPTION] TypeError:
errno を整数に変換できないときに発生します。
[EXCEPTION] RangeError:
errno が Fixnum で表せる範囲を超えるときに発生します。

例:

p SystemCallError.new("message", 2)
    # => #<Errno::ENOENT: No such file or directory - message>
p SystemCallError.new(2)
    # => #<Errno::ENOENT: No such file or directory>
p SystemCallError.new(256)
    # => #<SystemCallError: Unknown error 256>


instance method SystemExit#status

status -> Fixnum

例外オブジェクトに保存された終了ステータスを返します。

終了ステータスは Kernel.#exit や SystemExit.new などで設定されます。

例:

begin
  exit 1
rescue SystemExit => err
  p err.status   # => 1
end

begin
  raise SystemExit.new(1, "dummy exit")
rescue SystemExit => err
  p err.status   # => 1
end


instance method SystemExit#success?

success? -> bool

終了ステータスが正常終了を示す値ならば true を返します。

大半のシステムでは、ステータス 0 が正常終了を表します。

例:

begin
  exit true
rescue SystemExit => err
  p err.success?  # => true
end

begin
  exit false
rescue SystemExit => err
  p err.success?  # => false
end


singleton method SystemExit.new

new(status = 0, error_message = "") -> SystemExit

SystemExit オブジェクトを生成して返します。

[PARAM] status:
終了ステータスを整数で指定します。
[PARAM] error_message:
エラーメッセージを文字列で指定します。

例:

ex = SystemExit.new(1)
p ex.status   # => 1


instance method TCPServer#accept

accept -> TCPSocket

クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。

例:

TCPServer.open("", 0) {|serv|
  c = TCPSocket.new(*serv.addr.values_at(3,1))
  s = serv.accept
  c.write "foo"
  p s.recv(10)  #=> "foo"
}


instance method TCPServer#accept_nonblock

accept_nonblock -> TCPSocket

ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。

返り値は TCPServer#accept と同じです。

accept(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

[EXCEPTION] Errno::EXXX:
accept(2) がエラーになった場合に発生します。


instance method TCPServer#listen

listen(backlog) -> 0

listen(2) を実行します。 (Socket#listenと同じ)

backlog は、クライアントからの接続要求を保留できる数です。 TCPServer のインスタンスは最初は backlog の値は 5 で生成されます。

listen(2) が成功すれば 0 を返します。 失敗すれば 例外 Errno::EXXX が発生します。

[PARAM] backlog:
backlog は、クライアントからの接続要求を保留できる数です。 TCPServer のインスタンスは最初は backlog の値は 5 で生成されます。
[EXCEPTION] Errno::EXXX:
listen(2) が失敗すれば 例外 Errno::EXXX が発生します。
[RETURN]
listen(2) が成功すれば 0 を返します。


instance method TCPServer#sysaccept

sysaccept -> Fixnum

接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。

例:

TCPServer.open("", 0) {|serv|
  c = TCPSocket.new(*serv.addr.values_at(3,1))
  p serv.sysaccept        #=> 6
}


singleton method TCPServer.new

new([host, ]service) -> TCPServer
open([host, ]service) -> TCPServer

新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。省略時は全てのホ スト(インタフェース)への接続要求を受け付けることになります。

host に指定できる形式はsocket/ホスト指定形式を見てください。

[PARAM] host:
接続したいホストを指定します。 host に指定できる形式はsocket/ホスト指定形式を見てください。
[PARAM] service:
/etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。


singleton method TCPSocket.gethostbyname

gethostbyname(host) -> Array

ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホ スト名、ホストの別名の配列、ホストのアドレスタイプ、ホストの アドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) です。

[PARAM] host:
ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)を指定します。
[RETURN]
ホスト名、ホストの別名の配列、ホストのアドレスタイプ、ホストのアドレスを各要素とする配列を返します。

例:

p TCPSocket.gethostbyname("www.ruby-lang.org")
#=> ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]


singleton method TCPSocket.new

open(host, service [, local_host, local_service]) -> TCPSocket
new(host, service [, local_host, local_service]) -> TCPSocket

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、または octet decimal によるインターネットアドレスを示す文字列、service は /etc/services (または NIS) に登録されているサー ビス名かポート番号です。

引数 local_host, local_service を指定した場合、そのアドレス に対して bind(2) します。

[PARAM] host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
[PARAM] local_host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] local_service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
open(host, serv, local_host=nil, local_service=nil) -> TCPSocket [redefined by resolv-replace]
new(host, serv, local_host=nil, local_service=nil) -> TCPSocket [redefined by resolv-replace]

TCPSocket.new のパラメータ host と local_host の名前解決に resolv ライブラリを使います。

[PARAM] host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
[PARAM] local_host:
ホスト名、または octet decimal によるインターネットアドレスを示す文字列を指定します。
[PARAM] local_service:
/etc/services (または NIS) に登録されているサービス名かポート番号を指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。


instance method TSort#each_strongly_connected_component

each_strongly_connected_component {|nodes| ...} -> nil

strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

each_strongly_connected_component は nil を返します。

使用例

require 'tsort'

class Hash
  include TSort
  alias tsort_each_node each_key
  def tsort_each_child(node, &block)
    fetch(node).each(&block)
  end
end

non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}

non_sort.each_strongly_connected_component{|nodes|
  p nodes
}

#出力
#=> [4]
#=> [2, 3]
#=> [1]


instance method TSort#each_strongly_connected_component_from

each_strongly_connected_component_from(node) {|nodes| ...} -> ()

node から到達可能な強連結成分についてのイテレータです。

返す値は規定されていません。

each_strongly_connected_component_from は tsort_each_node を呼びません。

[PARAM] node:
ノードを指定します。
#例 到達可能なノードを表示する
require 'tsort'

class Hash
  include TSort
  alias tsort_each_node each_key
  def tsort_each_child(node, &block)
    fetch(node).each(&block)
  end
end

non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}

non_sort.each_strongly_connected_component{|nodes|
  p nodes
  nodes.each {|node|
    non_sort.each_strongly_connected_component_from(node){|ns|
      printf("%s -> %s\n", node, ns.join(","))
    }
  }
}

#出力
#=> [4]
#=> 4 -> 4
#=> [2, 3]
#=> 2 -> 4
#=> 2 -> 2,3
#=> 3 -> 4
#=> 3 -> 3,2
#=> [1]
#=> 1 -> 4
#=> 1 -> 2,3
#=> 1 -> 1


instance method TSort#strongly_connected_components

strongly_connected_components -> Array

強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。

require 'tsort'

class Hash
  include TSort
  alias tsort_each_node each_key
  def tsort_each_child(node, &block)
    fetch(node).each(&block)
  end
end

non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}

p non_sort.strongly_connected_components
#=> [[4], [2, 3], [1]]


instance method TSort#tsort

tsort -> Array

頂点をトポロジカルソートして得られる配列を返します。 この配列は子から親に向かってソートされています。 すなわち、最初の要素は子を持たず、最後の要素は親を持ちません。

閉路が存在するとき、例外TSort::Cyclicを起こします。

[EXCEPTION] TSort::Cyclic:
閉路が存在するとき、発生します.

使用例

require 'tsort'

class Hash
  include TSort
  alias tsort_each_node each_key
  def tsort_each_child(node, &block)
    fetch(node).each(&block)
  end
end

sorted = {1=>[2, 3], 2=>[3], 3=>[], 4=>[]}.tsort
p sorted #=> [3, 2, 1, 4]


instance method TSort#tsort_each

tsort_each {|node| ...} -> nil

tsort メソッドのイテレータ版です。 obj.tsort_each は obj.tsort.each と似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。

tsort_each は nil を返します。 閉路が存在するとき、例外 TSort::Cyclic を起こします。

[EXCEPTION] TSort::Cyclic:
閉路が存在するとき、発生します.

使用例

require 'tsort'

class Hash
  include TSort
  alias tsort_each_node each_key
  def tsort_each_child(node, &block)
    fetch(node).each(&block)
  end
end

non_sort = {1=>[2, 3], 2=>[3], 3=>[], 4=>[]}

non_sort.tsort_each {|node|
  non_sort.tsort_each_child(node){|child|
    printf("%d -> %d\n", node, child)
  }
}

# 出力
#=> 2 -> 3
#=> 1 -> 2
#=> 1 -> 3


instance method TSort#tsort_each_child

tsort_each_child(node) {|child| ...} -> ()

TSort で拡張されるクラスで定義されていなければならないメソッドです。

tsort_each_child is used to iterate for child nodes of node.

[PARAM] node:
ノードを指定します。
[EXCEPTION] NotImplementedError:
TSort で拡張されるクラスで定義されていない場合発生します。


instance method TSort#tsort_each_node

tsort_each_node {|node| ...} -> ()

TSort で拡張されるクラスで定義されていなければならないメソッドです。

tsort_each_node is used to iterate for all nodes over a graph.

[EXCEPTION] NotImplementedError:
TSort で拡張されるクラスで定義されていない場合発生します。


instance method TclTkIp#__eval

__eval(cmd) [added by tk]
_eval_with_enc(cmd) [added by tk]
_eval_without_enc(cmd) [added by tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TclTkIp > __fromUTF8

instance method TclTkIp#__fromUTF8

__fromUTF8(str, encoding = nil) [added by tk]


instance method TclTkIp#__invoke

_invoke(*cmds) [added by tk]
__invoke(*cmds) [added by tk]
_invoke_with_enc(*cmds) [added by tk]
_invoke_without_enc(*cmds) [added by tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TclTkIp > __toUTF8

instance method TclTkIp#__toUTF8

__toUTF8(str, encoding = nil) [added by tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _conv_listelement

instance method TclTkIp#_conv_listelement

_conv_listelement(src)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _create_console

instance method TclTkIp#_create_console

_create_console


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _eval

instance method TclTkIp#_eval

_eval(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _fromUTF8

instance method TclTkIp#_fromUTF8

_fromUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _get_global_var

instance method TclTkIp#_get_global_var

_get_global_var(var_name)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _get_global_var2

instance method TclTkIp#_get_global_var2

_get_global_var2(var_name, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _get_variable

instance method TclTkIp#_get_variable

_get_variable(var_name, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _get_variable2

instance method TclTkIp#_get_variable2

_get_variable2(var_name, index, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _immediate_invoke

instance method TclTkIp#_immediate_invoke

_immediate_invoke


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _invoke

instance method TclTkIp#_invoke

_invoke(*cmds)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TclTkIp > _ip_id_

instance method TclTkIp#_ip_id_

_ip_id_ [added by tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _make_menu_embeddable

instance method TclTkIp#_make_menu_embeddable

_make_menu_embeddable(menu_path)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _merge_tklist

instance method TclTkIp#_merge_tklist

_merge_tklist


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _return_value

instance method TclTkIp#_return_value

_return_value


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _set_global_var

instance method TclTkIp#_set_global_var

_set_global_var(var_name, value)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _set_global_var2

instance method TclTkIp#_set_global_var2

_set_global_var2(var_name, index, value)


instance method TclTkIp#_set_variable

_set_variable(var_name, value, flag)
_set_variable(var_name, index, value, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _split_tklist

instance method TclTkIp#_split_tklist

_split_tklist(list_str)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _thread_tkwait

instance method TclTkIp#_thread_tkwait

_thread_tkwait(mode, target)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _thread_vwait

instance method TclTkIp#_thread_vwait

_thread_vwait(var)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _toUTF8

instance method TclTkIp#_toUTF8

_toUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _unset_global_var

instance method TclTkIp#_unset_global_var

_unset_global_var(var_name)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _unset_global_var2

instance method TclTkIp#_unset_global_var2

_unset_global_var2(var_name, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _unset_variable

instance method TclTkIp#_unset_variable

_unset_variable(var_name, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > _unset_variable2

instance method TclTkIp#_unset_variable2

_unset_variable2(var_name, index, flag)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > allow_ruby_exit=

instance method TclTkIp#allow_ruby_exit=

allow_ruby_exit=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > allow_ruby_exit?

instance method TclTkIp#allow_ruby_exit?

allow_ruby_exit?


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > create_slave

instance method TclTkIp#create_slave

create_slave


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > delete

instance method TclTkIp#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > deleted?

instance method TclTkIp#deleted?

deleted?


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > do_one_event

instance method TclTkIp#do_one_event

do_one_event


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TclTkIp > encoding

instance method TclTkIp#encoding

encoding [added by tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TclTkIp > encoding=

instance method TclTkIp#encoding=

encoding=(encoding) [added by tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > get_eventloop_tick

instance method TclTkIp#get_eventloop_tick

get_eventloop_tick


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > get_eventloop_weight

instance method TclTkIp#get_eventloop_weight

get_eventloop_weight


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > get_no_event_wait

instance method TclTkIp#get_no_event_wait

get_no_event_wait


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > has_mainwindow?

instance method TclTkIp#has_mainwindow?

has_mainwindow?


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > invalid_namespace?

instance method TclTkIp#invalid_namespace?

invalid_namespace?


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > mainloop

instance method TclTkIp#mainloop

mainloop


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > mainloop_abort_on_exception

instance method TclTkIp#mainloop_abort_on_exception

mainloop_abort_on_exception


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > mainloop_abort_on_exception=

instance method TclTkIp#mainloop_abort_on_exception=

mainloop_abort_on_exception=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > mainloop_watchdog

instance method TclTkIp#mainloop_watchdog

mainloop_watchdog


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > make_safe

instance method TclTkIp#make_safe

make_safe


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > restart

instance method TclTkIp#restart

restart


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > safe?

instance method TclTkIp#safe?

safe?


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > set_eventloop_tick

instance method TclTkIp#set_eventloop_tick

set_eventloop_tick(tick)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > set_eventloop_weight

instance method TclTkIp#set_eventloop_weight

set_eventloop_weight(loop_max, no_event)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > set_max_block_time

instance method TclTkIp#set_max_block_time

set_max_block_time(time)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > set_no_event_wait

instance method TclTkIp#set_no_event_wait

set_no_event_wait(wait)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > class TclTkIp > slave_of?

instance method TclTkIp#slave_of?

slave_of?(master)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > COMPILE_INFO

constant TclTkLib::COMPILE_INFO

COMPILE_INFO


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > FINALIZE_PROC_NAME

constant TclTkLib::FINALIZE_PROC_NAME

FINALIZE_PROC_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > RELEASE_DATE

constant TclTkLib::RELEASE_DATE

RELEASE_DATE


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _conv_listelement

singleton method TclTkLib._conv_listelement

_conv_listelement(src)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TclTkLib > _encoding

singleton method TclTkLib._encoding

_encoding [added by tk]

オリジナルの TclTkLib.encoding


singleton method TclTkLib._encoding=

_encoding=(name) [added by tk]

オリジナルの TclTkLib.encoding=


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _fromUTF8

singleton method TclTkLib._fromUTF8

_fromUTF8(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _mark_at_exit

singleton method TclTkLib._mark_at_exit

_mark_at_exit


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _merge_tklist

singleton method TclTkLib._merge_tklist

_merge_tklist(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _split_tklist

singleton method TclTkLib._split_tklist

_split_tklist(list_str)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _subst_Tcl_backslash

singleton method TclTkLib._subst_Tcl_backslash

_subst_Tcl_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _subst_UTF_backslash

singleton method TclTkLib._subst_UTF_backslash

_subst_UTF_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > _toUTF8

singleton method TclTkLib._toUTF8

_toUTF8(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > do_one_event

singleton method TclTkLib.do_one_event

do_one_event(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > do_thread_callback

singleton method TclTkLib.do_thread_callback

do_thread_callback(*args)


singleton method TclTkLib.encoding

encoding
encoding [added by tk]

TkCore::INTERP.encoding を呼び出す


singleton method TclTkLib.encoding=

encoding=(enc_name)
encoding=(name) [added by tk]

TkCore::INTERP.encoding= を呼び出す


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > encoding_system

singleton method TclTkLib.encoding_system

encoding_system


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > encoding_system=

singleton method TclTkLib.encoding_system=

encoding_system=(enc_name)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > get_eventloop_tick

singleton method TclTkLib.get_eventloop_tick

get_eventloop_tick


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > get_eventloop_weight

singleton method TclTkLib.get_eventloop_weight

get_eventloop_weight


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > get_no_event_wait

singleton method TclTkLib.get_no_event_wait

get_no_event_wait


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > mainloop

singleton method TclTkLib.mainloop

mainloop(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > mainloop_abort_on_exception

singleton method TclTkLib.mainloop_abort_on_exception

mainloop_abort_on_exception


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > mainloop_abort_on_exception=

singleton method TclTkLib.mainloop_abort_on_exception=

mainloop_abort_on_exception=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > mainloop_thread?

singleton method TclTkLib.mainloop_thread?

mainloop_thread?


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > mainloop_watchdog

singleton method TclTkLib.mainloop_watchdog

mainloop_watchdog(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > num_of_mainwindows

singleton method TclTkLib.num_of_mainwindows

num_of_mainwindows


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > set_eventloop_tick

singleton method TclTkLib.set_eventloop_tick

set_eventloop_tick(tick)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > set_eventloop_weight

singleton method TclTkLib.set_eventloop_weight

set_eventloop_weight(loop_max, no_event)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > set_max_block_time

singleton method TclTkLib.set_max_block_time

set_max_block_time(time)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib > set_no_event_wait

singleton method TclTkLib.set_no_event_wait

set_no_event_wait(wait)


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > ALL

constant TclTkLib::EventFlag::ALL

ALL


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > DONT_WAIT

constant TclTkLib::EventFlag::DONT_WAIT

DONT_WAIT


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > FILE

constant TclTkLib::EventFlag::FILE

FILE


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > IDLE

constant TclTkLib::EventFlag::IDLE

IDLE


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > NONE

constant TclTkLib::EventFlag::NONE

NONE


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > TIMER

constant TclTkLib::EventFlag::TIMER

TIMER


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::EventFlag > WINDOW

constant TclTkLib::EventFlag::WINDOW

WINDOW


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > APPEND_VALUE

constant TclTkLib::VarAccessFlag::APPEND_VALUE

APPEND_VALUE


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > GLOBAL_ONLY

constant TclTkLib::VarAccessFlag::GLOBAL_ONLY

GLOBAL_ONLY


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > LEAVE_ERR_MSG

constant TclTkLib::VarAccessFlag::LEAVE_ERR_MSG

LEAVE_ERR_MSG


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > LIST_ELEMENT

constant TclTkLib::VarAccessFlag::LIST_ELEMENT

LIST_ELEMENT


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > NAMESPACE_ONLY

constant TclTkLib::VarAccessFlag::NAMESPACE_ONLY

NAMESPACE_ONLY


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > NONE

constant TclTkLib::VarAccessFlag::NONE

NONE


Ruby 1.8.7 Reference Manual > All Libraries > library tcltklib > module TclTkLib::VarAccessFlag > PARSE_VARNAME

constant TclTkLib::VarAccessFlag::PARSE_VARNAME

PARSE_VARNAME


instance method Tempfile#close

close(real = false) -> nil

テンポラリファイルをクローズします。 real が偽ならば、テンポラリファイルはGCによって削除されます。 そうでなければ、すぐに削除されます。

[PARAM] real:
false もしくはそれ以外を指定します。
tf = Tempfile.open("bar")
tf.close
p FileTest.exist?(tf.path) # => true


instance method Tempfile#close!

close! -> nil

テンポラリファイルをクローズし、すぐに削除します。

require "tempfile"
tf = Tempfile.open("bar")
path = tf.path
tf.close!
p FileTest.exist?(path) # => false


instance method Tempfile#delete

delete -> self
unlink -> self

テンポラリファイルをクローズせずに、削除します。 UNIXライクなシステムでは、 作成したテンポラリファイルが他のプログラムに使用される機会をなくすために、 テンポラリファイルを作成しオープンした後、 すぐに削除するということがしばしばおこなわれます。

tf = Tempfile.new("foo")
tf.unlink
p tf.path # => nil
tf.print("foobar,hoge\n")
tf.rewind
p tf.gets("\n") # => "foobar,hoge\n"


instance method Tempfile#length

length -> Integer
size -> Integer

テンポラリファイルのサイズを返します。

tf = Tempfile.new("foo")
tf.print("bar,ugo")
p tf.size # => 7
tf.close
p tf.size # => 0


instance method Tempfile#open

open -> self

クローズしたテンポラリファイルを再オープンします。 "r+" でオープンされるので、クローズ前の内容を再度読む ことができます。

tf = Tempfile.new("foo")
tf.print("foobar,hoge\n")
tf.print("bar,ugo\n")
tf.close
tf.open
p tf.gets # => "foobar,hoge\n"


instance method Tempfile#path

path -> String | nil

テンポラリファイルのパス名を返します。

Tempfile#close!を実行後だった場合にはnilを返します。

tf = Tempfile.new("hoo")
p tf.path # => "/tmp/hoo.10596.0"
tf.close!
p tf.path # => nil


singleton method Tempfile.new

new(basename, tempdir = Dir::tmpdir) -> Tempfile
open(basename, tempdir = Dir::tmpdir) -> Tempfile
open(basename, tempdir = Dir::tmpdir) {|fp| ...} -> nil

テンポラリファイルを作成し、それを表す Tempfile オブジェクトを生成して返します。 ファイル名のプレフィクスには指定された basename が使われます。 ファイルは指定された tempdir に作られます。 ブロックを指定して呼び出した場合は、Tempfile オブジェクトを引数として ブロックを実行します。ブロックの実行が終了すると、ファイルは自動的に クローズされ、 nilをかえします。

[PARAM] basename:
ファイル名のプレフィクスを文字列で指定します。 文字列の配列を指定した場合、先頭の要素がファイル名のプレフィックス、次の要素が サフィックスとして使われます。
[PARAM] tempdir:
テンポラリファイルが作られるディレクトリです。 このデフォルト値は、Dir.tmpdir の値となります。

例:

require "tempfile"
t = Tempfile.open(['hoge', 'bar'])
p t.path                            #=> "/tmp/hoge20080518-6961-5fnk19-0bar"
t2 = Tempfile.open(['t', '.xml'])
p t2.path                           #=> "/tmp/t20080518-6961-xy2wvx-0.xml"

例：ブロックを与えた場合

require 'tempfile'

path = nil
Tempfile.open("temp"){|fp|
  fp.puts "hoge"
  path = fp.path
}

system("cat #{path}")


singleton method Test::Unit.run=

run=(flag)

ユニットテストを自動実行したかどうかを指定します。

[PARAM] flag:
ユニットテストを自動実行したかどうか

trueをセットするとTest::Unitはユニットテストを自動実行``しなくなります''。 runは過去分詞のrunです。trueにするとテストを実行し終えたという意味になります。


singleton method Test::Unit.run?

run? -> bool

ユニットテストを実行したかどうかを返します。 戻り値が false だった場合は、まだユニットテストを実行していない事になります。

[RETURN]
ユニットテストを実行したかどうか


instance method Test::Unit::Assertions#assert

assert(boolean, message=nil) -> ()

boolean が真ならパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_block

assert_block(message="assert_block failed.") { ... } -> ()

ブロックを実行し、その結果が真ならパスします。

新しい assert メソッドを定義する時にも使います。

def deny(boolean, message = nil)
  message = build_message message, '<?> is not false or nil.', boolean
  assert_block message do
    not boolean
  end
end
[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_equal

assert_equal(expected, actual, message=nil) -> ()

expected == actual ならばパスします。

Test::Unit::Assertions#assert_sameとの違いに注意して下さい。 Object#== も参照して下さい。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_in_delta

assert_in_delta(expected_float, actual_float, delta, message="") -> ()

(expected_float.to_f - actual_float.to_f).abs <= delta.to_f が真ならパスします。

delta は正の数でなければならない。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_instance_of

assert_instance_of(klass, object, message="") -> ()

object が klass の直接のインスタンスであるなら、パスします。 Object#instance_of?も参照して下さい。

Test::Unit::Assertions#assert_kind_of との違いに注意して下さい。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_kind_of

assert_kind_of(klass, object, message="") -> ()

object.kind_of?(klass) が真ならパスします。

正確には、object が klass かそのサブクラスのインスタンスであるならパスします。 また、klass がモジュールである場合は、object が klass をインクルードしたクラスかそのサブクラスの インスタンスであるならパスします。Object#kind_of? を参照して下さい。

Test::Unit::Assertions#assert_instance_of との違いに注意して下さい。

[PARAM] klass:
クラスかモジュールを与えます。
[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_match

assert_match(pattern, string, message="") -> ()

string =~ pattern が真ならばパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_nil

assert_nil(object, message="") -> ()

object が nil ならばパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_no_match

assert_no_match(regexp, string, message="") -> ()

regexp !~ string が真ならばパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_not_equal

assert_not_equal(expected, actual, message="") -> ()

expected != actual ならばパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_not_nil

assert_not_nil(object, message="") -> ()

object が nil でないならばパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_not_same

assert_not_same(expected, actual, message="") -> ()

!actual.equal?(expected) が真ならパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_nothing_raised

assert_nothing_raised(message = "") { ... }
assert_nothing_raised(klass1, klass2, ..., message = "") { ... }

ブロックを実行して例外が起きなければパスします。

ブロックを実行して発生した例外が klass1, klass2, ..., のいずれかのクラスの インスタンスである場合は、assert は失敗扱いとなり、Test::Unit::AssertionFailedError を投げます。そうでない場合は、エラー扱いとなり発生した例外を再び投げます。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_nothing_thrown

assert_nothing_thrown(message="") { ... } -> ()

ブロックを実行して throw が起こらなければパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_operator

assert_operator(object1, operator, object2, message="") -> ()

object1.send(operator, object2) が真ならパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_raise

assert_raise(klass1, klass2, ..., message = "") { ... } -> object

ブロックを実行して例外が発生し、その例外が klass1, klass2,... のいずれかのクラスのインスタンスならばパスします。

assert にパスした時は、実際に投げられた例外を返します。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_raises

assert_raises(*args, &block) -> object

Test::Unit::Assertions#assert_raise のエイリアスです。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_respond_to

assert_respond_to(object, method, message="") -> ()

object.respond_to?(method) が真ならパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_same

assert_same(expected, actual, message="") -> ()

actual.equal?(expected) が真ならパスします。

Test::Unit::Assertions#assert_equal との違いに注意して下さい。 Object#equal? も参照して下さい。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_send

assert_send(send_array, message="") -> ()

send_array[0].__send__(send_array[1], *send_array[2..-1]) が真ならパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#assert_throws

assert_throws(expected_symbol, message="") { ... } -> ()

ブロックを実行して :expected_symbol が throw されたらパスします。

[EXCEPTION] Test::Unit::AssertionFailedError:
assert が失敗した時に発生します。


instance method Test::Unit::Assertions#build_message

build_message(head, template=nil, *arguments)

テストが失敗したときに表示されるメッセージを作成します。

[PARAM] head:
templateから作成するメッセージの前に表示する文字列を指定します。
[PARAM] template:
作成するメッセージのテンプレートを文字列で指定します。
[PARAM] arguments:
template 内の '?' を置き換えるオブジェクトを配列で指定します。
[RETURN]
作成したメッセージをTest::Unit::Assertions::AssertionMessageの インスタンスで返します。

head は template の前に追加されます。template に指定した文字列に '?' が 含まれていた場合は、arguments に指定したオブジェクトでそれぞれ置き換え られます。


instance method Test::Unit::Assertions#flunk

flunk(message="Flunked") -> ()

常に失敗します。

ちゃんとしたテストを書くまでの間、テストを失敗させておきたい場合などに使います。

[EXCEPTION] Test::Unit::AssertionFailedError:
常に発生します。


singleton method Test::Unit::Assertions.use_pp=

use_pp=(value)

出力に pp を使用するかどうかを指定します。偽を指定した場合は pp は require されません。

[PARAM] value:
pp を使用するかどうか。


singleton method Test::Unit::AutoRunner.run

run(force_standalone = false, dir = '.', argv = ARGV) -> bool

テストを実行します。全てのテストが成功した場合、true を返します。そうでない場合は、 false を返します。

[PARAM] force_standalone:
true を与えると、dir 以下にある全てのテストを実 行します。false を与えた場合は既に読み込まれた ファイルの中からテストを探して実行します。テス トが読み込まれておらず、スクリプトを -e から実 行している場合は、dir 以下にある全てのテストを 実行します。デフォルトは false です。
[PARAM] dir:
force_standalone に true を与えた時に再帰的に探査するディレクトリ名を 与えます。デフォルトではカレントディレクトリを再帰的に探査します。
[PARAM] argv:
オプションを配列として与えます。解釈するオプションは先に 出てきたものと同じです。
-r, --runner=RUNNER              Use the given RUNNER.
                                 (c[onsole], f[ox], g[tk], g[tk]2, t[k])
-b, --basedir=DIR                Base directory of test suites.
-w, --workdir=DIR                Working directory to run tests.
-n, --name=NAME                  Runs tests matching NAME.
                                 (patterns may be used).
-t, --testcase=TESTCASE          Runs tests in TestCases matching TESTCASE.
                                 (patterns may be used).
-v, --verbose=[LEVEL]            Set the output level (default is verbose).
                                 (s[ilent], p[rogress], n[ormal], v[erbose])
    --                           Stop processing options so that the
                                 remaining options will be passed to the
                                 test.
-h, --help                       Display this help.

force_standalone に true を与えた時には次のオプションが追加されます。

-a, --add=TORUN                  Add TORUN to the list of things to run;
                                 can be a file or a directory.
-p, --pattern=PATTERN            Match files to collect against PATTERN.
-x, --exclude=PATTERN            Ignore files to collect against PATTERN.

例

require 'test/unit'
Test::Unit::AutoRunner.run(true, './', ['--runner=tk', '-v',
                                        '--exclude=/test_hoge.*\.rb\Z/i'])

argv にデフォルトのまま ARGV を渡しておけばコマンドラインからオプションを 指定できます。

require 'test/unit'
Test::Unit::AutoRunner.run(true, './')

と、runner.rb に書いておいて、コマンドラインから以下のように実行。

$ ruby runner.rb --runner=tk -v --exclude=/test_hoge.\*\\.rb\\Z/i


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Error > long_display

instance method Test::Unit::Error#long_display

long_display

Returns a verbose version of the error description.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Error > message

instance method Test::Unit::Error#message

message

Returns the message associated with the error.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Error > short_display

instance method Test::Unit::Error#short_display

short_display

Returns a brief version of the error description.


instance method Test::Unit::Error#single_character_display

single_character_display

Returns a single character representation of an error.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Error > to_s

instance method Test::Unit::Error#to_s

to_s

Overridden to return long_display.


singleton method Test::Unit::Error.new

new(test_name, exception)

Creates a new Error with the given test_name and exception.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Failure > long_display

instance method Test::Unit::Failure#long_display

long_display

Returns a verbose version of the error description.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Failure > short_display

instance method Test::Unit::Failure#short_display

short_display

Returns a brief version of the error description.


instance method Test::Unit::Failure#single_character_display

single_character_display

Returns a single character representation of a failure.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::Failure > to_s

instance method Test::Unit::Failure#to_s

to_s

Overridden to return long_display.


singleton method Test::Unit::Failure.new

new(test_name, location, message)

Creates a new Failure with the given location and message.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::TestCase > PASSTHROUGH_EXCEPTIONS (private)

constant Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS

PASSTHROUGH_EXCEPTIONS

Test::Unit::TestCase#run の実行時に rescue されない例外の一覧です。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::TestCase > default_test

instance method Test::Unit::TestCase#default_test

default_test -> ()

常に失敗するテストです。


instance method Test::Unit::TestCase#method_name

method_name -> String

自身に対応しているテストメソッドの名前を文字列で返します。

Test::Unit::TestCase#setup や Test::Unit::TestCase#teardown において、実行する(あるいは、実行した)テストメソッドの名前を知るのに 使うことができます。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::TestCase > name

instance method Test::Unit::TestCase#name

name -> String

自身に対応しているテストメソッドの名前を人間が読みやすい形式で返します。


instance method Test::Unit::TestCase#passed?

passed? -> bool

テストが成功したなら、true を返します。そうでないなら、false を返します。 Test::Unit::TestCase#teardown の中で使うことを意図されています。 テスト実行前に何を返すかは不定です。


instance method Test::Unit::TestCase#run

run(result) {|STARTED, name| ...}

このメソッドをユーザが直接呼ぶことはありません。

自身に対応したテストメソッドを実行して failures や errors を集計します。

[PARAM] result:
Test::Unit::TestResult オブジェクトを与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::TestCase > setup

instance method Test::Unit::TestCase#setup

setup -> ()

各テストメソッドが呼ばれる前に必ず呼ばれます。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::TestCase > size

instance method Test::Unit::TestCase#size

size -> Integer

常に 1 を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testcase > class Test::Unit::TestCase > teardown

instance method Test::Unit::TestCase#teardown

teardown -> ()

各テストメソッドが呼ばれた後に必ず呼ばれます。


singleton method Test::Unit::TestCase.new

new(test_method_name) -> Test::Unit::TestCase

このメソッドをユーザが直接呼ぶことはありません。

test_method_name に対応した TestCase オブジェクトを生成して返します。

[PARAM] test_method_name:
テストメソッドの名前を文字列で与えます。


singleton method Test::Unit::TestCase.suite

suite -> Test::Unit::TestSuite

「test」ではじまるインスタンスメソッド全てに対して、それぞれに対応する TestCase オブジェクトを生成し、Test::Unit::TestSuite オブジェクト としてまとめたものを返します。

「test」ではじまるインスタンスメソッドがない場合は、Test::Unit::TestCase#default_test に対応づけされた TestCase オブジェクトのみを持つ、TestSuite オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testresult > class Test::Unit::TestResult > assertion_count

instance method Test::Unit::TestResult#assertion_count

assertion_count -> Integer

今までに実行を記録した assert の数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testresult > class Test::Unit::TestResult > error_count

instance method Test::Unit::TestResult#error_count

error_count -> Integer

今までに記録したテストのエラーの数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testresult > class Test::Unit::TestResult > failure_count

instance method Test::Unit::TestResult#failure_count

failure_count -> Integer

今までに記録した失敗したテストの数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testresult > class Test::Unit::TestResult > passed?

instance method Test::Unit::TestResult#passed?

passed? -> bool

すべてのテストが成功したなら true を返します。 そうでないなら false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testresult > class Test::Unit::TestResult > run_count

instance method Test::Unit::TestResult#run_count

run_count -> Integer

今までに実行を記録したテストメソッドの数を返します。


instance method Test::Unit::TestResult#to_s

to_s -> String

実行したテストメソッドの数と assert の数、テストの失敗・エラーそれぞれの回数を 人間が読みやすい文字列にして返します。


singleton method Test::Unit::TestResult.new

new -> Test::Unit::TestResult

このメソッドをユーザが直接呼ぶことはありません。

空の TestResult オブジェクトを返します。


instance method Test::Unit::TestSuite#<<

self << test -> self

自身にテストを加えます。self を返します。

[PARAM] test:
自身に加える TestCase か TestSuite のインスタンスを与えます。


instance method Test::Unit::TestSuite#==

self == other -> bool

It's handy to be able to compare TestSuite instances.


instance method Test::Unit::TestSuite#delete

delete(test) -> ()

test と等しいもの全てを自身から削除します。test と等しい要素が見つかった場合は、testを返します。 test と等しいものがなければ nil を返します

[PARAM] test:
自身から削除する TestCase か TestSuite のインスタンスを与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testsuite > class Test::Unit::TestSuite > empty?

instance method Test::Unit::TestSuite#empty?

empty? -> bool

実行すべきテストが空なら true を返します。そうでないなら false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testsuite > class Test::Unit::TestSuite > name

instance method Test::Unit::TestSuite#name

name -> String


instance method Test::Unit::TestSuite#run

run(result) {|STARTED, name| ...} -> ()

このメソッドをユーザが直接呼ぶことはありません。

自身が持っているテストを実行します。 このメソッドは TestRunner オブジェクトから呼ばれます。

テストは TestSuite へ加えられた順に実行されます。 自身が TestSuite を含んでいる場合は、再帰的にテストを実行します。

[PARAM] result:
TestResult オブジェクトを与えます。


instance method Test::Unit::TestSuite#size

size -> Integer

実行するテストの総数を返します。 もし自身が他の TestSuite を含んでいる場合は、その TestSuite が 持っているテストを再帰的に合計した数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/testsuite > class Test::Unit::TestSuite > tests

instance method Test::Unit::TestSuite#tests

tests -> [ Test::Unit::TestSuite | Test::Unit::TestCase ]


instance method Test::Unit::TestSuite#to_s

to_s -> String

Overridden to return the name given the suite at creation.


singleton method Test::Unit::TestSuite.new

new(name = "Unnamed TestSuite") -> Test::Unit::TestSuite

TestSuite のインスタンスを生成して返します。

[PARAM] name:
生成する TestSuite の名前です。文字列で与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/testrunnerutilities > module Test::Unit::UI > NORMAL

constant Test::Unit::UI::NORMAL

SILENT
PROGRESS_ONLY
NORMAL
VERBOSE


instance method Test::Unit::UI::Console::TestRunner#start

start -> Test::Unit::TestResult

テストを実行し、生成時に与えられた io に結果を出力します。 テスト結果を保持した Test::Unit::TestResult オブジェクトを返します。


singleton method Test::Unit::UI::Console::TestRunner.new

new(suite, output_level=NORMAL, io=STDOUT)

TestRunner オブジェクトを生成して返します。

[PARAM] suite:
実行したいテストを保持している TestSuite オブジェクトか TestCase オブジェクトを与えます。
[PARAM] output_level:
出力レベルを指定します。指定できるのは以下の4つです。
* Test::Unit::UI::SILENT
* Test::Unit::UI::PROGRESS_ONLY
* Test::Unit::UI::NORMAL
* Test::Unit::UI::VERBOSE
[PARAM] io:
結果を出力するための IO オブジェクトを与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/fox/testrunner > class Test::Unit::UI::Fox::TestRunner > start

instance method Test::Unit::UI::Fox::TestRunner#start

start()


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/fox/testrunner > class Test::Unit::UI::Fox::TestRunner > new

singleton method Test::Unit::UI::Fox::TestRunner.new

new(suite, output_level = NORMAL)


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/gtk2/testrunner > class Test::Unit::UI::GTK2::TestRunner > start

instance method Test::Unit::UI::GTK2::TestRunner#start

start()


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/gtk2/testrunner > class Test::Unit::UI::GTK2::TestRunner > new

singleton method Test::Unit::UI::GTK2::TestRunner.new

new(suite, output_level = NORMAL)


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/gtk/testrunner > class Test::Unit::UI::GTK::TestRunner > start

instance method Test::Unit::UI::GTK::TestRunner#start

start()


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/gtk/testrunner > class Test::Unit::UI::GTK::TestRunner > new

singleton method Test::Unit::UI::GTK::TestRunner.new

new(suite, output_level = NORMAL)


instance method Test::Unit::UI::TestRunnerMediator#create_result

create_result

A factory method to create the result the mediator should run with. Can be overridden by subclasses if one wants to use a different result.


instance method Test::Unit::UI::TestRunnerMediator#run_suite

run_suite

生成時に与えられた Test::Unit::TestSuite が保持しているテストを実行します。 実行結果を表す Test::Unit::TestResult オブジェクトを返します。


singleton method Test::Unit::UI::TestRunnerMediator.initialize

initialize(suite)

新しく TestRunnerMediator オブジェクトを生成して返します。

[PARAM] suite:
実行したいテストを持った Test::Unit::TestSuite オブジェクトを 与えます。


instance method Test::Unit::UI::TestRunnerUtilities#run

run(suite, output_level=NORMAL) -> Test::Unit::TestResult

新しく TestRunner を生成して、与えられた TestSuite のテストを実行します。

[PARAM] suite:
実行したいテストを保持している TestSuite オブジェクトか TestCase オブジェクトを与えます。
[PARAM] output_level:
出力レベルを指定します。指定できるのは以下の4つです。
* Test::Unit::UI::SILENT
* Test::Unit::UI::PROGRESS_ONLY
* Test::Unit::UI::NORMAL
* Test::Unit::UI::VERBOSE


instance method Test::Unit::UI::TestRunnerUtilities#start_command_line_test

start_command_line_test -> Test::Unit::TestResult

Takes care of the ARGV parsing and suite determination necessary for running one of the TestRunners from the command line.


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/tk/testrunner > class Test::Unit::UI::Tk::TestRunner > start

instance method Test::Unit::UI::Tk::TestRunner#start

start()


Ruby 1.8.7 Reference Manual > All Libraries > library test/unit/ui/tk/testrunner > class Test::Unit::UI::Tk::TestRunner > new

singleton method Test::Unit::UI::Tk::TestRunner.new

new(suite, output_level = NORMAL)


instance method Test::Unit::Util::Observable#add_listener

add_listener(channel_name, listener_key=NOTHING, &listener)

Adds the passed proc as a listener on the channel indicated by channel_name. listener_key is used to remove the listener later; if none is specified, the proc itself is used.

Whatever is used as the listener_key is returned, making it very easy to use the proc itself as the listener_key:

listener = add_listener("Channel") { ... }
remove_listener("Channel", listener)


instance method Test::Unit::Util::Observable#notify_listeners

notify_listeners(channel_name, *arguments)

Calls all the procs registered on the channel indicated by channel_name. If value is specified, it is passed in to the procs, otherwise they are called with no arguments.


instance method Test::Unit::Util::Observable#remove_listener

remove_listener(channel_name, listener_key)

Removes the listener indicated by listener_key from the channel indicated by channel_name. Returns the registered proc, or nil if none was found.


instance method Thread#[]

self[name] -> object | nil

name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。

[PARAM] name:
スレッド固有データのキーを文字列か Symbol で指定します。


instance method Thread#[]=

self[name] = val

val を name に対応するスレッド固有のデータとして格納します。

[PARAM] name:
スレッド固有データのキーを文字列か Symbol で指定します。文字列を指定した場合は String#to_sym によりシンボルに変換されます。
[PARAM] val:
スレッド固有データを指定します。nil を指定するとそのスレッド固有データは削除されます。


instance method Thread#abort_on_exception

abort_on_exception -> bool
abort_on_exception=(newstate)

真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。

デフォルトは偽です。Thread/例外発生時のスレッドの振る舞いを参照してください。

[PARAM] newstate:
自身を実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。


instance method Thread#alive?

alive? -> bool

スレッドが「生きている」時、true を返します。

Thread#status が真を返すなら、このメソッドも真です。


instance method Thread#exit

exit -> self
kill -> self
terminate -> self

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、 直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより 終了したスレッドの Thread#value の返り値は不定です。 自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0) により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
  begin
    sleep 10
  ensure
    p "this will be displayed"
  end
end

sleep 0.1
th1.kill

#=> "this will be displayed"

[SEE_ALSO] Thread#exit!, Kernel.#exit, Kernel.#exit!


instance method Thread#exit!

exit! -> self
kill! -> self
terminate! -> self

ensure 節を実行せずにスレッドの実行を終了させます。

ただし、スレッドは終了処理中(aborting)にはなりますが、 直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより 終了したスレッドの Thread#value の返り値は不定です。 自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0) により終了します。

th1 = Thread.new do
  begin
    sleep 10
  ensure
    p "th1: this will be displayed"
  end
end
th2 = Thread.new do
  begin
    sleep 10
  ensure
    p "th2: this will NOT be displayed"
  end
end

th1.kill
th2.kill!

#=> "th1: this will be displayed"

[SEE_ALSO] Thread#exit, Kernel.#exit, Kernel.#exit!


instance method Thread#group

group -> ThreadGroup | nil

スレッドが属している ThreadGroup オブジェクトを返します。 死んでいるスレッドは nil を返します。

p Thread.current.group == ThreadGroup::Default
# => true


instance method Thread#join

join -> self
join(limit) -> self | nil

スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。

limit を指定して、limit 秒過ぎても自身が終了しない場合、nil を返します。

[PARAM] limit:
タイムアウトする時間を整数か小数で指定します。単位は秒です。
[EXCEPTION] ThreadError:
join を実行することによってデッドロックが起きる場合に発生します。またカレントスレッドを join したときにも発生します。

以下は、生成したすべてのスレッドの終了を待つ例です。

threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })

threads.each {|t| t.join}


instance method Thread#key?

key?(name) -> bool

name に対応したスレッドに固有のデータが定義されていれば true を返します。

[PARAM] name:
文字列か Symbol で指定します。


instance method Thread#keys

keys -> [Symbol]

スレッド固有データに関連づけられたキーの配列を返します。キーは Symbol で返されます。

th = Thread.current
th[:foo] = 'FOO'
th['bar'] = 'BAR'
p th.keys

#=> [:bar, :foo]


instance method Thread#priority

priority -> Integer
priority=(val)

スレッドの優先度を返します。この値の大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

[PARAM] val:
スレッドの優先度を指定します。負の値も指定できます。


instance method Thread#raise

raise(error_type, message, traceback) -> ()

自身が表すスレッドで強制的に例外を発生させます。

[PARAM] error_type:
Kernel.#raise を参照してください。
[PARAM] message:
Kernel.#raise を参照してください。
[PARAM] traceback:
Kernel.#raise を参照してください。
Thread.new {
  sleep 1
  Thread.main.raise "foobar"
}

begin
  sleep
rescue
  p $!, $@
end

=> #<RuntimeError: foobar>
   ["-:3"]


instance method Thread#run

run -> self

停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。

[EXCEPTION] ThreadError:
死んでいるスレッドに対して実行すると発生します。


instance method Thread#safe_level

safe_level -> Integer

self のセーフレベルを返します。カレントスレッドの safe_level は、$SAFE と同じです。

セーフレベルについてはセキュリティモデルを参照してください。


instance method Thread#status

status -> String | false | nil

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

Thread#alive? が真を返すなら、このメソッドも真です。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Thread > stop?

instance method Thread#stop?

stop? -> bool

スレッドが終了(dead)あるいは停止(stop)している時、true を返します。


instance method Thread#value

value -> object

スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。

スレッドが Thread#kill によって終了した場合は、返り値は不定です。

以下は、生成したすべてのスレッドの終了を待ち結果を出力する例です。

threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })

threads.each {|t| p t.value}

最後の行で、待ち合わせを行っていることがわかりにくいと思うなら以下 のように書くこともできます。

threads.each {|t| p t.join.value}


instance method Thread#wakeup

wakeup -> self

停止状態(stop)のスレッドを実行可能状態(run)にします。

[EXCEPTION] ThreadError:
死んでいるスレッドに対して実行すると発生します。


singleton method Thread.abort_on_exception

abort_on_exception -> bool
abort_on_exception=(newstate)

真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。

デフォルトは false です。

Thread/例外発生時のスレッドの振る舞いを参照してください。

[PARAM] newstate:
スレッド実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。


singleton method Thread.critical

critical -> bool
critical=(newstate)

真である間、スレッドの切替えを行いません。

カレントスレッドが停止状態になった場合や、シグナルに割り込まれた場合には、 自動的に false になります。 ただし、Thread.new によりスレッドを生成した場合には、critical の値に関わらず そのスレッドは実行されます。 また、Thread.pass により明示的に切替えることもできます。

デフォルトは false です。

注意: I/O や GC、拡張ライブラリがからむとこのフラグは無視さ れることもあります。排他制御を行うにはこのメソッドに頼らず Mutex や Monitor を使うべきです。

[PARAM] newstate:
スレッドの切替えを許すかどうかを、true か false で指定します。


singleton method Thread.current

current -> Thread

現在実行中のスレッド(カレントスレッド)を返します。

p Thread.current #=> #<Thread:0x4022e6fc run>


singleton method Thread.exclusive

exclusive { ... } [added by thread]

ブロック実行中、Threadの切り替えを行いません。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Thread > exit

singleton method Thread.exit

exit -> ()

カレントスレッドに対して Thread#exit を呼びます。


singleton method Thread.fork

start(*arg) {|*arg| ... } -> Thread
fork(*arg) {|*arg| ... } -> Thread

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

基本的に Thread.new と同じですが、 new メソッドと違い initialize メソッドを呼びません。

[PARAM] arg:
引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその スレッド固有のローカル変数に値を渡すために使用します。
[EXCEPTION] ThreadError:
現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。

注意:

例えば、以下のコードは間違いです。スレッドの実行が開始される前に 変数 i が書き変わる可能性があるからです。

for i in 1..5
   Thread.start { p i }
end

上の例は以下のように書き直すべきです。

for i in 1..5
   Thread.start(i) {|t| p t }
end


singleton method Thread.kill

kill(thread) -> Thread

指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。

[PARAM] thread:
終了したい Thread オブジェクトを指定します。
th = Thread.new do
end

p Thread.kill(th)     #=> #<Thread:0x40221bc8 dead>


singleton method Thread.list

list -> [Thread]

全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。

Thread.new do
  sleep
end
sleep 0.1

p Thread.list   #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>]


singleton method Thread.main

main -> Thread

メインスレッドを返します。

p Thread.main #=> #<Thread:0x4022e6fc run>


singleton method Thread.new

new(*arg) {|*arg| ... } -> Thread

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

[PARAM] arg:
引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその スレッド固有のローカル変数に値を渡すために使用します。
[EXCEPTION] ThreadError:
現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。

注意:

例えば、以下のコードは間違いです。スレッドの実行が開始される前に 変数 i が書き変わる可能性があるからです。

for i in 1..5
   Thread.new { p i }
end

上の例は以下のように書き直すべきです。

for i in 1..5
   Thread.new(i) {|t| p t }
end


singleton method Thread.pass

pass -> nil

他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。

Thread.new do
  (1..3).each{|i|
    p i
    Thread.pass
  }
  exit
end

loop do
  Thread.pass
  p :main
end

#=>
1
:main
2
:main
3
:main


singleton method Thread.stop

stop -> nil

他のスレッドから Thread#run メソッドで再起動されるまで、カレ ントスレッドの実行を停止します。


constant ThreadGroup::Default

Default -> ThreadGroup

デフォルトで定義されている ThreadGroup です。メインスレッド は最初このグループに属します。


instance method ThreadGroup#add

add(thread) -> self

スレッド thread が属するグループを自身に変更します。

[PARAM] thread:
自身に加えたいスレッドを指定します。
[EXCEPTION] ThreadError:
自身が freeze されているか enclose されている場合に、発生します。また引数 thread が属する ThreadGroup が freeze されているか enclose されている場合にも発生します。


instance method ThreadGroup#enclose

enclose -> self

自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。

ただし、Thread.new によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に 属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。

追加の例:

thg = ThreadGroup.new.enclose
thg.add Thread.new {}

=> -:2:in `add': can't move to the enclosed thread group (ThreadError)

削除の例:

thg1 = ThreadGroup.new
thg2 = ThreadGroup.new

th = Thread.new {sleep 1}

thg1.add th
thg1.enclose
thg2.add th

=> -:8:in `add': can't move from the enclosed thread group (ThreadError)


instance method ThreadGroup#enclosed?

enclosed? -> bool

自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。

freeze された ThreadGroup には Thread の追加/削除ができませんが、enclosed? は false を返します。

thg = ThreadGroup.new
p thg.enclosed?         # => false
thg.enclose
p thg.enclosed?         # => true

thg = ThreadGroup.new
p thg.enclosed?         # => false
thg.freeze
p thg.enclosed?         # => false

[SEE_ALSO] ThreadGroup#enclose


instance method ThreadGroup#list

list -> [Thread]

self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class ThreadGroup > new

singleton method ThreadGroup.new

new -> ThreadGroup

新たな ThreadGroup を生成して返します。


instance method ThreadsWait#all_waits

all_waits -> ()

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

使用例

require 'thwait'

threads = []
5.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
  printf("end %s\n", th.inspect)
}

# 出力例
#=> #<Thread:0x214bc run>
#=> #<Thread:0x21548 run>
#=> #<Thread:0x215d4 run>
#=> #<Thread:0x21660 run>
#=> #<Thread:0x21430 run>
#=> end #<Thread:0x214bc dead>
#=> end #<Thread:0x21548 dead>
#=> end #<Thread:0x215d4 dead>
#=> end #<Thread:0x21660 dead>
#=> end #<Thread:0x21430 dead>


instance method ThreadsWait#empty?

empty? -> bool

同期されるスレッドが存在するならば true をかえします。

使用例

require 'thwait'

threads = []
3.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads.empty? #=> true
thall.join(*threads)
p thall.threads.empty? #=> false


instance method ThreadsWait#finished?

finished? -> bool

すでに終了したスレッドが存在すれば true を返します。

使用例

require 'thwait'

threads = []
3.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
p thall.finished? #=> false
sleep 3
p thall.finished? #=> true


instance method ThreadsWait#join

join(*threads) -> ()

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。

[PARAM] threads:
複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。
require 'thwait'

threads = []
5.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads #=> []
thall.join(*threads)
p thall.threads
#=> [#<Thread:0x216ec dead>, #<Thread:0x21660 dead>, #<Thread:0x215d4 dead>, #<Thread:0x214bc dead>]


instance method ThreadsWait#join_nowait

join_nowait(*threads) -> ()

終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。 しかし、実際には終了をまちません。

[PARAM] threads:
複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。
require 'thwait'

threads = []
5.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads #=> []
thall.join_nowait(*threads)
p thall.threads #=> [#<Thread:0x21638 sleep>, #<Thread:0x215ac sleep>, #<Thread:0x21520 sleep>, #<Thread:0x21494 sleep>, #<Thread:0x21408 sleep>]
# 実際には終了を待っていない。sleep している。


instance method ThreadsWait#next_wait

next_wait(nonblock = nil) -> Thread

指定したスレッドのどれかが終了するまで待ちます。

[PARAM] nonblock:
true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。
[EXCEPTION] ErrNoWaitingThread:
終了をまつスレッドが存在しない時、発生します。
[EXCEPTION] ErrNoFinishedThread:
nonblock がtrue でかつ、キューが空の時、発生します。
#使用例
require 'thwait'

threads = []
2.times {|i|
  threads << Thread.new { sleep i }
}

thall = ThreadsWait.new
thall.join_nowait(*threads)
until thall.empty?
  th = thall.next_wait
  p th
end

[SEE_ALSO] Queue#pop


instance method ThreadsWait#threads

threads -> Array

同期されるスレッドの一覧を配列で返します。

使用例

require 'thwait'

threads = []
3.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
p thall.threads
#=> [#<Thread:0x21750 sleep>, #<Thread:0x216c4 sleep>, #<Thread:0x21638 sleep>]


singleton method ThreadsWait.all_waits

all_waits(*threads) -> ()
all_waits(*threads) {|thread| ...} -> ()

指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。

[PARAM] threads:
終了するまでまつスレッドを一つもしくは複数指定します。
require 'thwait'

threads = []
5.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}
ThreadsWait.all_waits(*threads) {|th| printf("end %s\n", th.inspect) }

# 出力例
#=> #<Thread:0x21584 run>
#=> #<Thread:0x21610 run>
#=> #<Thread:0x2169c run>
#=> #<Thread:0x21728 run>
#=> #<Thread:0x214f8 run>
#=> end #<Thread:0x21584 dead>
#=> end #<Thread:0x21610 dead>
#=> end #<Thread:0x2169c dead>
#=> end #<Thread:0x21728 dead>
#=> end #<Thread:0x214f8 dead>


singleton method ThreadsWait.new

new(*threads) -> ThreadsWait

指定されたスレッドの終了をまつための、スレッド同期オブジェクトをつくります。

[PARAM] threads:
終了を待つスレッドを一つもしくは複数指定します。

使用例

require 'thwait'

threads = []
5.times {|i|
  threads << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
  printf("end %s\n", th.inspect)
}

# 出力例
#=> #<Thread:0x214bc run>
#=> #<Thread:0x21548 run>
#=> #<Thread:0x215d4 run>
#=> #<Thread:0x21660 run>
#=> #<Thread:0x21430 run>
#=> end #<Thread:0x214bc dead>
#=> end #<Thread:0x21548 dead>
#=> end #<Thread:0x215d4 dead>
#=> end #<Thread:0x21660 dead>
#=> end #<Thread:0x21430 dead>


instance method Time#+

self + other -> Time

self より other 秒だけ後の時刻を返します

[PARAM] other:
自身からの秒数を数値で指定します。
t = Time.now         #=> Wed Apr 09 08:56:03 CDT 2003
t + (60 * 60 * 24)   #=> Thu Apr 10 08:56:03 CDT 2003


instance method Time#-

self - time -> Float

自身と time との時刻の差を Float で返します。単位は秒です。

[PARAM] time:
自身との差を算出したい Time オブジェクトを指定します。
t = Time.now       #=> Wed Apr 09 08:56:03 CDT 2003
t2 = t + 2592000   #=> Fri May 09 08:56:03 CDT 2003
t2 - t             #=> 2592000.0
self - sec -> Time

自身より sec 秒だけ前の時刻を返します。

[PARAM] sec:
実数を秒を単位として指定します。
t = Time.now       #=> Wed Apr 09 08:56:03 CDT 2003
t2 = t + 2592000   #=> Fri May 09 08:56:03 CDT 2003
t2 - 2592000       #=> Wed Apr 09 08:56:03 CDT 2003


instance method Time#<=>

self <=> other -> -1 | 0 | 1 | nil

self と other の時刻を比較します。self の方が大きい場合は 1 を、等しい場合は 0 を、 小さい場合は -1 を返します。比較できない場合は、nil を返します。

[PARAM] other:
自身と比較したい時刻を Time オブジェクトで指定します。


instance method Time#asctime

asctime -> String
ctime -> String

時刻を asctime(3) の形式の文字列に変換します。た だし、末尾の改行文字 "\n" は含まれません。


instance method Time#day

mday -> Integer
day -> Integer

日を整数で返します。

p Time.local(2000, 1, 1).day #=> 1


instance method Time#dst?

isdst -> bool
dst? -> bool

自身が表す日時が夏時間なら true を返します。そうでないなら false を返します。

ENV['TZ'] = 'US/Pacific'
Time.local(2000, 7, 1).isdst   #=> true
Time.local(2000, 1, 1).isdst   #=> false


instance method Time#eql?

eql?(other) -> bool

other が Time かそのサブクラスのインスタンスであり自身と時刻が等しい場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したい時刻を Time オブジェクトを指定します。


instance method Time#getgm

getgm -> Time
getutc -> Time

タイムゾーンを協定世界時に設定した Time オブジェクトを新しく 生成して返します。

t = Time.local(2000,1,1,20,15,1)   #=> Sat Jan 01 20:15:01 CST 2000
t.gmt?                             #=> false
y = t.getgm                        #=> Sun Jan 02 02:15:01 UTC 2000
y.gmt?                             #=> true
t == y                             #=> true


instance method Time#getlocal

getlocal -> Time

タイムゾーンを地方時に設定した Time オブジェクトを新しく生成 して返します。

t = Time.gm(2000,1,1,20,15,1)   #=> Sat Jan 01 20:15:01 UTC 2000
t.gmt?                          #=> true
l = t.getlocal                  #=> Sat Jan 01 14:15:01 CST 2000
l.gmt?                          #=> false
t == l                          #=> true


instance method Time#gmt?

gmt? -> bool
utc? -> bool

self のタイムゾーンが協定世界時に設定されていれば真を返します。


instance method Time#gmt_offset

utc_offset -> Integer
gmt_offset -> Integer
gmtoff -> Integer

協定世界時との時差を秒を単位とする数値として返します。

地方時が協定世界時よりも進んでいる場合(アジア、オーストラリアなど) には正の値、遅れている場合(アメリカなど)には負の値になります。

p Time.now.zone  # => "JST"
p Time.now.utc_offset
# => 32400

タイムゾーンが協定世界時に設定されている場合は 0 を返します。

p Time.now.zone  # => "JST"
p Time.now.getgm.utc_offset
# => 0


instance method Time#gmtime

gmtime -> self
utc -> self

タイムゾーンを協定世界時に設定します。

このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。

Time#localtime, Time#gmtime の挙動はシステムの localtime(3) の挙動に依存します。Time クラ スでは時刻を起算時からの経過秒数として保持していますが、ある特定の 時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異 なる場合があります。システムを越えて Time オブジェクトを受け 渡す場合には注意する必要があります。

t = Time.now   #=> Wed Apr 09 08:56:03 CDT 2003
t.gmt?         #=> false
t.gmtime       #=> Wed Apr 09 13:56:03 UTC 2003
t.gmt?         #=> true


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Time > hour

instance method Time#hour

hour -> Integer

時を整数で返します。


instance method Time#httpdate

httpdate -> String [added by time]

[RFC2616]で定義されているHTTP-dateのrfc1123-dateとして 表現される以下の形式の文字列を返します:

day-of-week, DD month-name CCYY hh:mm:ss GMT

注意: 結果はいつも UTC (GMT) です。

使用例

require 'time'

iso8601_time = '2008-08-31T12:34:56+09:00'
t = Time.iso8601(iso8601_time)
p t.httpdate     #=> "Sun, 31 Aug 2008 03:34:56 GMT"


instance method Time#iso8601

xmlschema(fractional_seconds = 0) -> String [added by time]
iso8601(fractional_seconds = 0) -> String [added by time]

XML Schema で定義されている dateTime として 表現される以下の形式の文字列を返します:

CCYY-MM-DDThh:mm:ssTZD
CCYY-MM-DDThh:mm:ss.sssTZD

ただし TZD は Z または [+-]hh:mm です。

If self is a UTC time, Z is used as TZD. [+-]hh:mm is used otherwise.

fractional_seconds は小数点以下の秒を指定します。 fractional_seconds のデフォルト値は 0 です。

[PARAM] fractional_seconds:
小数点以下の秒の桁数を整数で指定します。 省略した場合は0 となります。

使用例

require 'time'

iso8601_time = '2008-08-31T12:34:56+09:00'
t = Time.iso8601(iso8601_time)
p t.xmlschema    #=> "2008-08-31T03:34:56Z"
p t.xmlschema(9) #=> "2008-08-31T03:34:56.000000000Z"


instance method Time#localtime

localtime -> self

タイムゾーンを地方時に設定します。

このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。

Time#localtime, Time#gmtime の挙動はシステムの localtime(3) の挙動に依存します。Time クラ スでは時刻を起算時からの経過秒数として保持していますが、ある特定の 時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異 なる場合があります。システムを越えて Time オブジェクトを受け 渡す場合には注意する必要があります。

t = Time.gm(2000, "jan", 1, 20, 15, 1)
t.gmt?        #=> true
t.localtime   #=> Sat Jan 01 14:15:01 CST 2000
t.gmt?        #=> false


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Time > min

instance method Time#min

min -> Integer

分を整数で返します。


instance method Time#mon

mon -> Integer
month -> Integer

月を整数で返します。

p Time.local(2000, 1, 1).month #=> 1


instance method Time#rfc2822

rfc2822 -> String [added by time]
rfc822 -> String [added by time]

[RFC2822] で定義されている date-time として表現される 以下の形式の文字列を返します:

day-of-week, DD month-name CCYY hh:mm:ss zone

ただし zone は [+-]hhmm です。

self が UTC time の場合、zone は +0000 になります。

使用例

require 'time'

iso8601_time = '2008-08-31T12:34:56+09:00'
t = Time.iso8601(iso8601_time)
p t.rfc2822      #=> "Sun, 31 Aug 2008 03:34:56 -0000"


instance method Time#sec

sec -> Integer

秒を整数で返します。

Time.mktime(2000, 1, 1).sec #=> 0

通常は0から59を返しますが、うるう秒の場合は60を返します。

ENV['TZ'] = 'right/UTC'
Time.mktime(2005, 12, 31, 23, 59, 60).sec #=> 60


instance method Time#strftime

strftime(format) -> String

時刻を format 文字列に従って文字列に変換した結果を返します。

[PARAM] format:
フォーマット文字列を指定します。使用できるものは 以下の通りです。
  • %A: 曜日の名称(Sunday, Monday ... )
  • %a: 曜日の省略名(Sun, Mon ... )
  • %B: 月の名称(January, February ... )
  • %b: 月の省略名(Jan, Feb ... )
  • %c: 日付と時刻
  • %d: 日(01-31)
  • %H: 24時間制の時(00-23)
  • %I: 12時間制の時(01-12)
  • %j: 年中の通算日(001-366)
  • %M: 分(00-59)
  • %m: 月を表す数字(01-12)
  • %p: 午前または午後(AM,PM)
  • %S: 秒(00-60) (60はうるう秒)
  • %U: 週を表す数。最初の日曜日が第1週の始まり(00-53)
  • %W: 週を表す数。最初の月曜日が第1週の始まり(00-53)
  • %w: 曜日を表す数。日曜日が0(0-6)
  • %X: 時刻
  • %x: 日付
  • %Y: 西暦を表す数
  • %y: 西暦の下2桁(00-99)
  • %Z: タイムゾーン [[unknown:trap|trap::Time]]
  • %%: %自身

現在の実装では、このメソッドは、システムの strftime(3) をそのまま使用しています。そのためここにあげた指示子以外のものが使 用できる場合があります。ただし、上記以外の指示子を使用した場合、移 植性をそこなう可能性がある点に注意してください。

t = Time.now
t.strftime("Printed on %m/%d/%Y")   #=> "Printed on 04/09/2003"
t.strftime("at %I:%M%p")            #=> "at 08:56AM"


instance method Time#succ

succ -> Time

self に 1 秒足した Time オブジェクトを生成して返します。

t = Time.now
p t
p t.succ
# => Sun Jul 18 01:41:22 JST 2004
     Sun Jul 18 01:41:23 JST 2004


instance method Time#to_a

to_a -> Array

時刻を10要素の配列で返します。その要素は順序も含めて以下の通りです。

  • sec: 秒 (整数 0-60) (60はうるう秒)
  • min: 分 (整数 0-59)
  • hour: 時 (整数 1-24)
  • mday: 日 (整数)
  • mon: 月 (整数 1-12)
  • year: 年 (整数 2000年=2000)
  • wday: 曜日 (整数 0-6)
  • yday: 年内通算日 (整数 1-366)
  • isdst: 夏時間であるかどうか (true/false)
  • zone: タイムゾーン (文字列)
p Time.now      # => Mon Oct 20 06:02:10 JST 2003
p Time.now.to_a # => [10, 2, 6, 20, 10, 2003, 1, 293, false, "JST"]

要素の順序は C 言語の tm 構造体に合わせています。ただし、 tm 構造体に zone はありません。

注意: C 言語の tm 構造体とは異なり、month は 1 月に対 して 1 を返し、year は 1998 年に対して 1998 を返します。また、 yday は 1 から数えます。


instance method Time#to_f

to_f -> Float

起算時からの経過秒数を浮動小数点数で返します。1 秒に満たない経過も 表現されます。

t = Time.now
"%10.5f" % t.to_f   #=> "1049896564.13654"
t.to_i              #=> 1049896564


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Time > to_i

instance method Time#to_i

to_i -> Integer
tv_sec -> Integer

起算時からの経過秒数を整数で返します。


instance method Time#to_s

to_s -> String

時刻を date(1) のような形式の文字列に変換します。

self.strftime("%a %b %d %H:%M:%S %Z %Y")

と同じです。

p Time.now.to_s # => "Mon Oct 20 06:02:10 JST 2003"


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Time > tv_usec

instance method Time#tv_usec

usec -> Integer
tv_usec -> Integer

時刻のマイクロ秒の部分を整数で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Time > wday

instance method Time#wday

wday -> Integer

曜日を0(日曜日)から6(土曜日)の整数で返します。


instance method Time#yday

yday -> Integer

1月1日を1とした通算日(1から366まで)を整数で返します。

Time.mktime(2000,  1,  1).yday #=> 1

うるう年の場合は、2月29日も含めた通算日を返します。

# うるう年でない場合
Time.mktime(2003,  1,  1).yday #=> 1
Time.mktime(2003,  3,  1).yday #=> 60
Time.mktime(2003, 12, 31).yday #=> 365

# うるう年の場合
Time.mktime(2004,  1,  1).yday #=> 1
Time.mktime(2004,  2, 29).yday #=> 60
Time.mktime(2004, 12, 31).yday #=> 366


instance method Time#year

year -> Integer

年を整数で返します。

p Time.local(2000, 1, 1).year #=> 2000


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class Time > zone

instance method Time#zone

zone -> String

タイムゾーンを表す文字列を返します。

p Time.now.zone #=> "JST"


singleton method Time.at

at(time) -> Time

time で指定した時刻の Time オブジェクトを返します。

生成された Time オブジェクトのタイムゾーンは地方時となります。

[PARAM] time:
Time オブジェクト、もしくは起算時からの経過秒数を表わす数値で指定します。
at(time, usec) -> Time

time + (usec/1000000) の時刻を表す Time オブジェクトを返します。 浮動小数点の精度では不十分な場合に使用します。

生成された Time オブジェクトのタイムゾーンは地方時となります。

[PARAM] time:
起算時からの経過秒数を表わす整数を指定します。
[PARAM] usec:
マイクロ秒を整数で指定します。


singleton method Time.gm

gm(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time
utc(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time

引数で指定した協定世界時の Time オブジェクトを返します。

第2引数以降に nil を指定した場合の値はその引数がとり得る最小の値です。

[PARAM] year:
年を整数か文字列で指定します。例えば 1998 年に対して 1998 を指定します。 ただし、0 以上 38 以下の整数が与えられた場合は、2000年代の下2桁だと解釈します。 69 以上 138 以下の整数が与えられた場合は、1900 にその数を足した年だと解釈されます。
[PARAM] mon:
1(1月)から 12(12月)の範囲の整数または文字列で指定します。 英語の月名("Jan", "Feb", ... などの省略名。文字の大小は無視)も指定できます。
[PARAM] day:
日を 1 から 31 までの整数か文字列で指定します。
[PARAM] hour:
時を 0 から 23 までの整数か文字列で指定します。
[PARAM] min:
分を 0 から 59 までの整数か文字列で指定します。
[PARAM] sec:
秒を 0 から 60 までの整数か文字列で指定します。(60はうるう秒)
[PARAM] usec:
マイクロ秒を整数か文字列で指定します。
[EXCEPTION] ArgumentError:
与えられた引数の範囲が valid でない場合に発生します。
p Time.gm(2000, 1, 1)  #=> Sat Jan 01 00:00:00 UTC 2000
gm(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time
utc(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time

引数で指定した協定世界時の Time オブジェクトを返します。

引数の順序は Time#to_a と全く同じです。 引数 wday, yday, zone に指定した値は無視されます。 引数に nil を指定した場合の値はその引数がとり得る最小の値です。

[PARAM] sec:
秒を 0 から 60 までの整数か文字列で指定します。(60はうるう秒)
[PARAM] min:
分を 0 から 59 までの整数か文字列で指定します。
[PARAM] hour:
時を 0 から 23 までの整数か文字列で指定します。
[PARAM] day:
日を 1 から 31 までの整数か文字列で指定します。
[PARAM] mon:
1(1月)から 12(12月)の範囲の整数か文字列で指定します。 英語の月名("Jan", "Feb", ... などの省略名。文字の大小は無視)も指定できます。
[PARAM] year:
年を整数か文字列で指定します。例えば 1998 年に対して 1998 を指定します。 ただし、0 以上 38 以下の整数が与えられた場合は、2000年代の下2桁だと解釈します。 69 以上 138 以下の整数が与えられた場合は、1900 にその数を足した年だと解釈されます。
[PARAM] isdst:
指定した日時が夏時間(Daylight Saving Time)なら true を指定します。 そうでないなら、false を指定します。
[PARAM] wday:
無視されます。
[PARAM] yday:
無視されます。
[PARAM] zone:
無視されます。
[EXCEPTION] ArgumentError:
与えられた引数の範囲が valid でない場合に発生します。


singleton method Time.httpdate

httpdate(date) -> Time [added by time]

[RFC2616]で定義されているHTTP-dateとしてdateをパースして Timeオブジェクトに変換します。

dateが[RFC2616]に準拠していない、または Timeクラスが指定された日時を表現できないときにArgumentErrorが 発生します。

[PARAM] date:
[RFC2616]で定義されているHTTP-dateとしてパースされる文字列を指定します。
[EXCEPTION] ArgumentError:
dateが[RFC2616]に準拠していない、または Timeクラスが指定された日時を表現できないときに発生します。
require 'time'
rfc2616_time = 'Sun, 31 Aug 2008 12:34:56 GMT'

t = Time.httpdate(rfc2616_time)
p t.kind_of?(Time) #=> true

non_rfc2616_time = 'San, 31 Aug 2008 12:34:56 GMT'
begin
  Time.httpdate(non_rfc2616_time)
rescue ArgumentError => err
  puts err #=>  not RFC 2616 compliant date: "San, 31 Aug 2008 12:34:56 GMT"
end


singleton method Time.iso8601

xmlschema(date) -> Time [added by time]
iso8601(date) -> Time [added by time]

XML Schema で定義されている dateTime として date をパースして Time オブジェクトに変換します。

date がISO 8601で定義されている形式に準拠していない、 または Time クラスが指定された日時を表現できないときに ArgumentError が発生します。

[PARAM] date:
XML Schema で定義されている dateTime として パースされる文字列を指定します。
[EXCEPTION] ArgumentError:
date がISO 8601で定義されている形式に準拠していない、 または Time クラスが指定された日時を表現できないとき に発生します。

使用例

require 'time'

iso8601_time = '2008-08-31T12:34:56+09:00'
t = Time.iso8601(iso8601_time)
p t #=> Sun Aug 31 03:34:56 UTC 2008
p t.kind_of?(Time) #=> true

begin
  non_iso8601_time = '2008-08-31A12:34:56+09:00'
  Time.iso8601(non_iso8601_time)
rescue ArgumentError => err
  puts err #=> invalid date: "2008-08-31A12:34:56+09:00"
end


singleton method Time.local

local(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time
mktime(year, mon = 1, day = 1, hour = 0, min = 0, sec = 0, usec = 0) -> Time

引数で指定した地方時の Time オブジェクトを返します。

第2引数以降に nil を指定した場合の値はその引数がとり得る最小の値です。

[PARAM] year:
年を整数か文字列で指定します。例えば 1998 年に対して 1998 を指定します。 ただし、0 以上 38 以下の整数が与えられた場合は、2000年代の下2桁だと解釈します。 69 以上 138 以下の整数が与えられた場合は、1900 にその数を足した年だと解釈されます。
[PARAM] mon:
1(1月)から 12(12月)の範囲の整数または文字列で指定します。 英語の月名("Jan", "Feb", ... などの省略名。文字の大小は無視)も指定できます。
[PARAM] day:
日を 1 から 31 までの整数か文字列で指定します。
[PARAM] hour:
時を 0 から 23 までの整数か文字列で指定します。
[PARAM] min:
分を 0 から 59 までの整数か文字列で指定します。
[PARAM] sec:
秒を 0 から 60 までの整数か文字列で指定します。(60はうるう秒)
[PARAM] usec:
マイクロ秒を整数か文字列で指定します。
[EXCEPTION] ArgumentError:
与えられた引数の範囲が valid でない場合に発生します。
p Time.local(2000, 1, 1) #=> Sat Jan 01 00:00:00 +0900 2000
local(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time
mktime(sec, min, hour, mday, mon, year, wday, yday, isdst, zone) -> Time

引数で指定した地方時の Time オブジェクトを返します。

引数の順序は Time#to_a と全く同じです。 引数 wday, yday, zone に指定した値は無視されます。 引数に nil を指定した場合の値はその引数がとり得る最小の値です。

[PARAM] sec:
秒を 0 から 60 までの整数か文字列で指定します。(60はうるう秒)
[PARAM] min:
分を 0 から 59 までの整数か文字列で指定します。
[PARAM] hour:
時を 0 から 23 までの整数か文字列で指定します。
[PARAM] day:
日を 1 から 31 までの整数か文字列で指定します。
[PARAM] mon:
1(1月)から 12(12月)の範囲の整数か文字列で指定します。 英語の月名("Jan", "Feb", ... などの省略名。文字の大小は無視)も指定できます。
[PARAM] year:
年を整数か文字列で指定します。例えば 1998 年に対して 1998 を指定します。 ただし、0 以上 38 以下の整数が与えられた場合は、2000年代の下2桁だと解釈します。 69 以上 138 以下の整数が与えられた場合は、1900 にその数を足した年だと解釈されます。
[PARAM] isdst:
指定した日時が夏時間(Daylight Saving Time)なら true を指定します。 そうでないなら、false を指定します。
[PARAM] wday:
無視されます。
[PARAM] yday:
無視されます。
[PARAM] zone:
無視されます。
[EXCEPTION] ArgumentError:
与えられた引数の範囲が valid でない場合に発生します。


singleton method Time.new

new -> Time
now -> Time

現在時刻の Time オブジェクトを生成して返します。 タイムゾーンは地方時となります。


singleton method Time.parse

parse(date, now = Time.now) -> Time [added by time]
parse(date, now = Time.now) {|year| year } -> Time [added by time]

date を ParseDate.#parsedate によって パースして Timeオブジェクトに変換します。

ブロック付きで呼ばれた場合、dateの年はブロックによって変換されます。

Time.parse(...) {|y| y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}

与えられた時刻に上位の要素がなかったり壊れていた場合、nowの 該当要素が使われます。 下位の要素がなかったり壊れていた場合、最小値(1か0)が使われます。

[PARAM] date:
Time オブジェクトに変換可能な文字列を指定します。
[PARAM] now:
現在時刻をTime オブジェクトで指定します。 デフォルトはTime.nowとなります。
# 現在時刻が "Thu Nov 29 14:33:20 GMT 2001" で
# タイムゾーンがGMTとすると:
Time.parse("16:30")     #=> Thu Nov 29 16:30:00 GMT 2001
Time.parse("7/23")      #=> Mon Jul 23 00:00:00 GMT 2001
Time.parse("2002/1")    #=> Tue Jan 01 00:00:00 GMT 2002

parsedateがdateから情報を取り出せないとき、 または Time クラスが指定された日時を表現できないときに ArgumentError が発生します。

このメソッドは他のパース用メソッドのフェイルセーフとして 以下のように使用できます:

Time.rfc2822(date) rescue Time.parse(date)
Time.httpdate(date) rescue Time.parse(date)
Time.xmlschema(date) rescue Time.parse(date)

従って Time.parse の失敗はチェックすべきです。


singleton method Time.rfc2822

rfc2822(date) -> Time [added by time]
rfc822(date) -> Time [added by time]

[RFC2822]で定義されているdate-timeとしてdateをパースして Timeオブジェクトに変換します。 この形式は[RFC822]で定義されて[RFC1123]で更新された形式と 同じです。

dateが[RFC2822]に準拠していない、または Timeクラスが指定された日時を表現できないときにArgumentErrorが 発生します。

[PARAM] date:
[RFC2822] で定義されるdate-time として文字列を指定します。
[EXCEPTION] ArgumentError:
dateが[RFC2822]に準拠していない、または Timeクラスが指定された日時を表現できないときに 発生します。

使用例

require 'time'

rfc2822_time = 'Sun, 31 Aug 2008 12:08:19 +0900'
t = Time.rfc2822(rfc2822_time)
p t.kind_of?(Time) #=> true
non_rfc2822_time = 'Sun 31 Aug 2008 12:08:19 +0900'

begin
  p Time.rfc2822(non_rfc2822_time)
rescue ArgumentError => err
  puts "format err: #{err}"
end


singleton method Time.times

times -> Struct::Tms

このメソッドは obsolete です。

自身のプロセスとその子プロセスが消費したユーザ/システム CPU 時間の積算を Struct::Tms のオブジェクトとして返します。 Struct::Tms は以下のメンバを持つ構造体クラスです。

  • utime # user time
  • stime # system time
  • cutime # user time of children
  • cstime # system time of children

時間の単位は秒で、浮動小数点数で与えられます。詳細は times(3) を参照してください。

このメソッドは Process.#times に移動しました。Time.times も使えます が、警告メッセージが出力されます。


module function Timeout.#timeout

timeout(sec, exception_class = nil) {|i| ... }

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。 exception_class を指定した場合には Timeout::Error の代わりに その例外が発生します。 ブロックパラメータ i は sec がはいります。

また sec が nil のときは制限時間なしで ブロックを実行します。

[PARAM] sec:
タイムアウトする時間を秒数で指定します.
[PARAM] exception_class:
タイムアウトした時、発生させる例外を指定します.

例 長い計算のタイムアウト

require 'timeout'

def calc_pi(min)
  loop do
    x = rand
    y = rand
    x**2 + y**2 < 1.0 ?  min[0] += 1 : min[1] += 1
  end
end

t = 5
min = [ 0, 0]
begin
  timeout(t){
    calc_pi(min)
  }
rescue Timeout::Error
  puts "timeout"
end

printf "%d: pi = %f\n", min[0] + min[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443

例 独自の例外を発生させるタイムアウト

#!/usr/bin/env ruby

require 'timeout'

class MYError < Exception;end
begin
  timeout(5, MYError) {
    sleep(30)
  }
rescue MYError => err
  puts "MYError"
  puts err
end

[注意]

timeout による割り込みは Thread によって実現されています。 C 言語レベルで実装され、 Ruby のスレッドが割り込めない処理に対して timeout は無力です。 そのようなものは実用レベルでは少ないのですが、 Socket などは DNSの名前解決に時間がかかった場合割り込めません (resolv-replace を使用する必要があります)。 その処理を Ruby で実装しなおすか C 側で Ruby のスレッドを意識してあげる必要があります。

以下の例では、gethostbyname(およそ0.6秒処理に時間がかかっている) が終了した直後((A)の箇所)で TimeoutError 例外があがっています。

例 timeout が割り込めない

require 'timeout'
require 'socket'

t = 0.1
start = Time.now
begin
  timeout(t) {
    p TCPSocket.gethostbyname("www.ruby-lang.org")
    # (A)
  }
ensure
  p Time.now - start
end
# 実行例
=> ["helium.ruby-lang.org", [], 2, "210.251.121.214"]
   0.689331
   /usr/local/lib/ruby/1.6/timeout.rb:37: execution expired (TimeoutError)
         from -:6:in `timeout'
         from -:6
# gethostbyname が0.1秒かからない場合は例外が発生しないので
# その場合は、t に小さい数値(0.000001のような)に変える。

timeout による割り込みは Kernel.#system によって呼び出された外部プログラムを タイムアウトさせる事はできないので、IO.popen、Kernel.#openを使用するなどの工夫が必要です。

例 外部コマンドのタイムアウト

require 'timeout'

# テスト用のシェルをつくる。
File.open("loop.sh", "w"){|fp|
  fp.print <<SHELL_EOT
#!/bin/bash

S="scale=10"
M=32767

trap 'echo "$S; $m1/($m1+$m2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0
m2=0

while true
do
  x="($RANDOM/$M)"
  y="($RANDOM/$M)"
  c=$(echo "$S;$x^2+$y^2 < 1.0" | bc)
  echo $x $y $c
  if [ $c -eq 1 ]
  then
    let m1++
  else
    let m2++
  fi
done
SHELL_EOT
}

File.chmod(0755, "loop.sh")
t = 10 # 10 秒でタイムアウト
begin
  pid = nil
  com = nil
  timeout(t) {
    # system だととまらない
    # system("./loop.sh")
    com = IO.popen("./loop.sh")
    pid = com.pid
    while line = com.gets
      print line
    end
  }
rescue Timeout::Error => err
  puts "timeout: shell execution."
  Process.kill('SIGINT', pid)
  printf "[result]\t%s", com.read
  com.close unless com.nil?
end

#止まっているか確認する。
#system("ps au")


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > AUTO_PATH

constant Tk::AUTO_PATH

AUTO_PATH


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > JAPANIZED_TK

constant Tk::JAPANIZED_TK

JAPANIZED_TK


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > LIBRARY_PATH

constant Tk::LIBRARY_PATH

LIBRARY_PATH


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > PACKAGE_PATH

constant Tk::PACKAGE_PATH

PACKAGE_PATH


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_LIBRARY_PATH

constant Tk::TCL_LIBRARY_PATH

TCL_LIBRARY_PATH


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_MAJOR_VERSION

constant Tk::TCL_MAJOR_VERSION

TCL_MAJOR_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_MINOR_VERSION

constant Tk::TCL_MINOR_VERSION

TCL_MINOR_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_PACKAGE_PATH

constant Tk::TCL_PACKAGE_PATH

TCL_PACKAGE_PATH


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_PATCHLEVEL

constant Tk::TCL_PATCHLEVEL

TCL_PATCHLEVEL


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_PRECISION

constant Tk::TCL_PRECISION

TCL_PRECISION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TCL_VERSION

constant Tk::TCL_VERSION

TCL_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TK_MAJOR_VERSION

constant Tk::TK_MAJOR_VERSION

TK_MAJOR_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TK_MINOR_VERSION

constant Tk::TK_MINOR_VERSION

TK_MINOR_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TK_PATCHLEVEL

constant Tk::TK_PATCHLEVEL

TK_PATCHLEVEL


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > TK_VERSION

constant Tk::TK_VERSION

TK_VERSION


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > Tkextlib_RELEASE_DATE

constant Tk::Tkextlib_RELEASE_DATE

Tkextlib_RELEASE_DATE


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > root

instance method Tk#root

root


instance method Tk#update

update(idle = nil)

only for backward compatibility (This never be recommended to use)


singleton method Tk.BinaryString

BinaryString(str) [added by tk/autoload]

Tk::BinaryString.new と同じ


singleton method Tk.EncodedString

EncodedString(str, enc = nil) [added by tk/autoload]

Tk::EncodedString.new と同じ


singleton method Tk.UTF8_String

UTF8_String(str) [added by tk/autoload]

Tk::UTF8_String.new と同じ


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > add_kinsoku

singleton method Tk.add_kinsoku

add_kinsoku(chars, mode = 'both')


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > bell

singleton method Tk.bell

bell(nice = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > bell_on_display

singleton method Tk.bell_on_display

bell_on_display(win, nice = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > const_missing

singleton method Tk.const_missing

const_missing(sym)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > current_grabs

singleton method Tk.current_grabs

current_grabs(win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > delete_kinsoku

singleton method Tk.delete_kinsoku

delete_kinsoku(chars, mode = 'both')


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > destroy

singleton method Tk.destroy

destroy(*wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > errorCode

singleton method Tk.errorCode

errorCode


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > errorInfo

singleton method Tk.errorInfo

errorInfo


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > exit

singleton method Tk.exit

exit


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > focus

singleton method Tk.focus

focus(display = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > focus_lastfor

singleton method Tk.focus_lastfor

focus_lastfor(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > focus_next

singleton method Tk.focus_next

focus_next(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > focus_prev

singleton method Tk.focus_prev

focus_prev(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > focus_to

singleton method Tk.focus_to

focus_to(win, force = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > fromUTF8

singleton method Tk.fromUTF8

fromUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > grid

singleton method Tk.grid

grid(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > grid_forget

singleton method Tk.grid_forget

grid_forget(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > has_mainwindow?

singleton method Tk.has_mainwindow?

has_mainwindow?


singleton method Tk.load_tcllibrary

load_tcllibrary(file, pkg_name = Tk::None, interp = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > load_tclscript

singleton method Tk.load_tclscript

load_tclscript(file, enc = nil)


singleton method Tk.load_tclscript_rsrc

load_tclscript_rsrc(resource_name, file = Tk::None) [added by tk/macpkg]


singleton method Tk.load_tclscript_rsrcid

load_tclscript_rsrcid(resource_id, file = Tk::None) [added by tk/macpkg]


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > lower_window

singleton method Tk.lower_window

lower_window(win, below = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > pack

singleton method Tk.pack

pack(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > pack_forget

singleton method Tk.pack_forget

pack_forget(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > pkgconfig_get

singleton method Tk.pkgconfig_get

pkgconfig_get(mod, key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > pkgconfig_list

singleton method Tk.pkgconfig_list

pkgconfig_list(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > place

singleton method Tk.place

place(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > place_forget

singleton method Tk.place_forget

place_forget(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > raise_window

singleton method Tk.raise_window

raise_window(win, above = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > show_kinsoku

singleton method Tk.show_kinsoku

show_kinsoku(mode = 'both')


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > strictMotif

singleton method Tk.strictMotif

strictMotif(mode = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > subst_tk_backslash

singleton method Tk.subst_tk_backslash

subst_tk_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > subst_utf_backslash

singleton method Tk.subst_utf_backslash

subst_utf_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > tcl_pkgconfig_get

singleton method Tk.tcl_pkgconfig_get

tcl_pkgconfig_get


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > tcl_pkgconfig_list

singleton method Tk.tcl_pkgconfig_list

tcl_pkgconfig_list(key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > thread_update

singleton method Tk.thread_update

thread_update(idle = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > thread_update_idletasks

singleton method Tk.thread_update_idletasks

thread_update_idletasks


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > tk_pkgconfig_get

singleton method Tk.tk_pkgconfig_get

tk_pkgconfig_get(key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > tk_pkgconfig_list

singleton method Tk.tk_pkgconfig_list

tk_pkgconfig_list


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > toUTF8

singleton method Tk.toUTF8

toUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > to_backslash_sequence

singleton method Tk.to_backslash_sequence

to_backslash_sequence(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > ungrid

singleton method Tk.ungrid

ungrid(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > unload_tcllibrary

singleton method Tk.unload_tcllibrary

unload_tcllibrary(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > unpack

singleton method Tk.unpack

unpack(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > unplace

singleton method Tk.unplace

unplace(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > update

singleton method Tk.update

update(idle = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > update_idletasks

singleton method Tk.update_idletasks

update_idletasks


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > utf_to_backslash

singleton method Tk.utf_to_backslash

utf_to_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module Tk > utf_to_backslash_sequence

singleton method Tk.utf_to_backslash_sequence

utf_to_backslash_sequence(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bgerror > module TkBgError > TkCommandNames

constant TkBgError::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bgerror > module TkBgError > bgerror

singleton method TkBgError.bgerror

bgerror(message)
show
tkerror


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bgerror > module TkBgError > set_default

singleton method TkBgError.set_default

set_default


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bgerror > module TkBgError > set_handler

singleton method TkBgError.set_handler

set_handler(hdlr = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkBindCore > bind

instance method TkBindCore#bind

bind(context, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkBindCore > bind_append

instance method TkBindCore#bind_append

bind_append(context, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkBindCore > bind_remove

instance method TkBindCore#bind_remove

bind_remove(context)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkBindCore > bindinfo

instance method TkBindCore#bindinfo

bindinfo(context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > ALL

constant TkBindTag::ALL

ALL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > BTagID_TBL

constant TkBindTag::BTagID_TBL

BTagID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > Tk_BINDTAG_ID

constant TkBindTag::Tk_BINDTAG_ID

Tk_BINDTAG_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > inspect

instance method TkBindTag#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > name

instance method TkBindTag#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > to_eval

instance method TkBindTag#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > id2obj

singleton method TkBindTag.id2obj

id2obj(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > new

singleton method TkBindTag.new

new(*args, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTag > new_by_name

singleton method TkBindTag.new_by_name

new_by_name(name, *args, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkBindTagAll > new

singleton method TkBindTagAll.new

new(*args, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkBitmapImage > new

singleton method TkBitmapImage.new

new(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/button > class TkButton > TkCommandNames

constant TkButton::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/button > class TkButton > WidgetClassName

constant TkButton::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/button > class TkButton > flash

instance method TkButton#flash

flash


Ruby 1.8.7 Reference Manual > All Libraries > library tk/button > class TkButton > invoke

instance method TkButton#invoke

invoke


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkCallbackEntry > inspect

singleton method TkCallbackEntry.inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > __destroy_hook__

instance method TkCanvas#__destroy_hook__

__destroy_hook__


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag

instance method TkCanvas#addtag

addtag(tag, mode, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag_above

instance method TkCanvas#addtag_above

addtag_above(tagOrId, target)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag_all

instance method TkCanvas#addtag_all

addtag_all(tagOrId)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag_below

instance method TkCanvas#addtag_below

addtag_below(tagOrId, target)


instance method TkCanvas#addtag_closest

addtag_closest(tagOrId, x, y, halo = Tk::None, start = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag_enclosed

instance method TkCanvas#addtag_enclosed

addtag_enclosed(tagOrId, x1, y1, x2, y2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag_overlapping

instance method TkCanvas#addtag_overlapping

addtag_overlapping(tagOrId, x1, y1, x2, y2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > addtag_withtag

instance method TkCanvas#addtag_withtag

addtag_withtag(tagOrId, tag)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > bbox

instance method TkCanvas#bbox

bbox(tagOrId, *tags)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > canvasx

instance method TkCanvas#canvasx

canvasx(screen_x, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > canvasy

instance method TkCanvas#canvasy

canvasy(screen_y, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > coords

instance method TkCanvas#coords

coords(tag, *args)


instance method TkCanvas#create

create(type, *args)

create a canvas item without creating a TkcItem object


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > dchars

instance method TkCanvas#dchars

dchars(tag, first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > delete

instance method TkCanvas#delete

delete(*args)
remove(*args)


instance method TkCanvas#deltag

deltag(tag, tag_to_del = Tk::None)
dtag(tag, tag_to_del = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find

instance method TkCanvas#find

find(mode, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_above

instance method TkCanvas#find_above

find_above(target)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_all

instance method TkCanvas#find_all

find_all


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_below

instance method TkCanvas#find_below

find_below(target)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_closest

instance method TkCanvas#find_closest

find_closest(x, y, halo = Tk::None, start = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_enclosed

instance method TkCanvas#find_enclosed

find_enclosed(x1, y1, x2, y2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_overlapping

instance method TkCanvas#find_overlapping

find_overlapping(x1, y1, x2, y2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > find_withtag

instance method TkCanvas#find_withtag

find_withtag(tag)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > gettags

instance method TkCanvas#gettags

gettags(tagOrId)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > icursor

instance method TkCanvas#icursor

icursor(tagOrId, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > index

instance method TkCanvas#index

index(tagOrId, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > insert

instance method TkCanvas#insert

insert(tagOrId, index, string)


instance method TkCanvas#itembind

itembind(tag, context, *args)

def itembind(tag, context, cmd = Proc.new, *args)

_bind([path, "bind", tagid(tag)], context, cmd, *args)
self

end


instance method TkCanvas#itembind_append

itembind_append(tag, context, *args)

def itembind_append(tag, context, cmd = Proc.new, *args)

_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self

end


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > itembind_remove

instance method TkCanvas#itembind_remove

itembind_remove(tag, context)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > itembindinfo

instance method TkCanvas#itembindinfo

itembindinfo(tag, context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > itemfocus

instance method TkCanvas#itemfocus

itemfocus(tagOrId = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > itemtype

instance method TkCanvas#itemtype

itemtype(tag)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > lower

instance method TkCanvas#lower

lower(tag, below = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > move

instance method TkCanvas#move

move(tag, x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > postscript

instance method TkCanvas#postscript

postscript(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > raise

instance method TkCanvas#raise

raise(tag, above = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > scale

instance method TkCanvas#scale

scale(tag, x, y, xs, ys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > scan_dragto

instance method TkCanvas#scan_dragto

scan_dragto(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > scan_mark

instance method TkCanvas#scan_mark

scan_mark(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > select

instance method TkCanvas#select

select(mode, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > select_adjust

instance method TkCanvas#select_adjust

select_adjust(tagOrId, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > select_clear

instance method TkCanvas#select_clear

select_clear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > select_from

instance method TkCanvas#select_from

select_from(tagOrId, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > select_item

instance method TkCanvas#select_item

select_item


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkCanvas > select_to

instance method TkCanvas#select_to

select_to(tagOrId, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/checkbutton > class TkCheckButton > TkCommandNames

constant TkCheckButton::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/checkbutton > class TkCheckButton > WidgetClassName

constant TkCheckButton::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/checkbutton > class TkCheckButton > WidgetClassNames

constant TkCheckButton::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/checkbutton > class TkCheckButton > toggle

instance method TkCheckButton#toggle

toggle


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > TkCommandNames

constant TkClipboard::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > append

instance method TkClipboard#append

append(data, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > clear

instance method TkClipboard#clear

clear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > get

instance method TkClipboard#get

get(type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > set

instance method TkClipboard#set

set(data, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > append

singleton method TkClipboard.append

append(data, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > append_on_display

singleton method TkClipboard.append_on_display

append_on_display(win, data, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > clear

singleton method TkClipboard.clear

clear(win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > clear_on_display

singleton method TkClipboard.clear_on_display

clear_on_display(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > get

singleton method TkClipboard.get

get(type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > get_on_display

singleton method TkClipboard.get_on_display

get_on_display(win, type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > set

singleton method TkClipboard.set

set(data, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clipboard > module TkClipboard > set_on_display

singleton method TkClipboard.set_on_display

set_on_display(win, data, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > GET_CONFIGINFO_AS_ARRAY

constant TkComm::GET_CONFIGINFO_AS_ARRAY

GET_CONFIGINFO_AS_ARRAY


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > GET_CONFIGINFOwoRES_AS_ARRAY

constant TkComm::GET_CONFIGINFOwoRES_AS_ARRAY

GET_CONFIGINFOwoRES_AS_ARRAY


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > TkExtlibAutoloadModule

constant TkComm::TkExtlibAutoloadModule

TkExtlibAutoloadModule


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > Tk_CMDTBL

constant TkComm::Tk_CMDTBL

Tk_CMDTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > Tk_IDs

constant TkComm::Tk_IDs

Tk_IDs


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > Tk_WINDOWS

constant TkComm::Tk_WINDOWS

Tk_WINDOWS


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > USE_TCLs_LIST_FUNCTIONS

constant TkComm::USE_TCLs_LIST_FUNCTIONS

USE_TCLs_LIST_FUNCTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > WidgetClassNames

constant TkComm::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bind

instance method TkComm#bind

bind(tag_or_class, context, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bind_all

instance method TkComm#bind_all

bind_all(context, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bind_append

instance method TkComm#bind_append

bind_append(tag_or_class, context, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bind_append_all

instance method TkComm#bind_append_all

bind_append_all(context, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bind_remove

instance method TkComm#bind_remove

bind_remove(tag_or_class, context)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bind_remove_all

instance method TkComm#bind_remove_all

bind_remove_all(context)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bindinfo

instance method TkComm#bindinfo

bindinfo(tag_or_class, context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > bindinfo_all

instance method TkComm#bindinfo_all

bindinfo_all(context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > subst

instance method TkComm#subst

subst


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _at

singleton method TkComm._at

_at(x, y = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _callback_entry?

singleton method TkComm._callback_entry?

_callback_entry?(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _callback_entry_class?

singleton method TkComm._callback_entry_class?

_callback_entry_class?(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _curr_cmd_id

singleton method TkComm._curr_cmd_id

_curr_cmd_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _fromUTF8

singleton method TkComm._fromUTF8

_fromUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _genobj_for_tkwidget

singleton method TkComm._genobj_for_tkwidget

_genobj_for_tkwidget(path)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _next_cmd_id

singleton method TkComm._next_cmd_id

_next_cmd_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > _toUTF8

singleton method TkComm._toUTF8

_toUTF8(str, encoding = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > array2tk_list

singleton method TkComm.array2tk_list

array2tk_list(ary, enc = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > image_obj

singleton method TkComm.image_obj

image_obj(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > install_cmd

singleton method TkComm.install_cmd

install_cmd(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > list

singleton method TkComm.list

list(val, depth = 0, enc = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > procedure

singleton method TkComm.procedure

procedure(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > simplelist

singleton method TkComm.simplelist

simplelist(val, src_enc = true, dst_enc = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > tk_tcl2ruby

singleton method TkComm.tk_tcl2ruby

tk_tcl2ruby(val, enc_mode = false, listobj = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > uninstall_cmd

singleton method TkComm.uninstall_cmd

uninstall_cmd(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkComm > window

singleton method TkComm.window

window(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > cget

instance method TkComposite#cget

cget(slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > configinfo

instance method TkComposite#configinfo

configinfo(slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > configure

instance method TkComposite#configure

configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > database_class

instance method TkComposite#database_class

database_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > database_classname

instance method TkComposite#database_classname

database_classname


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > delegate

instance method TkComposite#delegate

delegate(option, *wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > delegate_alias

instance method TkComposite#delegate_alias

delegate_alias(alias_opt, option, *wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > epath

instance method TkComposite#epath

epath


Ruby 1.8.7 Reference Manual > All Libraries > library tk/composite > module TkComposite > option_methods

instance method TkComposite#option_methods

option_methods(*opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > []

instance method TkConfigMethod#[]

self[id]


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > []=

instance method TkConfigMethod#[]=

self[id] = value


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > __confinfo_cmd

instance method TkConfigMethod#__confinfo_cmd

__confinfo_cmd

本来 private のハズ。


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > __conv_keyonly_opts

instance method TkConfigMethod#__conv_keyonly_opts

__conv_keyonly_opts(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > cget

instance method TkConfigMethod#cget

cget(slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > config_hash_kv

instance method TkConfigMethod#config_hash_kv

config_hash_kv(keys, enc_mode = nil, conf = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > configinfo

instance method TkConfigMethod#configinfo

configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > configure

instance method TkConfigMethod#configure

configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > configure_cmd

instance method TkConfigMethod#configure_cmd

configure_cmd(slot, value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkConfigMethod > current_configinfo

instance method TkConfigMethod#current_configinfo

current_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > TkCommandNames

constant TkConsole::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > create

singleton method TkConsole.create

create


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > eval

singleton method TkConsole.eval

eval(tcl_script)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > hide

singleton method TkConsole.hide

hide


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > maininterp_eval

singleton method TkConsole.maininterp_eval

maininterp_eval(tcl_script)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > maininterp_record

singleton method TkConsole.maininterp_record

maininterp_record(tcl_script)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > show

singleton method TkConsole.show

show


Ruby 1.8.7 Reference Manual > All Libraries > library tk/console > module TkConsole > title

singleton method TkConsole.title

title(str = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > EventFlag

constant TkCore::EventFlag

EventFlag


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > INTERP

constant TkCore::INTERP

INTERP
INTERP [redefined by multi-tk]


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > WIDGET_DESTROY_HOOK

constant TkCore::WIDGET_DESTROY_HOOK

WIDGET_DESTROY_HOOK


instance method TkCore#_tk_call_to_list_core

_tk_call_to_list_core(depth, arg_enc, val_enc, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > after

instance method TkCore#after

after(ms, cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > after_cancel

instance method TkCore#after_cancel

after_cancel(after_id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > after_idle

instance method TkCore#after_idle

after_idle(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > appname

instance method TkCore#appname

appname(name = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > appsend

instance method TkCore#appsend

appsend(interp, async, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > appsend_deny

instance method TkCore#appsend_deny

appsend_deny


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > appsend_displayof

instance method TkCore#appsend_displayof

appsend_displayof(interp, win, async, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > callback_break

instance method TkCore#callback_break

callback_break


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > callback_continue

instance method TkCore#callback_continue

callback_continue


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > callback_return

instance method TkCore#callback_return

callback_return


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > chooseColor

instance method TkCore#chooseColor

chooseColor(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > chooseDirectory

instance method TkCore#chooseDirectory

chooseDirectory(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > do_one_event

instance method TkCore#do_one_event

do_one_event(flag = TclTkLib::EventFlag::ALL)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > event_generate

instance method TkCore#event_generate

event_generate(win, context, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > getMultipleOpenFile

instance method TkCore#getMultipleOpenFile

getMultipleOpenFile(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > getMultipleSaveFile

instance method TkCore#getMultipleSaveFile

getMultipleSaveFile(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > getOpenFile

instance method TkCore#getOpenFile

getOpenFile(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > getSaveFile

instance method TkCore#getSaveFile

getSaveFile(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > get_eventloop_tick

instance method TkCore#get_eventloop_tick

get_eventloop_tick


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > get_eventloop_weight

instance method TkCore#get_eventloop_weight

get_eventloop_weight


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > get_no_event_wait

instance method TkCore#get_no_event_wait

get_no_event_wait


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > inactive

instance method TkCore#inactive

inactive


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > inactive_displayof

instance method TkCore#inactive_displayof

inactive_displayof(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > info

instance method TkCore#info

info(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > ip_eval

instance method TkCore#ip_eval

ip_eval(cmd_string)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > ip_eval_with_enc

instance method TkCore#ip_eval_with_enc

ip_eval_with_enc(cmd_string)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > ip_eval_without_enc

instance method TkCore#ip_eval_without_enc

ip_eval_without_enc(cmd_string)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > ip_invoke

instance method TkCore#ip_invoke

ip_invoke(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > ip_invoke_with_enc

instance method TkCore#ip_invoke_with_enc

ip_invoke_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > ip_invoke_without_enc

instance method TkCore#ip_invoke_without_enc

ip_invoke_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > is_mainloop?

instance method TkCore#is_mainloop?

is_mainloop?


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > load_cmd_on_ip

instance method TkCore#load_cmd_on_ip

load_cmd_on_ip(tk_cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > mainloop

instance method TkCore#mainloop

mainloop(check_root = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > mainloop_exist?

instance method TkCore#mainloop_exist?

mainloop_exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > mainloop_thread?

instance method TkCore#mainloop_thread?

mainloop_thread?


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > mainloop_watchdog

instance method TkCore#mainloop_watchdog

mainloop_watchdog(check_root = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > messageBox

instance method TkCore#messageBox

messageBox(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > rb_appsend

instance method TkCore#rb_appsend

rb_appsend(interp, async, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > rb_appsend_displayof

instance method TkCore#rb_appsend_displayof

rb_appsend_displayof(interp, win, async, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > reset_inactive

instance method TkCore#reset_inactive

reset_inactive


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > reset_inactive_displayof

instance method TkCore#reset_inactive_displayof

reset_inactive_displayof(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > restart

instance method TkCore#restart

restart(app_name = nil, keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > scaling

instance method TkCore#scaling

scaling(scale = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > scaling_displayof

instance method TkCore#scaling_displayof

scaling_displayof(win, scale=nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > set_eventloop_ticktimer_tick

instance method TkCore#set_eventloop_ticktimer_tick

set_eventloop_ticktimer_tick


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > set_eventloop_weight

instance method TkCore#set_eventloop_weight

set_eventloop_weight(loop_max, no_event_tick)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > set_no_event_wait

instance method TkCore#set_no_event_wait

set_no_event_wait(wait)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call

instance method TkCore#tk_call

tk_call(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_to_list

instance method TkCore#tk_call_to_list

tk_call_to_list(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_to_list_with_enc

instance method TkCore#tk_call_to_list_with_enc

tk_call_to_list_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_to_list_without_enc

instance method TkCore#tk_call_to_list_without_enc

tk_call_to_list_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_to_simplelist

instance method TkCore#tk_call_to_simplelist

tk_call_to_simplelist(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_to_simplelist_with_enc

instance method TkCore#tk_call_to_simplelist_with_enc

tk_call_to_simplelist_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_to_simplelist_without_enc

instance method TkCore#tk_call_to_simplelist_without_enc

tk_call_to_simplelist_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_with_enc

instance method TkCore#tk_call_with_enc

tk_call_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > tk_call_without_enc

instance method TkCore#tk_call_without_enc

tk_call_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > windowingsystem

instance method TkCore#windowingsystem

windowingsystem


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkCore > callback

singleton method TkCore.callback

callback(*arg)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > object TkCore::INTERP > __getip

singleton method TkCore::INTERP.__getip

__getip


Ruby 1.8.7 Reference Manual > All Libraries > library tk > object TkCore::INTERP > cb_entry_class

singleton method TkCore::INTERP.cb_entry_class

cb_entry_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk > object TkCore::INTERP > tk_cmd_tbl

singleton method TkCore::INTERP.tk_cmd_tbl

tk_cmd_tbl


Ruby 1.8.7 Reference Manual > All Libraries > library tk > object TkCore::INTERP > tk_windows

singleton method TkCore::INTERP.tk_windows

tk_windows


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkCore::Tk_OBJECT_TABLE > method_missing

instance method TkCore::Tk_OBJECT_TABLE#method_missing

method_missing(m, *args, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkCore::Tk_OBJECT_TABLE > new

singleton method TkCore::Tk_OBJECT_TABLE.new

new(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkDatabaseClass > inspect

instance method TkDatabaseClass#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library tk/bindtag > class TkDatabaseClass > new

singleton method TkDatabaseClass.new

new(name, *args, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialog > new

singleton method TkDialog.new

new(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialog > show

singleton method TkDialog.show

show(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialogObj > TkCommandNames

constant TkDialogObj::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialogObj > name

instance method TkDialogObj#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialogObj > show

instance method TkDialogObj#show

show


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialogObj > value

instance method TkDialogObj#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkDialogObj > show

singleton method TkDialogObj.show

show(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > TkCommandNames

constant TkEntry::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > WidgetClassName

constant TkEntry::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > WidgetClassNames

constant TkEntry::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > []

instance method TkEntry#[]

self[*args]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > []=

instance method TkEntry#[]=

self[] = *args


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > bbox

instance method TkEntry#bbox

bbox(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > cursor

instance method TkEntry#cursor

cursor
icursor


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > cursor=

instance method TkEntry#cursor=

cursor=(index)
icursor=(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > delete

instance method TkEntry#delete

delete(first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > dragto

instance method TkEntry#dragto

dragto(pos)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > get

instance method TkEntry#get

value
get


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > index

instance method TkEntry#index

index(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > insert

instance method TkEntry#insert

insert(pos, text)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > invoke_validate

instance method TkEntry#invoke_validate

invoke_validate


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > mark

instance method TkEntry#mark

mark(pos)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > selection_adjust

instance method TkEntry#selection_adjust

selection_adjust(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > selection_clear

instance method TkEntry#selection_clear

selection_clear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > selection_from

instance method TkEntry#selection_from

selection_from(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > selection_present

instance method TkEntry#selection_present

selection_present


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > selection_range

instance method TkEntry#selection_range

selection_range(s, e)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > selection_to

instance method TkEntry#selection_to

selection_to(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > set

instance method TkEntry#set

value=(val)
set(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/entry > class TkEntry > validate

instance method TkEntry#validate

validate(mode = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent > install_bind

instance method TkEvent#install_bind

install_bind(cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent > install_bind_for_event_class

instance method TkEvent#install_bind_for_event_class

install_bind_for_event_class(klass, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > ALIAS_TBL

constant TkEvent::Event::ALIAS_TBL

ALIAS_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > FIELD_FLAG

constant TkEvent::Event::FIELD_FLAG

FIELD_FLAG


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > FIELD_OPERATION

constant TkEvent::Event::FIELD_OPERATION

FIELD_OPERATION


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > KEY_TBL

constant TkEvent::Event::KEY_TBL

KEY_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > PROC_TBL

constant TkEvent::Event::PROC_TBL

PROC_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > TYPE_GROUP_TBL

constant TkEvent::Event::TYPE_GROUP_TBL

TYPE_GROUP_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > TYPE_ID_TBL

constant TkEvent::Event::TYPE_ID_TBL

TYPE_ID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > TYPE_NAME_TBL

constant TkEvent::Event::TYPE_NAME_TBL

TYPE_NAME_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > above

instance method TkEvent::Event#above

above


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > borderwidth

instance method TkEvent::Event#borderwidth

borderwidth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > button

instance method TkEvent::Event#button

num
button


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > char

instance method TkEvent::Event#char

char


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > count

instance method TkEvent::Event#count

count


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > data

instance method TkEvent::Event#data

detail
data


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > delta

instance method TkEvent::Event#delta

wheel_delta
delta


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > focus

instance method TkEvent::Event#focus

focus


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > generate

instance method TkEvent::Event#generate

generate(win, modkeys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > height

instance method TkEvent::Event#height

height


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > keycode

instance method TkEvent::Event#keycode

keycode


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > keysym

instance method TkEvent::Event#keysym

keysym


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > keysym_num

instance method TkEvent::Event#keysym_num

keysym_num


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > mode

instance method TkEvent::Event#mode

mode


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > override

instance method TkEvent::Event#override

override


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > place

instance method TkEvent::Event#place

place


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > property

instance method TkEvent::Event#property

property


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > root

instance method TkEvent::Event#root

rootwin_id
root


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > root_x

instance method TkEvent::Event#root_x

x_root
root_x
rootx


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > root_y

instance method TkEvent::Event#root_y

y_root
root_y
rooty


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > send_event

instance method TkEvent::Event#send_event

send_event
sendevent


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > serial

instance method TkEvent::Event#serial

serial


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > state

instance method TkEvent::Event#state

state


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > subwindow

instance method TkEvent::Event#subwindow

subwindow


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > time

instance method TkEvent::Event#time

time


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > type

instance method TkEvent::Event#type

type


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > valid_fields

instance method TkEvent::Event#valid_fields

valid_fields(group_flag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > valid_for_generate

instance method TkEvent::Event#valid_for_generate

valid_for_generate(group_flag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > widget

instance method TkEvent::Event#widget

widget
window


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > width

instance method TkEvent::Event#width

width


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > win_hex

instance method TkEvent::Event#win_hex

win_hex


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > x

instance method TkEvent::Event#x

x


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > y

instance method TkEvent::Event#y

y


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > group_flag

singleton method TkEvent::Event.group_flag

group_flag(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > type_id

singleton method TkEvent::Event.type_id

type_id(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > class TkEvent::Event > type_name

singleton method TkEvent::Event.type_name

type_name(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > ACTIVATE

constant TkEvent::Event::Grp::ACTIVATE

ACTIVATE


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > ALL

constant TkEvent::Event::Grp::ALL

ALL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > BUTTON

constant TkEvent::Event::Grp::BUTTON

BUTTON


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > CIRC

constant TkEvent::Event::Grp::CIRC

CIRC


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > CIRCREQ

constant TkEvent::Event::Grp::CIRCREQ

CIRCREQ


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > COLORMAP

constant TkEvent::Event::Grp::COLORMAP

COLORMAP


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > CONFIG

constant TkEvent::Event::Grp::CONFIG

CONFIG


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > CONFIGREQ

constant TkEvent::Event::Grp::CONFIGREQ

CONFIGREQ


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > CREATE

constant TkEvent::Event::Grp::CREATE

CREATE


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > CROSSING

constant TkEvent::Event::Grp::CROSSING

CROSSING


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > DESTROY

constant TkEvent::Event::Grp::DESTROY

DESTROY


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > EXPOSE

constant TkEvent::Event::Grp::EXPOSE

EXPOSE


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > FOCUS

constant TkEvent::Event::Grp::FOCUS

FOCUS


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > GRAVITY

constant TkEvent::Event::Grp::GRAVITY

GRAVITY


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > KEY

constant TkEvent::Event::Grp::KEY

KEY


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > KEY_BUTTON_MOTION_CROSSING

constant TkEvent::Event::Grp::KEY_BUTTON_MOTION_CROSSING

KEY_BUTTON_MOTION_CROSSING


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > KEY_BUTTON_MOTION_VIRTUAL

constant TkEvent::Event::Grp::KEY_BUTTON_MOTION_VIRTUAL

KEY_BUTTON_MOTION_VIRTUAL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > MAP

constant TkEvent::Event::Grp::MAP

MAP


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > MAPREQ

constant TkEvent::Event::Grp::MAPREQ

MAPREQ


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > MOTION

constant TkEvent::Event::Grp::MOTION

MOTION


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > MWHEEL

constant TkEvent::Event::Grp::MWHEEL

MWHEEL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > PROP

constant TkEvent::Event::Grp::PROP

PROP


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > REPARENT

constant TkEvent::Event::Grp::REPARENT

REPARENT


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > RESIZEREQ

constant TkEvent::Event::Grp::RESIZEREQ

RESIZEREQ


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > UNMAP

constant TkEvent::Event::Grp::UNMAP

UNMAP


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > VIRTUAL

constant TkEvent::Event::Grp::VIRTUAL

VIRTUAL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::Grp > VISIBILITY

constant TkEvent::Event::Grp::VISIBILITY

VISIBILITY


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > ALT_MASK

constant TkEvent::Event::StateMask::ALT_MASK

ALT_MASK


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > AnyModifier

constant TkEvent::Event::StateMask::AnyModifier

AnyModifier


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Button1Mask

constant TkEvent::Event::StateMask::Button1Mask

Button1Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Button2Mask

constant TkEvent::Event::StateMask::Button2Mask

Button2Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Button3Mask

constant TkEvent::Event::StateMask::Button3Mask

Button3Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Button4Mask

constant TkEvent::Event::StateMask::Button4Mask

Button4Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Button5Mask

constant TkEvent::Event::StateMask::Button5Mask

Button5Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > CommandMask

constant TkEvent::Event::StateMask::CommandMask

CommandMask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > ControlMask

constant TkEvent::Event::StateMask::ControlMask

ControlMask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > EXTENDED_MASK

constant TkEvent::Event::StateMask::EXTENDED_MASK

EXTENDED_MASK


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > LockMask

constant TkEvent::Event::StateMask::LockMask

LockMask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > META_MASK

constant TkEvent::Event::StateMask::META_MASK

META_MASK


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Mod1Mask

constant TkEvent::Event::StateMask::Mod1Mask

Mod1Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Mod2Mask

constant TkEvent::Event::StateMask::Mod2Mask

Mod2Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Mod3Mask

constant TkEvent::Event::StateMask::Mod3Mask

Mod3Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Mod4Mask

constant TkEvent::Event::StateMask::Mod4Mask

Mod4Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > Mod5Mask

constant TkEvent::Event::StateMask::Mod5Mask

Mod5Mask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > OptionMask

constant TkEvent::Event::StateMask::OptionMask

OptionMask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::StateMask > ShiftMask

constant TkEvent::Event::StateMask::ShiftMask

ShiftMask


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ActivateNotify

constant TkEvent::Event::TypeNum::ActivateNotify

ActivateNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ButtonPress

constant TkEvent::Event::TypeNum::ButtonPress

ButtonPress


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ButtonRelease

constant TkEvent::Event::TypeNum::ButtonRelease

ButtonRelease


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > CirculateNotify

constant TkEvent::Event::TypeNum::CirculateNotify

CirculateNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > CirculateRequest

constant TkEvent::Event::TypeNum::CirculateRequest

CirculateRequest


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ClientMessage

constant TkEvent::Event::TypeNum::ClientMessage

ClientMessage


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ColormapNotify

constant TkEvent::Event::TypeNum::ColormapNotify

ColormapNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ConfigureNotify

constant TkEvent::Event::TypeNum::ConfigureNotify

ConfigureNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ConfigureRequest

constant TkEvent::Event::TypeNum::ConfigureRequest

ConfigureRequest


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > CreateNotify

constant TkEvent::Event::TypeNum::CreateNotify

CreateNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > DeactivateNotify

constant TkEvent::Event::TypeNum::DeactivateNotify

DeactivateNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > DestroyNotify

constant TkEvent::Event::TypeNum::DestroyNotify

DestroyNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > EnterNotify

constant TkEvent::Event::TypeNum::EnterNotify

EnterNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > Expose

constant TkEvent::Event::TypeNum::Expose

Expose


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > FocusIn

constant TkEvent::Event::TypeNum::FocusIn

FocusIn


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > FocusOut

constant TkEvent::Event::TypeNum::FocusOut

FocusOut


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > GraphicsExpose

constant TkEvent::Event::TypeNum::GraphicsExpose

GraphicsExpose


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > GravityNotify

constant TkEvent::Event::TypeNum::GravityNotify

GravityNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > KeyPress

constant TkEvent::Event::TypeNum::KeyPress

KeyPress


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > KeyRelease

constant TkEvent::Event::TypeNum::KeyRelease

KeyRelease


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > KeymapNotify

constant TkEvent::Event::TypeNum::KeymapNotify

KeymapNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > LeaveNotify

constant TkEvent::Event::TypeNum::LeaveNotify

LeaveNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > MapNotify

constant TkEvent::Event::TypeNum::MapNotify

MapNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > MapRequest

constant TkEvent::Event::TypeNum::MapRequest

MapRequest


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > MappingNotify

constant TkEvent::Event::TypeNum::MappingNotify

MappingNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > MotionNotify

constant TkEvent::Event::TypeNum::MotionNotify

MotionNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > MouseWheelEvent

constant TkEvent::Event::TypeNum::MouseWheelEvent

MouseWheelEvent


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > NoExpose

constant TkEvent::Event::TypeNum::NoExpose

NoExpose


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > PropertyNotify

constant TkEvent::Event::TypeNum::PropertyNotify

PropertyNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ReparentNotify

constant TkEvent::Event::TypeNum::ReparentNotify

ReparentNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > ResizeRequest

constant TkEvent::Event::TypeNum::ResizeRequest

ResizeRequest


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > SelectionClear

constant TkEvent::Event::TypeNum::SelectionClear

SelectionClear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > SelectionNotify

constant TkEvent::Event::TypeNum::SelectionNotify

SelectionNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > SelectionRequest

constant TkEvent::Event::TypeNum::SelectionRequest

SelectionRequest


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > TK_LASTEVENT

constant TkEvent::Event::TypeNum::TK_LASTEVENT

TK_LASTEVENT


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > UnmapNotify

constant TkEvent::Event::TypeNum::UnmapNotify

UnmapNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > VirtualEvent

constant TkEvent::Event::TypeNum::VirtualEvent

VirtualEvent


Ruby 1.8.7 Reference Manual > All Libraries > library tk/event > module TkEvent::Event::TypeNum > VisibilityNotify

constant TkEvent::Event::TypeNum::VisibilityNotify

VisibilityNotify


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > DEFAULT_KANJI_FONT_NAME

constant TkFont::DEFAULT_KANJI_FONT_NAME

DEFAULT_KANJI_FONT_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > DEFAULT_LATIN_FONT_NAME

constant TkFont::DEFAULT_LATIN_FONT_NAME

DEFAULT_LATIN_FONT_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > MetricType

constant TkFont::MetricType

MetricType


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > OptionType

constant TkFont::OptionType

OptionType


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > TkCommandNames

constant TkFont::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > Tk_FontID

constant TkFont::Tk_FontID

Tk_FontID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > Tk_FontNameTBL

constant TkFont::Tk_FontNameTBL

Tk_FontNameTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > Tk_FontUseTBL

constant TkFont::Tk_FontUseTBL

Tk_FontUseTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > []

instance method TkFont#[]

self[slot]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > []=

instance method TkFont#[]=

self[slot] = val


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > actual

instance method TkFont#actual

actual(option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > actual_displayof

instance method TkFont#actual_displayof

actual_displayof(win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > ascii_actual

instance method TkFont#ascii_actual

latin_actual(option = nil)
ascii_actual(option = nil)


instance method TkFont#ascii_actual_displayof

latin_actual_displayof(win, option = nil)
ascii_actual_displayof(win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > ascii_configinfo

instance method TkFont#ascii_configinfo

latin_configinfo(slot = nil)
ascii_configinfo(slot = nil)


instance method TkFont#ascii_configure

latin_configure(slot, value = Tk::None)
ascii_configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > ascii_font

instance method TkFont#ascii_font

latin_font
latinfont
ascii_font
asciifont


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > ascii_metrics

instance method TkFont#ascii_metrics

latin_metrics(option = nil)
ascii_metrics(option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > ascii_replace

instance method TkFont#ascii_replace

latin_replace(ltn)
ascii_replace(ltn)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > call_font_configure

instance method TkFont#call_font_configure

call_font_configure(path, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > configinfo

instance method TkFont#configinfo

configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > configure

instance method TkFont#configure

configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > current_configinfo

instance method TkFont#current_configinfo

current_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > delete

instance method TkFont#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > font

instance method TkFont#font

font
font_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > id

instance method TkFont#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > inspect

instance method TkFont#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_actual

instance method TkFont#kanji_actual

kanji_actual(option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_actual_displayof

instance method TkFont#kanji_actual_displayof

kanji_actual_displayof(win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_configinfo

instance method TkFont#kanji_configinfo

kanji_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_configure

instance method TkFont#kanji_configure

kanji_configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_font

instance method TkFont#kanji_font

kanji_font
kanjifont


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_font_id

instance method TkFont#kanji_font_id

kanji_font_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_metrics

instance method TkFont#kanji_metrics

kanji_metrics(option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_metrics_displayof

instance method TkFont#kanji_metrics_displayof

kanji_metrics_displayof(win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > kanji_replace

instance method TkFont#kanji_replace

kanji_replace(knj)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > latin_font_id

instance method TkFont#latin_font_id

latin_font_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > latin_metrics_displayof

instance method TkFont#latin_metrics_displayof

latin_metrics_displayof(win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > measure

instance method TkFont#measure

measure(text)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > measure_displayof

instance method TkFont#measure_displayof

measure_displayof(win, text)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > method_missing

instance method TkFont#method_missing

method_missing(id, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > metrics

instance method TkFont#metrics

metrics(option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > metrics_displayof

instance method TkFont#metrics_displayof

metrics_displayof(win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > replace

instance method TkFont#replace

replace(ltn, knj = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > reset_pointadjust

instance method TkFont#reset_pointadjust

reset_pointadjust


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > to_eval

instance method TkFont#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > used

instance method TkFont#used

used


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > actual

singleton method TkFont.actual

actual(fnt, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > actual_displayof

singleton method TkFont.actual_displayof

actual_displayof(fnt, win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > configinfo

singleton method TkFont.configinfo

configinfo(fnt, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > configure

singleton method TkFont.configure

configure(fnt, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > create_copy

singleton method TkFont.create_copy

create_copy(font)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > current_configinfo

singleton method TkFont.current_configinfo

current_configinfo(fnt, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > failsafe

singleton method TkFont.failsafe

failsafe(font)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > families

singleton method TkFont.families

families(win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > get_obj

singleton method TkFont.get_obj

get_obj(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > init_widget_font

singleton method TkFont.init_widget_font

init_widget_font(pathname, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > measure

singleton method TkFont.measure

measure(fnt, text)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > measure_displayof

singleton method TkFont.measure_displayof

measure_displayof(fnt, win, text)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > metrics

singleton method TkFont.metrics

metrics(fnt, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > metrics_displayof

singleton method TkFont.metrics_displayof

metrics_displayof(fnt, win, option = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > names

singleton method TkFont.names

names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > new

singleton method TkFont.new

new(ltn = nil, knj = nil, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont > used_on

singleton method TkFont.used_on

used_on(path = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > []

instance method TkFont::DescendantFont#[]

self[slot]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > []=

instance method TkFont::DescendantFont#[]=

self[slot] = value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > clone

instance method TkFont::DescendantFont#clone

clone


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > dup

instance method TkFont::DescendantFont#dup

dup


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > font

instance method TkFont::DescendantFont#font

font


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > method_missing

instance method TkFont::DescendantFont#method_missing

method_missing(id, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > to_eval

instance method TkFont::DescendantFont#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/font > class TkFont::DescendantFont > new

singleton method TkFont::DescendantFont.new

new(compound, type)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > TkCommandNames

constant TkFrame::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > WidgetClassName

constant TkFrame::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > database_classname

instance method TkFrame#database_classname

database_classname


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > bind

singleton method TkFrame.bind

bind(*args) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > bind_append

singleton method TkFrame.bind_append

bind_append(*args) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > bind_remove

singleton method TkFrame.bind_remove

bind_remove(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > bindinfo

singleton method TkFrame.bindinfo

bindinfo(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > database_class

singleton method TkFrame.database_class

database_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > database_classname

singleton method TkFrame.database_classname

database_classname


Ruby 1.8.7 Reference Manual > All Libraries > library tk/frame > class TkFrame > new

singleton method TkFrame.new

new(parent = nil, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > TkCommandNames

constant TkGrid::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > add

instance method TkGrid#add

add(widget, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > anchor

instance method TkGrid#anchor

anchor(master, anchor = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > bbox

module function TkGrid.#bbox

bbox(master, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > columnconfiginfo

module function TkGrid.#columnconfiginfo

columnconfiginfo(master, index, slot=nil)


module function TkGrid.#columnconfigure

columnconfigure(master, index, args)

マスタウィジェットmasterの桁位置indexに関する属性を argsで指定します。argsは、以下をキーに持つハッシュです。

*"minsize" *"weight" *"pad"

argsに空のハッシュ{}を指定すると現在の設定を返します。 ((-argsのデフォルト値は、TkComm::Noneにした方が良い-))

require "tk"

f = TkFrame.new.pack
p TkGrid.columnconfigure(f, 0, {})

=> "-minsize 0 -pad 0 -weight 0"

((-戻り値は、hashにしたい-))


module function TkGrid.#configure

configure(widget1, widget2, ..., options=nil)
grid(widget1, widget2, ..., options=nil)

wigetNに対して、optionsで指定した配置を行います。 optionsは、以下のキーを持つハッシュです。

*"column"

桁位置を指定します。桁位置は左から順に0,1,2,...と数えます。

*"columnspan"

配置に使用する横方向のセルの数を指定します。

*"in" *"ipadx" *"ipady" *"padx" *"pady"

*"row"

行位置を指定します。行位置は上から順に0,1,2,...と数えます。

*"rowspan"

配置に使用する縦方向のセルの数を指定します。

*"sticky"


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > forget

module function TkGrid.#forget

forget(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > info

module function TkGrid.#info

info(slave)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > location

module function TkGrid.#location

location(master, x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > propagate

module function TkGrid.#propagate

propagate(master, mode = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > remove

module function TkGrid.#remove

remove(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > rowconfiginfo

module function TkGrid.#rowconfiginfo

rowconfiginfo(master, index, slot=nil)


module function TkGrid.#rowconfigure

rowconfigure(master, index, args)

マスタウィジェットmasterの行位置indexに関する属性を argsで指定します。argsは、以下をキーに持つハッシュです。

*"minsize" *"weight" *"pad"

argsに空のハッシュ{}を指定すると現在の設定を返します。 ((-argsのデフォルト値は、TkComm::Noneにした方が良い-))

require "tk"

f = TkFrame.new.pack
p TkGrid.rowconfigure(f, 0, {})
p TkGrid.rowconfigure(f, 0, {'minsize'=>10})
p TkGrid.rowconfigure(f, 0, {})

=> "-minsize 0 -pad 0 -weight 0"
   ""
   "-minsize 10 -pad 0 -weight 0"

((-戻り値は、hashにしたい-))

require "tk"

module TkGrid
  def columnconfigure(master, index, args=None)
    Hash[tk_split_list(tk_call "grid", 'columnconfigure', master, index, *hash_kv(args))]
  end

  def rowconfigure(master, index, args=None)
    tk_tcl2ruby(tk_call "grid", 'rowconfigure', master, index, *hash_kv(args))
  end

  module_function :columnconfigure, :rowconfigure
end

f = TkFrame.new.pack
p TkGrid.columnconfigure(f, 0)
p TkGrid.columnconfigure(f, 0, {'minsize'=>10})
p TkGrid.columnconfigure(f, 0)

f = TkFrame.new.pack
p TkGrid.rowconfigure(f, 0)
p TkGrid.rowconfigure(f, 0, {'minsize'=>10})
p TkGrid.rowconfigure(f, 0)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > size

module function TkGrid.#size

size(master)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/grid > module TkGrid > slaves

module function TkGrid.#slaves

slaves(master, args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > TkCommandNames

constant TkImage::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > Tk_IMGTBL

constant TkImage::Tk_IMGTBL

Tk_IMGTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > Tk_Image_ID

constant TkImage::Tk_Image_ID

Tk_Image_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > delete

instance method TkImage#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > height

instance method TkImage#height

height


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > inuse

instance method TkImage#inuse

inuse


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > itemtype

instance method TkImage#itemtype

itemtype


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > width

instance method TkImage#width

width


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > names

singleton method TkImage.names

names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > new

singleton method TkImage.new

new(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkImage > types

singleton method TkImage.types

types


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigMethod > current_itemconfiginfo

instance method TkItemConfigMethod#current_itemconfiginfo

current_itemconfiginfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigMethod > itemcget

instance method TkItemConfigMethod#itemcget

itemcget(tagOrId, option)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigMethod > itemconfiginfo

instance method TkItemConfigMethod#itemconfiginfo

itemconfiginfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigMethod > itemconfigure

instance method TkItemConfigMethod#itemconfigure

itemconfigure(tagOrId, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigMethod > tagid

instance method TkItemConfigMethod#tagid

tagid(tagOrId)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigOptkeys > __conv_item_keyonly_opts

instance method TkItemConfigOptkeys#__conv_item_keyonly_opts

__conv_item_keyonly_opts(id, keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemconfig > module TkItemConfigOptkeys > itemconfig_hash_kv

instance method TkItemConfigOptkeys#itemconfig_hash_kv

itemconfig_hash_kv(id, keys, enc_mode = nil, conf = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkKernel > new

singleton method TkKernel.new

new(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > TkCommandNames

constant TkKinput::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > kanji_input_end

instance method TkKinput#kanji_input_end

kanji_input_end


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > kanji_input_start

instance method TkKinput#kanji_input_start

kanji_input_start(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > kinput_attribute_config

instance method TkKinput#kinput_attribute_config

kinput_attribute_config(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > kinput_attribute_info

instance method TkKinput#kinput_attribute_info

kinput_attribute_info(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > kinput_send_spot

instance method TkKinput#kinput_send_spot

kinput_send_spot


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > kinput_start

instance method TkKinput#kinput_start

kinput_start(style = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > attribute_config

singleton method TkKinput.attribute_config

attribute_config(win, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > attribute_info

singleton method TkKinput.attribute_info

attribute_info(win, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > input_end

singleton method TkKinput.input_end

input_end(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > input_start

singleton method TkKinput.input_start

input_start(win, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > send_spot

singleton method TkKinput.send_spot

send_spot(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/kinput > module TkKinput > start

singleton method TkKinput.start

start(win, style = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/label > class TkLabel > TkCommandNames

constant TkLabel::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/label > class TkLabel > WidgetClassName

constant TkLabel::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/label > class TkLabel > WidgetClassNames

constant TkLabel::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/labelframe > class TkLabelFrame > TkCommandNames

constant TkLabelFrame::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/labelframe > class TkLabelFrame > WidgetClassName

constant TkLabelFrame::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > TkCommandNames

constant TkListbox::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > WidgetClassName

constant TkListbox::WidgetClassName

WidgetClassName


instance method TkListbox#activate

activate(y)

((|y|))で指定した((*位置*))の要素をアクティブにします。そのリスト ボックスに((<入力フォーカス>))があれば、アクティブな行には下線が引 かれます。

require "tk"
TkListbox.new {
  insert 'end', "foo"
  insert 'end', "bar"
  insert 'end', "baz"
  activate 1
  #focus
  pack
}
Tk.mainloop


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > clear

instance method TkListbox#clear

clear
erase


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > curselection

instance method TkListbox#curselection

curselection

((<選択>))された要素の要素番号を配列にして返します(要素番号は上端が0)


instance method TkListbox#get

get(index)
get(first, last)

引数が1つの場合、指定した((*位置*))の要素を文字列で返します。 引数が2つの場合、指定した範囲の要素を文字列の配列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > index

instance method TkListbox#index

index(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > nearest

instance method TkListbox#nearest

nearest(y)

((|y|))で指定したY座標に近い要素の要素番号を返します。


instance method TkListbox#selection_anchor

selection_anchor(index)

((|index|))で指定した((*位置*))の要素を((<アンカー>))にします。


instance method TkListbox#selection_clear

selection_clear(first, last = Tk::None)

((|first|))、((|last|))で指定した((*位置*))の範囲の要素が((<選択>))さ れていれば非選択にします。((|last|))を省略した場合、((|first|))の((*位 置*))の要素を非選択にします。


instance method TkListbox#selection_includes

selection_includes(index)

(({index}))で指定した((*位置*))の要素が((<選択>))されているかどうかを 真偽値(({true}))/(({false}))で返します。

require "tk"
l = TkListbox.new {
  100.times {|i| insert "end", i}
}.pack
p l.selection_set(0)
p l.selection_includes(0)
Tk.mainloop


instance method TkListbox#selection_set

selection_set(first, last = Tk::None)

((|first|))、((|last|))で指定した((*位置*))の範囲の要素を((<選択>))し ます。((|last|))を省略した場合、((|first|))の((*位置*))の要素を選択し ます。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > size

instance method TkListbox#size

size

要素の数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > tagid

instance method TkListbox#tagid

tagid(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > value

instance method TkListbox#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/listbox > class TkListbox > value=

instance method TkListbox#value=

value=(vals)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > PACKAGE_NAME

constant TkMacResource::PACKAGE_NAME

PACKAGE_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > TkCommandNames

constant TkMacResource::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > close

instance method TkMacResource#close

close(rsrcRef)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > delete

instance method TkMacResource#delete

delete(rsrcType, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > files

instance method TkMacResource#files

files(rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > list

instance method TkMacResource#list

list(rsrcType, rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > open

instance method TkMacResource#open

open(fname, access = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > read

instance method TkMacResource#read

read(rsrcType, rsrcID, rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > types

instance method TkMacResource#types

types(rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > write

instance method TkMacResource#write

write(rsrcType, data, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > close

singleton method TkMacResource.close

close(rsrcRef)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > delete

singleton method TkMacResource.delete

delete(rsrcType, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > files

singleton method TkMacResource.files

files(rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > list

singleton method TkMacResource.list

list(rsrcType, rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > open

singleton method TkMacResource.open

open(fname, access = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > package_name

singleton method TkMacResource.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > read

singleton method TkMacResource.read

read(rsrcType, rsrcID, rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > types

singleton method TkMacResource.types

types(rsrcRef = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/macpkg > module TkMacResource > write

singleton method TkMacResource.write

write(rsrcType, data, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/mngfocus > module TkManageFocus > TkCommandNames

constant TkManageFocus::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/mngfocus > module TkManageFocus > focusNext

instance method TkManageFocus#focusNext

focusNext


Ruby 1.8.7 Reference Manual > All Libraries > library tk/mngfocus > module TkManageFocus > focusPrev

instance method TkManageFocus#focusPrev

focusPrev


Ruby 1.8.7 Reference Manual > All Libraries > library tk/mngfocus > module TkManageFocus > followsMouse

module function TkManageFocus.#followsMouse

followsMouse


Ruby 1.8.7 Reference Manual > All Libraries > library tk/mngfocus > module TkManageFocus > next

module function TkManageFocus.#next

next(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/mngfocus > module TkManageFocus > prev

module function TkManageFocus.#prev

prev(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > TkCommandNames

constant TkMenu::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > WidgetClassName

constant TkMenu::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > activate

instance method TkMenu#activate

activate(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > add

instance method TkMenu#add

add(type, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > add_cascade

instance method TkMenu#add_cascade

add_cascade(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > add_checkbutton

instance method TkMenu#add_checkbutton

add_checkbutton(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > add_command

instance method TkMenu#add_command

add_command(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > add_radiobutton

instance method TkMenu#add_radiobutton

add_radiobutton(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > add_separator

instance method TkMenu#add_separator

add_separator(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > clone_menu

instance method TkMenu#clone_menu

clone_menu(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > delete

instance method TkMenu#delete

delete(first, last = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > index

instance method TkMenu#index

index(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > insert

instance method TkMenu#insert

insert(index, type, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > invoke

instance method TkMenu#invoke

invoke(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > menutype

instance method TkMenu#menutype

menutype(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > popup

instance method TkMenu#popup

popup(x, y, index = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > post

instance method TkMenu#post

post(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > postcascade

instance method TkMenu#postcascade

postcascade(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > postcommand

instance method TkMenu#postcommand

postcommand(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > set_focus

instance method TkMenu#set_focus

set_focus


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > tagid

instance method TkMenu#tagid

tagid(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > tearoffcommand

instance method TkMenu#tearoffcommand

tearoffcommand(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > unpost

instance method TkMenu#unpost

unpost


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenu > yposition

instance method TkMenu#yposition

yposition(index)


singleton method TkMenu.new_menuspec

new_menuspec(menu_spec, parent = nil, tearoff = false, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenuClone > source_menu

instance method TkMenuClone#source_menu

source_menu


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenuClone > new

singleton method TkMenuClone.new

new(src_menu, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > module TkMenuEntryConfig > current_entryconfiginfo

instance method TkMenuEntryConfig#current_entryconfiginfo

current_entryconfiginfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > module TkMenuEntryConfig > entrycget

instance method TkMenuEntryConfig#entrycget

entrycget(tagOrId, option)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > module TkMenuEntryConfig > entryconfiginfo

instance method TkMenuEntryConfig#entryconfiginfo

entryconfiginfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > module TkMenuEntryConfig > entryconfigure

instance method TkMenuEntryConfig#entryconfigure

entryconfigure(tagorId, slot, value = Tk::None)


instance method TkMenuSpec#_create_menu

_create_menu(parent, menu_info, menu_name = nil, tearoff = false, default_opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menuspec > module TkMenuSpec > _create_menu_for_menubar (private)

instance method TkMenuSpec#_create_menu_for_menubar

_create_menu_for_menubar(parent)


instance method TkMenuSpec#_create_menubutton

_create_menubutton(parent, menu_info, tearoff=false, default_opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menuspec > module TkMenuSpec > _get_cascade_menus (private)

instance method TkMenuSpec#_get_cascade_menus

_get_cascade_menus(menu)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menuspec > module TkMenuSpec > _use_menubar? (private)

instance method TkMenuSpec#_use_menubar?

_use_menubar?(parent)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menubar > class TkMenubar > []

instance method TkMenubar#[]

self[index]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menubar > class TkMenubar > add_menu

instance method TkMenubar#add_menu

add_menu(menu_info)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menubar > class TkMenubar > new

singleton method TkMenubar.new

new(parent = nil, spec = nil, options = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenubutton > TkCommandNames

constant TkMenubutton::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkMenubutton > WidgetClassName

constant TkMenubutton::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/message > class TkMessage > TkCommandNames

constant TkMessage::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/message > class TkMessage > WidgetClassName

constant TkMessage::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/message > class TkMessage > WidgetClassNames

constant TkMessage::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > MSGCAT_EXT

constant TkMsgCatalog::MSGCAT_EXT

MSGCAT_EXT


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > PACKAGE_NAME

constant TkMsgCatalog::PACKAGE_NAME

PACKAGE_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > TkCommandNames

constant TkMsgCatalog::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > UNKNOWN_CBTBL

constant TkMsgCatalog::UNKNOWN_CBTBL

UNKNOWN_CBTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > []

instance method TkMsgCatalog#[]

translate(*args)
mc(*args)
self[*args]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > def_unknown_proc

instance method TkMsgCatalog#def_unknown_proc

def_unknown_proc(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > load

instance method TkMsgCatalog#load

load_rb(dir)
load(dir)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > load_tk

instance method TkMsgCatalog#load_tk

load_tk(dir)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > locale

instance method TkMsgCatalog#locale

locale


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > locale=

instance method TkMsgCatalog#locale=

locale=(locale)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > maxlen

instance method TkMsgCatalog#maxlen

maxlen(*src_strings)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > method_missing

instance method TkMsgCatalog#method_missing

method_missing(id, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > msgcat_ext

instance method TkMsgCatalog#msgcat_ext

msgcat_ext
msgcat_ext=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > preferences

instance method TkMsgCatalog#preferences

preferences


instance method TkMsgCatalog#set_translation

set_translation(locale, src_str, trans_str = Tk::None, enc = "utf-8")


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > set_translation_list

instance method TkMsgCatalog#set_translation_list

set_translation_list(locale, trans_list, enc = "utf-8")


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > []

singleton method TkMsgCatalog.[]

translate(*args)
mc(*args)
self[*args]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > callback

singleton method TkMsgCatalog.callback

callback(namespace, locale, src_str, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > def_unknown_proc

singleton method TkMsgCatalog.def_unknown_proc

def_unknown_proc(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > load

singleton method TkMsgCatalog.load

load_rb(dir)
load(dir)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > load_tk

singleton method TkMsgCatalog.load_tk

load_tk(dir)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > locale

singleton method TkMsgCatalog.locale

locale


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > locale=

singleton method TkMsgCatalog.locale=

locale=(locale)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > maxlen

singleton method TkMsgCatalog.maxlen

maxlen(*src_strings)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > new

singleton method TkMsgCatalog.new

new(namespace = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > package_name

singleton method TkMsgCatalog.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > preferences

singleton method TkMsgCatalog.preferences

preferences


singleton method TkMsgCatalog.set_translation

set_translation(locale, src_str, trans_str = Tk::None, enc = "utf-8")


Ruby 1.8.7 Reference Manual > All Libraries > library tk/msgcat > class TkMsgCatalog > set_translation_list

singleton method TkMsgCatalog.set_translation_list

set_translation_list(locale, trans_list, enc = "utf-8")


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > Global

constant TkNamespace::Global

Global


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > TkCommandNames

constant TkNamespace::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > Tk_Namespace_ID

constant TkNamespace::Tk_Namespace_ID

Tk_Namespace_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > Tk_Namespace_ID_TBL

constant TkNamespace::Tk_Namespace_ID_TBL

Tk_Namespace_ID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > Tk_NsCode_RetObjID_TBL

constant TkNamespace::Tk_NsCode_RetObjID_TBL

Tk_NsCode_RetObjID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > __tk_call

instance method TkNamespace#__tk_call

__tk_call(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > __tk_call_with_enc

instance method TkNamespace#__tk_call_with_enc

__tk_call_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > __tk_call_without_enc

instance method TkNamespace#__tk_call_without_enc

__tk_call_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > children

instance method TkNamespace#children

children


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > code

instance method TkNamespace#code

code(script = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > current

instance method TkNamespace#current

current_namespace
current


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > current_path

instance method TkNamespace#current_path

current_path


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > delete

instance method TkNamespace#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > eval

instance method TkNamespace#eval

eval(cmd = Proc.new, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > exist?

instance method TkNamespace#exist?

exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > export

instance method TkNamespace#export

export


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > export_with_clear

instance method TkNamespace#export_with_clear

export_with_clear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > force_import

instance method TkNamespace#force_import

force_import


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > forget

instance method TkNamespace#forget

forget


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > import

instance method TkNamespace#import

import


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > inscope

instance method TkNamespace#inscope

inscope(script, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > install_cmd

instance method TkNamespace#install_cmd

install_cmd(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ns_tk_call

instance method TkNamespace#ns_tk_call

tk_call(*args)
ns_tk_call(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ns_tk_call_with_enc

instance method TkNamespace#ns_tk_call_with_enc

tk_call_with_enc(*args)
ns_tk_call_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ns_tk_call_without_enc

instance method TkNamespace#ns_tk_call_without_enc

tk_call_without_enc(*args)
ns_tk_call_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > parent

instance method TkNamespace#parent

parent


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > set_path

instance method TkNamespace#set_path

set_path


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > upvar

instance method TkNamespace#upvar

upvar(*var_pairs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > children

singleton method TkNamespace.children

children(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > code

singleton method TkNamespace.code

code(script = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > current

singleton method TkNamespace.current

current


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > current_path

singleton method TkNamespace.current_path

current_path


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > delete

singleton method TkNamespace.delete

delete(*ns_list)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ensemble_configinfo

singleton method TkNamespace.ensemble_configinfo

ensemble_configinfo(cmd, slot = nil))


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ensemble_configure

singleton method TkNamespace.ensemble_configure

ensemble_configure(cmd, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ensemble_create

singleton method TkNamespace.ensemble_create

ensemble_create(*keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > ensemble_exist?

singleton method TkNamespace.ensemble_exist?

ensemble_exist?(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > eval

singleton method TkNamespace.eval

eval(namespace, cmd = Proc.new, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > exist?

singleton method TkNamespace.exist?

exist?(ns)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > export

singleton method TkNamespace.export

export(*patterns)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > export_with_clear

singleton method TkNamespace.export_with_clear

export_with_clear(*patterns)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > force_import

singleton method TkNamespace.force_import

force_import(*patterns)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > forget

singleton method TkNamespace.forget

forget(*patterns)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > get_path

singleton method TkNamespace.get_path

get_path


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > get_unknown_handler

singleton method TkNamespace.get_unknown_handler

get_unknown_handler


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > id2obj

singleton method TkNamespace.id2obj

id2obj(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > import

singleton method TkNamespace.import

import(*patterns)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > inscope

singleton method TkNamespace.inscope

inscope(namespace, script, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > new

singleton method TkNamespace.new

new(name = nil, parent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > origin

singleton method TkNamespace.origin

origin(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > parent

singleton method TkNamespace.parent

parent(namespace = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > qualifiers

singleton method TkNamespace.qualifiers

qualifiers(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > set_path

singleton method TkNamespace.set_path

set_path(*namespace_list)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > set_unknown_handler

singleton method TkNamespace.set_unknown_handler

set_unknown_handler(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > tail

singleton method TkNamespace.tail

tail(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > upvar

singleton method TkNamespace.upvar

upvar(namespace, *var_pairs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > which

singleton method TkNamespace.which

which(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > which_command

singleton method TkNamespace.which_command

which_command(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace > which_variable

singleton method TkNamespace.which_variable

which_variable(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::Ensemble > cget

instance method TkNamespace::Ensemble#cget

cget(slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::Ensemble > configinfo

instance method TkNamespace::Ensemble#configinfo

configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::Ensemble > exists?

instance method TkNamespace::Ensemble#exists?

exists?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::Ensemble > exist?

singleton method TkNamespace::Ensemble.exist?

exist?(ensemble)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::Ensemble > new

singleton method TkNamespace::Ensemble.new

new(keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::NsCode > call

instance method TkNamespace::NsCode#call

call(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::NsCode > path

instance method TkNamespace::NsCode#path

path


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::NsCode > to_eval

instance method TkNamespace::NsCode#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::NsCode > new

singleton method TkNamespace::NsCode.new

new(scope, use_obj_id = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::ScopeArgs > tk_call

instance method TkNamespace::ScopeArgs#tk_call

tk_call(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::ScopeArgs > tk_call_with_enc

instance method TkNamespace::ScopeArgs#tk_call_with_enc

tk_call_with_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::ScopeArgs > tk_call_without_enc

instance method TkNamespace::ScopeArgs#tk_call_without_enc

tk_call_without_enc(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/namespace > class TkNamespace::ScopeArgs > new

singleton method TkNamespace::ScopeArgs.new

new(namespace, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > destroy

instance method TkObject#destroy

destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > epath

instance method TkObject#epath

epath


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > event_generate

instance method TkObject#event_generate

event_generate(context, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > method_missing

instance method TkObject#method_missing

method_missing(id, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkObject > path

instance method TkObject#path

path


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send

instance method TkObject#tk_send

tk_send(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_to_list

instance method TkObject#tk_send_to_list

tk_send_to_list(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_to_list_with_enc

instance method TkObject#tk_send_to_list_with_enc

tk_send_to_list_with_enc(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_to_list_without_enc

instance method TkObject#tk_send_to_list_without_enc

tk_send_to_list_without_enc(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_to_simplelist

instance method TkObject#tk_send_to_simplelist

tk_send_to_simplelist(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_to_simplelist_with_enc

instance method TkObject#tk_send_to_simplelist_with_enc

tk_send_to_simplelist_with_enc(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_to_simplelist_without_enc

instance method TkObject#tk_send_to_simplelist_without_enc

tk_send_to_simplelist_without_enc(cmd, *rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_with_enc

instance method TkObject#tk_send_with_enc

tk_send_with_enc


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > tk_send_without_enc

instance method TkObject#tk_send_without_enc

tk_send_without_enc


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkObject > to_eval

instance method TkObject#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > CmdClassID

constant TkOptionDB::CmdClassID

CmdClassID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > RAND_BASE_CHAR

constant TkOptionDB::RAND_BASE_CHAR

RAND_BASE_CHAR


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > RAND_BASE_CNT

constant TkOptionDB::RAND_BASE_CNT

RAND_BASE_CNT


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > RAND_BASE_HEAD

constant TkOptionDB::RAND_BASE_HEAD

RAND_BASE_HEAD


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > TkCommandNames

constant TkOptionDB::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > add

module function TkOptionDB.#add

add(pat, value, pri = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > clear

module function TkOptionDB.#clear

clear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > eval_under_random_base

module function TkOptionDB.#eval_under_random_base

eval_under_random_base(parent = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > get

module function TkOptionDB.#get

get(win, name, klass)


module function TkOptionDB.#new_proc_class

new_proc_class(klass, func, safe = 4, add = false, parent = nil, &block)


module function TkOptionDB.#new_proc_class_random

new_proc_class_random(klass, func, safe = 4, add = false, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > read_entries

module function TkOptionDB.#read_entries

read_entries(file, f_enc = nil)


module function TkOptionDB.#read_file

readfile(file, pri = Tk::None)
read_file(file, pri = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB > read_with_encoding

module function TkOptionDB.#read_with_encoding

read_with_encoding(file, f_enc = nil, pri = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB::Priority > Interactive

constant TkOptionDB::Priority::Interactive

Interactive


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB::Priority > StartupFile

constant TkOptionDB::Priority::StartupFile

StartupFile


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB::Priority > UserDefault

constant TkOptionDB::Priority::UserDefault

UserDefault


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optiondb > module TkOptionDB::Priority > WidgetDefault

constant TkOptionDB::Priority::WidgetDefault

WidgetDefault


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > TkCommandNames

constant TkOptionMenubutton::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > activate

instance method TkOptionMenubutton#activate

activate(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > add

instance method TkOptionMenubutton#add

add(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > current_entryconfiginfo

instance method TkOptionMenubutton#current_entryconfiginfo

current_entryconfiginfo(index, key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > current_menuconfiginfo

instance method TkOptionMenubutton#current_menuconfiginfo

current_menuconfiginfo(key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > delete

instance method TkOptionMenubutton#delete

delete(index, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > entrycget

instance method TkOptionMenubutton#entrycget

entrycget(index, key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > entryconfiginfo

instance method TkOptionMenubutton#entryconfiginfo

entryconfiginfo(index, key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > entryconfigure

instance method TkOptionMenubutton#entryconfigure

entryconfigure(index, key, val = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > index

instance method TkOptionMenubutton#index

index(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > insert

instance method TkOptionMenubutton#insert

insert(index, value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > invoke

instance method TkOptionMenubutton#invoke

invoke(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > menu

instance method TkOptionMenubutton#menu

menu


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > menucget

instance method TkOptionMenubutton#menucget

menucget(key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > menuconfiginfo

instance method TkOptionMenubutton#menuconfiginfo

menuconfiginfo(key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > menuconfigure

instance method TkOptionMenubutton#menuconfigure

menuconfigure(key, val = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > value

instance method TkOptionMenubutton#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > value=

instance method TkOptionMenubutton#value=

value=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > yposition

instance method TkOptionMenubutton#yposition

yposition(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton > new

singleton method TkOptionMenubutton.new

new(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkOptionMenubutton::OptionMenu > new

singleton method TkOptionMenubutton::OptionMenu.new

new(path)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/pack > module TkPack > TkCommandNames

constant TkPack::TkCommandNames

TkCommandNames


module function TkPack.#configure

configure(win1, win2, ... winN, keys=nil)
pack(win1, win2, ... winN, keys=nil)

ウィジェットwin1 ... winNを配置します。 keysは以下をキーに持つハッシュです。

*"after"=>other

ウィジェットwinNをotherウィジェットの後に配置しなおします。 other がまだpackされていなければエラーになります。

require "tk"

a = TkButton.new {text 'a'}.pack
b = TkButton.new {text 'b'}.pack
c = TkButton.new {text 'c'}.pack

TkPack.configure b,a, 'after'=>c

Tk.mainloop

otherは、winNウィジェットとマスターが同じでなければなりま せん。

require "tk"

frame = TkFrame.new
a = TkButton.new        {text 'a'}.pack
b = TkButton.new(frame) {text 'b'}.pack
c = TkButton.new        {text 'c'}.pack

b.pack 'after'=>c

Tk.mainloop

error--> can't pack .w0000.w0002 inside . (RuntimeError)

*"anchor" *"before"=>other

配置する位置がotherの前であることを除いて、"after" と同じです。

*"expand"

trueを指定すると、ウィジェットを配置していない空きの区画を常に 最小の状態に保つよう、ウィジェットを配置した区画を広げます。(ウィジェッ ト自身を大きくするわけではありません。下記"fill"の項目も参照し てください)デフォルトはfalseです。

*"fill"

配置のために割り当てられた区画がスレーブが要求するサイズよりも大きい 場合、スレーブを指定した方向に引き延ばします。

"fill"によって、ウィジェットが常にすき間なく詰められるわけではないこ とに注意しなければなりません。

例えば、以下の例を実行した後ウィンドウのサイズを縦横に大きくすると ウィンドウの下部に空きができます。

require "tk"
5.times {|i| TkButton.new {text i }.pack 'fill'=>'both'}
Tk.mainloop

これは、ウィジェットを配置する区画を上から切り取っているからです。こ の場合、横方向に区画の空きはないので、ウィジェットに割り当てられた区 画は横方向には伸びますが、縦方向(下部)には見えない空き区画が残されて います。ウィンドウを大きくしたときにできた空き領域はまだウィジェット が割り当てられていない空きの区画です。

以下の例のように区画を左から切り取る('side'=>'left'で指定する) ようにすれば、ウィンドウを広げたときには右に空きができます。

require "tk"
5.times {|i| TkButton.new {text i }.pack 'fill'=>'both', 'side'=>'left'}
Tk.mainloop

このような空きも埋めたい場合にはexpandを使用します。以下の例を 実行した後ウィンドウを広げるとウィジェットが配置された区画は縦横両方 向に広げられ、空きの区画は常に見えない状態になります。

require "tk"
5.times {|i| TkButton.new {text i }.pack 'fill'=>'both', 'expand'=>true}
Tk.mainloop

*"none"

スレーブを引き延ばしません。デフォルト。 *"x"

横方向にウィジェットを引き延ばします。 *"y"

縦方向にウィジェットを引き延ばします。 *"both"

縦横両方向にウィジェットを引き延ばします。

*"in"=>master

masterをマスターウィジェットとしてpackします。

*"ipadx" *"ipady" *"padx" *"pady" *"side"

*"left"
*"right"
*"top"
*"bottom"


Ruby 1.8.7 Reference Manual > All Libraries > library tk/pack > module TkPack > forget

module function TkPack.#forget

forget(*args)

argsで指定したウィジェットの配置を取り下げます(非表示になります)。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/pack > module TkPack > info

module function TkPack.#info

info(slave)


module function TkPack.#propagate

propagate(master, bool=None)

スレーブのpackが完了した後マスターのウィジェット(master) の大きさが自動的に変更されるかどうかを真偽値boolで指定します。

boolを省略した場合、現在の設定を返します。

デフォルトはtrueで、この場合マスターウィジェットは、ウィジェット が配置されていない空き区画が見えなくなるよう縮んだり、すべてのスレーブ (の割り当てられた区画)のサイズにあわせて大きくなったりします。

((-このメソッドの用途がわからない。マスターのサイズを固定にしたいのな ら、geometry でサイズを指定すればいいんじゃないの？-))

require "tk"

p TkPack.propagate(Tk.root)
TkButton.new { text "foo" }.pack

top = TkToplevel.new
p TkPack.propagate(top)

TkPack.propagate(top, false)
p TkPack.propagate(top)
TkButton.new(top) { text "bar" }.pack

Tk.mainloop

=> true
   true
   false

以下の例では、barが表示されない((-なんで？いつかちゃんと調べること-))

require "tk"

TkFrame.new {
  TkPack.propagate(self, true)
  TkLabel.new(self) { text "foo" }.pack
}.pack

TkFrame.new {
  TkPack.propagate(self, false)
  TkLabel.new(self) { text "bar" }.pack
}.pack

Tk.mainloop


Ruby 1.8.7 Reference Manual > All Libraries > library tk/pack > module TkPack > slaves

module function TkPack.#slaves

slaves(master)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > TkCommandNames

constant TkPackage::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > add_path

instance method TkPackage#add_path

add_path(path)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > forget

instance method TkPackage#forget

forget(package)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > if_needed

instance method TkPackage#if_needed

if_needed(pkg, ver, *arg) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > names

instance method TkPackage#names

names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > present

instance method TkPackage#present

present(package, version=None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > present_exact

instance method TkPackage#present_exact

present_exact(package, version)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > provide

instance method TkPackage#provide

provide(package, version=nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > require

instance method TkPackage#require

require(package, version=None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > require_exact

instance method TkPackage#require_exact

require_exact(package, version)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > unknown_proc

instance method TkPackage#unknown_proc

unknown_proc(*arg) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > vcompare

instance method TkPackage#vcompare

vcompare(version1, version2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > versions

instance method TkPackage#versions

versions(package)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/package > class TkPackage > vsatisfies

instance method TkPackage#vsatisfies

vsatisfies(version1, version2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > TkCommandNames

constant TkPalette::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > recolorTree

instance method TkPalette#recolorTree

recolorTree(colors)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > bisque

singleton method TkPalette.bisque

bisque


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > darken

singleton method TkPalette.darken

darken(color, percent)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > recolorTree

singleton method TkPalette.recolorTree

recolorTree(win, colors)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > set

singleton method TkPalette.set

set(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/palette > module TkPalette > setPalette

singleton method TkPalette.setPalette

setPalette(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > TkCommandNames

constant TkPanedWindow::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > WidgetClassName

constant TkPanedWindow::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > add

instance method TkPanedWindow#add

add(*args)


instance method TkPanedWindow#current_pane_configinfo

current_paneconfiginfo(win, key = nil)
current_pane_configinfo(win, key = nil)


instance method TkPanedWindow#del

forget(win, *wins)
del(win, *wins)
delete(win, *wins)
remove(win, *wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > identify

instance method TkPanedWindow#identify

identify(x, y)


instance method TkPanedWindow#pane_config

paneconfigure(win, key, value = nil)
pane_config(win, key, value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > pane_configinfo

instance method TkPanedWindow#pane_configinfo

paneconfiginfo(win, key = nil)
pane_configinfo(win, key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > panecget

instance method TkPanedWindow#panecget

panecget(win, key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > panes

instance method TkPanedWindow#panes

panes


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > proxy_coord

instance method TkPanedWindow#proxy_coord

proxy_coord


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > proxy_forget

instance method TkPanedWindow#proxy_forget

proxy_forget


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > proxy_place

instance method TkPanedWindow#proxy_place

proxy_place(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > sash_coord

instance method TkPanedWindow#sash_coord

sash_coord(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > sash_dragto

instance method TkPanedWindow#sash_dragto

sash_dragto(index, x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > sash_mark

instance method TkPanedWindow#sash_mark

sash_mark(index, x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/panedwindow > class TkPanedWindow > sash_place

instance method TkPanedWindow#sash_place

sash_place(index, x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > NullArgOptionKeys

constant TkPhotoImage::NullArgOptionKeys

NullArgOptionKeys


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > blank

instance method TkPhotoImage#blank

blank


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > cget

instance method TkPhotoImage#cget

cget(option)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > copy

instance method TkPhotoImage#copy

copy(src, *opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > data

instance method TkPhotoImage#data

data(keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > get

instance method TkPhotoImage#get

get(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > get_transparency

instance method TkPhotoImage#get_transparency

get_transparency(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > put

instance method TkPhotoImage#put

put(data, *opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > read

instance method TkPhotoImage#read

read(file, *opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > redither

instance method TkPhotoImage#redither

redither


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > set_transparency

instance method TkPhotoImage#set_transparency

set_transparency(x, y, st)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > write

instance method TkPhotoImage#write

write(file, *opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/image > class TkPhotoImage > new

singleton method TkPhotoImage.new

new(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/place > module TkPlace > TkCommandNames

constant TkPlace::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/place > module TkPlace > configinfo

module function TkPlace.#configinfo

configinfo(win, slot = nil)


module function TkPlace.#configure

configure(win, slot, value = Tk::None)
place(win, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/place > module TkPlace > current_configinfo

module function TkPlace.#current_configinfo

current_configinfo(win, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/place > module TkPlace > forget

module function TkPlace.#forget

forget(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/place > module TkPlace > info

module function TkPlace.#info

info(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/place > module TkPlace > slaves

module function TkPlace.#slaves

slaves(master)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > DEFAULT_OFFSET_LIST_SIZE

constant TkRTTimer::DEFAULT_OFFSET_LIST_SIZE

DEFAULT_OFFSET_LIST_SIZE


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > cancel

instance method TkRTTimer#cancel

cancel
stop


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > cb_call

instance method TkRTTimer#cb_call

cb_call


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > continue

instance method TkRTTimer#continue

continue(wait=nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > set_interval

instance method TkRTTimer#set_interval

set_interval(interval)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > set_next_callback

instance method TkRTTimer#set_next_callback

set_next_callback(args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > start

instance method TkRTTimer#start

start(*args) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkRTTimer > new

singleton method TkRTTimer.new

new(*args) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/radiobutton > class TkRadioButton > deselect

instance method TkRadioButton#deselect

deselect

ラジオボタンをチェックしない状態にします。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/radiobutton > class TkRadioButton > get_value

instance method TkRadioButton#get_value

get_value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/radiobutton > class TkRadioButton > select

instance method TkRadioButton#select

select

ラジオボタンをチェックした状態にします。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/radiobutton > class TkRadioButton > set_value

instance method TkRadioButton#set_value

set_value(val)

ラジオボタンをチェックしたときの値をvalにします。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > WidgetClassName

constant TkRoot::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > WidgetClassNames

constant TkRoot::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > add_menu

instance method TkRoot#add_menu

add_menu(menu_info, tearoff = false, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > add_menubar

instance method TkRoot#add_menubar

add_menubar(menu_spec, tearoff = false, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > path

instance method TkRoot#path

path


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > destroy

singleton method TkRoot.destroy

destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > new

singleton method TkRoot.new

new(keys = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/root > class TkRoot > to_eval

singleton method TkRoot.to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > TkCommandNames

constant TkScale::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > WidgetClassName

constant TkScale::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > WidgetClassNames

constant TkScale::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > command

instance method TkScale#command

command(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > configure

instance method TkScale#configure

configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > configure_cmd

instance method TkScale#configure_cmd

configure_cmd(slot, value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > coords

instance method TkScale#coords

coords(value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > get

instance method TkScale#get

get(x = Tk::None, y = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > identify

instance method TkScale#identify

identify(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > set

instance method TkScale#set

set(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > value

instance method TkScale#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scale > class TkScale > value=

instance method TkScale#value=

value=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > TkCommandNames

constant TkScrollbar::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > WidgetClassName

constant TkScrollbar::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > WidgetClassNames

constant TkScrollbar::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > activate

instance method TkScrollbar#activate

activate(element = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > assign

instance method TkScrollbar#assign

assign(*wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > assigned_list

instance method TkScrollbar#assigned_list

assigned_list


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > configure

instance method TkScrollbar#configure

configure(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > delta

instance method TkScrollbar#delta

delta(deltax, deltay)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > fraction

instance method TkScrollbar#fraction

fraction(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > get

instance method TkScrollbar#get

get


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > identify

instance method TkScrollbar#identify

identify(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > propagate_set

instance method TkScrollbar#propagate_set

propagate_set(src_win, first, last)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollbar > class TkScrollbar > set

instance method TkScrollbar#set

set(first, last)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > TkCommandNames

constant TkSelection::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > clear

instance method TkSelection#clear

clear(sel = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > get

instance method TkSelection#get

get(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > get_owner

instance method TkSelection#get_owner

get_owner(sel = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > handle

instance method TkSelection#handle

handle(func = Proc.new, keys = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > set_owner

instance method TkSelection#set_owner

set_owner(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > clear

singleton method TkSelection.clear

clear(sel = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > clear_on_display

singleton method TkSelection.clear_on_display

clear_on_display(win, sel = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > get

singleton method TkSelection.get

get(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > get_on_display

singleton method TkSelection.get_on_display

get_on_display(win, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > get_owner

singleton method TkSelection.get_owner

get_owner(sel = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > get_owner_on_display

singleton method TkSelection.get_owner_on_display

get_owner_on_display


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > handle

singleton method TkSelection.handle

handle(win, func = Proc.new, keys = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/selection > module TkSelection > set_owner

singleton method TkSelection.set_owner

set_owner(win, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > TkCommandNames

constant TkSpinbox::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > WidgetClassName

constant TkSpinbox::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > WidgetClassNames

constant TkSpinbox::WidgetClassNames

WidgetClassNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > __validation_class_list

instance method TkSpinbox#__validation_class_list

__validation_class_list


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > command

instance method TkSpinbox#command

command


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > identify

instance method TkSpinbox#identify

identify(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > set

instance method TkSpinbox#set

set(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > spindown

instance method TkSpinbox#spindown

spindown


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox > spinup

instance method TkSpinbox#spinup

spinup


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand > _config_keys

singleton method TkSpinbox::SpinCommand._config_keys

_config_keys


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand::ValidateArgs > KEY_TBL

constant TkSpinbox::SpinCommand::ValidateArgs::KEY_TBL

KEY_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand::ValidateArgs > PROC_TBL

constant TkSpinbox::SpinCommand::ValidateArgs::PROC_TBL

PROC_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand::ValidateArgs > current

instance method TkSpinbox::SpinCommand::ValidateArgs#current

current


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand::ValidateArgs > direction

instance method TkSpinbox::SpinCommand::ValidateArgs#direction

direction


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand::ValidateArgs > widget

instance method TkSpinbox::SpinCommand::ValidateArgs#widget

widget


Ruby 1.8.7 Reference Manual > All Libraries > library tk/spinbox > class TkSpinbox::SpinCommand::ValidateArgs > ret_val

singleton method TkSpinbox::SpinCommand::ValidateArgs.ret_val

ret_val(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkSysMenu_Apple > SYSMENU_NAME

constant TkSysMenu_Apple::SYSMENU_NAME

SYSMENU_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkSysMenu_Help > SYSMENU_NAME

constant TkSysMenu_Help::SYSMENU_NAME

SYSMENU_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > class TkSysMenu_System > SYSMENU_NAME

constant TkSysMenu_System::SYSMENU_NAME

SYSMENU_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/menu > module TkSystemMenu > initialize

instance method TkSystemMenu#initialize

initialize(parent, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > ItemConfCMD

constant TkText::ItemConfCMD

ItemConfCMD


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > TkCommandNames

constant TkText::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > WidgetClassName

constant TkText::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > __destroy_hook__

instance method TkText#__destroy_hook__

__destroy_hook__


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > _addcmd

instance method TkText#_addcmd

_addcmd(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > _addtag

instance method TkText#_addtag

_addtag(name, obj)


instance method TkText#add_tag

tag_add(tag, index1, index2 = Tk::None)
addtag(tag, index1, index2 = Tk::None)
add_tag(tag, index1, index2 = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > at

instance method TkText#at

at(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > backspace

instance method TkText#backspace

backspace


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > bbox

instance method TkText#bbox

bbox(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > clear

instance method TkText#clear

clear
erase


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > compare

instance method TkText#compare

compare(idx1, op, idx2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > count

instance method TkText#count

count(idx1, idx2, *opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > count_info

instance method TkText#count_info

count_info(idx1, idx2, update = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > current_image_configinfo

instance method TkText#current_image_configinfo

current_image_configinfo(index, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > debug

instance method TkText#debug

debug


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > debug=

instance method TkText#debug=

debug=(boolean)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > delete_tag

instance method TkText#delete_tag

tag_delete(*tags)
deltag(*tags)
delete_tag(*tags)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > destroy

instance method TkText#destroy

destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dlineinfo

instance method TkText#dlineinfo

dlineinfo(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump

instance method TkText#dump

dump(type_info, *index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump_all

instance method TkText#dump_all

dump_all(*index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump_image

instance method TkText#dump_image

dump_image(*index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump_mark

instance method TkText#dump_mark

dump_mark(*index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump_tag

instance method TkText#dump_tag

dump_tag(*index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump_text

instance method TkText#dump_text

dump_text(*index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > dump_window

instance method TkText#dump_window

dump_window(*index) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > edit_redo

instance method TkText#edit_redo

edit_redo


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > edit_reset

instance method TkText#edit_reset

edit_reset


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > edit_separator

instance method TkText#edit_separator

edit_separator


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > edit_undo

instance method TkText#edit_undo

edit_undo


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > get_displaychars

instance method TkText#get_displaychars

get_displaychars(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > image_cget

instance method TkText#image_cget

image_cget(index, slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > image_configinfo

instance method TkText#image_configinfo

image_configinfo(index, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > image_configure

instance method TkText#image_configure

image_configure(index, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > image_names

instance method TkText#image_names

image_names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > index

instance method TkText#index

index(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > init_instance_variable

instance method TkText#init_instance_variable

init_instance_variable


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > insert

instance method TkText#insert

insert(index, chars, *tags)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > mark_gravity

instance method TkText#mark_gravity

mark_gravity(mark, direction = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > mark_names

instance method TkText#mark_names

mark_names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > mark_next

instance method TkText#mark_next

mark_next(index)
next_mark(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > mark_previous

instance method TkText#mark_previous

mark_previous(index)
previous_mark(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > mark_set

instance method TkText#mark_set

mark_set(mark, index)
set_mark(mark, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > mark_unset

instance method TkText#mark_unset

mark_unset(*marks)
unset_mark(*marks)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > modified

instance method TkText#modified

modified(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > modified=

instance method TkText#modified=

modified=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > modified?

instance method TkText#modified?

modified?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > peer_names

instance method TkText#peer_names

peer_names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > replace

instance method TkText#replace

replace(idx1, idx2, *opts)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > rsearch

instance method TkText#rsearch

rsearch(pat, start, stop = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > rsearch_with_length

instance method TkText#rsearch_with_length

rsearch_with_length(pat, start, stop = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > search

instance method TkText#search

search(pat, start, stop = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > search_with_length

instance method TkText#search_with_length

search_with_length(pat, start, stop = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > set_current

instance method TkText#set_current

set_current(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > set_insert

instance method TkText#set_insert

set_insert(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_bind

instance method TkText#tag_bind

tag_bind(tag, seq, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_bind_append

instance method TkText#tag_bind_append

tag_bind_append(tag, seq, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_bind_remove

instance method TkText#tag_bind_remove

tag_bind_remove(tag, seq)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_bindinfo

instance method TkText#tag_bindinfo

tag_bindinfo(tag, context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_lower

instance method TkText#tag_lower

tag_lower(tag, below = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_names

instance method TkText#tag_names

tag_names(index = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_nextrange

instance method TkText#tag_nextrange

tag_nextrange(tag, first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_prevrange

instance method TkText#tag_prevrange

tag_prevrange(tag, first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_raise

instance method TkText#tag_raise

tag_raise(tag, above = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_ranges

instance method TkText#tag_ranges

tag_ranges(tag)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tag_remove

instance method TkText#tag_remove

tag_remove(tag, *indices)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tagid2obj

instance method TkText#tagid2obj

tagid2obj(tagid)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > text_copy

instance method TkText#text_copy

text_copy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > text_cut

instance method TkText#text_cut

text_cut


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > text_paste

instance method TkText#text_paste

text_paste


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tksearch

instance method TkText#tksearch

tksearch(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > tksearch_with_count

instance method TkText#tksearch_with_count

tksearch_with_count(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > value

instance method TkText#value

value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > value=

instance method TkText#value=

value=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > window_names

instance method TkText#window_names

window_names


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > xview_pickplace

instance method TkText#xview_pickplace

xview_pickplace(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > yview_pickplace

instance method TkText#yview_pickplace

yview_pickplace(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > at

singleton method TkText.at

at(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText > new

singleton method TkText.new

new(*args) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > []

instance method TkTextImage#[]

self[slot]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > []=

instance method TkTextImage#[]=

self[slot] = value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > cget

instance method TkTextImage#cget

cget(slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > configinfo

instance method TkTextImage#configinfo

configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > configure

instance method TkTextImage#configure

configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > current_configinfo

instance method TkTextImage#current_configinfo

current_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > id

instance method TkTextImage#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > image

instance method TkTextImage#image

image


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > image=

instance method TkTextImage#image=

image=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > mark

instance method TkTextImage#mark

mark


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textimage > class TkTextImage > new

singleton method TkTextImage.new

new(parent, index, keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > TMarkID_TBL

constant TkTextMark::TMarkID_TBL

TMarkID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > Tk_TextMark_ID

constant TkTextMark::Tk_TextMark_ID

Tk_TextMark_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > destroy

instance method TkTextMark#destroy

unset
destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > exist?

instance method TkTextMark#exist?

exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > gravity

instance method TkTextMark#gravity

gravity


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > gravity=

instance method TkTextMark#gravity=

gravity=(direction)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > id

instance method TkTextMark#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > next

instance method TkTextMark#next

next(index = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > pos

instance method TkTextMark#pos

pos


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > pos=

instance method TkTextMark#pos=

pos=(where)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > previous

instance method TkTextMark#previous

previous(index = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > set

instance method TkTextMark#set

set(where)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > id2obj

singleton method TkTextMark.id2obj

id2obj(text, id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMark > new

singleton method TkTextMark.new

new(parent, index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMarkAnchor > new

singleton method TkTextMarkAnchor.new

new(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMarkCurrent > new

singleton method TkTextMarkCurrent.new

new(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextMarkInsert > new

singleton method TkTextMarkInsert.new

new(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textmark > class TkTextNamedMark > new

singleton method TkTextNamedMark.new

new(parent, name, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextNamedTag > new

singleton method TkTextNamedTag.new

new(parent, name, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > TTagID_TBL

constant TkTextTag::TTagID_TBL

TTagID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > Tk_TextTag_ID

constant TkTextTag::Tk_TextTag_ID

Tk_TextTag_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > []

instance method TkTextTag#[]

self[key]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > []=

instance method TkTextTag#[]=

self[key] = val


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > add

instance method TkTextTag#add

add(*indices)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > bind

instance method TkTextTag#bind

bind(seq, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > bind_append

instance method TkTextTag#bind_append

bind_append(seq, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > bind_remove

instance method TkTextTag#bind_remove

bind_remove(seq)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > bindinfo

instance method TkTextTag#bindinfo

bindinfo(context = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > cget

instance method TkTextTag#cget

cget(key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > configinfo

instance method TkTextTag#configinfo

configinfo(key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > configure

instance method TkTextTag#configure

configure(key, val = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > current_configinfo

instance method TkTextTag#current_configinfo

current_configinfo(key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > destroy

instance method TkTextTag#destroy

destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > exist?

instance method TkTextTag#exist?

exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > first

instance method TkTextTag#first

first


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > id

instance method TkTextTag#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > last

instance method TkTextTag#last

last


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > lower

instance method TkTextTag#lower

lower(below = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > nextrange

instance method TkTextTag#nextrange

nextrange(first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > prevrange

instance method TkTextTag#prevrange

prevrange(first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > raise

instance method TkTextTag#raise

raise(above = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > ranges

instance method TkTextTag#ranges

ranges


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > remove

instance method TkTextTag#remove

remove(*indices)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > id2obj

singleton method TkTextTag.id2obj

id2obj(text, id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTag > new

singleton method TkTextTag.new

new(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > current_tag_configinfo

instance method TkTextTagConfig#current_tag_configinfo

current_tag_configinfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > current_window_configinfo

instance method TkTextTagConfig#current_window_configinfo

current_window_configinfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > tag_cget

instance method TkTextTagConfig#tag_cget

tag_cget(tagOrId, option)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > tag_configinfo

instance method TkTextTagConfig#tag_configinfo

tag_configinfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > tag_configure

instance method TkTextTagConfig#tag_configure

tag_configure(tagOrId, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > window_cget

instance method TkTextTagConfig#window_cget

window_cget(tagOrId, option)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > window_configinfo

instance method TkTextTagConfig#window_configinfo

window_configinfo(tagOrId, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkTextTagConfig > window_configure

instance method TkTextTagConfig#window_configure

window_configure(tagOrId, slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/texttag > class TkTextTagSel > new

singleton method TkTextTagSel.new

new(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > TkCommnadNames

constant TkTextWin::TkCommnadNames

TkCommnadNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > bbox

instance method TkTextWin#bbox

bbox(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > delete

instance method TkTextWin#delete

delete(first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > get

instance method TkTextWin#get

get(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > insert

instance method TkTextWin#insert

insert(index, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > scan_dragto

instance method TkTextWin#scan_dragto

scan_dragto(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > scan_mark

instance method TkTextWin#scan_mark

scan_mark(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/txtwin_abst > class TkTextWin > see

instance method TkTextWin#see

see(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > []

instance method TkTextWindow#[]

self[slot]


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > []=

instance method TkTextWindow#[]=

self[slot] = value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > cget

instance method TkTextWindow#cget

cget(slot)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > configinfo

instance method TkTextWindow#configinfo

configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > configure

instance method TkTextWindow#configure

configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > create

instance method TkTextWindow#create

create


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > create=

instance method TkTextWindow#create=

create=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > current_configinfo

instance method TkTextWindow#current_configinfo

current_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > id

instance method TkTextWindow#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > mark

instance method TkTextWindow#mark

mark


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > window

instance method TkTextWindow#window

window


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > window=

instance method TkTextWindow#window=

window=(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/textwindow > class TkTextWindow > new

singleton method TkTextWindow.new

new(parent, index, keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > +

instance method TkText::IndexModMethods#+

self + mod


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > -

instance method TkText::IndexModMethods#-

self - mod


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > any_char

instance method TkText::IndexModMethods#any_char

any_chars(mod)
any_char(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > any_indices

instance method TkText::IndexModMethods#any_indices

any_indices(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > any_line

instance method TkText::IndexModMethods#any_line

any_lines(mod)
any_line(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > char

instance method TkText::IndexModMethods#char

chars(mod)
char(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_char

instance method TkText::IndexModMethods#display_char

display_chars(mod)
display_char(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_indices

instance method TkText::IndexModMethods#display_indices

display_indices(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_line

instance method TkText::IndexModMethods#display_line

display_lines(mod)
display_line(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_lineend

instance method TkText::IndexModMethods#display_lineend

display_lineend


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_linestart

instance method TkText::IndexModMethods#display_linestart

display_linestart


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_wordend

instance method TkText::IndexModMethods#display_wordend

display_wordend


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > display_wordstart

instance method TkText::IndexModMethods#display_wordstart

display_wordstart


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > indices

instance method TkText::IndexModMethods#indices

indices(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > line

instance method TkText::IndexModMethods#line

lines(mod)
line(mod)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > lineend

instance method TkText::IndexModMethods#lineend

lineend


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > linestart

instance method TkText::IndexModMethods#linestart

linestart


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > wordend

instance method TkText::IndexModMethods#wordend

wordend


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > module TkText::IndexModMethods > wordstart

instance method TkText::IndexModMethods#wordstart

wordstart


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText::IndexString > id

instance method TkText::IndexString#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText::IndexString > at

singleton method TkText::IndexString.at

at(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText::IndexString > new

singleton method TkText::IndexString.new

new(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/text > class TkText::Peer > new

singleton method TkText::Peer.new

new(text, parent = nil, keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > DEFAULT_IGNORE_EXCEPTIONS

constant TkTimer::DEFAULT_IGNORE_EXCEPTIONS

DEFAULT_IGNORE_EXCEPTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > TkCommandNames

constant TkTimer::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > Tk_CBID

constant TkTimer::Tk_CBID

Tk_CBID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > Tk_CBTBL

constant TkTimer::Tk_CBTBL

Tk_CBTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > add_procs

instance method TkTimer#add_procs

add_procs(*procs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > after_id

instance method TkTimer#after_id

after_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > after_script

instance method TkTimer#after_script

after_script


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > cancel

instance method TkTimer#cancel

cancel
stop


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > cancel_on_exception=

instance method TkTimer#cancel_on_exception=

cancel_on_exception=(mode)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > cancel_on_exception?

instance method TkTimer#cancel_on_exception?

cancel_on_exception?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > cb_call

instance method TkTimer#cb_call

cb_call


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > continue

instance method TkTimer#continue

continue(wait = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > current_args

instance method TkTimer#current_args

current_args


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > current_interval

instance method TkTimer#current_interval

current_sleep
current_interval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > current_proc

instance method TkTimer#current_proc

current_proc


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > current_status

instance method TkTimer#current_status

current_status


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > delete_at

instance method TkTimer#delete_at

delete_at(n)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > delete_procs

instance method TkTimer#delete_procs

delete_procs(*procs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > do_callback

instance method TkTimer#do_callback

do_callback


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > eventloop_tkwait

instance method TkTimer#eventloop_tkwait

eventloop_tkwait


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > eventloop_wait

instance method TkTimer#eventloop_wait

eventloop_wait(check_root = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > get_procs

instance method TkTimer#get_procs

get_procs


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > info

instance method TkTimer#info

info


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > loop_exec

instance method TkTimer#loop_exec

loop_exec
loop_exec=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > loop_rest

instance method TkTimer#loop_rest

loop_rest


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > loop_rest=

instance method TkTimer#loop_rest=

loop_rest=(rest)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > reset

instance method TkTimer#reset

reset(*reset_args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > restart

instance method TkTimer#restart

restart(*restart_args) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > return_value

instance method TkTimer#return_value

return_value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > running?

instance method TkTimer#running?

running?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > set_callback

instance method TkTimer#set_callback

set_callback(sleep, args = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > set_interval

instance method TkTimer#set_interval

set_interval(interval)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > set_next_callback

instance method TkTimer#set_next_callback

set_next_callback(args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > set_procs

instance method TkTimer#set_procs

set_procs(interval, loop_exec, *procs)


instance method TkTimer#set_start_proc

set_start_proc(sleep = nil, init_proc = nil, *init_args) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > skip

instance method TkTimer#skip

skip


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > start

instance method TkTimer#start

start(*init_args) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > thread_tkwait

instance method TkTimer#thread_tkwait

thread_tkwait


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > thread_wait

instance method TkTimer#thread_wait

thread_wait(check_root = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > tkwait

instance method TkTimer#tkwait

tkwait(on_thread = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > wait

instance method TkTimer#wait

wait(on_thread = true, check_root = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > callback

singleton method TkTimer.callback

callback(obj_id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > info

singleton method TkTimer.info

info(obj = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > new

singleton method TkTimer.new

new(*args) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/timer > class TkTimer > start

singleton method TkTimer.start

start(*args) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > TkCommandNames

constant TkToplevel::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > WidgetClassName

constant TkToplevel::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > add_menu

instance method TkToplevel#add_menu

add_menu(menu_info, tearoff = false, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > add_menubar

instance method TkToplevel#add_menubar

add_menubar(menu_spec, tearoff = false, opts = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > specific_class

instance method TkToplevel#specific_class

specific_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > bind

singleton method TkToplevel.bind

bind(*args) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > bind_append

singleton method TkToplevel.bind_append

bind_append(*args) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > bind_remove

singleton method TkToplevel.bind_remove

bind_remove(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > bindinfo

singleton method TkToplevel.bindinfo

bindinfo(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > database_class

singleton method TkToplevel.database_class

database_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk/toplevel > class TkToplevel > database_classname

singleton method TkToplevel.database_classname

database_classname


singleton method TkToplevel.new

new(parent = nil, screen = nil, classname = nil, keys = nil)


instance method TkTreatFont#asciifont_configure

latinfont_configure(ltn, keys = nil)
asciifont_configure(ltn, keys = nil)


instance method TkTreatFont#asciifont_copy

latinfont_copy(win, wintag = nil, winkey = nil, targetkey = nil)
asciifont_copy(win, wintag = nil, winkey = nil, targetkey = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkTreatFont > font_configinfo

instance method TkTreatFont#font_configinfo

font_configinfo(key = nil)
fontobj(key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkTreatFont > font_configure

instance method TkTreatFont#font_configure

font_configure(slot)


instance method TkTreatFont#font_copy

font_copy(win, wintag = nil, winkey = nil, targetkey = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > module TkTreatFont > kanjifont_configure

instance method TkTreatFont#kanjifont_configure

kanjifont_configure(knj, keys = nil)


instance method TkTreatFont#kanjifont_copy

kanjifont_copy(win, wintag = nil, winkey = nil, targetkey = nil)


instance method TkTreatItemFont#asciitagfont_configure

asciitagfont_configure(tagOrId, ltn, keys = nil)

Alias for #latintagfont_configure


instance method TkTreatItemFont#asciitagfont_copy

asciitagfont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil)

Alias for #latintagfont_copy


instance method TkTreatItemFont#kanjifont_copy

kanjifont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemfont > module TkTreatItemFont > kanjitagfont_configure

instance method TkTreatItemFont#kanjitagfont_configure

kanjitagfont_configure(tagOrId, knj, keys = nil)


instance method TkTreatItemFont#latintagfont_configure

latintagfont_configure(tagOrId, ltn, keys = nil)

alias asciitagfont_configure


instance method TkTreatItemFont#latintagfont_copy

latintagfont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil)

alias asciitagfont_copy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemfont > module TkTreatItemFont > tagfont_configinfo

instance method TkTreatItemFont#tagfont_configinfo

tagfont_configinfo(tagOrId, key = nil)

alias tagfontobj


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemfont > module TkTreatItemFont > tagfont_configure

instance method TkTreatItemFont#tagfont_configure

tagfont_configure(tagOrId, slot)


instance method TkTreatItemFont#tagfont_copy

tagfont_copy(tagOrId, win, wintag = nil, winkey = nil, targetkey = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/itemfont > module TkTreatItemFont > tagfontobj

instance method TkTreatItemFont#tagfontobj

tagfontobj(tagOrId, key = nil)

Alias for #tagfont_configinfo


instance method TkTreatTagFont#asciifont_configure

asciifont_configure(ltn, keys = nil)

Alias for #latinfont_configure


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > asciifont_copy

instance method TkTreatTagFont#asciifont_copy

asciifont_copy(win, wintag = nil)

Alias for #latinfont_copy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > font_configinfo

instance method TkTreatTagFont#font_configinfo

font_configinfo


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > font_configure

instance method TkTreatTagFont#font_configure

font_configure(slot)

alias font font_configinfo


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > font_copy

instance method TkTreatTagFont#font_copy

font_copy(win, wintag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > kanjifont_configure

instance method TkTreatTagFont#kanjifont_configure

kanjifont_configure(knj, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > kanjifont_copy

instance method TkTreatTagFont#kanjifont_copy

kanjifont_copy(win, wintag = nil)


instance method TkTreatTagFont#latinfont_configure

latinfont_configure(ltn, keys = nil)

alias asciifont_configure


Ruby 1.8.7 Reference Manual > All Libraries > library tk/tagfont > module TkTreatTagFont > latinfont_copy

instance method TkTreatTagFont#latinfont_copy

latinfont_copy(win, wintag = nil)

alias asciifont_copy


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > None

constant TkUtil::None

None


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > RELEASE_DATE

constant TkUtil::RELEASE_DATE

RELEASE_DATE


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _conv_args

instance method TkUtil#_conv_args

_conv_args(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _fromUTF8

instance method TkUtil#_fromUTF8

_fromUTF8(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _get_eval_enc_str

instance method TkUtil#_get_eval_enc_str

_get_eval_enc_str(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _get_eval_string

instance method TkUtil#_get_eval_string

_get_eval_string(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _symbolkey2str

instance method TkUtil#_symbolkey2str

_symbolkey2str(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _toUTF8

instance method TkUtil#_toUTF8

_toUTF8(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > bool

instance method TkUtil#bool

bool(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > hash_kv

instance method TkUtil#hash_kv

hash_kv(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > num_or_str

instance method TkUtil#num_or_str

num_or_str(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > number

instance method TkUtil#number

number(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > string

instance method TkUtil#string

string(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _conv_args

singleton method TkUtil._conv_args

_conv_args(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _get_eval_enc_str

singleton method TkUtil._get_eval_enc_str

_get_eval_enc_str(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _get_eval_string

singleton method TkUtil._get_eval_string

_get_eval_string(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > _symbolkey2str

singleton method TkUtil._symbolkey2str

_symbolkey2str(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > bool

singleton method TkUtil.bool

bool(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > callback

singleton method TkUtil.callback

callback(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > eval_cmd

singleton method TkUtil.eval_cmd

eval_cmd(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > hash_kv

singleton method TkUtil.hash_kv

hash_kv(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > install_cmd

singleton method TkUtil.install_cmd

install_cmd(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > num_or_str

singleton method TkUtil.num_or_str

num_or_str(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > number

singleton method TkUtil.number

number(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > string

singleton method TkUtil.string

string(value)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > module TkUtil > uninstall_cmd

singleton method TkUtil.uninstall_cmd

uninstall_cmd(cmd_id)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > SUBST_INFO

constant TkUtil::CallbackSubst::SUBST_INFO

SUBST_INFO


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > _define_attribute_aliases

singleton method TkUtil::CallbackSubst._define_attribute_aliases

_define_attribute_aliases(tbl)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > _get_all_subst_keys

singleton method TkUtil::CallbackSubst._get_all_subst_keys

_get_all_subst_keys


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > _get_extra_args_tbl

singleton method TkUtil::CallbackSubst._get_extra_args_tbl

_get_extra_args_tbl


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > _get_subst_key

singleton method TkUtil::CallbackSubst._get_subst_key

_get_subst_key(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > _setup_subst_table

singleton method TkUtil::CallbackSubst._setup_subst_table

_setup_subst_table(key_inf, proc_inf)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > inspect

singleton method TkUtil::CallbackSubst.inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > ret_val

singleton method TkUtil::CallbackSubst.ret_val

ret_val(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > scan_args

singleton method TkUtil::CallbackSubst.scan_args

scan_args(arg_key, val_key)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class TkUtil::CallbackSubst > subst_arg

singleton method TkUtil::CallbackSubst.subst_arg

subst_arg(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > class TkValidateCommand > _initialize_for_cb_class

instance method TkValidateCommand#_initialize_for_cb_class

_initialize_for_cb_class(klass, cmd = Proc.new, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > class TkValidateCommand > to_eval

instance method TkValidateCommand#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > class TkValidateCommand > _config_keys

singleton method TkValidateCommand._config_keys

_config_keys


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > class TkValidateCommand > new

singleton method TkValidateCommand.new

new(cmd = Proc.new, *args)


singleton method TkValidateCommand::ValidateArgs.ret_val

ret_val(val)

def self._get_extra_args_tbl

# return an array of convert procs
[]

end


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation > __validation_class_list

instance method TkValidation#__validation_class_list

__validation_class_list


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > Delete

constant TkValidation::ValidateCmd::Action::Delete

Delete


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > Focus

constant TkValidation::ValidateCmd::Action::Focus

Focus


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > Forced

constant TkValidation::ValidateCmd::Action::Forced

Forced


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > Insert

constant TkValidation::ValidateCmd::Action::Insert

Insert


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > Others

constant TkValidation::ValidateCmd::Action::Others

Others


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > TextVariable

constant TkValidation::ValidateCmd::Action::TextVariable

TextVariable


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module TkValidation::ValidateCmd::Action > Textvariable

constant TkValidation::ValidateCmd::Action::Textvariable

Textvariable


singleton method TkVarAccess.new

new(name, *args)

Tcl変数 varname と生成したインスタンスを関連付けます。 val を指定すると値の設定も行います。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVarAccess > new_hash

singleton method TkVarAccess.new_hash

new_hash(name, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > TkCommandNames

constant TkVariable::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > TkVar_CB_TBL

constant TkVariable::TkVar_CB_TBL

TkVar_CB_TBL

コールバック関数を記録するハッシュです。内部で利用しています。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > TkVar_ID_TBL

constant TkVariable::TkVar_ID_TBL

TkVar_ID_TBL


constant TkVariable::Tk_VARIABLE_ID

Tk_VARIABLE_ID

Tclレベルの変数名をインスタンスに割り当てるために内部で利用されています。

Tk_VARIABLE_IDは、配列ですが0番目の要素しか使われていません。 Rubyにおける定数が値を変更できないためです。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > USE_TCLs_SET_VARIABLE_FUNCTIONS

constant TkVariable::USE_TCLs_SET_VARIABLE_FUNCTIONS

USE_TCLs_SET_VARIABLE_FUNCTIONS


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > *

instance method TkVariable#*

self * other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > **

instance method TkVariable#**

self ** other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > +

instance method TkVariable#+

self + other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > -

instance method TkVariable#-

self - other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > /

instance method TkVariable#/

self / other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > <=>

instance method TkVariable#<=>

self <=> other


instance method TkVariable#==

self == other

値がotherと同じである場合に真です。otherは、 TkVariable, String, Integer, Float, Arrayのいずれかです。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > =~

instance method TkVariable#=~

self =~ other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > []

instance method TkVariable#[]

self[index]

index番目の値を返します。 selfはTclの配列でなければなりません。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > []=

instance method TkVariable#[]=

self[index] = val

index番目の要素をvalにします。 selfはTclの配列でなければなりません。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > |

instance method TkVariable#|

self | other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > %

instance method TkVariable#%

self % other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > &

instance method TkVariable#&

self & other


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > bool

instance method TkVariable#bool

bool


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > bool=

instance method TkVariable#bool=

bool=
set_bool


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > bool_element

instance method TkVariable#bool_element

bool_element


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > bool_type=

instance method TkVariable#bool_type=

bool_type=
set_bool_type(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > clear

instance method TkVariable#clear

clear


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > coerce

instance method TkVariable#coerce

coerce(other)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > default_element_value_type

instance method TkVariable#default_element_value_type

default_element_value_type(idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > default_proc

instance method TkVariable#default_proc

default_proc(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > default_value

instance method TkVariable#default_value

default_value(val = nil)
default_value(val = nil) { .... }


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > default_value=

instance method TkVariable#default_value=

default_value=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > default_value_type

instance method TkVariable#default_value_type

default_value_type


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > default_value_type=

instance method TkVariable#default_value_type=

default_value_type=
set_default_value_type(type)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_lappend

instance method TkVariable#element_lappend

element_lappend(idxs, *elems)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_lget

instance method TkVariable#element_lget

element_lindex(elem_idxs, idx)
element_lget(elem_idxs, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_lget_f

instance method TkVariable#element_lget_f

element_lget_f(elem_idxs, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_lget_i

instance method TkVariable#element_lget_i

element_lget_i(elem_idxs, idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_lset

instance method TkVariable#element_lset

element_lset(elem_idxs, idx, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_to_a

instance method TkVariable#element_to_a

list_element(*idxs)
element_to_a(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_to_f

instance method TkVariable#element_to_f

element_to_f(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_to_i

instance method TkVariable#element_to_i

element_to_i(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_to_s

instance method TkVariable#element_to_s

element_to_s(*idxs)
string_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > element_to_sym

instance method TkVariable#element_to_sym

element_to_sym(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > eventloop_tkwait

instance method TkVariable#eventloop_tkwait

eventloop_tkwait


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > eventloop_wait

instance method TkVariable#eventloop_wait

eventloop_wait(check_root = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > exist?

instance method TkVariable#exist?

exist?(*elems)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > id

instance method TkVariable#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > is_hash?

instance method TkVariable#is_hash?

is_hash?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > is_scalar?

instance method TkVariable#is_scalar?

is_scalar?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > keys

instance method TkVariable#keys

keys


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > lappend

instance method TkVariable#lappend

lappend(*elems)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > lget

instance method TkVariable#lget

lindex(idx)
lget(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > lget_f

instance method TkVariable#lget_f

lget_f(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > lget_i

instance method TkVariable#lget_i

lget_i(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > list

instance method TkVariable#list

list


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > list=

instance method TkVariable#list=

list=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > list_type=

instance method TkVariable#list_type=

list_type=
set_list_type(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > lset

instance method TkVariable#lset

lset(idx, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > nonzero?

instance method TkVariable#nonzero?

nonzero?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numeric

instance method TkVariable#numeric

numeric


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numeric=

instance method TkVariable#numeric=

numeric=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numeric_element

instance method TkVariable#numeric_element

numeric_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numeric_type=

instance method TkVariable#numeric_type=

set_numeric_type(val)
numeric_type=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numlist

instance method TkVariable#numlist

numlist


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numlist=

instance method TkVariable#numlist=

set_numlist(val)
numlist=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numlist_element

instance method TkVariable#numlist_element

numlist_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > numlist_type=

instance method TkVariable#numlist_type=

set_numlist_type(val)
numlist_type=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > procedure

instance method TkVariable#procedure

procedure


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > procedure=

instance method TkVariable#procedure=

set_procedure(cmd)
procedure=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > procedure_element

instance method TkVariable#procedure_element

procedure_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > procedure_type=

instance method TkVariable#procedure_type=

procedure_type=
set_procedure_type(cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > ref

instance method TkVariable#ref

ref(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > remove

instance method TkVariable#remove

unset(elem=nil)
remove(elem=nil)

値がTcl配列であるとき、elemの値を削除します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_bool_element

instance method TkVariable#set_bool_element

set_bool_element


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_bool_element_type

instance method TkVariable#set_bool_element_type

set_bool_element_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_default_element_value_type

instance method TkVariable#set_default_element_value_type

set_default_element_value_type(idxs, type)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_default_value

instance method TkVariable#set_default_value

set_default_value(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_element_value

instance method TkVariable#set_element_value

set_element_value(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_element_value_type

instance method TkVariable#set_element_value_type

set_element_value_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_list

instance method TkVariable#set_list

set_list(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_list_element

instance method TkVariable#set_list_element

set_list_element(idxs, val)
set_numlist_element(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_list_element_type

instance method TkVariable#set_list_element_type

set_list_element_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_numeric

instance method TkVariable#set_numeric

set_numeric(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_numeric_element

instance method TkVariable#set_numeric_element

set_numeric_element(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_numeric_element_type

instance method TkVariable#set_numeric_element_type

set_numeric_element_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_numlist_element_type

instance method TkVariable#set_numlist_element_type

set_numlist_element_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_procedure_element

instance method TkVariable#set_procedure_element

set_procedure_element(idxs, cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_procedure_element_type

instance method TkVariable#set_procedure_element_type

set_procedure_element_type(idxs, cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_string

instance method TkVariable#set_string

string=
set_string(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_string_element

instance method TkVariable#set_string_element

set_string_element(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_string_element_type

instance method TkVariable#set_string_element_type

set_string_element_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_string_type

instance method TkVariable#set_string_type

string_type=
set_string_type(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_symbol

instance method TkVariable#set_symbol

symbol=
set_symbol(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_symbol_element

instance method TkVariable#set_symbol_element

set_symbol_element(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_symbol_element_type

instance method TkVariable#set_symbol_element_type

set_symbol_element_type(idxs, val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_symbol_type

instance method TkVariable#set_symbol_type

symbol_type=
set_symbol_type(val)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_value

instance method TkVariable#set_value

set_value(val)

値を val に設定し、self を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_value_type

instance method TkVariable#set_value_type

set_value_type(val)
value_type=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_variable

instance method TkVariable#set_variable

set_variable(var)
variable=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_variable_element

instance method TkVariable#set_variable_element

set_variable_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_variable_element_type

instance method TkVariable#set_variable_element_type

set_variable_element_type(idxs, var)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_variable_type

instance method TkVariable#set_variable_type

set_variable_type(var)
variable_type=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_window

instance method TkVariable#set_window

set_window(win)
window=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_window_element

instance method TkVariable#set_window_element

set_window_element(idxs, win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_window_element_type

instance method TkVariable#set_window_element_type

set_window_element_type(idxs, win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > set_window_type

instance method TkVariable#set_window_type

set_window_type(win)
window_type=


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > size

instance method TkVariable#size

size


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > string

instance method TkVariable#string

string


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > symbol

instance method TkVariable#symbol

symbol
to_sym


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > symbol_element

instance method TkVariable#symbol_element

symbol_element


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > thread_tkwait

instance method TkVariable#thread_tkwait

thread_tkwait


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > thread_wait

instance method TkVariable#thread_wait

thread_wait(check_root = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > tkwait

instance method TkVariable#tkwait

tkwait(on_thread = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > to_a

instance method TkVariable#to_a

to_a

値を配列(Array)として返します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > to_eval

instance method TkVariable#to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > to_f

instance method TkVariable#to_f

to_f

値を数値(Float)として返します。


instance method TkVariable#to_i

to_i

値を数値(Fixnum)として返します。(現状のTkVariableは、 Bignumを値にすることはできません)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > to_s

instance method TkVariable#to_s

to_s

値を文字列(String)として返します。


instance method TkVariable#trace

trace(opts, cmd)

optsは、"r", "w", "u" のいずれか、またはこれらの組み合わせで、それぞれ 変数が参照、設定、削除 されたときにProcオブジェクト cmd を 呼び出します。2回目以降の呼び出しでは、opts が以前の設定と異なれ ばcmdを再設定します。

cmdは、引数に、self、空配列、"操作" を渡されて呼ばれ ます。"配列のキー" は、変数が配列の場合以外は空文字列です。"操作"は、 "r","w","u" のいずれかです。

require "tk"

var = TkVariable.new(0)

var.trace "rwu", proc {|arg| puts "callback called with #{arg.inspect}"}

p var.value
p var.value = 1
p var.unset

=>callback called with [<TkVariable: v00000>, [], "r"]
  "0"
  callback called with [<TkVariable: v00000>, [], "w"]
  "1"
  callback called with [<TkVariable: v00000>, [], "u"]
  ""


instance method TkVariable#trace_callback

trace_callback(elem, op)

TkVariable#traceにより登録されたProcオブジェクトを引数にself, elem, opを指定して実行します。

require "tk"

var = TkVariable.new(0)

var.trace "rwu", proc {|arg| puts "callback called with #{arg.inspect}"}
var.trace_callback([], "r")


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > trace_element

instance method TkVariable#trace_element

trace_element(elem, opts, cmd)


instance method TkVariable#trace_vdelete

trace_vdelete(opts, cmd)

TkVariable#trace で設定したcmdを削除します。opts が TkVariable#trace で 設定したときと一致しなければ何もしません。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > trace_vdelete_for_element

instance method TkVariable#trace_vdelete_for_element

trace_vdelete_for_element(elem, opts, cmd)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > trace_vinfo

instance method TkVariable#trace_vinfo

trace_vinfo


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > undef_default

instance method TkVariable#undef_default

undef_default


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > update

instance method TkVariable#update

update(hash)


instance method TkVariable#value

value

値を返します。selfがTclの配列ならば(Tclの配列は連想配列な ので) Hashとして返します。それ以外では常に文字列を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > value=

instance method TkVariable#value=

value=(val)

値をvalに設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > variable

instance method TkVariable#variable

variable


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > variable_element

instance method TkVariable#variable_element

variable_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > wait

instance method TkVariable#wait

wait

値が変化するまで待ちます。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > window

instance method TkVariable#window

window


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > window_element

instance method TkVariable#window_element

window_element(*idxs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > zero?

instance method TkVariable#zero?

zero?


singleton method TkVariable.callback

callback(args)

TkVariable#traceにより登録されたProcオブジェクトを実行します。 args は、 [TkVariableのインスタンス, "キー", "操作"] である配列です。


singleton method TkVariable.new

new(val="")

値がvalであるTkVariableオブジェクトを生成します。valが Array または Hash のオブジェクトである場合、生成されたインス タンスは Tclの配列として振る舞います。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/variable > class TkVariable > new_hash

singleton method TkVariable.new_hash

new_hash(val = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > TkCommandNames

constant TkVirtualEvent::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > TkVirtualEventID

constant TkVirtualEvent::TkVirtualEventID

TkVirtualEventID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > TkVirtualEventTBL

constant TkVirtualEvent::TkVirtualEventTBL

TkVirtualEventTBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > add

instance method TkVirtualEvent#add

add(*sequences)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > delete

instance method TkVirtualEvent#delete

delete(*sequences)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > info

instance method TkVirtualEvent#info

info


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > getobj

singleton method TkVirtualEvent.getobj

getobj(event)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > info

singleton method TkVirtualEvent.info

info


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent > new

singleton method TkVirtualEvent.new

new(*sequences)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/virtevent > class TkVirtualEvent::PreDefVirtEvent > new

singleton method TkVirtualEvent::PreDefVirtEvent.new

new(event, *sequences)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkWarning > new

singleton method TkWarning.new

new(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkWarning > show

singleton method TkWarning.show

show(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkWarningObj > show

instance method TkWarningObj#show

show(mes = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/dialog > class TkWarningObj > new

singleton method TkWarningObj.new

new(parent = nil, mes = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > PACKAGE_NAME

constant TkWinDDE::PACKAGE_NAME

PACKAGE_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > TkCommandNames

constant TkWinDDE::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > async_eval

instance method TkWinDDE#async_eval

async_eval(topic, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > async_execute

instance method TkWinDDE#async_execute

async_execute(service, topic, data)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > binary_request

instance method TkWinDDE#binary_request

binary_request(service, topic, item)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > eval

instance method TkWinDDE#eval

eval(topic, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > execute

instance method TkWinDDE#execute

execute(service, topic, data)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > poke

instance method TkWinDDE#poke

poke(service, topic, item, data)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > request

instance method TkWinDDE#request

request(service, topic, item)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > servername

instance method TkWinDDE#servername

servername(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > services

instance method TkWinDDE#services

services(service, topic)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > async_execute

singleton method TkWinDDE.async_execute

async_execute(service, topic, data)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > eval

singleton method TkWinDDE.eval

eval(topic, cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > execute

singleton method TkWinDDE.execute

execute(service, topic, data)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > package_name

singleton method TkWinDDE.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > poke

singleton method TkWinDDE.poke

poke(service, topic, item, data)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > request

singleton method TkWinDDE.request

request(service, topic, item)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > servername

singleton method TkWinDDE.servername

servername(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinDDE > services

singleton method TkWinDDE.services

services(service, topic)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > TkCommandNames

constant TkWinRegistry::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > broadcast

instance method TkWinRegistry#broadcast

broadcast(keynam, timeout = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > delete

instance method TkWinRegistry#delete

delete(keynam, valnam = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > get

instance method TkWinRegistry#get

get(keynam, valnam)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > keys

instance method TkWinRegistry#keys

keys(keynam, pattern = nil)


instance method TkWinRegistry#set

set(keynam, valnam = Tk::None, data = Tk::None, dattype = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > type

instance method TkWinRegistry#type

type(keynam, valnam)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > values

instance method TkWinRegistry#values

values(keynam, pattern = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > delete

singleton method TkWinRegistry.delete

delete(keynam, valnam = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > get

singleton method TkWinRegistry.get

get(keynam, valnam)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > keys

singleton method TkWinRegistry.keys

keys(keynam, pattern = nil)


singleton method TkWinRegistry.set

set(keynam, valnam = Tk::None, data = Tk::None, dattype = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > type

singleton method TkWinRegistry.type

type(keynam, valnam)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winpkg > module TkWinRegistry > values

singleton method TkWinRegistry.values

values(keynam, pattern = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > WidgetClassName

constant TkWindow::WidgetClassName

WidgetClassName


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > bind_class

instance method TkWindow#bind_class

bind_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > bindtags

instance method TkWindow#bindtags

bindtags(taglist = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > bindtags=

instance method TkWindow#bindtags=

bindtags=(taglist)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > bindtags_shift

instance method TkWindow#bindtags_shift

bindtags_shift


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > bindtags_unshift

instance method TkWindow#bindtags_unshift

bindtags_unshift(tag)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > caret

instance method TkWindow#caret

caret(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > colormodel

instance method TkWindow#colormodel

colormodel(model = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > command

instance method TkWindow#command

command(cmd = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > current_grab

instance method TkWindow#current_grab

grab_current
current_grab


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > database_class

instance method TkWindow#database_class

database_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > database_classname

instance method TkWindow#database_classname

database_classname


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > destroy

instance method TkWindow#destroy

destroy


instance method TkWindow#eventloop_tkwait

eventloop_wait_visibility
eventloop_wait
eventloop_tkwait
eventloop_tkwait_visibility


instance method TkWindow#eventloop_tkwait_destroy

eventloop_wait_destroy
eventloop_tkwait_destroy
eventloop_wait_window
eventloop_tkwait_window


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > exist?

instance method TkWindow#exist?

exist?


instance method TkWindow#focus

focus(force = false)
set_focus(force = false)

set_focusが本体


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grab

instance method TkWindow#grab

grab(opt = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grab_release

instance method TkWindow#grab_release

grab_release
release_grab


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grab_set

instance method TkWindow#grab_set

grab_set
set_grab


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grab_set_global

instance method TkWindow#grab_set_global

grab_set_global
set_global_grab


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grab_status

instance method TkWindow#grab_status

grab_status


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid

instance method TkWindow#grid

grid(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_bbox

instance method TkWindow#grid_bbox

grid_bbox(*args)


instance method TkWindow#grid_columnconfig

grid_columnconfig(index, keys)
grid_columnconfigure(index, keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_columnconfiginfo

instance method TkWindow#grid_columnconfiginfo

grid_columnconfiginfo(index, slot = nil)


instance method TkWindow#grid_config

grid_config(slot, value = Tk::None)
grid_configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_forget

instance method TkWindow#grid_forget

grid_forget
ungrid


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_in

instance method TkWindow#grid_in

grid_in(target, kers = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_info

instance method TkWindow#grid_info

grid_info


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_location

instance method TkWindow#grid_location

grid_location(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_propagate

instance method TkWindow#grid_propagate

grid_propagate(mode = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_remove

instance method TkWindow#grid_remove

grid_remove


instance method TkWindow#grid_rowconfig

grid_rowconfig(index, keys)
grid_rowconfigure(index, keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_rowconfiginfo

instance method TkWindow#grid_rowconfiginfo

grid_rowconfiginfo(index, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_size

instance method TkWindow#grid_size

grid_size


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > grid_slaves

instance method TkWindow#grid_slaves

grid_slaves(args)


instance method TkWindow#lower

lower(below = Tk::None)
lower_window(below = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > pack

instance method TkWindow#pack

pack(keys = nil)


instance method TkWindow#pack_config

pack_config(slot, value = Tk::None)
pack_configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > pack_forget

instance method TkWindow#pack_forget

pack_forget
unpack


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > pack_in

instance method TkWindow#pack_in

pack_in(target, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > pack_info

instance method TkWindow#pack_info

pack_info


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > pack_propagate

instance method TkWindow#pack_propagate

pack_propagate(mode = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > pack_slaves

instance method TkWindow#pack_slaves

pack_slaves


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > place

instance method TkWindow#place

place(keys)


instance method TkWindow#place_config

place_config(slot, value = Tk::None)
place_configure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > place_configinfo

instance method TkWindow#place_configinfo

place_configinfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > place_forget

instance method TkWindow#place_forget

place_forget
unplace


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > place_in

instance method TkWindow#place_in

place_in(target, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > place_info

instance method TkWindow#place_info

place_info


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > place_slaves

instance method TkWindow#place_slaves

place_slaves


instance method TkWindow#raise

raise(above = Tk::None)
raise_window(above = Tk::None)


instance method TkWindow#thread_tkwait

thread_wait_visibility
thread_wait
thread_tkwait
thread_tkwait_visibility


instance method TkWindow#thread_tkwait_destroy

thread_wait_destroy
thread_tkwait_destroy
thread_tkwait_window
thread_wait_window


instance method TkWindow#tkwait

wait_visibility(on_thread = true)
wait(on_thread = true)
tkwait(on_thread = true)


instance method TkWindow#tkwait_destroy

wait_destroy(on_thread = true)
tkwait_destroy(on_thread = true)
wait_window(on_thread = true)
tkwait_window(on_thread = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > database_class

singleton method TkWindow.database_class

database_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > database_classname

singleton method TkWindow.database_classname

database_classname


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > new

singleton method TkWindow.new

new(parent = nil, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk > class TkWindow > to_eval

singleton method TkWindow.to_eval

to_eval


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > TkCommandNames

constant TkWinfo::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_appname

instance method TkWinfo#winfo_appname

winfo_appname


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_atom

instance method TkWinfo#winfo_atom

winfo_atom(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_atomname

instance method TkWinfo#winfo_atomname

winfo_atomname(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_cells

instance method TkWinfo#winfo_cells

winfo_cells


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_children

instance method TkWinfo#winfo_children

winfo_children


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_class

instance method TkWinfo#winfo_class

winfo_class


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_classname

instance method TkWinfo#winfo_classname

winfo_classname


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_colormapfull

instance method TkWinfo#winfo_colormapfull

winfo_colormapfull


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_containing

instance method TkWinfo#winfo_containing

winfo_containing(x, y)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_depth

instance method TkWinfo#winfo_depth

winfo_depth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_exist?

instance method TkWinfo#winfo_exist?

winfo_exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_fpixels

instance method TkWinfo#winfo_fpixels

winfo_fpixels(dist)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_geometry

instance method TkWinfo#winfo_geometry

winfo_geometry


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_height

instance method TkWinfo#winfo_height

winfo_height


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_id

instance method TkWinfo#winfo_id

winfo_id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_interps

instance method TkWinfo#winfo_interps

winfo_interps


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_manager

instance method TkWinfo#winfo_manager

winfo_manager


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_mapped?

instance method TkWinfo#winfo_mapped?

winfo_mapped?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_parent

instance method TkWinfo#winfo_parent

winfo_parent


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_pixels

instance method TkWinfo#winfo_pixels

winfo_pixels(dist)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_pointerx

instance method TkWinfo#winfo_pointerx

winfo_pointerx


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_pointerxy

instance method TkWinfo#winfo_pointerxy

winfo_pointerxy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_pointery

instance method TkWinfo#winfo_pointery

winfo_pointery


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_reqheight

instance method TkWinfo#winfo_reqheight

winfo_reqheight


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_reqwidth

instance method TkWinfo#winfo_reqwidth

winfo_reqwidth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_rgb

instance method TkWinfo#winfo_rgb

winfo_rgb(color)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_rootx

instance method TkWinfo#winfo_rootx

winfo_rootx


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_rooty

instance method TkWinfo#winfo_rooty

winfo_rooty


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screen

instance method TkWinfo#winfo_screen

winfo_screen


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screencells

instance method TkWinfo#winfo_screencells

winfo_screencells


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screendepth

instance method TkWinfo#winfo_screendepth

winfo_screendepth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screenheight

instance method TkWinfo#winfo_screenheight

winfo_screenheight


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screenmmheight

instance method TkWinfo#winfo_screenmmheight

winfo_screenmmheight


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screenmmwidth

instance method TkWinfo#winfo_screenmmwidth

winfo_screenmmwidth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screenvisual

instance method TkWinfo#winfo_screenvisual

winfo_screenvisual


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_screenwidth

instance method TkWinfo#winfo_screenwidth

winfo_screenwidth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_server

instance method TkWinfo#winfo_server

winfo_server


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_toplevel

instance method TkWinfo#winfo_toplevel

winfo_toplevel


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_viewable

instance method TkWinfo#winfo_viewable

winfo_viewable


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_visual

instance method TkWinfo#winfo_visual

winfo_visual


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_visualid

instance method TkWinfo#winfo_visualid

winfo_visualid


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_visualsavailable

instance method TkWinfo#winfo_visualsavailable

winfo_visualsavailable(includeids = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_vrootheight

instance method TkWinfo#winfo_vrootheight

winfo_vrootheight


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_vrootwidth

instance method TkWinfo#winfo_vrootwidth

winfo_vrootwidth


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_vrootx

instance method TkWinfo#winfo_vrootx

winfo_vrootx


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_vrooty

instance method TkWinfo#winfo_vrooty

winfo_vrooty


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_widget

instance method TkWinfo#winfo_widget

winfo_widget(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_width

instance method TkWinfo#winfo_width

winfo_width


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_x

instance method TkWinfo#winfo_x

winfo_x


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > winfo_y

instance method TkWinfo#winfo_y

winfo_y


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > appname

singleton method TkWinfo.appname

appname(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > atom

singleton method TkWinfo.atom

atom(name, win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > atomname

singleton method TkWinfo.atomname

atomname(id, win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > cells

singleton method TkWinfo.cells

cells(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > children

singleton method TkWinfo.children

children(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > classname

singleton method TkWinfo.classname

classname(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > colormapfull

singleton method TkWinfo.colormapfull

colormapfull(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > containing

singleton method TkWinfo.containing

containing(root_x, root_y, win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > depth

singleton method TkWinfo.depth

depth(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > exist?

singleton method TkWinfo.exist?

exist?(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > fpixels

singleton method TkWinfo.fpixels

fpixels(win, dist)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > geometry

singleton method TkWinfo.geometry

geometry(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > height

singleton method TkWinfo.height

height(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > id

singleton method TkWinfo.id

id(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > interps

singleton method TkWinfo.interps

interps(win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > manager

singleton method TkWinfo.manager

manager(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > mapped?

singleton method TkWinfo.mapped?

mapped?(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > parent

singleton method TkWinfo.parent

parent(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > pixels

singleton method TkWinfo.pixels

pixels(win. dist)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > pointerx

singleton method TkWinfo.pointerx

pointerx(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > pointerxy

singleton method TkWinfo.pointerxy

pointerxy(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > pointery

singleton method TkWinfo.pointery

pointery(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > reqheight

singleton method TkWinfo.reqheight

reqheight(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > reqwidth

singleton method TkWinfo.reqwidth

reqwidth(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > rgb

singleton method TkWinfo.rgb

rgb(win. color)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > rootx

singleton method TkWinfo.rootx

rootx(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > rooty

singleton method TkWinfo.rooty

rooty(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screen

singleton method TkWinfo.screen

screen(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screencells

singleton method TkWinfo.screencells

screencells(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screendepth

singleton method TkWinfo.screendepth

screendepth(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screenheight

singleton method TkWinfo.screenheight

screenheight(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screenmmheight

singleton method TkWinfo.screenmmheight

screenmmheight(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screenmmwidth

singleton method TkWinfo.screenmmwidth

screenmmwidth(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screenvisual

singleton method TkWinfo.screenvisual

screenvisual(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > screenwidth

singleton method TkWinfo.screenwidth

screenwidth(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > server

singleton method TkWinfo.server

server(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > toplevel

singleton method TkWinfo.toplevel

toplevel(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > viewable

singleton method TkWinfo.viewable

viewable(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > visual

singleton method TkWinfo.visual

visual(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > visualid

singleton method TkWinfo.visualid

visualid(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > visualsavailable

singleton method TkWinfo.visualsavailable

visualsavailable(win, includeids = false)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > vrootheight

singleton method TkWinfo.vrootheight

vrootheight(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > vrootwidth

singleton method TkWinfo.vrootwidth

vrootwidth(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > vrootx

singleton method TkWinfo.vrootx

vrootx(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > vrooty

singleton method TkWinfo.vrooty

vrooty(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > widget

singleton method TkWinfo.widget

widget(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > width

singleton method TkWinfo.width

width(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > x

singleton method TkWinfo.x

x(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/winfo > module TkWinfo > y

singleton method TkWinfo.y

y(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > TkCommandNames

constant TkXIM::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > caret

instance method TkXIM#caret

caret(keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > imconfiginfo

instance method TkXIM#imconfiginfo

imconfiginfo(slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > imconfigure

instance method TkXIM#imconfigure

imconfigure(slot, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > useinputmethods

instance method TkXIM#useinputmethods

useinputmethods(value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > caret

singleton method TkXIM.caret

caret(window, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > configinfo

singleton method TkXIM.configinfo

configinfo(window, slot=nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > configure

singleton method TkXIM.configure

configure(window, slot, value=None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > current_configinfo

singleton method TkXIM.current_configinfo

current_configinfo(win, slot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > useinputmethods

singleton method TkXIM.useinputmethods

useinputmethods(window = nil, value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/xim > module TkXIM > useinputmethods_displayof

singleton method TkXIM.useinputmethods_displayof

useinputmethods_displayof(window, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > find_command

instance method Tk::BLT#find_command

find_command(pat)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > find_name

instance method Tk::BLT#find_name

find_name(pat)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > active_legend

singleton method Tk::BLT.active_legend

active_legend(graph)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > beep

singleton method Tk::BLT.beep

beep(percent = 50)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > bgexec

singleton method Tk::BLT.bgexec

bgexec(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > bltdebug

singleton method Tk::BLT.bltdebug

bltdebug(lvl = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > closest_point

singleton method Tk::BLT.closest_point

closest_point(graph)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > crc32_data

singleton method Tk::BLT.crc32_data

crc32_data(dat)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > crc32_file

singleton method Tk::BLT.crc32_file

crc32_file(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > crosshairs

singleton method Tk::BLT.crosshairs

crosshairs(graph)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > detach_bgexec

singleton method Tk::BLT.detach_bgexec

detach_bgexec(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > package_name

singleton method Tk::BLT.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > package_version

singleton method Tk::BLT.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > print_key

singleton method Tk::BLT.print_key

print_key(graph)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT > zoom_stack

singleton method Tk::BLT.zoom_stack

zoom_stack(graph)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT::GraphCommand > active_legend

instance method Tk::BLT::GraphCommand#active_legend

active_legend


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT::GraphCommand > closest_point

instance method Tk::BLT::GraphCommand#closest_point

closest_point


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT::GraphCommand > crosshairs

instance method Tk::BLT::GraphCommand#crosshairs

crosshairs


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT::GraphCommand > print_key

instance method Tk::BLT::GraphCommand#print_key

print_key


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/blt > module Tk::BLT::GraphCommand > zoom_stack

instance method Tk::BLT::GraphCommand#zoom_stack

zoom_stack


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > XLFDfont

singleton method Tk::BWidget.XLFDfont

XLFDfont(cmd, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > assert

singleton method Tk::BWidget.assert

assert(exp, msg = None)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > badOptionString

singleton method Tk::BWidget.badOptionString

badOptionString(type, value, list)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > bindMouseWheel

singleton method Tk::BWidget.bindMouseWheel

bindMouseWheel(widget)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > classes

singleton method Tk::BWidget.classes

classes(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > clonename

singleton method Tk::BWidget.clonename

clonename(menu)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > focus

singleton method Tk::BWidget.focus

focus(opt, path)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > get3dcolor

singleton method Tk::BWidget.get3dcolor

get3dcolor(path, bgcolor)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > getname

singleton method Tk::BWidget.getname

getname(name)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > grab

singleton method Tk::BWidget.grab

grab(opt, path)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > inuse

singleton method Tk::BWidget.inuse

inuse(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > library

singleton method Tk::BWidget.library

library(klass, *klasses)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > lreorder

singleton method Tk::BWidget.lreorder

lreorder(list, neworder)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > package_name

singleton method Tk::BWidget.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > package_version

singleton method Tk::BWidget.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > parsetext

singleton method Tk::BWidget.parsetext

parsetext(text)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > place

singleton method Tk::BWidget.place

place(path, w, h, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > write

singleton method Tk::BWidget.write

write(file, mode = None)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/bwidget > module Tk::BWidget > wrongNumArgsString

singleton method Tk::BWidget.wrongNumArgsString

wrongNumArgsString(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::BinaryString > Encoding

constant Tk::BinaryString::Encoding

Encoding


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > add

singleton method Tk::Clock.add

add(clk, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > clicks

singleton method Tk::Clock.clicks

clicks(ms = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > format

singleton method Tk::Clock.format

format(clk, form = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > formatGMT

singleton method Tk::Clock.formatGMT

formatGMT(clk, form = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > microseconds

singleton method Tk::Clock.microseconds

microseconds


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > milliseconds

singleton method Tk::Clock.milliseconds

milliseconds


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > scan

singleton method Tk::Clock.scan

scan(str, base = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > scanGMT

singleton method Tk::Clock.scanGMT

scanGMT(str, base = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/clock > module Tk::Clock > seconds

singleton method Tk::Clock.seconds

seconds


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > Encoding

constant Tk::EncodedString::Encoding

Encoding


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > encoding

instance method Tk::EncodedString#encoding

encoding


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > new

singleton method Tk::EncodedString.new

new(str, enc = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > new_with_utf_backslash

singleton method Tk::EncodedString.new_with_utf_backslash

new_with_utf_backslash(str, enc = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > new_without_utf_backslash

singleton method Tk::EncodedString.new_without_utf_backslash

new_without_utf_backslash(str, enc = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > subst_tk_backslash

singleton method Tk::EncodedString.subst_tk_backslash

subst_tk_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > subst_utf_backslash

singleton method Tk::EncodedString.subst_utf_backslash

subst_utf_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > to_backslash_sequence

singleton method Tk::EncodedString.to_backslash_sequence

to_backslash_sequence(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > utf_backslash

singleton method Tk::EncodedString.utf_backslash

utf_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > utf_to_backslash

singleton method Tk::EncodedString.utf_to_backslash

utf_to_backslash(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::EncodedString > utf_to_backslash_sequence

singleton method Tk::EncodedString.utf_to_backslash_sequence

utf_to_backslash_sequence(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > delete

instance method Tk::ICONS#delete

delete


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > name

instance method Tk::ICONS#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > query

instance method Tk::ICONS#query

query(keys = {})


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > create

singleton method Tk::ICONS.create

create(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > delete

singleton method Tk::ICONS.delete

delete(*icons)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > new

singleton method Tk::ICONS.new

new(name, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > package_name

singleton method Tk::ICONS.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > package_version

singleton method Tk::ICONS.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/ICONS > class Tk::ICONS > query

singleton method Tk::ICONS.query

query(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tkimg > module Tk::Img > package_name

singleton method Tk::Img.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tkimg > module Tk::Img > package_version

singleton method Tk::Img.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ItemValidateConfigure > __conv_item_vcmd_on_hash_kv

instance method Tk::ItemValidateConfigure#__conv_item_vcmd_on_hash_kv

__conv_item_vcmd_on_hash_kv(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ItemValidateConfigure > __get_item_validate_key2class

instance method Tk::ItemValidateConfigure#__get_item_validate_key2class

__get_item_validate_key2class(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ItemValidateConfigure > __item_validation_class_list

instance method Tk::ItemValidateConfigure#__item_validation_class_list

__item_validation_class_list(id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ItemValidateConfigure > __item_validcmd_call

instance method Tk::ItemValidateConfigure#__item_validcmd_call

__item_validcmd_call(tagOrId, klass, key, *args, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ItemValidateConfigure > itemconfigure

instance method Tk::ItemValidateConfigure#itemconfigure

itemconfigure(tagOrId, slot, value = TkComm::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ItemValidateConfigure > __def_validcmd

singleton method Tk::ItemValidateConfigure.__def_validcmd

__def_validcmd(scope, klass, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/iwidgets > module Tk::Iwidgets > package_name

singleton method Tk::Iwidgets.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/iwidgets > module Tk::Iwidgets > package_version

singleton method Tk::Iwidgets.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > +

instance method Tk::OptionObj#+

self + hash


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > []

instance method Tk::OptionObj#[]

self[key]
cget(key)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > []=

instance method Tk::OptionObj#[]=

self[key] = value


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > apply

instance method Tk::OptionObj#apply

notify(target = nil)
apply(target = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > assign

instance method Tk::OptionObj#assign

assign(*wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > configure

instance method Tk::OptionObj#configure

configure(key, value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > observ_info

instance method Tk::OptionObj#observ_info

observ_info


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > observs

instance method Tk::OptionObj#observs

observs


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > replace

instance method Tk::OptionObj#replace

replace(hash)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > store

instance method Tk::OptionObj#store

store(key, value)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > unassign

instance method Tk::OptionObj#unassign

unassign(*wins)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > update

instance method Tk::OptionObj#update

update(hash)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > update_without_notify

instance method Tk::OptionObj#update_without_notify

update_without_notify(hash)

Hash#update と同じ。


Ruby 1.8.7 Reference Manual > All Libraries > library tk/optionobj > class Tk::OptionObj > new

singleton method Tk::OptionObj.new

new(hash = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Scrollable > autoscroll

instance method Tk::Scrollable#autoscroll

autoscroll(mode = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Scrollable > unautoscroll

instance method Tk::Scrollable#unautoscroll

unautoscroll(mode = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tile > module Tk::Tile > package_name

singleton method Tk::Tile.package_name

package_name


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tile > module Tk::Tile > package_version

singleton method Tk::Tile.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tile > module Tk::Tile::TileWidget > instate

instance method Tk::Tile::TileWidget#instate

instate(state, script = nil, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/tile > module Tk::Tile::TileWidget > state

instance method Tk::Tile::TileWidget#state

state(state = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::UTF8_String > Encoding

constant Tk::UTF8_String::Encoding

Encoding


Ruby 1.8.7 Reference Manual > All Libraries > library tk/encodedstr > class Tk::UTF8_String > new

singleton method Tk::UTF8_String.new

new(str)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ValidateConfigure > __conv_vcmd_on_hash_kv

instance method Tk::ValidateConfigure#__conv_vcmd_on_hash_kv

__conv_vcmd_on_hash_kv(keys)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ValidateConfigure > __get_validate_key2class

instance method Tk::ValidateConfigure#__get_validate_key2class

__get_validate_key2class


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ValidateConfigure > __validation_class_list

instance method Tk::ValidateConfigure#__validation_class_list

__validation_class_list


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ValidateConfigure > __validcmd_call

instance method Tk::ValidateConfigure#__validcmd_call

__validcmd_call(klass, key, *args, &b)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ValidateConfigure > configure

instance method Tk::ValidateConfigure#configure

configure(slot, value = TkComm::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/validation > module Tk::ValidateConfigure > __def_validcmd

singleton method Tk::ValidateConfigure.__def_validcmd

__def_validcmd(scope, klass, keys = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tkextlib/vu > module Tk::Vu > package_version

singleton method Tk::Vu.package_version

package_version


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > TOPLEVEL_METHODCALL_OPTKEYS

constant Tk::Wm::TOPLEVEL_METHODCALL_OPTKEYS

TOPLEVEL_METHODCALL_OPTKEYS


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > TkCommandNames

constant Tk::Wm::TkCommandNames

TkCommandNames


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > aspect

instance method Tk::Wm#aspect

aspect(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > attributes

instance method Tk::Wm#attributes

attributes(slot = nil, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > client

instance method Tk::Wm#client

client(name = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > colormapwindows

instance method Tk::Wm#colormapwindows

colormapwindows(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > deiconify

instance method Tk::Wm#deiconify

deiconify(ex = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > focusmodel

instance method Tk::Wm#focusmodel

focusmodel(mode = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > frame

instance method Tk::Wm#frame

frame


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > geometry

instance method Tk::Wm#geometry

geometry(geom = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > group

instance method Tk::Wm#group

group(leader = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconbitmap

instance method Tk::Wm#iconbitmap

iconbitmap(bmp = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconify

instance method Tk::Wm#iconify

iconify(ex = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconmaskbmp

instance method Tk::Wm#iconmaskbmp

iconmaskbmp(bmp = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconname

instance method Tk::Wm#iconname

iconname(name = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconphoto

instance method Tk::Wm#iconphoto

iconphoto(*imgs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconphoto_default

instance method Tk::Wm#iconphoto_default

iconphoto_default(*imgs)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconposition

instance method Tk::Wm#iconposition

iconposition(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > iconwindow

instance method Tk::Wm#iconwindow

iconwindow(win = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > maxsize

instance method Tk::Wm#maxsize

maxsize(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > minsize

instance method Tk::Wm#minsize

minsize(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > overrideredirect

instance method Tk::Wm#overrideredirect

overrideredirect(mode = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > positionfrom

instance method Tk::Wm#positionfrom

positionfrom(who = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > protocol

instance method Tk::Wm#protocol

protocol(name = nil, cmd = nil, &block)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > protocols

instance method Tk::Wm#protocols

protocols(kv = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > resizable

instance method Tk::Wm#resizable

resizable(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > sizefrom

instance method Tk::Wm#sizefrom

sizefrom(who = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > stackorder

instance method Tk::Wm#stackorder

stackorder


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > stackorder_isabove

instance method Tk::Wm#stackorder_isabove

stackorder_isabove(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > stackorder_isbelow

instance method Tk::Wm#stackorder_isbelow

stackorder_isbelow(win)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > state

instance method Tk::Wm#state

state(st = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > title

instance method Tk::Wm#title

title(str = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > transient

instance method Tk::Wm#transient

transient(master = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > withdraw

instance method Tk::Wm#withdraw

withdraw(ex = true)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > wm_command

instance method Tk::Wm#wm_command

wm_command(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/wm > module Tk::Wm > wm_grid

instance method Tk::Wm#wm_grid

wm_grid(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::X_Scrollable > xscrollbar

instance method Tk::X_Scrollable#xscrollbar

xscrollbar(bar = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::X_Scrollable > xscrollcommand

instance method Tk::X_Scrollable#xscrollcommand

xscrollcommand(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::X_Scrollable > xview

instance method Tk::X_Scrollable#xview

xview(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::X_Scrollable > xview_moveto

instance method Tk::X_Scrollable#xview_moveto

xview_moveto(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::X_Scrollable > xview_scroll

instance method Tk::X_Scrollable#xview_scroll

xview_scroll(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Y_Scrollable > yscrollbar

instance method Tk::Y_Scrollable#yscrollbar

yscrollbar(bar = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Y_Scrollable > yscrollcommand

instance method Tk::Y_Scrollable#yscrollcommand

yscrollcommand(cmd = Proc.new)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Y_Scrollable > yview

instance method Tk::Y_Scrollable#yview

yview(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Y_Scrollable > yview_moveto

instance method Tk::Y_Scrollable#yview_moveto

yview_moveto(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/scrollable > module Tk::Y_Scrollable > yview_scroll

instance method Tk::Y_Scrollable#yview_scroll

yview_scroll(*index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcGroup > Tk_cGroup_ID

constant TkcGroup::Tk_cGroup_ID

Tk_cGroup_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcGroup > add

instance method TkcGroup#add

include(*tags)
add(*tags)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcGroup > exclude

instance method TkcGroup#exclude

exclude(*tags)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcGroup > new

singleton method TkcGroup.new

new(parent, *args)

def create_self(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > CItemID_TBL

constant TkcItem::CItemID_TBL

CItemID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > CItemTypeName

constant TkcItem::CItemTypeName

CItemTypeName


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > CItemTypeToClass

constant TkcItem::CItemTypeToClass

CItemTypeToClass


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > delete

instance method TkcItem#delete

delete
remove
destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > exist?

instance method TkcItem#exist?

exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > id

instance method TkcItem#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > create

singleton method TkcItem.create

create(canvas, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > id2obj

singleton method TkcItem.id2obj

id2obj(canvas, id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > new

singleton method TkcItem.new

new(parent, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcItem > type2class

singleton method TkcItem.type2class

type2class(type)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > CTagID_TBL

constant TkcTag::CTagID_TBL

CTagID_TBL


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > Tk_CanvasTag_ID

constant TkcTag::Tk_CanvasTag_ID

Tk_CanvasTag_ID


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > above

instance method TkcTag#above

set_to_above(target)
above(target)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > all

instance method TkcTag#all

set_to_all
all


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > below

instance method TkcTag#below

set_to_below(target)
below(target)


instance method TkcTag#closest

set_to_closest(x, y, halo = Tk::None, start = Tk::None)
closest(x, y, halo = Tk::None, start = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > delete

instance method TkcTag#delete

delete
remove
destroy


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > enclosed

instance method TkcTag#enclosed

set_to_enclosed(x1, y1, x2, y2)
enclosed(x1, y1, x2, y2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > exist?

instance method TkcTag#exist?

exist?


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > id

instance method TkcTag#id

id


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > overlapping

instance method TkcTag#overlapping

set_to_overlapping(x1, y1, x2, y2)
overlapping(x1, y1, x2, y2)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > set_to_withtag

instance method TkcTag#set_to_withtag

set_to_withtag(target)
withtag(target)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > id2obj

singleton method TkcTag.id2obj

id2obj(canvas, id)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTag > new

singleton method TkcTag.new

new(parent, mode = nil, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > -@

instance method TkcTagAccess#-@

-


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > ^

instance method TkcTagAccess#^

self ^ tag


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > |

instance method TkcTagAccess#|

self | tag


instance method TkcTagAccess#&

self & tag

Following operators support logical expressions of canvas tags (for Tk8.3+). If tag1.path is 't1' and tag2.path is 't2', then

ltag = tag1 & tag2; ltag.path => "(t1)&&(t2)"
ltag = tag1 | tag2; ltag.path => "(t1)||(t2)"
ltag = tag1 ^ tag2; ltag.path => "(t1)^(t2)"
ltag = - tag1;      ltag.path => "!(t1)"


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > addtag

instance method TkcTagAccess#addtag

addtag(tag)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > bbox

instance method TkcTagAccess#bbox

bbox


instance method TkcTagAccess#bind

bind(seq, *args)
def bind(seq, cmd=Proc.new, *args)

  @c.itembind(@id, seq, cmd, *args)
  self

end


instance method TkcTagAccess#bind_append

bind_append(seq, *args)
def bind_append(seq, cmd=Proc.new, *args)

  @c.itembind_append(@id, seq, cmd, *args)
  self

end


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > bind_remove

instance method TkcTagAccess#bind_remove

bind_remove(seq)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > bindinfo

instance method TkcTagAccess#bindinfo

bindinfo(seq = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > cget

instance method TkcTagAccess#cget

cget(option)


instance method TkcTagAccess#configinfo

configinfo(key = nil)
def configure(keys)

  @c.itemconfigure @id, keys

end


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > configure

instance method TkcTagAccess#configure

configure(key, value = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > coords

instance method TkcTagAccess#coords

coords(*args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > current_configinfo

instance method TkcTagAccess#current_configinfo

current_configinfo(key = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > dchars

instance method TkcTagAccess#dchars

dchars(first, last = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > deltag

instance method TkcTagAccess#deltag

dtag(tag_to_del = Tk::None)
deltag(tag_to_del = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > find

instance method TkcTagAccess#find

find
list


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > focus

instance method TkcTagAccess#focus

focus


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > gettags

instance method TkcTagAccess#gettags

gettags


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > icursor

instance method TkcTagAccess#icursor

icursor(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > index

instance method TkcTagAccess#index

index(idx)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > insert

instance method TkcTagAccess#insert

insert(beforethis, string)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > itemtype

instance method TkcTagAccess#itemtype

itemtype


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > lower

instance method TkcTagAccess#lower

lower(belowthis = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > move

instance method TkcTagAccess#move

move(xamount, yamount)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > raise

instance method TkcTagAccess#raise

raise(abovethis = Tk::None)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > scale

instance method TkcTagAccess#scale

scale(xorigin, yorigin, xscale, yscale)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > select_adjust

instance method TkcTagAccess#select_adjust

select_adjust(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > select_from

instance method TkcTagAccess#select_from

select_from(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > module TkcTagAccess > select_to

instance method TkcTagAccess#select_to

select_to(index)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTagAll > new

singleton method TkcTagAll.new

new(parent)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTagCurrent > new

singleton method TkcTagCurrent.new

new(parent)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvastag > class TkcTagString > new

singleton method TkcTagString.new

new(parent, name, mode = nil, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcText > create

singleton method TkcText.create

create(canvas, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tk/canvas > class TkcWindow > create

singleton method TkcWindow.create

create(canvas, *args)


Ruby 1.8.7 Reference Manual > All Libraries > library tkutil > class Tkutil::CallbackSubst::Info > inspect

singleton method Tkutil::CallbackSubst::Info.inspect

inspect


constant Tracer::EVENT_SYMBOL

EVENT_SYMBOL

トレース出力のシンボルのハッシュです。 下記のような文字列があります。

EVENT_SYMBOL = {
  "line" => "-",
  "call" => ">",
  "return" => "<",
  "class" => "C",
  "end" => "E",
  "c-call" => ">",
  "c-return" => "<",
}

[SEE_ALSO] Tracer.add_filter


singleton method Tracer.add_filter

add_filter(proc)
add_filter {|event, file, line, id, binding, klass| .... }

トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。

ruby 1.8 ではブロックを与えると警告がでます。

フィルタは複数追加でき、 そのうち一つでも偽を返すとトレースの出力は抑制される。

[PARAM] proc:
トレース出力するかどうかを決定する手続きオブジェクトを指定します。 通常、true か falseを返す必要があります。

フィルタ手続きは引数として event, file, line, id, binding, klass の 6 つをとります。 Kernel.#set_trace_func で指定するものとほぼ同じです。

フィルタ手続きのパラメータ

event

イベントを表す文字列。 以下の種類がある。カッコ内は tracer の出力での表記。

  * line (-)   ある行を実行
  * call (>)   メソッド呼び出し
  * return (<) メソッドからのリターン
  * class (C)  クラスコンテキストに入った
  * end (E)    クラスコンテキストから出た
  * raise      例外が発生した
  * c-call     Cで記述されたメソッドが呼ばれた
  * c-return   Cで記述されたメソッドからreturn
file

現在処理しているファイルの名前

line

現在処理している行番号

id

最後に呼び出されたメソッドのメソッド名(のシンボル) そのようなメソッドがなければ0になる。

binding

現在のコンテキスト

klass

現在呼び出されているメソッドのクラスオブジェクト。


singleton method Tracer.off

off -> nil

トレース出力を中断します。 トレース出力を開始するには、Tracer.onを使用します。

[SEE_ALSO] Tracer.on


singleton method Tracer.on

on -> nil
on {...}

トレース出力を開始します。 ブロックを与えられた場合はそのブロック内のみトレース出力を行います。

require 'tracer'

Tracer.on
class Test
  def test
    b = 2
  end
end

t = Test.new
t.test

[SEE_ALSO] Tracer.off


singleton method Tracer.set_get_line_procs

set_get_line_procs(filename, proc)
set_get_line_procs(filename) {|line| .... }

あるファイルについて利用する、行番号からソースのその行の内容を返す 手続きを指定する。何も指定しなければデフォルトの動作が利用される。 指定する手続きは行番号を唯一の引数として呼び出される。

[PARAM] filename:
ソースファイルの場所を文字列で指定します。
[PARAM] proc:
通常、文字列を返す手続きオブジェクトを指定します。
# 例 dummy.rb の3行目から6 行目のトレース出力に !! をつける
require 'tracer'

Tracer.set_get_line_procs('./dummy.rb'){|line|
  str = "\n"
  str = "!!\n" if line >= 3 and line <= 6
  str
}
Tracer.on
require 'dummy'

dm = Dummy.new
puts dm.number

=begin
# dummy.rb
class Dummy
  def initialize
    @number = 135
  end
  attr :number
end
=end


singleton method Tracer.stdout

stdout -> Object
stdout=(fp)

トレース出力先をIOオブジェクトなどに変更したり、参照することができます。

[PARAM] fp:
トレース出力をfp に変更します。
require 'tracer'

fp = File.open('temptrace.txt', "w")
Tracer.stdout = fp
Tracer.on {
  puts "Hello"
}
fp.close


singleton method Tracer.verbose

verbose -> bool
verbose? -> bool
verbose=(flag)

トレース出力の開始や終了を知らせる文字列("Trace on"または"Trace off")が必要ならtrueを設定します。

[PARAM] flag:
トレース出力の開始や終了を知らせる文字列が必要ならtrueを設定します。
require 'tracer'

Tracer.verbose = true
Tracer.on {
  puts "Hello"
}

# 出力例
Trace on
#0:t5.rb:7::-:   puts "Hello"
#0:t5.rb:7:Kernel:>:   puts "Hello"
#0:t5.rb:7:IO:>:   puts "Hello"
Hello#0:t5.rb:7:IO:<:   puts "Hello"
#0:t5.rb:7:IO:>:   puts "Hello"

#0:t5.rb:7:IO:<:   puts "Hello"
#0:t5.rb:7:Kernel:<:   puts "Hello"
Trace off


instance method TrueClass#^

self ^ other -> bool

other が真なら false を, 偽なら true を返します。

[PARAM] other:
排他的論理和を行なう式です。

^ は再定義可能な演算子に分類されていますので、通常は true ^ other のように使われます。

p true ^ true     #=> false
p true ^ false    #=> true
p true ^ nil      #=> true
p true ^ (1 == 1) #=> false
p true ^ (1 + 1)  #=> false

p true.^(true)    #=> false
p true.^(false)   #=> true
p true.^(nil)     #=> true
p true.^(1 == 1)  #=> false
p true.^(1 + 1)   #=> false


instance method TrueClass#|

self | other -> bool

常に true を返します。

[PARAM] other:
論理和を行なう式です。

| は再定義可能な演算子に分類されていますので、通常は true | other のように使われます。

p true | true     #=> true
p true | false    #=> true
p true | nil      #=> true
p true | (1 == 1) #=> true
p true | (1 + 1)  #=> true

p true.|(true)    #=> true
p true.|(false)   #=> true
p true.|(nil)     #=> true
p true.|(1 == 1)  #=> true
p true.|(1 + 1)   #=> true


instance method TrueClass#&

self & other -> bool

other が真なら true を, 偽なら false を返します。

[PARAM] other:
論理積を行なう式です。

& は再定義可能な演算子に分類されていますので、通常は true & other のように使われます。

p true & true     #=> true
p true & false    #=> false
p true & nil      #=> false
p true & (1 == 1) #=> true
p true & (1 + 1)  #=> true

p true.&(true)    #=> true
p true.&(false)   #=> false
p true.&(nil)     #=> false
p true.&(1 == 1)  #=> true
p true.&(1 + 1)   #=> true


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class TrueClass > to_s

instance method TrueClass#to_s

to_s -> String

常に文字列 "true" を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library readbytes > class TruncatedDataError > data

instance method TruncatedDataError#data

data

例外が発生するまでに読み込んだデータを文字列で返します。


instance method UDPSocket#bind

bind(host, port)

ソケットを host の port に結合します。

bind(host, port) -> Integer [redefined by resolv-replace]

UDPSocket#bindのパラメータ host の名前解決に resolv ライブラリを使います。

[PARAM] host:
bindするホスト名を文字列で指定します。
[PARAM] port:
bindするポートを指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。


instance method UDPSocket#connect

connect(host, port)

ソケットを host の port に connect します。

connect(host, port) -> Integer [redefined by resolv-replace]

UDPSocket#connect のパラメータ host の名前解決に resolv ライブラリを使います。

[PARAM] host:
connect するホスト名を文字列で指定します。
[PARAM] port:
connect するポートを指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。


instance method UDPSocket#recvfrom_nonblock

recvfrom_nonblock(maxlen[, flags])

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

引数、返り値は IPSocket#recvfrom と同じです。

recvfrom(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。


instance method UDPSocket#send

send(mesg, flags[, dest_sockaddr])
send(mesg, flags, host, port)

ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先を指定するため dest_sockaddr あるいは、host と port を指定する必要があります。実際に送ったデータの長さを返 します。

dest_sockaddr にはsocket/ソケットアドレス構造体を pack した文字列 を指定します。

host, port に関しては socket/ホスト指定形式、 socket/サービス指定形式を参照してください。

2 引数、3 引数の形式の場合の動作は、 BasicSocket#send と同じです。

4 引数の形式で、指定したホストが複数のアドレスを持つ場合、いずれか のアドレスへの送信が成功するまで(あるいはすべての送信が失敗するま で)、各アドレスへの送信を順に試みます。

データの送信に失敗した場合は例外 Errno::EXXX が発生します。

send(mesg, flags , dest_sockaddr=nil) -> Integer [redefined by resolv-replace]
send(mesg, flags, host, port) -> Integer [redefined by resolv-replace]

4 引数の形式で UDPSocket#send 実行したとき、 パラメータ host の名前解決に resolv ライブラリを使います。

[PARAM] mesg:
送るデータを文字列で与えます。
[PARAM] flags:
フラグを指定します。
[PARAM] host:
データを送る先のホストを指定します。
[PARAM] port:
データを送る先のポートを指定します。
[EXCEPTION] SocketError:
名前解決に失敗した場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class UDPSocket > new

singleton method UDPSocket.new

open([socktype])
new([socktype])

新しい UDP ソケットを返します。


instance method UNIXServer#accept

accept

クライアントからの接続要求を受け付け、接続した UNIXSocket のインスタンスを返します。

例:

UNIXServer.open("/tmp/s") {|serv|
  c = UNIXSocket.open("/tmp/s")
  s = serv.accept
  s.write "from server"
  c.write "from client"
  p c.recv(20)    #=> "from server"
  p s.recv(20)    #=> "from client"
}


instance method UNIXServer#accept_nonblock

accept_nonblock

ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。

引数、返り値は UNIXServer#accept と同じです。

accept(2) がエラーになった場合、 EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。


instance method UNIXServer#listen

listen(backlog)

listen(2) を実行します。 (Socket#listenと同じ)

backlog は、クライアントからの接続要求を保留できる数です。 UNIXServer のインスタンスは最初は backlog の値は 5 で生成されます。

listen(2) が成功すれば 0 を返します。 失敗すれば 例外 Errno::EXXX が発生します。


instance method UNIXServer#sysaccept

sysaccept

接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。

例:

UNIXServer.open("/tmp/s") {|serv|
  c = UNIXSocket.open("/tmp/s")
  p serv.sysaccept        #=> 6
}


singleton method UNIXServer.new

open(path)
new(path)

path で指定したパス名を用いて接続を受け付けるソケットを返 します。


instance method UNIXSocket#addr

addr

ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。

例:

UNIXServer.open("/tmp/s") {|serv|
  p serv.addr     #=> ["AF_UNIX", "/tmp/s"]
}


instance method UNIXSocket#path

path

UNIX ソケットのパスを返します。

例:

UNIXServer.open("/tmp/s") {|serv|
  p serv.path     #=> "/tmp/s"
}


instance method UNIXSocket#peeraddr

peeraddr

接続相手先ソケットの情報を表す配列を返します。配列の各要素は UNIXSocket#addr メソッドが返す配列 と同じです。

例:

UNIXServer.open("/tmp/s") {|serv|
  c = UNIXSocket.open("/tmp/s")
  p c.peeraddr    #=> ["AF_UNIX", "/tmp/s"]
}


instance method UNIXSocket#recv_io

recv_io([klass[, mode]])

ソケットの接続先からファイルディスクリプタを受け取ります。

klass が nil の場合、ファイルディスクリプタが Fixnum として 返されます。

klass が nil でない場合、 klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。 klass が省略された場合は IO が指定されたものとみなされ、 IO.for_fd(fd[, mode]) が呼ばれます。

例:

s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.identical?(io, STDOUT)     #=> true


instance method UNIXSocket#recvfrom

recvfrom(maxlen[, flags])

recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのパスのペアです。引数につい ては recv と同様です。

例:

UNIXServer.open("/tmp/s") {|serv|
  c = UNIXSocket.open("/tmp/s")
  s = serv.accept
  s.send "a", 0
  p c.recvfrom(10)[0]     #=> "a"
}


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class UNIXSocket > send_io

instance method UNIXSocket#send_io

send_io(io)

IO や Fixnum に対応するファイルディスクリプタをソケットの接続先に送ります。


Ruby 1.8.7 Reference Manual > All Libraries > library socket > class UNIXSocket > new

singleton method UNIXSocket.new

open(path)
new(path)

path で指定したパス名を用いて接続したソケットを返 します。


singleton method UNIXSocket.pair

pair([type[, protocol]])
socketpair([type[, protocol]])

相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。 type が省略された場合、Socket::SOCK_STREAM が使われます。 protocol が省略された場合、0 が使われます。


constant URI::UNSAFE

UNSAFE

URIとして指定できない文字にマッチする正規表現

/[^-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]/n

です。


singleton method URI.decode

unescape(str) -> String
decode(str) -> String

URI 文字列をデコードした文字列を返します。

例:

require 'uri'
puts URI.unescape('http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP')

#=> "http://images.google.co.jp/images?q=モナリザ&ie=EUC-JP"
[PARAM] str:
URI を文字列として与えます。


singleton method URI.encode

escape(str, unsafe = URI::UNSAFE) -> String
encode(str, unsafe = URI::UNSAFE) -> String

URI 文字列をエンコードした文字列を返します。

例:

require 'uri'
p URI.escape('http://images.google.co.jp/images?q=モナリザ&ie=EUC-JP')

#=> "http://images.google.co.jp/images?q=%A5%E2%A5%CA%A5%EA%A5%B6&ie=EUC-JP"
[PARAM] str:
URI を文字列として与えます。
[PARAM] unsafe:
URI として指定できない文字を正規表現か文字列で指定します。


singleton method URI.extract

extract(str) -> [String]
extract(str, schemes) -> [String]
extract(str) {|uri_str| ... } -> nil
extract(str, schemes) {|uri_str| ... } -> nil

文字列 str に対してパターンマッチングを試み、 絶対URIにマッチした部分文字列からなる配列として返します。 抽出する URI がなければ空の配列を返します。

第2引数に文字列の配列 schemes が与えられた場合は そのスキームだけを検索します。

ブロックが与えられた場合は String#scan と同様で、 マッチした部分がみつかるたびに uri_str に その部分を代入してブロックを評価します。 このときは nil を返します。

[PARAM] str:
文字列を与えます。
[PARAM] schemes:
検索の対象としたいスキームを、文字列の配列として与えます。

例:

require 'uri'
str = "
        http://www.ruby-lang.org/
        http://www.ruby-lang.org/man-1.6/
"
p URI.extract(str, ["http"])
=> ["http://www.ruby-lang.org/", "http://www.ruby-lang.org/man-1.6/"]


singleton method URI.join

join(uri_str, *path) -> object

文字列 uri_str と path ... を URI として連結して得られる URI オブジェクトを返します。

[RFC2396] の Section 5.2 の 仕様に従って連結します。 以下と等価です

URI.parse(uri_str) + path + ...
[EXCEPTION] URI::InvalidURIError:
パースに失敗した場合に発生します。

例:

require 'uri'
p URI.join('http://www.ruby-lang.org/', '/ja/man-1.6/')
=> #<URI::HTTP:0x2010017a URL:http://www.ruby-lang.org/ja/man-1.6/>


singleton method URI.parse

parse(uri_str) -> object

与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して 返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。

[PARAM] url:
パースしたい URI を文字列として与えます。
[EXCEPTION] URI::InvalidURIError:
パースに失敗した場合に発生します。

例:

require 'uri'
p uri = URI.parse("http://www.ruby-lang.org/")

# => #<URI::HTTP:0x201002a6 URL:http://www.ruby-lang.org/>
p uri.scheme    # => "http"
p uri.host      # => "www.ruby-lang.org"
p uri.port      # => 80
p uri.path      # => "/"


singleton method URI.regexp

regexp -> Regexp
regexp(schemes) -> Regexp

URIにマッチする正規表現を返します。

schemes を与えた場合は、そのスキームの URI にのみマッチする 正規表現を返します。

いずれの場合も返り値の正規表現は不定数の正規表現グループ (括弧) を含みます。この括弧の数はバージョンによって変動 する可能性があるので、それに依存したコードを書くべきでは ありません。

[PARAM] schemes:
マッチさせたいスキームを、文字列の配列として与えます。

例:

require 'uri'
p URI.regexp =~ "http://www.ruby-lang.org/"  #=> 0


singleton method URI.split

split(url) -> [String | nil]

URI を要素に分割した文字列の配列を返します。

各要素の種類と順番は以下のとおりです。

  • scheme
  • userinfo
  • host
  • port
  • registry
  • path
  • opaque
  • query
  • fragment
[PARAM] url:
パースしたい URI を文字列として与えます。
[EXCEPTION] URI::InvalidURIError:
パースに失敗した場合に発生します。

例:

require 'uri'
p URI.split("http://www.ruby-lang.org/")
#=> ["http", nil, "www.ruby-lang.org", nil, nil, "/", nil, nil, nil]


instance method URI::FTP#typecode

typecode -> String | nil

ファイル転送のタイプを文字列で返します。"a" はテキスト、"i" はバイナリ、"d" はディレクトリを表します。 設定されていない場合は nil を返します。


instance method URI::FTP#typecode=

typecode=(t)

ファイル転送のタイプを文字列で指定します。

[PARAM] t:
ファイル転送のタイプを文字列で指定します。"a" はテキスト、"i" はバイナリ、"d" はディレクトリを表します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。


singleton method URI::FTP.build

build(ary) -> URI::FTP
build(hash) -> URI::FTP

引数で与えられた URI 構成要素から URI::FTP オブジェクトを生成します。 引数の正当性を検査します。

例:

p URI::FTP.build([nil, "www.example.com", 10020, "/path",  'a'])
#=> #<URI::FTP:0x201c4f9c URL:ftp://www.example.com:10020/path;type=a>

p URI::FTP.build({:host => "www.example.com", :path => "/path",  :typecode => 'a'})
#=> #<URI::FTP:0x201bd9cc URL:ftp://www.example.com/path;type=a>

p URI::FTP.build([nil, 'example.com', nil, '/foo', 'i').to_s
#=> 'ftp://example.com/%2Ffoo;type=i'
[PARAM] ary:
構成要素を表す文字列の配列を与えます。要素は
      [userinfo, host, port, path, typecode]
の順です。typecode は、"a"、"i" あるいは "d" です。"a" はテキスト、"i" はバイナリ、 "d" はディレクトリを表します。"a" がテキストで、"i" がバイナリなのは、それぞれの データタイプがFTPのプロトコルで ASCII と IMAGE と呼ばれていたためです。
[PARAM] hash:
構成要素を表すハッシュを与えます。ハッシュのキーは
 :scheme, :userinfo, :host, :port, :path, :typecode
のいずれかです。ハッシュの値は文字列です。typecode は、 "a"、"i" あるいは "d" です。"a" はテキスト、"i" はバイナリ、 "d" はディレクトリを表します。"a" がテキストで、"i" がバイナリなのは、 それぞれのデータタイプがFTPのプロトコルで ASCII と IMAGE と呼ばれていたためです。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。
[EXCEPTION] ArgumentError:
typecode に定められた以外の文字を与えると発生します。


singleton method URI::FTP.new

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::FTP

汎用的な構成要素から URI::FTP オブジェクトを生成します。build と異なり、デフォルトでは引数の正当性を検査しません。

例:

require 'uri'
p ftp = URI.parse("ftp://ftp.ruby-lang.org/pub/ruby/;type=d")
p ftp.typecode
#=> #<URI::FTP:0x2010029c URL:ftp://ftp.ruby-lang.org/pub/ruby/;type=d>
#=> "d"
[PARAM] scheme:
構成要素を表す文字列を与えます。
[PARAM] userinfo:
構成要素を表す文字列を与えます。
[PARAM] host:
構成要素を表す文字列を与えます。
[PARAM] port:
構成要素を表す文字列を与えます。
[PARAM] registry:
nil を与えます。
[PARAM] path:
構成要素を表す文字列を与えます。
[PARAM] opaque:
構成要素を表す文字列を与えます。
[PARAM] query:
構成要素を表す文字列を与えます。
[PARAM] fragment:
構成要素を表す文字列を与えます。
[PARAM] arg_check:
真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しな い場合は例外 URI::InvalidComponentError が起ります。
[EXCEPTION] URI::InvalidURIError:
registry に nil 以外を与えた時に発生します。引数の正当性は、これ以外 デフォルトでは検査しません。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。


singleton method URI::FTP.new2

new2(user, password, host, port, path, typecode = nil, arg_check = true) -> URI::FTP

URI::FTP オブジェクトを生成して返します。 引数の正当性を検査します。

[PARAM] user:
構成要素を表す文字列を与えます。
[PARAM] password:
構成要素を表す文字列を与えます。
[PARAM] host:
構成要素を表す文字列を与えます。
[PARAM] port:
構成要素を表す文字列を与えます。
[PARAM] path:
構成要素を表す文字列を与えます。
[PARAM] typecode:
構成要素を表す文字列を与えます。
[PARAM] arg_check:
真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しない場合は例外 URI::InvalidComponentError が起ります。
[EXCEPTION] ArgumentError:
typecode が正当でなかった場合に発生します。
[EXCEPTION] URI::InvalidURIError:
引数が invalid な場合に発生します。


instance method URI::Generic#+

merge(rel) -> URI::Generic
self + rel -> URI::Generic

自身と与えられたパス rel を連結した新しい URI オブジェクトを生成して返します。

[RFC3986] の Section 5.2 の仕様に従います。 rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。

[PARAM] rel:
連結したいパスを文字列か URI オブジェクトで与えます。

例:

require 'uri'
p URI.parse('http://www.ruby-lang.org/') + '/en/raa.html'
#=> #<URI::HTTP:0x201001c0 URL:http://www.ruby-lang.org/en/raa.html>
URI('http://a/b/c/d;p?q').merge('?y')            #=> #<URI::HTTP:0xb7ca2e2c URL:http://a/b/c/d;p?y>
URI('http://a/b/c/d;p?q').merge('/./g')          #=> #<URI::HTTP:0xb7ca2738 URL:http://a/g>
URI('http://a/b/c/d;p?q').merge('/../g')         #=> #<URI::HTTP:0xb7ca2008 URL:http://a/g>
URI('http://a/b/c/d;p?q').merge('../../../g')    #=> #<URI::HTTP:0xb7ca1888 URL:http://a/g>
URI('http://a/b/c/d;p?q').merge('../../../../g') #=> #<URI::HTTP:0xb7ca10a4 URL:http://a/g>


instance method URI::Generic#-

route_from(src) -> URI::Generic
self - src -> URI::Generic

与えられた URI を表す src からの相対パスを返します。

[PARAM] src:
自身の相対パスを算出するための、ルートとなる Absolute URI を与えます。

例:

require 'uri'
p URI.parse('http://www.ruby-lang.org/en/raa.html') - 'http://www.ruby-lang.org/'
#=> #<URI::Generic:0x20100256 URL:en/raa.html>


instance method URI::Generic#==

self == uri -> bool

引数に指定した URI (文字列またはURIオブジェクト)との一致判定を行い ます。URI は正規化して比較されます。

[PARAM] uri:
比較したい URI を URI オブジェクトで指定します。

例:

require 'uri'
u1 = URI.parse('http://example.com/?hoge')
u2 = URI.parse('http://Example.Com/?hoge')
p u1 == u2                                  #=> true


instance method URI::Generic#absolute

absolute -> bool
absolute? -> bool

自身に scheme が設定されているなら true を返します。そうでない場合は false を返します。

例:

p URI.parse('http://example.com/').absolute?    #=> true
p URI.parse('./').absolute?                     #=> false


instance method URI::Generic#component

component -> [Symbol]

self.class.component を返します。

[SEE_ALSO] URI::Generic.component


instance method URI::Generic#default_port

default_port -> Integer | nil

self.class.default_port を返します。

[SEE_ALSO] URI::Generic.default_port


instance method URI::Generic#fragment

fragment -> String | nil

自身の fragment を文字列で返します。設定されていない場合は nil を返します。

例:

require 'uri'
u = URI.parse('http://example.com/#frgmt')
p u.fragment                                #=> "frgmt"


instance method URI::Generic#fragment=

fragment=(s)

自身の fragment を設定します。

[PARAM] s:
自身の fragment を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。


instance method URI::Generic#hierarchical?

hierarchical? -> bool

自身に path が設定されているなら true を返します。そうでない場合は false を返します。


instance method URI::Generic#host

host -> String | nil

自身の host を文字列で返します。設定されていない場合は nil を返します。


instance method URI::Generic#host=

host=(s)

自身の host を設定します。

[PARAM] s:
自身の host を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
host と registry を同時に設定した場合に発生します。


instance method URI::Generic#merge!

merge!(rel) -> self

与えられたパス rel を自身へ連結します。

[RFC2396] の Section 5.2 の仕様に従います。 rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。

[PARAM] rel:
連結したいパスを文字列か URI オブジェクトで与えます。

例:

u = URI.parse('http://www.ruby-lang.org/')
u.merge!('/en/raa.html')
p u.to_s                                   #=> http://www.ruby-lang.org/en/raa.html


instance method URI::Generic#normalize

normalize -> URI::Generic
normalize! -> nil

URI オブジェクトを正規化して返します。ホスト名を小文字にし、パスと 構成要素がなければ '/' をセットします。

例:

u = URI.parse('http://Example.Com')
p u.to_s                            #=> "http://Example.Com"
p u.normalize.to_s                  #=> "http://example.com/"


instance method URI::Generic#opaque

opaque -> String | nil

自身の opaque を文字列で返します。設定されていない場合は nil を返します。

例:

p URI.parse('http://example.com/').opaque       #=> nil
p URI.parse('mailto:nospam@localhost').opaque   #=> "nospam@localhost"
p URI.parse('urn:ietf:rfc:1149').opaque         #=> "ietf:rfc:1149"


instance method URI::Generic#opaque=

opaque=(s)

自身の opaque を設定します。

[PARAM] s:
自身の opaque を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
opaque とヒエラルキーパートを同時に設定した場合に発生します。


instance method URI::Generic#password

password -> String | nil

自身の password を文字列で返します。設定されていない場合は nil を返します。


instance method URI::Generic#password=

password=(s)

自身の password を設定します。

自身に user が設定されていない場合には例外が発生します。

[PARAM] s:
自身の password を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
userinfo と registry を同時に設定した場合に発生します。


instance method URI::Generic#path

path -> String | nil

自身の path を文字列で返します。設定されていない場合は nil を返します。

p URI.parse('http://example.com/hoge').path       #=> "/hoge"
p URI.parse('http://example.com').path            #=> ""
p URI.parse('mailto:nospam@localhost').path       #=> nil
p URI('ftp://example.com/foo').path    #=> 'foo'
p URI('ftp://example.com/%2Ffoo').path #=> '/foo'


instance method URI::Generic#path=

path=(s)

自身の path を設定します。

[PARAM] s:
自身の path を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
opaque と path を同時に設定した場合に発生します。


instance method URI::Generic#port

port -> String | nil

自身の port を文字列で返します。設定されていない場合は nil を返します。


instance method URI::Generic#port=

port=(s)

自身の port を設定します。

[PARAM] s:
自身の port を表す文字列か整数を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
port と registry を同時に設定した場合に発生します。


instance method URI::Generic#query

query -> String | nil

自身の query を文字列で返します。設定されていない場合は nil を返します。

例:

p URI.parse('http://example.com/?hoge').query   #=> "hoge"


instance method URI::Generic#query=

query=(s)

自身の query を設定します。

[PARAM] s:
自身の query を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
opaque と query を同時に設定した場合に発生します。


instance method URI::Generic#registry

registry -> String | nil

自身の registry を文字列で返します。設定されていない場合は nil を返します。


instance method URI::Generic#registry=

registry=(s)

自身の registry を設定します。

[PARAM] s:
自身の registry を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
server 部と registry を同時に設定した場合に発生します。


instance method URI::Generic#relative?

relative? -> bool

自身に scheme が設定されていないなら true を返します。そうでない場合は false を返します。

例:

p URI.parse('http://example.com/').relative?    #=> false
p URI.parse('./').relative?                     #=> true


instance method URI::Generic#route_to

route_to(dst) -> URI::Generic

自身から dst への相対パスを返します。

[PARAM] dst:
URI を文字列かURIオブジェクトで与えます。

例:

require 'uri'
p URI.parse('http://www.ruby-lang.org/').route_to('http://www.ruby-lang.org/en/raa.html')

#=> #<URI::Generic:0x20100198 URL:en/raa.html>


instance method URI::Generic#scheme

scheme -> String | nil

自身の scheme を文字列で返します。設定されていない場合は nil を返します。


instance method URI::Generic#scheme=

scheme=(s)

自身の scheme を設定します。

[PARAM] s:
自身の scheme を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。


instance method URI::Generic#select

select(*components) -> [String]

指定された components に対応する構成要素を文字列の配列として返します。

[PARAM] components:
構成要素名をシンボルで指定します。

例:

require 'uri'

uri = URI.parse('http://myuser:mypass@my.example.com/test.rbx')
p uri.select(:userinfo, :host, :path)
# => ["myuser:mypass", "my.example.com", "/test.rbx"]


instance method URI::Generic#to_s

to_s -> String
to_str -> String

自身が表す URI を文字列として返します。

例:

p URI.parse('http://example.com/').to_s #=> "http://example.com/"


instance method URI::Generic#user

user -> String | nil

自身の userinfo を文字列で返します。

userinfo が「username:password」の形式である場合は、username 部を返します。 設定されていない場合は nil を返します。


instance method URI::Generic#user=

user=(s)

自身の user を設定します。

[PARAM] s:
自身の user を表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
user と registry を同時に設定した場合に発生します。


instance method URI::Generic#userinfo

userinfo -> String | nil

自身の userinfo を "username:password" という形式の文字列で返します。 設定されていない場合は nil を返します。


instance method URI::Generic#userinfo=

userinfo=(s)

自身の userinfo を設定します。

[PARAM] s:
自身の userinfo を "username" か "username:password" という形式の文字列、あるいは [username, password] という形式の文字列の配列で指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。
[EXCEPTION] URI::InvalidURIError:
userinfo と registry を同時に設定した場合に発生します。

例:

require 'uri'
u = URI.parse('http://example.com/')
u.userinfo = 'hoge-san:jfae82kj'
p u.to_s                             #=> "http://hoge-san:jfae82kj@example.com/"

u.userinfo = 'oreore'
p u.to_s                             #=> "http://oreore:jfae82kj@example.com/"

u.userinfo = ['you', 'akakfd']
p u.to_s                             #=> "http://you:akakfd@example.com/"


singleton method URI::Generic.build

build(ary) -> URI::Generic
build(hash) -> URI::Generic

引数で与えられた URI 構成要素から URI::Generic オブジェクトを生成します。

[PARAM] ary:
構成要素を表す配列を与えます。要素は以下の順です。
      [scheme, userinfo, host, port, registry, path, opaque, query, fragment]
[PARAM] hash:
構成要素を表すハッシュを与えます。ハッシュのキーはシンボルは以下のいずれかです。 ハッシュの値は文字列で与えます。
      :scheme ,:userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。


singleton method URI::Generic.build2

build2(ary) -> URI::Generic
build2(hash) -> URI::Generic

URI::Generic.build と同じですが、例外 URI::InvalidComponentError が発生した場合に、引数の各要素を URI.escape して再度 build を試み ます。

[PARAM] ary:
構成要素を表す文字列の配列を与えます。要素は以下の順です。
      [scheme, userinfo, host, port, registry, path, opaque, query, fragment]
[PARAM] hash:
構成要素を表すハッシュを与えます。ハッシュのキーはシンボルは以下 のいずれかです。 ハッシュの値は文字列で与えます。
      :scheme, :userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment


singleton method URI::Generic.component

component -> [Symbol]

URI の構成要素を表すシンボルの配列を返します。

require 'uri'
p URI::Generic.component
p URI::MailTo.component

# => [:scheme, :userinfo, :host, :port, :registry, :path, :opaque, :query, :fragment]
# => [:scheme, :to, :headers]


singleton method URI::Generic.default_port

default_port -> Integer | nil

スキームに対応するデフォルトのポート番号を整数で返します。

require 'uri'
URI::Generic.default_port     # => nil
URI::FTP.default_port         # => 21
URI::HTTP.default_port        # => 80
URI::HTTPS.default_port       # => 443
URI::LDAP.default_port        # => 389
URI::LDAPS.default_port       # => 636
URI::MailTo.default_port      # => nil


singleton method URI::Generic.new

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::Generic

各引数を成分とする URI::Generic オブジェクトを生成して返します。

[PARAM] scheme:
構成要素 scheme を表す文字列を与えます。
[PARAM] userinfo:
構成要素を表す文字列を与えます。
[PARAM] host:
構成要素を表す文字列を与えます。
[PARAM] port:
構成要素を表す文字列を与えます。
[PARAM] registry:
構成要素を表す文字列を与えます。
[PARAM] path:
構成要素を表す文字列を与えます。
[PARAM] opaque:
構成要素を表す文字列を与えます。
[PARAM] query:
構成要素を表す文字列を与えます。
[PARAM] fragment:
構成要素を表す文字列を与えます。
[PARAM] arg_check:
真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しない場合は例外 URI::InvalidComponentError が起ります。
[EXCEPTION] URI::InvalidURIError:
use_registry が偽のとき、registry が与えられると発生します。


singleton method URI::Generic.use_registry

use_registry -> bool

構成要素 registry を受け付けるなら true を返します。 URI::Generic クラスでは false です。


instance method URI::HTTP#request_uri

request_uri -> String

自身の「path + '?' + query」を文字列で返します。 query が nil である場合は、自身の path を返します。

path が空である場合には、path は「'/'」であるとします。

例:

require 'uri'
u = URI.parse("http://example.com/search?q=xxx")
p u.request_uri                                  #=> "/search?q=xxx"


singleton method URI::HTTP.build

build(ary) -> URI::HTTP
build(hash) -> URI::HTTP

引数で与えられた URI 構成要素から URI::HTTP オブジェクトを生成します。 引数の正当性を検査します。

[PARAM] ary:
構成要素を表す配列を与えます。要素は次の順です。
      [userinfo, host, port, path, query, fragment]
[PARAM] hash:
構成要素を表すハッシュを与えます。ハッシュのキーは :scheme, :userinfo, :host, :port, :path, :query, :fragment のいずれかです。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。

例:

newuri = URI::HTTP.build({:host => 'www.example.com', :path> => '/foo/bar'})
newuri = URI::HTTP.build([nil, "www.example.com", nil, "/path", "query", 'fragment'])


singleton method URI::HTTP.new

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::HTTP

汎用的な構成要素から URI::HTTP オブジェクトを生成します。build と異なり、デフォルトでは引数の正当性を検査しません。

[PARAM] scheme:
構成要素を表す文字列を与えます。
[PARAM] userinfo:
構成要素を表す文字列を与えます。
[PARAM] host:
構成要素を表す文字列を与えます。
[PARAM] port:
構成要素を表す文字列を与えます。
[PARAM] registry:
nil を与えます。
[PARAM] path:
構成要素を表す文字列を与えます。
[PARAM] opaque:
構成要素を表す文字列を与えます。
[PARAM] query:
構成要素を表す文字列を与えます。
[PARAM] fragment:
構成要素を表す文字列を与えます。
[PARAM] arg_check:
真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しな い場合は例外 URI::InvalidComponentError が起ります。
[EXCEPTION] URI::InvalidURIError:
registry に nil 以外を与えた時に発生します。デフォルトでは引数の正当性は、これ以外 検査しません。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library uri > class URI::LDAP > attributes

instance method URI::LDAP#attributes

attributes -> String

自身の Attribute を文字列で返します。


instance method URI::LDAP#attributes=

attributes=(s)

自身の Attribute を文字列で設定します。

[PARAM] s:
自身の Attribute を文字列で設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library uri > class URI::LDAP > dn

instance method URI::LDAP#dn

dn -> String

自身の Distinguished Name を文字列で返します。


instance method URI::LDAP#dn=

dn=(s)

自身の Distinguished Name を文字列で設定します。

[PARAM] s:
自身の Distinguished Name を文字列で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library uri > class URI::LDAP > extensions

instance method URI::LDAP#extensions

extensions -> String

自身の extensions を文字列で返します。


instance method URI::LDAP#extensions=

extensions=(s)

自身の extensions を文字列で設定します。

[PARAM] s:
自身の extensions を文字列で設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library uri > class URI::LDAP > filter

instance method URI::LDAP#filter

filter -> String

自身の filter を文字列で返します。


instance method URI::LDAP#filter=

filter=(s)

自身の filter を文字列で設定します。

[PARAM] s:
自身の filter を文字列で設定します。


Ruby 1.8.7 Reference Manual > All Libraries > library uri > class URI::LDAP > scope

instance method URI::LDAP#scope

scope -> String

自身の Scope を文字列で返します。


instance method URI::LDAP#scope=

scope=(s)

自身の Scope を文字列で設定します。

[PARAM] s:
自身の Scope を文字列で設定します。


singleton method URI::LDAP.build

build(ary) -> URI::LDAP
build(hash) -> URI::LDAP

引数で与えられた URI 構成要素から URI::LDAP オブジェクトを生成します。 引数の正当性を検査します。

[PARAM] ary:
構成要素を表す配列を与えます。要素は次の順です。
      [:host, :port, :dn, :attributes, :scope, :filter, :extensions]
[PARAM] hash:
構成要素を表すハッシュを与えます。ハッシュのキーは
            :host, :port, :dn, :attributes, :scope, :filter, :extensions
のいずれかです。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。

例:

p URI::LDAP.build(["example.com", "1", "/a", "b", "c", "d", "e=f"]).to_s
#=> "ldap://example.com:1/a?b?c?d?e=f"


singleton method URI::LDAP.new

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::LDAP

汎用的な構成要素から URI::LDAP オブジェクトを生成します。 build と異なり、デフォルトでは引数の正当性を検査しません。

[PARAM] scheme:
構成要素を表す文字列を与えます。
[PARAM] userinfo:
構成要素を表す文字列を与えます。
[PARAM] host:
構成要素を表す文字列を与えます。
[PARAM] port:
構成要素を表す文字列を与えます。
[PARAM] registry:
nil を与えます。
[PARAM] path:
構成要素を表す文字列を与えます。
[PARAM] opaque:
構成要素を表す文字列を与えます。
[PARAM] query:
構成要素を表す文字列を与えます。
[PARAM] fragment:
構成要素を表す文字列を与えます。
[PARAM] arg_check:
真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しない場合は例外 URI::InvalidComponentError が起ります。
[EXCEPTION] URI::InvalidURIError:
use_registry が偽のとき、registry が与えられると発生します。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library uri > class URI::LDAPS > DEFAULT_PORT

constant URI::LDAPS::DEFAULT_PORT

DEFAULT_PORT -> Integer

デフォルトのポート (636) です。


instance method URI::MailTo#headers

headers -> [[String]]

自身のヘッダーを文字列の配列の配列として設定します。

例:

m = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
p m.headers #=> [["subject", "subscribe"], ["cc", "myaddr"]]


instance method URI::MailTo#headers=

headers=(s)

自身のヘッダーを文字列で設定します。

[PARAM] s:
ヘッダーを表す文字列を指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。

例:

m = URI.parse("mailto:nospam@example.com")
m.headers =  URI.escape("subject=hello hello")


instance method URI::MailTo#to

to -> String

自身の e-mail アドレスを文字列で返します。

例:

p URI.parse("mailto:nospam@example.com").to     #=> "nospam@example.com"


instance method URI::MailTo#to=

to=(s)

自身の e-mail アドレスを文字列で設定します。

[PARAM] s:
自身の e-mail アドレスを文字列で指定します。
[EXCEPTION] URI::InvalidComponentError:
不正な引数 s に対して発生します。

例:

m = URI.parse("mailto:nospam@example.com")
m.to = "nospaaaam@example.com"
p m                                        #=> #<URI::MailTo:0xb7bf0614 URL:mailto:nospaaaam@example.com>


instance method URI::MailTo#to_mailtext

to_mailtext -> String
to_rfc822text -> String

URI オブジェクトからメールテキスト文字列を生成します。

例:

require 'uri'
p mailto = URI.parse("mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr")
print mailto.to_mailtext

=> #<URI::MailTo:0x20104a0e URL:mailto:ruby-list@ruby-lang.org?subject=subscribe&cc=myaddr>
   To: ruby-list@ruby-lang.org
   Subject: subscribe
   Cc: myaddr


singleton method URI::MailTo.build

build(ary) -> URI::MailTo
build(hash) -> URI::MailTo

引数で与えられた URI 構成要素から URI::MailTo オブジェクトを生成します。 引数の正当性をチェックします。

[PARAM] ary:
構成要素を [to, headers]

という文字列の配列で与えます。headers は、以下のような文字列か配列で 与えます。

"subject=subscribe&cc=addr"

[["subject", "subscribe"], ["cc", "addr"]]
[PARAM] hash:
構成要素をハッシュで与えます。ハッシュのキーは :to, :headers です。ハッシュの値は ary と同様です。
[EXCEPTION] URI::InvalidComponentError:
不正な引数に対して発生します。


singleton method URI::MailTo.new

new(scheme, userinfo, host, port, registry, path, opaque, query, fragment, arg_check = false) -> URI::MailTo

汎用的な構成要素から URI::MailTo オブジェクトを生成します。 build と異なり、デフォルトでは引数の正当性を検査しません。

[PARAM] scheme:
構成要素を表す文字列を与えます。
[PARAM] userinfo:
構成要素を表す文字列を与えます。
[PARAM] host:
構成要素を表す文字列を与えます。
[PARAM] port:
構成要素を表す文字列を与えます。
[PARAM] registry:
nil を与えます。
[PARAM] path:
構成要素を表す文字列を与えます。
[PARAM] opaque:
構成要素を表す文字列を与えます。
[PARAM] query:
構成要素を表す文字列を与えます。
[PARAM] fragment:
構成要素を表す文字列を与えます。
[PARAM] arg_check:
真が与えられた場合は、各引数が字句規則に適合しているか否かを検査します。適合しない場合は例外 URI::InvalidComponentError が起ります。
[EXCEPTION] URI::InvalidURIError:
use_registry が偽のとき、registry が与えられると発生します。
[EXCEPTION] URI::InvalidComponentError:
各要素が適合しない場合に発生します。


instance method UnboundMethod#==

self == other -> bool
self === other -> bool

自身と other が同じクラスあるいは同じモジュールの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
a = String.instance_method(:size)
b = String.instance_method(:size)
p a == b                            #=> true

c = Array.instance_method(:size)
p a == c                            #=> false

[SEE_ALSO] UnboundMethod#eql?


instance method UnboundMethod#arity

arity -> Integer

メソッドが受け付ける引数の数を返します。

ただし、メソッドが可変長引数を受け付ける場合、負の整数

-(必要とされる引数の数 + 1)

を返します。C 言語レベルで実装されたメソッドが可変長引数を 受け付ける場合、-1 を返します。

class C
  def one;    end
  def two(a); end
  def three(*a);  end
  def four(a, b); end
  def five(a, b, *c);    end
  def six(a, b, *c, &d); end
end

p C.instance_method(:one).arity     #=> 0
p C.instance_method(:two).arity     #=> 1
p C.instance_method(:three).arity   #=> -1
p C.instance_method(:four).arity    #=> 2
p C.instance_method(:five).arity    #=> -3
p C.instance_method(:six).arity     #=> -3

String.instance_method(:size).arity      #=> 0
String.instance_method(:replace).arity   #=> 1
String.instance_method(:squeeze).arity   #=> -1
String.instance_method(:count).arity     #=> -1


instance method UnboundMethod#bind

bind(obj) -> Method

self を obj にバインドした Method オブジェクトを生成し返します。

[PARAM] obj:
自身をバインドしたいオブジェクトを指定します。ただしバインドできるのは、 unbind したオブジェクトのクラスのインスタンスか、メソッド定義元のモジュールを インクルードしたクラスのインスタンスだけです。
[EXCEPTION] TypeError:
obj のクラスが、unbind したオブジェクトのクラスのインスタンスか、 メソッド定義元のモジュールをインクルードしたクラスでなければ、発生します。
# クラスのインスタンスメソッドの UnboundMethod の場合

class Foo
  def foo
    "foo"
  end
end

# UnboundMethod `m' を生成
p m = Foo.instance_method(:foo) # => #<UnboundMethod: Foo(Foo)#foo>

# Foo のインスタンスをレシーバとする Method オブジェクトを生成
p m.bind(Foo.new)               # => #<Method: Foo(Foo)#foo>

# Foo のサブクラス Bar のインスタンスをレシーバとする Method
#@#  ruby 1.8 feature: 許されるようになりました

class Bar < Foo
end
# p m.bind(Bar.new)               # => -18:in `bind': bind argument must be an instance of Foo (TypeError)

# 同名の特異メソッドが定義されているとダメ
class << obj = Foo.new
  def foo
  end
end
p m.bind(obj)                   # => -:25:in `bind': method `foo' overridden (TypeError)

# モジュールのインスタンスメソッドの UnboundMethod の場合

module Foo
  def foo
    "foo"
  end
end

# UnboundMethod `m' を生成
p m = Foo.instance_method(:foo) # => #<UnboundMethod: Foo(Foo)#foo>

# Foo をインクルードしたクラス Bar のインスタンスをレシーバと
# する Method オブジェクトを生成
class Bar
  include Foo
end
p m.bind(Bar.new)               # => #<Method: Bar(Foo)#foo>

# Bar のサブクラスは Foo をインクルードしているのと同等なのでよい
class Baz <Bar
end
p m.bind(Baz.new)               # => #<Method: Baz(Foo)#foo>

# 同名の特異メソッドが定義されているとダメ
class << obj = Baz.new
  def foo
  end
end
p m.bind(obj)                   # => -:27:in `bind': method `foo' overridden (TypeError)


instance method UnboundMethod#eql?

eql?(other) -> bool
equal?(other) -> bool

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

[PARAM] other:
自身と比較したいオブジェクトを指定します。
a = String.instance_method(:size)
b = String.instance_method(:size)
p a.eql?(b)                        #=> false
p a.eql?(a)                        #=> true

[SEE_ALSO] UnboundMethod#==


instance method UnboundMethod#hash

hash -> Integer

自身の Object#object_id を返します。これは Object クラスで定義されたデフォルトの動作です。


Ruby 1.8.7 Reference Manual > All Libraries > library _builtin > class UnboundMethod > name

instance method UnboundMethod#name

name -> String

このメソッドの名前を返します。


instance method UnboundMethod#owner

owner -> Class | Module

このメソッドが定義されている class か module を返します。


instance method Vector#*

self * a -> Vector

数 a を各要素に乗じたベクトルを返します。

[PARAM] a:
乗算を行う数

例:

a = [1, 2, 3.5, 100]
v1 = Vector.elements(a)
p v1.*(2)     #=> Vector[2, 4, 7.0, 200]
p v1.*(-1.5)  #=> Vector[-1.5, -3.0, -5.25, -150.0]
self * m -> Matrix

自分自身を列ベクトル(行列)に変換して (実際には Matrix.column_vector(self) を適用) から、行列 m を右から乗じた行列 (Matrix クラス) を返します。

[PARAM] m:
右から乗算を行う行列

注意

引数の行列 m は自分自身を列ベクトルとした場合に乗算が定義できる行列である必要があります。

例:

require 'matrix'

v = Vector[1, 2]
a = [4, 5, 6]
m = Matrix[a]

p v * m #=> Matrix[[4, 5, 6], [8, 10, 12]]


instance method Vector#+

self + v -> Vector

ベクトル v を加えたベクトルを返します。

自分自身と引数 v の要素をそれぞれ加算し、その結果をVectorクラスのオブジェクトとして返します。

[PARAM] v:
加算をするベクトル
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
自分自身と引数のベクト ルの要素の数(次元)が異なっていたときに発生します。


instance method Vector#-

self - v -> Vector

ベクトル v を減じたベクトルを返します。

自分自身と引数 v の要素をそれぞれ減算し、その結果をVectorクラスのオブジェクトとして返します。

[PARAM] v:
減算するベクトル
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
自分自身と引数のベクト ルの要素の数(次元)が異なっていたときに発生します。


instance method Vector#==

self == v -> bool
eqn?(v) -> bool

自分自身と引数 v を比較し、true/false を返します。

[PARAM] v:
比較対象ベクトル


instance method Vector#[]

self[i] -> object | nil

i 番目の要素を返します。インデックスは 0 から開始します。 要素が存在しないインデックスを指定した時には nil を返します。

[PARAM] i:
取得する要素のインデックスを整数値で指定します。 インデックスは 0 から始めます。


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Vector > clone

instance method Vector#clone

clone() -> Vector

自分自身をコピーしたベクトルを返します。


instance method Vector#coerce

coerce(other) -> Array

self と other が同じクラスになるよう、自分自身か other を変換し [other, self] という配列にして返します。


instance method Vector#collect

collect {|x| ... } -> Vector
map {|x| ... } -> Vector

ベクトルの各要素に対してブロックを評価した結果を、要素として持つベクトルを生成します。

例:

a = [1, 2, 3.5, -10]
v1 = Vector.elements(a)
p v1 #=> Vector[1, 2, 3.5, -10]
v2 =  v1.map{|x|
  x * -1
}
p v2 #=> Vector[-1, -2, -3.5, 10]


instance method Vector#collect2

collect2(v) {|x, y| ... } -> Array

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つ配列を返します。

ベクトルの各要素と、それに対応するインデックスを持つ引数 v (ベクトル or 配列)の要素との組に対して (2引数の) ブロックを評価し、その結果を要素として持つ配列を返します。

[PARAM] v:
ブロック内で評価される(ベクトル or 配列)
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
自分自身と引数のベクト ルの要素の数(次元)が異なっていたときに発生します。

次の例は、２つのベクトルの要素毎の積を要素とする配列を生成します。

例:

require 'matrix'

v1 = Vector[2, 3, 5]
v2 = Vector[7, 9, 11]
a = Array[7, 9, 11]

z = v1.collect2(v2){|x, y| x * y }
p z #=> [14, 27, 55]

z = v1.collect2(a) {|x, y| x * y } # ArrayでもOK
p z #=> [14, 27, 55]


instance method Vector#compare_by

compare_by(elements) -> bool

自分自身と引数 elements を配列として比較します。

[PARAM] elements:
比較する配列。
[RETURN]
比較結果が(配列として)同じものあったときは true をそれ以外は false を返します。


instance method Vector#covector

covector -> Matrix

Matrix オブジェクトへ変換します。

列ベクトル (行列)、すなわち、(n, 1) 型の行列に変換します。 実際には Matrix.row_vector(self) を適用します。

例:

require 'matrix'

v = Vector[2, 3, 5]
p v #=> Vector[2, 3, 5]
m = v.covector
p m #=> Matrix[[2, 3, 5]]


instance method Vector#each2

each2(v) {|x, y| ... }

ベクトルの各要素と、それに対応するインデックスを持つ引数 v の要素との組に対して (2引数の) ブロックを繰返し評価します。`v' は size メソッドと [] メソッドを持つオブジェクトです。


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Vector > hash

instance method Vector#hash

hash() -> Fixnum

自分自身のハッシュ値を返します。


instance method Vector#init_elements

init_elements(array, copy) -> Array

ベクトルの要素を引数 array で初期化します。

[PARAM] array:
ベクトルとして初期化する Array を指定します。
[PARAM] copy:
引数array で渡された配列をコピーするかをtrue/falseで指定します。 true の場合はコピーします。

注意

本メソッドはVectorクラス内部用です。


instance method Vector#inner_product

inner_product(v) -> Float

ベクトル v との内積を返します。

[PARAM] v:
内積を求めるベクトル
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
自分自身と引数のベクト ルの要素の数(次元)が異なっていたときに発生します。


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Vector > inspect

instance method Vector#inspect

inspect() -> String

オブジェクトの内容を文字列化します。


instance method Vector#map2

map2(v) {|x, y| ... } -> Vector

ベクトルの各要素と引数 v の要素との組に対してブロックを評価し、その結果を要素として持つベクトルを返します。

ベクトルの各要素と、それに対応するインデックスを持つ引数 (ベクトル or 配列) の要素との組に対して (2引数の) ブロックを評価した結果を、要素として持つベクトルを返します。

[PARAM] v:
ブロック内で評価される(ベクトル or 配列)
[EXCEPTION] ExceptionForMatrix::ErrDimensionMismatch:
自分自身と引数のベクト ルの要素の数(次元)が異なっていたときに発生します。

次の例は、２つのベクトルの要素毎の積を要素として持つベクトルを生成します。

例:

require 'matrix'

v1 = Vector[2, 3, 5]
v2 = Vector[7, 9, 11]
a = Array[7, 9, 11]

z = v1.map2(v2) {|x, y| x * y }
p z #=> Vector[14, 27, 55]

z = v1.map2(a) {|x, y| x * y } # ArrayでもOK
p z #=> Vector[14, 27, 55]


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Vector > r

instance method Vector#r

r -> Float

ベクトルの絶対値を返します。 ベクトルの絶対値は、各要素の２乗の和の正の平方根を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library matrix > class Vector > size

instance method Vector#size

size() -> Fixnum

ベクトルの要素数(次元)を返します。


instance method Vector#to_a

to_a -> Array

ベクトル(Vector)から配列 (Array) に変換します。

例:

require 'matrix'

v = Vector[2, 3, 5, 7, 9]
a = v.to_a
p a #=> [2, 3, 5, 7, 9]


instance method Vector#to_s

to_s -> String

ベクトル(Vector)から文字列 (String) に変換します。

例:

require 'matrix'

v = Vector[2, 3, 5, 7, 9]
s = v.to_s
p s #=> "Vector[2, 3, 5, 7, 9]"


singleton method Vector.[]

self[*a] -> Vector

可変個引数を要素とするベクトルを生成します。

Vector[a1, a2, a3, ... ]としたとき、 引数a1, a2, a3, ... を要素とするベクトルを生成します。

[PARAM] a:
ベクトルの要素

例:

v1 = Vector[1, 3, 5, 7]
v2 = Vector[5.25, 10.5]
p v1   #=> Vector[1, 3, 5, 7]
p v2   #=> Vector[5.25, 10.5]


singleton method Vector.elements

elements(a, copy = true) -> Vector

配列 a を要素とするベクトルを生成します。 ただし、オプション引数 copy が偽 (false) ならば、複製を行いません。

[PARAM] a:
Vectorを生成する際の要素の配列
[PARAM] copy:
引数の配列 a のコピーをするかどうかのフラグ

例:

a = [1, 2, 3, 4]
v1 = Vector.elements(a, true)
v2 = Vector.elements(a, false)
p v1        #=> Vector[1, 2, 3, 4]
p v2        #=> Vector[1, 2, 3, 4]
a[0] = -1
p v1        #=> Vector[1, 2, 3, 4]
p v2        #=> Vector[-1, 2, 3, 4]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick > CR

constant WEBrick::CR

CR [added by webrick/httputils]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick > CRLF

constant WEBrick::CRLF

CRLF [added by webrick/httputils]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick > LF

constant WEBrick::LF

LF [added by webrick/httputils]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick > module WEBrick > VERSION

constant WEBrick::VERSION

VERSION

WEBrick のバージョンを表す文字列です。

p WEBrick::VERSION   #=> "1.3.1"


constant WEBrick::AccessLog::AGENT_LOG_FORMAT

AGENT_LOG_FORMAT

Apache のアクセスログで一般的に使われる User-Agent の形式を表す以下の文字列です。

"%{User-Agent}i"


constant WEBrick::AccessLog::CLF

COMMON_LOG_FORMAT
CLF

Apache のアクセスログで一般的に使われる形式を表す以下の文字列です。

"%h %l %u %t \"%r\" %s %b"


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/accesslog > module WEBrick::AccessLog > CLF_TIME_FORMAT

constant WEBrick::AccessLog::CLF_TIME_FORMAT

CLF_TIME_FORMAT

Apache のアクセスログと同じ時刻の形式を表す以下の文字列です。

"[%d/%b/%Y:%H:%M:%S %Z]"


constant WEBrick::AccessLog::COMBINED_LOG_FORMAT

COMBINED_LOG_FORMAT

Apache のアクセスログで一般的に使われる形式を表す以下の文字列です。

"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""


constant WEBrick::AccessLog::REFERER_LOG_FORMAT

REFERER_LOG_FORMAT

Apache のアクセスログで一般的に使われるリファラの形式を表す以下の文字列です。

"%{Referer}i -> %U"


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/log > class WEBrick::BasicLog > DEBUG

constant WEBrick::BasicLog::DEBUG

DEBUG

ログレベルを表す定数です。重要度は5番です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/log > class WEBrick::BasicLog > ERROR

constant WEBrick::BasicLog::ERROR

ERROR

ログレベルを表す定数です。重要度は2番です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/log > class WEBrick::BasicLog > FATAL

constant WEBrick::BasicLog::FATAL

FATAL

ログレベルを表す定数です。重要度は1番です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/log > class WEBrick::BasicLog > INFO

constant WEBrick::BasicLog::INFO

INFO

ログレベルを表す定数です。重要度は4番です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/log > class WEBrick::BasicLog > WARN

constant WEBrick::BasicLog::WARN

WARN

ログレベルを表す定数です。重要度は3番です。


instance method WEBrick::BasicLog#<<

self << obj -> ()

指定された obj を to_s メソッドで文字列に変換してから、 ログレベル INFO でログに記録します。

[PARAM] obj:
記録したいオブジェクトを指定します。文字列でない場合は to_s メソッドで文字列に変換します。
require 'webrick'
logger = WEBrick::BasicLog.new()
logger << 'hoge'


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/log > class WEBrick::BasicLog > close

instance method WEBrick::BasicLog#close

close -> ()

自身を閉じます。ログを取ることができなくなります。


instance method WEBrick::BasicLog#debug

debug(msg) -> ()

ログレベル DEBUG で文字列 msg をログに記録します。 自身の level が DEBUG より重要度が高い場合には記録しません。

行頭に level を表す文字列が追加されます。 msg の終端が "\n" でない場合には "\n" を追加します。

[PARAM] msg:
記録したい文字列を指定します。文字列でない場合は to_s メソッドで文字列に変換します。


instance method WEBrick::BasicLog#debug?

debug? -> bool

自身のログレベルが DEBUG 以上の時に true を返します。 そうでない場合に false を返します。


instance method WEBrick::BasicLog#error

error(msg) -> ()

ログレベル ERROR で文字列 msg をログに記録します。 自身の level が ERROR より重要度が高い場合には記録しません。

行頭に level を表す文字列が追加されます。 msg の終端が "\n" でない場合には "\n" を追加します。

[PARAM] msg:
記録したい文字列を指定します。文字列でない場合は to_s メソッドで文字列に変換します。


instance method WEBrick::BasicLog#error?

error? -> bool

自身のログレベルが ERROR 以上の時に true を返します。 そうでない場合に false を返します。


instance method WEBrick::BasicLog#fatal

fatal(msg) -> ()

ログレベル FATAL で文字列 msg をログに記録します。

行頭に level を表す文字列が追加されます。 msg の終端が "\n" でない場合には "\n" を追加します。

[PARAM] msg:
記録したい文字列を指定します。文字列でない場合は to_s メソッドで文字列に変換します。
require 'webrick'
loger = WEBrick::BasicLog.new()
loger.fatal('out of money')       #=> FATAL out of money   (標準エラー出力に出力)


instance method WEBrick::BasicLog#fatal?

fatal? -> bool

自身のログレベルが FATAL 以上の時に true を返します。 そうでない場合に false を返します。


instance method WEBrick::BasicLog#info

info(msg) -> ()

ログレベル INFO で文字列 msg をログに記録します。 自身の level が INFO より重要度が高い場合には記録しません。

行頭に level を表す文字列が追加されます。 msg の終端が "\n" でない場合には "\n" を追加します。

[PARAM] msg:
記録したい文字列を指定します。文字列でない場合は to_s メソッドで文字列に変換します。


instance method WEBrick::BasicLog#info?

info? -> bool

自身のログレベルが INFO 以上の時に true を返します。 そうでない場合に false を返します。


instance method WEBrick::BasicLog#level

level -> Integer
level=(lv)

自身のログレベルを表すアクセサです。

[PARAM] lv:
ログレベルを定数で指定します。


instance method WEBrick::BasicLog#log

log(level, msg) -> ()

指定された msg を指定されたログレベル level でログに記録します。

[PARAM] level:
記録したい msg のレベルを FATAL, ERROR, WARN, INFO, DEBUG のいずれかの定数で指定します。
[PARAM] msg:
記録したい文字列を指定します。


instance method WEBrick::BasicLog#warn

warn(msg) -> ()

ログレベル WARN で文字列 msg をログに記録します。 自身の level が WARN より重要度が高い場合には記録しません。

行頭に level を表す文字列が追加されます。 msg の終端が "\n" でない場合には "\n" を追加します。

[PARAM] msg:
記録したい文字列を指定します。文字列でない場合は to_s メソッドで文字列に変換します。


instance method WEBrick::BasicLog#warn?

warn? -> bool

自身のログレベルが WARN 以上の時に true を返します。 そうでない場合に false を返します。


singleton method WEBrick::BasicLog.new

new(log_file = nil, level = WEBrick::BasicLog::INFO) -> WEBrick::BasicLog

WEBrick::BasicLog オブジェクトを生成して返します。

[PARAM] log_file:
ログを記録する先のオブジェクトを指定します。メソッド << が定義されている必要があります。 通常は String オブジェクトか IO オブジェクトです。nil を指定した場合、標準エラー出力にログを出力します。
[PARAM] level:
ログレベルを定数で指定します。 このログレベルと同じかより重要なレベルのデータのみを記録します。 ログレベルは重要度の順に FATAL, ERROR, WARN, INFO, DEBUG の5段階があります。 FATAL の重要度が一番高く DEBUG が一番低いです。
require 'webrick'
logger = WEBrick::BasicLog.new('testfile', WEBrick::BasicLog::FATAL)


instance method WEBrick::CGI#[]

self[key] -> object

指定された key に対応した自身の設定値を返します。

[PARAM] key:
設定名を Symbol オブジェクトで指定します。


instance method WEBrick::CGI#config

config -> Hash

自身の設定を保持したハッシュを返します。

[SEE_ALSO] WEBrick::CGI.new


instance method WEBrick::CGI#do_DELETE

do_GET(req, res) -> ()
do_HEAD(req, res) -> ()
do_POST(req, res) -> ()
do_PUT(req, res) -> ()
do_DELETE(req, res) -> ()
do_OPTIONS(req, res) -> ()

自身の service メソッドから HTTP のリクエストに応じて 呼ばれるメソッドです。WEBrick::CGI のサブクラスはこれらのメソッドを適切に実装し なければいけません。返り値は特に規定されていません。

クライアントが使う可能性のある RFC で定義された HTTP のメソッドはすべて実装する必要があります。 クライアントからのリクエストに使われないと分かっているメソッドは実装しなくてもかまいません。 実装されていない HTTP メソッドであった場合、自身の service メソッドが 例外を発生させます。

このメソッドが呼ばれた時点では、クライアントからのリクエストに含まれる Entity Body の読み込みは まだ行われていません。WEBrick::HTTPRequest#query, WEBrick::HTTPRequest#body などの メソッドが読ばれた時点で読み込みが行われます。クライアントから巨大なデータが送られてくることを考慮して ユーザはプログラミングを行うべきです。

[PARAM] req:
クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトです。
[PARAM] res:
クライアントへのレスポンスを表す WEBrick::HTTPResponse オブジェクトです。


instance method WEBrick::CGI#logger

logger -> WEBrick::BasicLog

設定されているログオブジェクトを返します。

デフォルトでは WEBrick::BasicLog.new($stderr) です。


instance method WEBrick::CGI#service

service(req, res) -> ()

指定された WEBrick::HTTPRequest オブジェクト req の WEBrick::HTTPRequest#request_method に応じて、 自身の do_GET, do_HEAD, do_POST, do_OPTIONS... いずれかのメソッドを req と res を引数として呼びます。

特に理由が無い限り WEBrick::CGI のサブクラスがこのメソッドを定義する必要はありません。

[PARAM] req:
クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトです。
[PARAM] res:
クライアントへのレスポンスを表す WEBrick::HTTPResponse オブジェクトです。
[EXCEPTION] WEBrick::HTTPStatus::MethodNotAllowed:
指定された WEBrick::HTTPRequest オブジェクト req が自身に定義されてい ないHTTP のメソッドであった場合発生します。


instance method WEBrick::CGI#start

start(env = ENV, stdin = $stdin, stdout = $stdout) -> ()

自身に定義されたサービスを実行します。

start メソッドは service メソッドを呼び出し、service メソッドはリクエストに応じて do_XXX メソッドを呼び出します。このようにして CGI スクリプトは実行されます。

[PARAM] env:
CGI スクリプトが受け取った Meta-Variables (環境変数)を保持したハッシュか、 それと同じ [] メソッドを持ったオブジェクトを指定します。
[PARAM] stdin:
リクエストデータの入力元を IO オブジェクトで指定します。
[PARAM] stdout:
レスポンスデータの出力先を IO オブジェクトで指定します。


singleton method WEBrick::CGI.new

new(config={}, *options) -> WEBrick::CGI

WEBrick::CGI オブジェクトを生成してかえします。

[PARAM] config:
設定を保存したハッシュを指定します。

config で有効なキーとその値は以下のとおりです。 キーはすべて Symbol オブジェクトです。

:ServerName

サーバ名を文字列で指定します。デフォルトでは ENV["SERVER_SOFTWARE"] が使われます。 ENV["SERVER_SOFTWARE"] が nil の場合は "null" が使われます。

:HTTPVersion

HTTP バージョンを WEBrick::HTTPVersion オブジェクトで指定します。 デフォルトでは ENV["SERVER_PROTOCOL"] の HTTP バージョンが使われます。 ENV["SERVER_PROTOCOL"] が nil の場合 HTTP バージョンは 1.0 です。

:NPH

NPH スクリプトとして実行される場合に true を指定します。そうでない場合に false を指定します。 デフォルトは false です。

:Logger

ログを取るための WEBrick::BasicLog オブジェクトを指定します。デフォルトでは標準エラー出力に ログが出力されます。

:RequestTimeout

リクエストを読み込む時のタイムアウトを秒で指定します。デフォルトは 30 秒です。

:Escape8bitURI

この値が true の場合、クライアントからのリクエスト URI に含まれる 8bit 目が立った文字をエスケープします。 デフォルトは false です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/config > module WEBrick::Config > BasicAuth

constant WEBrick::Config::BasicAuth

BasicAuth


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/config > module WEBrick::Config > DigestAuth

constant WEBrick::Config::DigestAuth

DigestAuth


constant WEBrick::Config::FileHandler

FileHandler
FileHandler [added by webrick/httpservlet/filehandler]

WEBrick::HTTPServlet::FileHandler.newに与えるオプションの初期値。

FileHandler = {
  :NondisclosureName => [".ht*", "*~"],
  :FancyIndexing     => false,
  :HandlerTable      => {},
  :HandlerCallback   => nil,
  :DirectoryCallback => nil,
  :FileCallback      => nil,
  :UserDir           => "public_html",
  :AcceptableLanguages => []  # ["en", "ja", ... ]
}
:AcceptableLanguages

コンテンツの言語を選択するオプション。設定値は文字列の配列。

クライアントからのリクエストに含まれるAccept-Languageの内容がfrで、 かつ:AcceptableLanguagesには['ja', 'en']が設定されている場合、 WEBrick::HTTPServlet::FileHandlerは以下の順番でファイルを探す。 (1) index.html (2) index.html.fr (3) index.html.ja (4) index.html.en

:FancyIndexing

クライアントがディレクトリをリクエストしたが表示するファイルが無い場合の挙動を決める。 値は真偽値。

trueならば、代わりにファイル一覧を表示する。 falseならばエラー(403 Forbidden)となる。

:DirectoryCallback
:FileCallback
:HandlerCallback
:HandlerTable
:NonDisclosureName

インデックスに表示したくないファイルの指定。値は文字列の配列。 表示したくないファイルをワイルドカードで指定する。

:UserDir

ユーザ毎のドキュメントルートのディレクトリ名。値は文字列。

ユーザfooのホームディレクトリが/home/fooで、:UserDirにpublic_htmlを設定した場合、 クライアントから/~foo/index.htmlがリクエストされると/home/foo/public_html/index.htmlの内容を表示される。

この設定を有効にするには以下の条件が必要。

  • etcライブラリが使える状態である。
  • 環境変数SCRIPT_NAMEが空(空文字列)である。


constant WEBrick::Config::General

General

WEBrick::GenericServer の設定のデフォルト値を保持したハッシュです。

WEBrick::Config::General = {
  :ServerName     => Utils.getservername,
  :BindAddress    => nil,   # "0.0.0.0" or "::" or nil
  :Port           => nil,   # users MUST specify this!!
  :MaxClients     => 100,   # maximum number of the concurrent connections
  :ServerType     => nil,   # default: WEBrick::SimpleServer
  :Logger         => nil,   # default: WEBrick::Log.new
  :ServerSoftware => "WEBrick/#{WEBrick::VERSION} " +
                     "(Ruby/#{RUBY_VERSION}/#{RUBY_RELEASE_DATE})",
  :TempDir        => ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp',
  :DoNotListen    => false,
  :StartCallback  => nil,
  :StopCallback   => nil,
  :AcceptCallback => nil,
  :DoNotReverseLookup => nil,
}
General [redefined by webrick/ssl]

WEBrick::Config::SSL の内容がマージされます。


constant WEBrick::Config::HTTP

HTTP

WEBrick::HTTPServer の設定のデフォルト値を保持したハッシュです。

HTTP = {
  :ServerName     => Utils.getservername,
  :BindAddress    => nil,   # "0.0.0.0" or "::" or nil
  :Port           => 80,
  :MaxClients     => 100,   # maximum number of the concurrent connections
  :ServerType     => nil,   # default: WEBrick::SimpleServer
  :Logger         => nil,   # default: WEBrick::Log.new
  :ServerSoftware => "WEBrick/#{WEBrick::VERSION} " +
                     "(Ruby/#{RUBY_VERSION}/#{RUBY_RELEASE_DATE})",
  :TempDir        => ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp',
  :DoNotListen    => false,
  :StartCallback  => nil,
  :StopCallback   => nil,
  :AcceptCallback => nil,
  :DoNotReverseLookup => nil,

  :RequestTimeout => 30,
  :HTTPVersion    => HTTPVersion.new("1.1"),
  :AccessLog      => nil,
  :MimeTypes      => HTTPUtils::DefaultMimeTypes,
  :DirectoryIndex => ["index.html","index.htm","index.cgi","index.rhtml"],
  :DocumentRoot   => nil,
  :DocumentRootOptions => { :FancyIndexing => true },
  :RequestCallback => nil,
  :ServerAlias    => nil,

  :CGIInterpreter => nil,
  :CGIPathEnv     => nil,

  :Escape8bitURI  => false
}
HTTP [redefined by webrick/https]

WEBrick::Config::SSL の内容がマージされます。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/config > module WEBrick::Config > LIBDIR

constant WEBrick::Config::LIBDIR

LIBDIR


constant WEBrick::Config::SSL

SSL [added by webrick/ssl]

以下のほとんどの項目はサーバが保持する OpenSSL::SSL::SSLContext オブジェクト を設定するためのものです。詳しくは OpenSSL::SSL::SSLContext を参照して下さい。

:ServerSoftware

サーバソフト名を設定する。デフォルトでは "WEBrick/VERSION (Ruby/VERSION/RELEASE_DATE) OpenSSL/VERSION"。

:SSLEnable

ssl を有効にするかどうかを設定する。 ruby 1.8.2 まではデフォルトで true。ruby 1.8.3 以降はデフォルトで false。

:SSLCertificate

サーバ証明書を設定します。OpenSSL::X509::Certificate オブジェクトです。 nil の場合、WEBrick は自己署名証明書を自動的に生成する。

:SSLPrivateKey

サーバの秘密鍵を設定します。OpenSSL::PKey::PKey の サブクラスのインスタンスです。

:SSLClientCA

サーバがクライアント証明書を要求する時にクライアントに送る CA のリスト。 OpenSSL::SSL::SSLContext#client_ca を参照。

:SSLExtraChainCert

証明書チェーン。所有している証明書からルート CA までの証明書のリスト。 OpenSSL::SSL::SSLContext#extra_chain_cert を参照。

:SSLCACertificateFile
:SSLCACertificatePath
:SSLCertificateStore
:SSLVerifyClient
:SSLVerifyDepth
:SSLVerifyCallback
:SSLTimeout
:SSLOptions
:SSLStartImmediately
:SSLCertName

自己署名証明書を作成する場合の証明書の CN を文字列で設定する。

:SSLCertComment

自己署名証明書を作成する場合の拡張領域の nsComment の値。 デフォルトでは "Generated by Ruby/OpenSSL"。


instance method WEBrick::Cookie#comment

comment -> String
comment=(value)

コメントを文字列で表すアクセサです。

[PARAM] value:
コメントを文字列で指定します。


instance method WEBrick::Cookie#domain

domain -> String
domain=(value)

ドメイン名を文字列で表すアクセサです。

[PARAM] value:
ドメイン名を表す文字列を指定します。


instance method WEBrick::Cookie#expires

expires -> Time
expires=(value)

有効期限を Timeオブジェクトで表すアクセサです。

[PARAM] value:
有効期限を Time オブジェクトまたは文字列を指定します。


instance method WEBrick::Cookie#max_age

max_age -> Integer
max_age=(value)

クッキーの寿命を整数(単位は秒)で表すアクセサです。

[PARAM] value:
クッキーの寿命を正の整数で指定します。0 は直ちに破棄される事を意味する。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/cookie > class WEBrick::Cookie > name

instance method WEBrick::Cookie#name

name -> String

Cookie の名前を文字列で返します。


instance method WEBrick::Cookie#path

path -> String
path=(value)

パス名を文字列で表すアクセサです。

[PARAM] value:
パス名を文字列で指定します。


instance method WEBrick::Cookie#secure

secure -> bool
secure=(value) -> bool

クッキーのSecure属性を真偽値で表すアクセサです。

[PARAM] value:
クッキーのSecure属性を真偽値で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/cookie > class WEBrick::Cookie > to_s

instance method WEBrick::Cookie#to_s

to_s -> String

クッキーを文字列にして返します。


instance method WEBrick::Cookie#value

value -> String
value=(str)

クッキーの値を文字列で表すアクセサです。

[PARAM] str:
クッキーの値を文字列で指定します。


instance method WEBrick::Cookie#version

version -> Integer
version=(value)

Cookie のバージョン番号を整数で表すアクセサです。

[PARAM] value:
Cookie のバージョン番号を整数で指定します。


singleton method WEBrick::Cookie.new

new(name, value) -> WEBrick::Cookie

新しい WEBrick::Cookie オブジェクトを生成して返します。 name にクッキーの名前を、value にクッキーで保持する値を与える。

[PARAM] name:
Cookie の名前を文字列で指定します。
[PARAM] value:
Cookie の値を文字列で指定します。


singleton method WEBrick::Cookie.parse

parse(str) -> [WEBrick::Cookie]

ユーザーエージェントから送られてきた Cookie ヘッダの値 str をパースし、 新しく WEBrick::Cookie オブジェクトを生成しその配列を返します。 各属性の形式が仕様に準拠しているかを確認しません。

[PARAM] str:
Cookie を表す文字列を指定します。
require 'webrick'
include WEBrick
c = Cookie.parse('$Version="1"; Customer="WILE"; $Path="/foo"; P_Number="Rocket"; $Path="/foo/hoge"')
p c[1].name, c[1].path

#=>
"P_Number"
"/foo/hoge"


singleton method WEBrick::Cookie.parse_set_cookie

parse_set_cookie(str) -> WEBrick::Cookie

サーバから送られてくる Set-Cookie ヘッダの値 str をパースし、 新しく WEBrick::Cookie オブジェクトを生成し返します。

[PARAM] str:
Set-Cookie ヘッダの値を文字列で指定します。
require 'webrick'
include WEBrick
c = Cookie.parse_set_cookie('Shipping="FedEx"; Version="1"; Path="/acme"')
p c.name, c.value

#=>
"Shipping"
"FedEx"


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/cookie > class WEBrick::Cookie > parse_set_cookies

singleton method WEBrick::Cookie.parse_set_cookies

parse_set_cookies(str) -> [WEBrick::Cookie]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/server > class WEBrick::GenericServer > []

instance method WEBrick::GenericServer#[]

self[key] -> object

self.config[key] と同値。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/server > class WEBrick::GenericServer > config

instance method WEBrick::GenericServer#config

config -> Hash

サーバの設定を保存したハッシュを返す。


instance method WEBrick::GenericServer#listen

listen(address, port) -> [TCPServer]

与えられたアドレスとポートで TCPServer オブジェクトを生成し listeners に加えます。 WEBrick::GenericServer#listeners を返します。

[PARAM] address:
アドレスを文字列で指定します。
[PARAM] port:
listen するポートを整数で指定します。

[SEE_ALSO] TCPServer#listen


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/server > class WEBrick::GenericServer > listeners

instance method WEBrick::GenericServer#listeners

listeners -> [TCPServer]

listen している TCPServer オブジェクトの配列を返します。


instance method WEBrick::GenericServer#logger

logger -> WEBrick::Log

生成する時に指定された、自身をロギングする WEBrick::Log のインスタンスを返します。


instance method WEBrick::GenericServer#run

run(sock) -> ()

クライアントと接続された TCPSocket オブジェクトを引数として呼ばれ、 具体的な処理を行います。 WEBrick::GenericServer のサブクラスはこのメソッドを適切に再定義しなければいけません。

[PARAM] sock:
クライアントと接続された TCPSocket オブジェクトを指定します。


instance method WEBrick::GenericServer#shutdown

shutdown -> ()

WEBrick::GenericServer#stop を呼び、全ての listeners を close します。


instance method WEBrick::GenericServer#ssl_context

ssl_context [redefined by webrick/ssl]

サーバが保持する OpenSSL::SSL::SSLContext オブジェクトを返す。


instance method WEBrick::GenericServer#start

start -> ()
start {|soc| ... } -> ()

サーバをスタートします。

ブロックが与えられた場合 WEBrick::GenericServer#run メソッドの 代わりにブロックが実際のクライアントとの応答を担います。 ブロックは TCPSocket オブジェクトを引数として呼ばれます。


instance method WEBrick::GenericServer#status

status -> Symbol

現在のサーバのステータスを Symbol オブジェクトで返します。 値は :Running(活動中), :Shutdown(終了処理中), :Stop(完全に停止) のいずれかです。


instance method WEBrick::GenericServer#stop

stop -> ()

サーバを停止します。

実際にはサーバの状態を :Shutdown にするだけで、サーバがすぐに停止するとは限りません。


instance method WEBrick::GenericServer#tokens

tokens -> SizedQueue

MaxClient の設定のために使われる SizedQueue オブジェクトを返します。 SizedQueue オブジェクトのサイズは現在受け付けることのできるクライアントの数です。

MaxClient を知りたい場合は self.tokens.max です。 self.tokens.max - self.tokens.length が現在のクライアントの接続数です。


singleton method WEBrick::GenericServer.new

new(config={}, default=WEBrick::Config::General)

GenericServer オブジェクトを生成して返します。

[PARAM] config:
サーバの設定を保存したハッシュを指定します。有効なキーと値は以下のとおりです。
:ServerName

サーバのホスト名を表す文字列を指定します。デフォルトの Utils.getservername は /etc/hostname に書かれている文字列です。

:BindAddress

サーバのアドレスを指定します。デフォルトの nil や "0.0.0.0", "::" などを指定した 場合は使用可能なすべてのネットワークインターフェースに対して listen を開始します。 socket/ホスト指定形式を参照して下さい。

:Port

サーバのポートを指定します。socket/サービス指定形式を参照を参照して下さい。

:MaxClients

クライアントの最大接続数を表す整数です。

:ServerType

サーバのタイプを表すクラスを指定します。 WEBrick::SimpleServer と WEBrick::Daemon が 提供されています。

:Logger

ログをとるオブジェクト(Logger オブジェクト)を指定します。通常は WEBrick::Log のインスタンスを指定します。
WEBrick::Log.new(log_file, level) のように出力先とログレベルを設定することができます。
Logger オブジェクトに定義されているべきメソッドに関しては WEBrick::Log を参照して下さい。

:ServerSoftware

サーバソフトウェア名を文字列で指定します。WEBrick::HTTPServer では Server ヘッダにこの値が出力されます。

:DoNotListen

true の場合、GenericServer オブジェクトを生成しただけでは listen を開始しません。

:StartCallback

start 開始時に呼ばれる Proc オブジェクト。呼ばれる時に引数は 特に与えられません。

:StopCallback

サーバを stop した時に呼ばれる Proc オブジェクトを指定します。呼ばれる時に引数は 特に与えられません。

:AcceptCallback

クライアントからの接続を accept したときに呼ばれる Proc オブジェクトを指定します。 クライアントと接続された TCPSocket オブジェクトを引数として呼ばれます。

[PARAM] default:
サーバのデフォルトの設定を保存したハッシュを指定します。指定された config で 設定がなかった項目に関してはこの default の値が使われます。

[SEE_ALSO] WEBrick::Config::General

new(config={}, default=WEBrick::Config::General) [redefined by webrick/ssl]

config で有効な項目が増える。以下は増える項目とそのデフォルト値。

#
:ServerSoftware       => "#{svrsoft} OpenSSL/#{osslv}",
:SSLEnable            => true, # ruby 1.8.3 以降では false がデフォルトです。
:SSLCertificate       => nil,
:SSLPrivateKey        => nil,
:SSLClientCA          => nil,
:SSLExtraChainCert    => nil,
:SSLCACertificateFile => nil,
:SSLCACertificatePath => nil,
:SSLCertificateStore  => nil,
:SSLVerifyClient      => ::OpenSSL::SSL::VERIFY_NONE,
:SSLVerifyDepth       => nil,
:SSLVerifyCallback    => nil,   # custom verification
:SSLTimeout           => nil,
:SSLOptions           => nil,
:SSLStartImmediately  => true,
# Must specify if you use auto generated certificate.
:SSLCertName          => nil,
:SSLCertComment       => "Generated by Ruby/OpenSSL"


module function WEBrick::HTMLUtils.#escape

escape(string) -> String

指定された文字列に含まれる ", &, <, > を文字実体参照に変換した文字列を 生成して返します。

[PARAM] string:
エスケープしたい文字列を指定します。
p WEBrick::HTMLUtils.escape('/?q=foo&hl=<ja>')    #=> "/?q=foo&amp;hl=&lt;ja&gt;"


module function WEBrick::HTTPAuth.#basic_auth

basic_auth(req, res, realm) {|user, pass| ... } -> nil

Basic 認証を行うためのメソッドです。

ブロックは user, pass を引数として呼ばれ、 ブロックが true を返すと認証が成功したことになります。 ブロックが false を返すと認証に失敗したとみなし、 例外 WEBrick::HTTPStatus::Unauthorized を投げます。

[PARAM] req:
クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトを指定します。
[PARAM] res:
WEBrick::HTTPResponse オブジェクトを指定します。
[PARAM] realm:
認証のレルムを文字列で指定します。
srv.mount_proc('/basic_auth') {|req, res|
  HTTPAuth.basic_auth(req, res, "WEBrick's realm") {|user, pass|
    user == 'webrick' && pass == 'supersecretpassword'
  }
  res.body = "hoge"
}


module function WEBrick::HTTPAuth.#proxy_basic_auth

proxy_basic_auth(req, res, realm) {|user, pass| ... } -> nil

プロクシーの Basic 認証行うためのメソッドです。

ブロックは user, pass を引数として呼ばれ、 ブロックが true を返すとユーザを認証したことになります。 ブロックが false を返すと認証に失敗し、例外 WEBrick::HTTPStatus::ProxyAuthenticationRequired を投げます。

[PARAM] req:
クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトを指定します。
[PARAM] res:
WEBrick::HTTPResponse オブジェクトを指定します。
[PARAM] realm:
認証のレルムを文字列で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > AuthException

constant WEBrick::HTTPAuth::Authenticator::AuthException

AuthException


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > AuthScheme

constant WEBrick::HTTPAuth::Authenticator::AuthScheme

AuthScheme


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > RequestField

constant WEBrick::HTTPAuth::Authenticator::RequestField

RequestField


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > ResponseField

constant WEBrick::HTTPAuth::Authenticator::ResponseField

ResponseField


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > ResponseInfoField

constant WEBrick::HTTPAuth::Authenticator::ResponseInfoField

ResponseInfoField


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > logger

instance method WEBrick::HTTPAuth::Authenticator#logger

logger


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > realm

instance method WEBrick::HTTPAuth::Authenticator#realm

realm


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::Authenticator > userdb

instance method WEBrick::HTTPAuth::Authenticator#userdb

userdb


instance method WEBrick::HTTPAuth::BasicAuth#authenticate

authenticate(req, res)

クライアントから送られてきたユーザ名とパスワードを認証します。 認証に失敗した場合は challenge を呼びます。


instance method WEBrick::HTTPAuth::BasicAuth#challenge

challenge(req, res)

クライアントにパスワードを要求するために res に WWW-Authenticate ヘッダを 設定し、例外 WEBrick::HTTPStatus::Unauthorized を投げます。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/basicauth > class WEBrick::HTTPAuth::BasicAuth > logger

instance method WEBrick::HTTPAuth::BasicAuth#logger

logger

ロガーオブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/basicauth > class WEBrick::HTTPAuth::BasicAuth > realm

instance method WEBrick::HTTPAuth::BasicAuth#realm

realm

realm を文字列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/basicauth > class WEBrick::HTTPAuth::BasicAuth > userdb

instance method WEBrick::HTTPAuth::BasicAuth#userdb

userdb

ユーザ名とパスワードを保存した WEBrick::HTTPAuth::Htpasswd オブジェクトを 返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/basicauth > class WEBrick::HTTPAuth::BasicAuth > make_passwd

singleton method WEBrick::HTTPAuth::BasicAuth.make_passwd

make_passwd(realm, user, pass)

pass をランダムなソルトで crypt した文字列を返します。


singleton method WEBrick::HTTPAuth::BasicAuth.new

new(config, default=Config::BasicAuth)

BasicAuth オブジェクトを生成します。config は設定を保存したハッシュです。

config で有効なハッシュキーは以下の通りです。

#
:Realm            =>
:UserDB           =>
:Logger           =>
:AutoReloadUserDB =>

realm を表す文字列 :Realm には与えます。:UserDB には WEBrick::HTTPAuth::Htpasswd オブジェクトを与えます。:Logger には ロガーオブジェクトを与えます。また、:AutoReloadUserDB には WEBrick::HTTPAuth::Htpasswd#get_passwd の reload_db に渡す引数を与えます。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > algorithm

instance method WEBrick::HTTPAuth::DigestAuth#algorithm

algorithm

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > authenticate

instance method WEBrick::HTTPAuth::DigestAuth#authenticate

authenticate(req, res)

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > challenge

instance method WEBrick::HTTPAuth::DigestAuth#challenge

challenge(req, res, stale=false)

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > logger

instance method WEBrick::HTTPAuth::DigestAuth#logger

logger

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > qop

instance method WEBrick::HTTPAuth::DigestAuth#qop

qop

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > realm

instance method WEBrick::HTTPAuth::DigestAuth#realm

realm

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > userdb

instance method WEBrick::HTTPAuth::DigestAuth#userdb

userdb

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > make_passwd

singleton method WEBrick::HTTPAuth::DigestAuth.make_passwd

make_passwd(realm, user, pass)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::DigestAuth > new

singleton method WEBrick::HTTPAuth::DigestAuth.new

new(config, default=Config::DigestAuth)

執筆者募集


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htdigest > class WEBrick::HTTPAuth::Htdigest > delete_passwd

instance method WEBrick::HTTPAuth::Htdigest#delete_passwd

delete_passwd(realm, user)

realm に属するユーザ user のパスワードを削除する。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htdigest > class WEBrick::HTTPAuth::Htdigest > each

instance method WEBrick::HTTPAuth::Htdigest#each

each {|user, realm, pass| ...}

各ユーザ、realm とパスワードに関してブロックを評価する。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htdigest > class WEBrick::HTTPAuth::Htdigest > flush

instance method WEBrick::HTTPAuth::Htdigest#flush

flush(path=nil)

ファイルに書き込む。ファイル名 path を与えた場合は、path に書き込む。


instance method WEBrick::HTTPAuth::Htdigest#get_passwd

get_passwd(realm, user, reload_db)

realm からユーザのパスワードの MD5 ハッシュ値を取得し文字列として返す。 reload_db が true の場合、reload を呼んでからハッシュ値を返す。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htdigest > class WEBrick::HTTPAuth::Htdigest > reload

instance method WEBrick::HTTPAuth::Htdigest#reload

reload

ファイルから再度読み込む。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htdigest > class WEBrick::HTTPAuth::Htdigest > set_passwd

instance method WEBrick::HTTPAuth::Htdigest#set_passwd

set_passwd(realm, user, pass)

realm に対応させてユーザ user とパスワード pass を保存する。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htdigest > class WEBrick::HTTPAuth::Htdigest > new

singleton method WEBrick::HTTPAuth::Htdigest.new

new(path)

Htdigest オブジェクトを生成する。.htdigest ファイルのパスを path で与える。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htgroup > class WEBrick::HTTPAuth::Htgroup > add

instance method WEBrick::HTTPAuth::Htgroup#add

add(group, members)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htgroup > class WEBrick::HTTPAuth::Htgroup > flush

instance method WEBrick::HTTPAuth::Htgroup#flush

flush(output = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htgroup > class WEBrick::HTTPAuth::Htgroup > members

instance method WEBrick::HTTPAuth::Htgroup#members

members(group)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htgroup > class WEBrick::HTTPAuth::Htgroup > reload

instance method WEBrick::HTTPAuth::Htgroup#reload

reload


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htgroup > class WEBrick::HTTPAuth::Htgroup > new

singleton method WEBrick::HTTPAuth::Htgroup.new

new(path)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htpasswd > class WEBrick::HTTPAuth::Htpasswd > delete_passwd

instance method WEBrick::HTTPAuth::Htpasswd#delete_passwd

delete_passwd(realm, user)

ユーザのパスワードを削除する。realm は無視される。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htpasswd > class WEBrick::HTTPAuth::Htpasswd > each

instance method WEBrick::HTTPAuth::Htpasswd#each

each {|user, pass| ...}

各ユーザとパスワードに関してブロックを評価する。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htpasswd > class WEBrick::HTTPAuth::Htpasswd > flush

instance method WEBrick::HTTPAuth::Htpasswd#flush

flush(path=nil)

ファイルに書き込む。ファイル名 path を与えた場合は、path に書き込む。


instance method WEBrick::HTTPAuth::Htpasswd#get_passwd

get_passwd(realm, user, reload_db)

ユーザのパスワードの crypt された文字列を取得する。reload_db が true の場合、 reload を呼んでからパスワードを取得する。realm は無視される。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htpasswd > class WEBrick::HTTPAuth::Htpasswd > reload

instance method WEBrick::HTTPAuth::Htpasswd#reload

reload

ファイルから再度読み込む。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htpasswd > class WEBrick::HTTPAuth::Htpasswd > set_passwd

instance method WEBrick::HTTPAuth::Htpasswd#set_passwd

set_passwd(realm, user, pass)

ユーザとパスワードを保存する。realm は無視される。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/htpasswd > class WEBrick::HTTPAuth::Htpasswd > new

singleton method WEBrick::HTTPAuth::Htpasswd.new

new(path)

Htpasswd オブジェクトを生成する。.htpasswd ファイルのパスを path で与える。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::ProxyAuthenticator > AuthException

constant WEBrick::HTTPAuth::ProxyAuthenticator::AuthException

AuthException


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::ProxyAuthenticator > InfoField

constant WEBrick::HTTPAuth::ProxyAuthenticator::InfoField

InfoField


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::ProxyAuthenticator > RequestField

constant WEBrick::HTTPAuth::ProxyAuthenticator::RequestField

RequestField


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/authenticator > module WEBrick::HTTPAuth::ProxyAuthenticator > ResponseField

constant WEBrick::HTTPAuth::ProxyAuthenticator::ResponseField

ResponseField


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/digestauth > class WEBrick::HTTPAuth::ProxyDigestAuth > check_uri

instance method WEBrick::HTTPAuth::ProxyDigestAuth#check_uri

check_uri(req, auth_req)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/userdb > module WEBrick::HTTPAuth::UserDB > auth_type

instance method WEBrick::HTTPAuth::UserDB#auth_type

auth_type
auth_type=(type)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/userdb > module WEBrick::HTTPAuth::UserDB > get_passwd

instance method WEBrick::HTTPAuth::UserDB#get_passwd

get_passwd(realm, user, reload_db = false)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/userdb > module WEBrick::HTTPAuth::UserDB > make_passwd

instance method WEBrick::HTTPAuth::UserDB#make_passwd

make_passwd(realm, user, pass)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpauth/userdb > module WEBrick::HTTPAuth::UserDB > set_passwd

instance method WEBrick::HTTPAuth::UserDB#set_passwd

set_passwd(realm, user, pass)


singleton method WEBrick::HTTPProxyServer.new

new(config) -> WEBrick::HTTPProxyServer

プロクシオブジェクトを生成して返します。

[PARAM] config:
設定を保存したハッシュを指定します。 設定として有効なハッシュのキーとその値は WEBrick::HTTPServer.new と同じです。 それに加えて以下のキーが有効です。
:ProxyAuthProc

プロクシ認証を行う Proc オブジェクトを指定します。この proc は WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクトを引数として proc.call(req, res) のように呼ばれます。 認証に失敗した場合 proc は適切な例外を発生させなければ行けません。nil を指定した場合すべての接続を 受け付けます。デフォルトは nil です。通常は WEBrick::HTTPAuth::ProxyBasicAuth か WEBrick::HTTPAuth::ProxyDigestAuth を使用します。

 auth_proc = proc{|req, res|
   unless c = req['proxy-authorization']
     res['Proxy-Authenticate'] = 'Basic realm="WEBrick Proxy"'
     raise WEBrick::HTTPStatus::ProxyAuthenticationRequired
   else
     # 略
   end
 }
 s = WEBrick::HTTPProxyServer.new( {:ProxyAuthProc => auth_proc} )
:ProxyContentHandler

接続先の HTTP サーバからの内容を処理する Proc オブジェクトを指定します。 レスポンスの内容を書き換えたりする事が出来ます。WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクトを引数として proc.call(req, res) のように呼ばれます。 nil を指定した場合なにもしません。デフォルトは nil です。

 handler = proc{|req, res|
   res.body.gsub!(/です。/e, 'でんがな。')
   res.body.gsub!(/ます。/e, 'まんがな。')
 }
 s = WEBrick::HTTPProxyServer.new( { :ProxyContentHandler => handler } )
:ProxyVia

true を指定した場合 接続先の HTTP サーバへのリクエストに Via ヘッダを付けます。デフォルトは true です。

:ProxyTimeout

true を指定した場合 接続先の HTTP サーバへのリクエストにタイムアウトを設定します。 タイムアウトまでの時間は設定できません。

:ProxyURI

HTTP サーバへの接続にさらに別の Proxy サーバを使う場合にその Proxy の URI を URI オブジェクトで指定します。

  require 'uri'
  u = URI.parse('http://localhost:18080/')
  s = WEBrick::HTTPProxyServer.new( { :ProxyURI => u } )


instance method WEBrick::HTTPRequest#[]

self[header_name] -> String

リクエストのヘッダの該当する内容を文字列で返します。

[PARAM] header_name:
ヘッダー名を文字列で指定します。大文字と小文字を区別しません。


instance method WEBrick::HTTPRequest#accept

accept -> [String]

Accept ヘッダの内容をメディアタイプを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。


instance method WEBrick::HTTPRequest#accept_charset

accept_charset -> [String]

Accept-Charset ヘッダの内容を文字セットを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。


instance method WEBrick::HTTPRequest#accept_encoding

accept_encoding -> [String]

Accept-Encoding ヘッダの内容をコーディングを表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。


instance method WEBrick::HTTPRequest#accept_language

accept_language -> [String]

Accept-Language ヘッダの内容を自然言語を表す文字列の配列で返します。 配列は品質係数(qvalue)でソートされています。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > addr

instance method WEBrick::HTTPRequest#addr

addr -> Array

クライアントと接続されているソケットの IPSocket#addr を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > attributes

instance method WEBrick::HTTPRequest#attributes

attributes -> Hash


instance method WEBrick::HTTPRequest#body

body -> String | nil
body {|chunk| ... } -> String | nil

クライアントからエンティティボディを読み込み返します。 リクエストにエンティティボディが含まれない場合は nil を返します。

リクエストが chunked 形式であっても返り値はデコードされて返されます。 2回目の呼び出し以降は最初に読み込んだエンティティボディを返します。 ブロックを指定された場合、クライアントからデータを読み込むたびにそのデータ(文字列) を引数としてブロックを実行します。リクエストが chunked 形式であっても引数はデコードされています。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/https > class WEBrick::HTTPRequest > cipher

instance method WEBrick::HTTPRequest#cipher

cipher [added by webrick/https]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/https > class WEBrick::HTTPRequest > client_cert

instance method WEBrick::HTTPRequest#client_cert

client_cert [added by webrick/https]


instance method WEBrick::HTTPRequest#content_length

content_length -> Integer

リクエストの Content-Length ヘッダの値を整数で返します。リクエストに Content-Length ヘッダ が含まれていない場合は 0 を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > content_type

instance method WEBrick::HTTPRequest#content_type

content_type -> String | nil

リクエストの Content-Type ヘッダを文字列で返す。


instance method WEBrick::HTTPRequest#cookies

cookies -> [WEBrick::Cookie]

リクエストに含まれる Cookie ヘッダの値を WEBrick::Cookie の配列として返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > each

instance method WEBrick::HTTPRequest#each

each {|key, val| ... }

リクエストの各ヘッダ名を key、内容を val としてブロックを評価します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > fixup

instance method WEBrick::HTTPRequest#fixup

fixup -> ()

リクエストの残りのエンティティボディを読み込みます。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > header

instance method WEBrick::HTTPRequest#header

header -> Hash

ヘッダ名をキー、内容をその値とするハッシュを返します。キーも値も文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > host

instance method WEBrick::HTTPRequest#host

host -> String

リクエスト URI の host を文字列で返す。


instance method WEBrick::HTTPRequest#http_version

http_version -> WEBrick::HTTPVersion

リクエストの HTTP バージョンを表す WEBrick::HTTPVersion オブジェクトを返します。


instance method WEBrick::HTTPRequest#keep_alive

keep_alive -> bool
keep_alive? -> bool

リクエストが Keep-Alive を要求しているかを真偽で返します。 http_version が 1.1 より小さい場合は Keep-Alive を要求していても無視して false となります。


instance method WEBrick::HTTPRequest#meta_vars

meta_vars -> Hash

This method provides the metavariables defined by the revision 3 of ``The WWW Common Gateway Interface Version 1.1''. http://Web.Golux.Com/coar/cgi/.

meta_vars [redefined by webrick/https]


instance method WEBrick::HTTPRequest#parse

parse(socket = nil) -> ()

指定された socket からクライアントのリクエストを読み込み、 自身のアクセサなどを適切に設定します。

[PARAM] socket:
クライアントに接続された IO オブジェクトを指定します。
parse(socket = nil) [redefined by webrick/https]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/https > class WEBrick::HTTPRequest > parse_uri

instance method WEBrick::HTTPRequest#parse_uri

parse_uri(str, scheme = "http") [redefined by webrick/https]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > path

instance method WEBrick::HTTPRequest#path

path -> String

リクエスト URI のパスを表す文字列を返します。


instance method WEBrick::HTTPRequest#path_info

path_info -> String
path_info=(value)

リクエスト URI のパスを文字列で表すアクセサです。デフォルトは path と同じです。

[PARAM] value:


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > peeraddr

instance method WEBrick::HTTPRequest#peeraddr

peeraddr -> Array

クライアントと接続されているソケットの IPSocket#peeraddr を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > port

instance method WEBrick::HTTPRequest#port

port -> String

サーバのポートを文字列で返します。


instance method WEBrick::HTTPRequest#query

query -> Hash

リクエストのクエリーあるいはクライアントがフォームへ入力した値を表すハッシュを返します。

ハッシュのキーも値も unescape されています。ただし multipart/form-data なフォームデータの場合には ユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。

ハッシュの値は正確には文字列ではなく String クラスのサブクラスである WEBrick::HTTPUtils::FormData クラスのインスタンスです。

multipart/form-data なフォームデータであってもサイズの制限なく、通常のフォームデータと 同じように扱われることに注意してください。クライアントからの入力によっては巨大な文字列が 生成されてしまいます。

例:

h = req.query
p h['q']                       #=>  "ruby rails session"
p h['upfile']['content-type']  #=>  "plain/text"
p h['upfile'].filename         #=>  "my_file.txt"
p h['upfile']                  #=>  "hoge hoge hoge"


instance method WEBrick::HTTPRequest#query_string

query_string -> String
query_string=(value)

リクエスト URI のクエリーを文字列で表すアクセサです。 デフォルトは request_uri.query です。

[PARAM] value:
クエリーを表す文字列を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > raw_header

instance method WEBrick::HTTPRequest#raw_header

raw_header


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > request_line

instance method WEBrick::HTTPRequest#request_line

request_line

クライアントのリクエストの最初の行(GET / HTTP/1.1)を文字列で返す。


instance method WEBrick::HTTPRequest#request_method

request_method -> String

クライアントのリクエストの HTTP メソッド(GET, POST,...)を文字列で返す。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > request_time

instance method WEBrick::HTTPRequest#request_time

request_time -> Time

リクエストされた時刻を Time オブジェクトで返す。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > request_uri

instance method WEBrick::HTTPRequest#request_uri

request_uri

リクエスト URI を表す URI オブジェクトを返します。


instance method WEBrick::HTTPRequest#script_name

script_name -> String
script_name=(value)

CGI での環境変数 SCRIPT_NAME を文字列で表すアクセサです。

[PARAM] value:


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/https > class WEBrick::HTTPRequest > server_cert

instance method WEBrick::HTTPRequest#server_cert

server_cert [added by webrick/https]


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > to_s

instance method WEBrick::HTTPRequest#to_s

to_s -> String

リクエストのヘッダとボディをまとめて文字列として返します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httprequest > class WEBrick::HTTPRequest > unparsed_uri

instance method WEBrick::HTTPRequest#unparsed_uri

unparsed_uri -> String

リクエストの URI を文字列で返します。


instance method WEBrick::HTTPRequest#user

user -> String
user=(value)

REMOTE_USER を文字列で表すアクセサです。

[PARAM] value:
ユーザ名を文字列で指定します。


singleton method WEBrick::HTTPRequest.new

new(config)

WEBrick::HTTPRequest を生成して返します。

[PARAM] config:
設定を保持したハッシュを指定します。


instance method WEBrick::HTTPResponse#[]

self[field] -> String

レスポンスのヘッダの該当する内容を文字列で返します。

[PARAM] field:
ヘッダ名を文字列で指定します。大文字と小文字を区別しません。
p res['date']   #=> "Sat, 27 Oct 2007 08:53:03 GMT"


instance method WEBrick::HTTPResponse#[]=

self[field] = val

レスポンスの該当するヘッダに val を設定する。val は文字列。

[PARAM] field:
ヘッダ名を文字列で指定します。大文字と小文字を区別しません。
[PARAM] val:
ヘッダの値を指定します。to_s メソッドによって文字列に変換されます。
require 'time'
res['last-modified'] = Time.now.httpdate

[SEE_ALSO] WEBrick::HTTPResponse#chunked?, WEBrick::HTTPResponse#content_length, WEBrick::HTTPResponse#content_type


instance method WEBrick::HTTPResponse#body

body -> String | IO
body=(val)

クライアントに返す内容(エンティティボディ)を表すアクセサです。

自身が chunked であっても body の値はチャンク形式ではありません。

[PARAM] val:
メッセージボディを文字列か IO オブジェクトで指定します。 自身が chunked であってもチャンク形式にする必要はありません。 適切にチャンク形式エンコーディングされます。
require 'webrick'
include WEBrick
res = HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.body = 'hoge'
print res.to_s

#=> 出力結果
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sat, 27 Oct 2007 08:58:49 GMT
Server:
Content-Length: 4

hoge


instance method WEBrick::HTTPResponse#chunked=

chunked? -> bool
chunked=(flag)

クライアントに返す内容(エンティティボディ)を chunk に分けるかどうかを真偽で表すアクセサです。

自身の WEBrick::HTTPResponse#request_http_version が 1.0 以下である場合、この値は無視されます。

[PARAM] flag:
true を指定した場合、レスポンスを chunk に分けてクライアントに返します。
require 'webrick'
include WEBrick
res = HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.body = 'hoge'
res.chunked = true
print res.to_s

#=> 出力結果
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sat, 27 Oct 2007 09:04:28 GMT
Server:
Transfer-Encoding: chunked

4
hoge
0

#


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpresponse > class WEBrick::HTTPResponse > config

instance method WEBrick::HTTPResponse#config

config -> Hash

自身が生成される時に指定されたハッシュを返します。


instance method WEBrick::HTTPResponse#content_length

content_length -> Integer | nil
content_length=(len)

Content-Length ヘッダの値を整数で表すアクセサです。デフォルトは nil です。

body が String オブジェクトである場合

content_length の値が nil のとき Content-Length ヘッダには body のサイズが使われます。nil でないとき body の実際のサイズとこの値が同じかどうかの検証は行われません。

body が IO オブジェクトである場合

content_length の値が nil のとき Content-Length ヘッダはレスポンスに含まれず、IO から全てを読み込ん でそれをエンティティボディとします。nil でないとき IO から content_length バイトだけ読み込みそれを エンティティボディとします。

また RFC2616 4.4 で定められた Content-Length ヘッダを送ってはいけない場合に当てはまる時には content_length の値は無視され Content-Length ヘッダはレスポンスに含まれません。

[PARAM] len:
ヘッダの値を整数で指定します。nil を指定することは出来ません。
require 'webrick'
include WEBrick
res = HTTPResponse.new( { :HTTPVersion => "1.1" } )
f = File.new('testfile')
res.body = f
res.content_length = 2
print res.to_s

#=> 出力結果
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sat, 27 Oct 2007 12:04:32 GMT
Server:
Content-Length: 2

ho


instance method WEBrick::HTTPResponse#content_type

content_type -> String | nil
content_type=(val)

Content-Type ヘッダの値を文字列で表すアクセサです。

[PARAM] val:
Content-Type ヘッダの値を文字列で指定します。
res.content_type = "text/html"

[SEE_ALSO] WEBrick::HTTPUtils.#mime_type


instance method WEBrick::HTTPResponse#cookies

cookies -> [WEBrick::Cookie]

レスポンスの Set-Cookie ヘッダの値を表す WEBrick::Cookie オブジェクトの配列です。 レスポンスに新たに Cookie を加えたい場合はこの配列に WEBrick::Cookie オブジェクトを加えます。

res.cookies << WEBrick::Cookie.parse_set_cookie(k)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpresponse > class WEBrick::HTTPResponse > each

instance method WEBrick::HTTPResponse#each

each {|key, val| ... }

レスポンスのヘッダ名を key、内容を val としてブロックを評価します。


instance method WEBrick::HTTPResponse#filename

filename -> String | nil
filename=(file)

自身の内容があるファイルのそれである場合に、そのファイル名を文字列で表すアクセサです。 デフォルトは nil です。

[PARAM] file:
ファイル名を表す文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpresponse > class WEBrick::HTTPResponse > header

instance method WEBrick::HTTPResponse#header

header -> Hash

ヘッダ名をキー、ヘッダの値を値とするハッシュを返します。ハッシュのキーも値も文字列です。


instance method WEBrick::HTTPResponse#http_version

http_version -> WEBrick::HTTPVersion

レスポンスの HTTP のバージョンを表す WEBrick::HTTPVersion オブジェクトを返します。

require 'webrick'
res = WEBrick::HTTPResponse.new( { :HTTPVersion => "1.1" } )
p res.http_version.class                                        #=> WEBrick::HTTPVersion
p res.http_version.to_s                                         #=> "1.1"


instance method WEBrick::HTTPResponse#keep_alive

keep_alive? -> bool
keep_alive -> bool
keep_alive=(flag)

レスポンスの keep_alive が有効であるかを真偽で表すアクセサです。 デフォルトは true です。

[PARAM] flag:
true を指定すると Keep-Alive を有効にします。


instance method WEBrick::HTTPResponse#reason_phrase

reason_phrase -> String | nil
reason_phrase=(val)

HTTP のレスポンスの最初の行の reason phrase を文字列で表すアクセサです。 この値が nil の場合 reason phrase は status から生成されます。 デフォルトは nil です。

[PARAM] val:
reason phrase を表す文字列を指定します。
require 'webrick'
res = WEBrick::HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.status = 404

p res.reason_phrase    #=> "Not Found"


instance method WEBrick::HTTPResponse#request_http_version

request_http_version -> WEBrick::HTTPVersion
request_http_version=(ver)

リクエストの HTTP バージョンを WEBrick::HTTPVersion オブジェクトで表すアクセサです。 デフォルトでは自身の WEBrick::HTTPResponse#http_version が使われます。

[PARAM] ver:
リクエストの HTTP バージョンを WEBrick::HTTPVersion オブジェクトで指定します。


instance method WEBrick::HTTPResponse#request_method

request_method -> String | nil
request_method=(method)

リクエストの HTTP メソッドを文字列で表すアクセサです。 デフォルトは nil です。

[PARAM] method:
リクエストの HTTP メソッドを文字列で指定します。


instance method WEBrick::HTTPResponse#request_uri

request_uri -> URI | nil
request_uri=(uri)

リクエストの URI を URI オブジェクトで表すアクセサです。 デフォルトは nil です。

[PARAM] method:
リクエストの URI を URI オブジェクトで指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpresponse > class WEBrick::HTTPResponse > sent_size

instance method WEBrick::HTTPResponse#sent_size

sent_size -> Integer

クライアントに送られた内容(エンティティボディ)のバイト数を表す整数を返します。


instance method WEBrick::HTTPResponse#set_error

set_error(status, backtrace = false) -> ()

自身の内容(エンティティボディ)を指定された status のエラーページにします。

[PARAM] status:
WEBrick::HTTPStatus::Status のサブクラスか一般の例外クラスを指定します。
[PARAM] backtrace:
true を指定した場合バックトレースをエラーページに出力します。


instance method WEBrick::HTTPResponse#set_redirect

set_redirect(status, url) -> ()

指定された url にリダイレクトするためのヘッダと内容(エンティティボディ)を設定し例外 status を 発生させます。


instance method WEBrick::HTTPResponse#status

status -> Integer

レスポンスのステータスコードを表す整数を返します。 デフォルトは WEBrick::HTTPStatus::RC_OK です。


instance method WEBrick::HTTPResponse#status=

status=(status)

レスポンスのステータスコードを整数で指定します。 reason_phrase も適切なものに設定されます。

[PARAM] status:
ステータスコードを整数で指定します。
require 'webrick'
res = WEBrick::HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.status = 404

p res.reason_phrase    #=> "Not Found"


instance method WEBrick::HTTPResponse#status_line

status_line -> String

HTTP のステータスラインを CR+LF 付き文字列で返します。

require 'webrick'
res = WEBrick::HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.status = 404

p res.status_line    #=>  "HTTP/1.1 404 Not Found \r\n"


instance method WEBrick::HTTPResponse#to_s

to_s -> String

実際にクライアントに送られるデータを文字列として返します。

require 'webrick'
include WEBrick
res = HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.body = 'hoge'
print res.to_s

#=> 出力結果
HTTP/1.1 200 OK
Connection: Keep-Alive
Date: Sat, 27 Oct 2007 08:58:49 GMT
Server:
Content-Length: 4

hoge


singleton method WEBrick::HTTPResponse.new

new(config)

HTTPResponse オブジェクトを生成して返します。

[PARAM] config:
設定を保存したハッシュを指定します。:HTTPVersion は必須です。
res = WEBrick::HTTPResponse.new( { :HTTPVersion => "1.1" } )


instance method WEBrick::HTTPServer#mount

mount(dir, servlet, *options) -> ()

サーバ上のディレクトリ dir にサーブレット servlet を対応させます。

[PARAM] dir:
ディレクトリをあらわす文字列を指定します。
[PARAM] servlet:
WEBrick::HTTPServlet::AbstractServlet のサブクラスのインスタンスを指定します。
[PARAM] options:
サーブレットのコンストラクタの引数を指定します。
include WEBrick
srv = HTTPServer.new( { :BindAddress => '127.0.0.1', :Port => 10080 } )
srv.mount('/img', WEBrick::HTTPServlet::FileHandler, '/home/username/images')


instance method WEBrick::HTTPServer#mount_proc

mount_proc(dir, proc) -> ()
mount_proc(dir) {|req, res| ...} -> ()

サーバ上のディレクトリ dir にリクエストを処理する Proc オブジェクト proc を対応させます。

[PARAM] dir:
ディレクトリをあらわす文字列を指定します。
[PARAM] proc:
リクエストを処理する Proc オブジェクトを指定します。 WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクトを引数として proc.call(request, response) の引数の順で呼び出されます。
[EXCEPTION] WEBrick::HTTPServerError:
proc も指定されずブロックも与えられない場合に発生します。


instance method WEBrick::HTTPServer#umount

unmount(dir) -> ()
umount(dir) -> ()

サーバ上のディレクトリ dir とサーブレットとの対応を解消します。

srv.mount('/img')


instance method WEBrick::HTTPServer#virtual_host

virtual_host(server) -> ()

サーバの保持しているバーチャルホストのリストに HTTP サーバ server を加えます。 クライアントからのリクエストのうち server へのものは server に委譲されるようになります。

[PARAM] server:
バーチャルホストを表す WEBrick::HTTPServer オブジェクトを指定します。
include WEBrick
srv1 = HTTPServer.new( { :Port => 1080, :ServerName => 'hoge.example.com' } )
srv2 = HTTPServer.new( { :Port => 1080, :ServerName => 'foo.example.com' } )

srv  = HTTPServer.new( { :Port => 1080 } )
srv.virtual_host(srv1)
srv.virtual_host(srv2)
srv.start


singleton method WEBrick::HTTPServer.new

new(config={}, default=Config::HTTP) -> WEBrick::HTTPServer

HTTPServer オブジェクトを生成して返します。

[PARAM] config:
設定を保存したハッシュを指定します。有効なキー(Symbol オブジェクト)と値は以下のとおりです。
:RequestTimeout

どれだけの時間 クライアントからの入力を待つかを整数か Float で指定します。 単位は秒です。

:HTTPVersion

使用する HTTP のバージョンです。WEBrick::HTTPVersion オブジェクトで指定します。デフォルトは 1.1 です。

:AccessLog

アクセスログの出力先とフォーマットを [[io, format], [io, format], ...] のような 配列で指定します。io は IO オブジェクトです。format は文字列です。デフォルトでは フォーマットの形式は Apache のそれに準拠し標準エラー出力に出力します。 http://httpd.apache.org/docs/mod/mod_log_config.html#formats WEBrick::AccessLog::COMMON_LOG_FORMAT WEBrick::AccessLog::REFERER_LOG_FORMAT も参照して下さい。

:MimeTypes

拡張子と mime-type との対応をハッシュで指定します。デフォルトは WEBrick::HTTPUtils::DefaultMimeTypes です。

:DirectoryIndex

ディレクトリのインデックスとなるファイル名を配列で指定します。

:DocumentRoot

サーバ上のルートディレクトリに対応させる、ローカルのファイルシステムの ディレクトリを文字列で指定します。

:DocumentRootOptions

ルートディレクトリの処理を担当する WEBrick::HTTPServlet::FileHandler のコンストラクタに 渡されるオプションをハッシュで指定します。デフォルトは { :FancyIndexing => true } ですので、 ディレクトリにアクセスするとディレクトリの内容を適当な形式で表示します。

:RequestCallback

クライアントからのリクエストを受け付けた時に呼ばれる Proc オブジェクトを 指定します。callback.call(req, res) のように WEBrick::HTTPRequest オブジェクトと WEBrick::HTTPResponse オブジェクトを引数として呼ばれます。

:ServerAlias

サーバのホスト名の別名を文字列の配列で指定します。

:CGIInterpreter

CGI を実行するインタプリタを文字列で指定します。

:CGIPathEnv

CGI に渡される PATH 環境変数を文字列で指定します。

:Escape8bitURI

この値が true の場合、クライアントからのリクエスト URI に含まれる 8bit 目が立った文字をエスケープします。 デフォルトは false です。

[PARAM] default:
config で指定されなかった場合のデフォルトの設定を保存したハッシュを指定します。


instance method WEBrick::HTTPServlet::AbstractServlet#do_DELETE

do_GET(req, res) -> ()
do_HEAD(req, res) -> ()
do_POST(req, res) -> ()
do_PUT(req, res) -> ()
do_DELETE(req, res) -> ()
do_OPTIONS(req, res) -> ()

自身の service メソッドから HTTP のリクエストに応じて 呼ばれるメソッドです。AbstractServlet のサブクラスはこれらのメソッドを適切に実装し なければいけません。返り値は特に規定されていません。

クライアントが使う可能性のある RFC で定義された HTTP のメソッドはすべて実装する必要があります。 クライアントからのリクエストに使われないと分かっているメソッドは実装しなくてもかまいません。 実装されていない HTTP メソッドであった場合、自身の service メソッドが 例外を発生させます。

このメソッドが呼ばれた時点では、クライアントからのリクエストに含まれる Entity Body の読み込みは まだ行われていません。WEBrick::HTTPRequest#query, WEBrick::HTTPRequest#body などの メソッドが読ばれた時点で読み込みが行われます。クライアントから巨大なデータが送られてくることを考慮して ユーザはプログラミングを行うべきです。

[PARAM] req:
クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトです。
[PARAM] res:
クライアントへのレスポンスを表す WEBrick::HTTPResponse オブジェクトです。

例:

require 'webrick'
class HogeServlet < WEBrick::HTTPServlet::AbstractServlet
  def do_GET(req, res)
     res.body = 'hoge'
  end
end

srv = WEBrick::HTTPServer.new({ :DocumentRoot => './',
                                :BindAddress => '127.0.0.1',
                                :Port => 20080})
srv.mount('/', HogeServlet)
trap("INT"){ srv.shutdown }
srv.start


instance method WEBrick::HTTPServlet::AbstractServlet#service

service(req, res) -> ()

指定された WEBrick::HTTPRequest オブジェクト req の WEBrick::HTTPRequest#request_method に応じて、 自身の do_GET, do_HEAD, do_POST, do_OPTIONS... いずれかのメソッドを req と res を引数として呼びます。

WEBrick::HTTPServer オブジェクトはクライアントからのリクエストがあるたびに サーブレットオブジェクトを生成し service メソッドを呼びます。

特に理由が無い限り AbstractServlet のサブクラスがこのメソッドを定義する必要はありません。

[PARAM] req:
クライアントからのリクエストを表す WEBrick::HTTPRequest オブジェクトです。
[PARAM] res:
クライアントへのレスポンスを表す WEBrick::HTTPResponse オブジェクトです。
[EXCEPTION] WEBrick::HTTPStatus::MethodNotAllowed:
指定された WEBrick::HTTPRequest オブジェクト req が自身に定義されていない HTTP のメソッドであった場合発生します。


singleton method WEBrick::HTTPServlet::AbstractServlet.get_instance

get_instance(server, *options) -> WEBrick::HTTPServlet::AbstractServlet

new(server, *options) を呼び出してサーブレットを生成して返します。 WEBrick::HTTPServer オブジェクトは実際にはこの get_instance メソッドを呼び出して サーブレットを生成します。

特に理由が無い限り AbstractServlet のサブクラスがこのメソッドを再定義する必要はありません。

[PARAM] server:
WEBrick::HTTPServer#mount 第3引数以降に指定された値がそのまま与えられます。
[PARAM] options:
WEBrick::HTTPServer#mount 第3引数以降に指定された値がそのまま与えられます。


singleton method WEBrick::HTTPServlet::AbstractServlet.new

new(server, *options) -> WEBrick::HTTPServlet::AbstractServlet

サーブレットを生成して返します。 WEBrick::HTTPServer オブジェクトは server に自身を指定してサーブレットを生成します。

[PARAM] server:
サーブレットを生成する WEBrick::HTTPServer オブジェクトを指定します。
[PARAM] options:
WEBrick::HTTPServer#mount 第3引数以降に指定された値がそのまま与えられます。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/cgihandler > class WEBrick::HTTPServlet::CGIHandler > CGIRunner

constant WEBrick::HTTPServlet::CGIHandler::CGIRunner

CGIRunner


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/cgihandler > class WEBrick::HTTPServlet::CGIHandler > Ruby

constant WEBrick::HTTPServlet::CGIHandler::Ruby

Ruby


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/cgihandler > class WEBrick::HTTPServlet::CGIHandler > do_GET

instance method WEBrick::HTTPServlet::CGIHandler#do_GET

do_GET(req, res)
do_POST(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/cgihandler > class WEBrick::HTTPServlet::CGIHandler > new

singleton method WEBrick::HTTPServlet::CGIHandler.new

new(server, name)

name は実行したいローカルの CGI ファイルを文字列で与える。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::DefaultFileHandler > do_GET

instance method WEBrick::HTTPServlet::DefaultFileHandler#do_GET

do_GET(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::DefaultFileHandler > make_partial_content

instance method WEBrick::HTTPServlet::DefaultFileHandler#make_partial_content

make_partial_content(req, res, filename, filesize)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::DefaultFileHandler > not_modified?

instance method WEBrick::HTTPServlet::DefaultFileHandler#not_modified?

not_modified?(req, res, mtime, etag)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::DefaultFileHandler > prepare_range

instance method WEBrick::HTTPServlet::DefaultFileHandler#prepare_range

prepare_range(range, filesize)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::DefaultFileHandler > new

singleton method WEBrick::HTTPServlet::DefaultFileHandler.new

new(server, local_path)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/erbhandler > class WEBrick::HTTPServlet::ERBHandler > do_GET

instance method WEBrick::HTTPServlet::ERBHandler#do_GET

do_GET(req, res)
do_POST(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/erbhandler > class WEBrick::HTTPServlet::ERBHandler > new

singleton method WEBrick::HTTPServlet::ERBHandler.new

new(server, name)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > HandlerTable

constant WEBrick::HTTPServlet::FileHandler::HandlerTable

HandlerTable


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > do_GET

instance method WEBrick::HTTPServlet::FileHandler#do_GET

do_GET(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > do_OPTIONS

instance method WEBrick::HTTPServlet::FileHandler#do_OPTIONS

do_OPTIONS(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > do_POST

instance method WEBrick::HTTPServlet::FileHandler#do_POST

do_POST(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > service

instance method WEBrick::HTTPServlet::FileHandler#service

service(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > add_handler

singleton method WEBrick::HTTPServlet::FileHandler.add_handler

add_handler(suffix, handler)


singleton method WEBrick::HTTPServlet::FileHandler.new

new(server, root, options={}, default=Config::FileHandler)

FileHandler サーブレットを生成する。root はサーブレットにルートディレクトリ として認識させる、ローカルのファイルシステムのディレクトリを文字列で与える。

configは設定を保存したハッシュ、 defaultにはデフォルトの設定を保存したハッシュを与える。 デフォルト値はそれぞれ{}とWEBrick::Config::FileHandler。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/filehandler > class WEBrick::HTTPServlet::FileHandler > remove_handler

singleton method WEBrick::HTTPServlet::FileHandler.remove_handler

remove_handler(suffix)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/prochandler > class WEBrick::HTTPServlet::ProcHandler > do_GET

instance method WEBrick::HTTPServlet::ProcHandler#do_GET

do_GET(req, res)
do_POST(req, res)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httpservlet/prochandler > class WEBrick::HTTPServlet::ProcHandler > get_instance

instance method WEBrick::HTTPServlet::ProcHandler#get_instance

get_instance(server, *options)


singleton method WEBrick::HTTPServlet::ProcHandler.new

new(proc)

proc には呼び出したい Proc オブジェクトを与える。proc はクライアントからの リクエストがあった時、proc.call(request, response) のように呼び出される。 WEBrick::HTTPResponse オブジェクトと WEBrick::HTTPRequest オブジェクト。


constant WEBrick::HTTPStatus::RC_ACCEPTED

RC_CONTINUE
RC_SWITCHING_PROTOCOLS
RC_OK
RC_CREATED
RC_ACCEPTED
RC_NON_AUTHORITATIVE_INFORMATION
RC_NO_CONTENT
RC_RESET_CONTENT
RC_PARTIAL_CONTENT
RC_MULTIPLE_CHOICES
RC_MOVED_PERMANENTLY
RC_FOUND
RC_SEE_OTHER
RC_NOT_MODIFIED
RC_USE_PROXY
RC_TEMPORARY_REDIRECT
RC_BAD_REQUEST
RC_UNAUTHORIZED
RC_PAYMENT_REQUIRED
RC_FORBIDDEN
RC_NOT_FOUND
RC_METHOD_NOT_ALLOWED
RC_NOT_ACCEPTABLE
RC_PROXY_AUTHENTICATION_REQUIRED
RC_REQUEST_TIMEOUT
RC_CONFLICT
RC_GONE
RC_LENGTH_REQUIRED
RC_PRECONDITION_FAILED
RC_REQUEST_ENTITY_TOO_LARGE
RC_REQUEST_URI_TOO_LARGE
RC_UNSUPPORTED_MEDIA_TYPE
RC_REQUEST_RANGE_NOT_SATISFIABLE
RC_EXPECTATION_FAILED
RC_INTERNAL_SERVER_ERROR
RC_NOT_IMPLEMENTED
RC_BAD_GATEWAY
RC_SERVICE_UNAVAILABLE
RC_GATEWAY_TIMEOUT
RC_HTTP_VERSION_NOT_SUPPORTED

HTTP のステータスコードを表す整数です。

require 'webrick'
p WEBrick::HTTPStatus::RC_INTERNAL_SERVER_ERROR   #=> 500


module function WEBrick::HTTPStatus.#client_error?

client_error?(code) -> bool

指定された整数が表すステータスコードが 4XX である場合に true を返します。そうでない場合に false を返します。

[PARAM] code:
HTTP のステータスコードを表す整数か文字列を指定します。


module function WEBrick::HTTPStatus.#error?

error?(code) -> bool

指定された整数が表すステータスコードが 4XX, 5xx である場合に true を返します。そうでない場合に false を返します。

[PARAM] code:
HTTP のステータスコードを表す整数か文字列を指定します。


module function WEBrick::HTTPStatus.#info?

info?(code) -> bool

指定された整数が表すステータスコードが 1XX である場合に true を返します。そうでない場合に false を返します。

[PARAM] code:
HTTP のステータスコードを表す整数を指定します。


module function WEBrick::HTTPStatus.#reason_phrase

reason_phrase(code) -> String

指定された整数が表すステータスコードに対応する reason phrase を表す文字列を返します。

[PARAM] code:
HTTP のステータスコードを表す整数か文字列を指定します。
require 'webrick'
p WEBrick::HTTPStatus.reason_phrase(304)   #=> "Not Modified"


module function WEBrick::HTTPStatus.#redirect?

redirect?(code) -> bool

指定された整数が表すステータスコードが 3XX である場合に true を返します。そうでない場合に false を返します。

[PARAM] code:
HTTP のステータスコードを表す整数か文字列を指定します。


module function WEBrick::HTTPStatus.#server_error?

server_error?(code) -> bool

指定された整数が表すステータスコードが 5XX である場合に true を返します。そうでない場合に false を返します。

[PARAM] code:
HTTP のステータスコードを表す整数か文字列を指定します。


module function WEBrick::HTTPStatus.#success?

success?(code) -> bool

指定された整数が表すステータスコードが 2XX である場合に true を返します。そうでない場合に false を返します。

[PARAM] code:
HTTP のステータスコードを表す整数か文字列を指定します。


singleton method WEBrick::HTTPStatus.[]

self[code] -> Class

指定された整数が表すステータスコードに対応する WEBrick::HTTPStatus::Status のサブクラスを返します。

[PARAM] code:
HTTP のステータスコードを表す整数を指定します。
require 'webrick'
p WEBrick::HTTPStatus[200]   #=> WEBrick::HTTPStatus::OK


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > DefaultMimeTypes

constant WEBrick::HTTPUtils::DefaultMimeTypes

DefaultMimeTypes


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > dequote

module function WEBrick::HTTPUtils.#dequote

dequote(str)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > escape

module function WEBrick::HTTPUtils.#escape

escape(str)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > escape8bit

module function WEBrick::HTTPUtils.#escape8bit

escape8bit(str)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > escape_path

module function WEBrick::HTTPUtils.#escape_path

escape_path(str)


module function WEBrick::HTTPUtils.#load_mime_types

load_mime_types(file) -> Hash

Apache の mime.types ファイル形式の file を読み込み 拡張子をキー、MIME タイプを値とするハッシュを返します。キーも値も文字列です。

[PARAM] file:
Apache の mime.types ファイル形式のファイルの名前を文字列で指定します。
p WEBrick::HTTPUtils.load_mime_types('/etc/mime.types')
# => {"htm"=>"text/html", "rpm"=>"application/x-rpm", ... }


module function WEBrick::HTTPUtils.#mime_type

mime_type(filename, mime_tab) -> String

ファイル名 filename の拡張子をもとにその MIME タイプを指定された mime_tab から探して文字列として返します。MIME タイプが見つからない場合は "application/octet-stream" を返します。

[PARAM] filename:
ファイル名を文字列で指定します。
[PARAM] mime_tab:
拡張子をキー、MIME タイプを値とするハッシュを指定します。
include WEBrick::HTTPUtils
p mime_type('index.html', DefaultMimeTypes)     #=> "text/html"
p mime_type('index.html.ja', DefaultMimeTypes)  #=> "text/html"
p mime_type('index.hoge', DefaultMimeTypes)     #=> "application/octet-stream"


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > parse_header

module function WEBrick::HTTPUtils.#parse_header

parse_header(raw)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > parse_range_header

module function WEBrick::HTTPUtils.#parse_range_header

parse_range_header(ranges_specifier)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > quote

module function WEBrick::HTTPUtils.#quote

quote(str)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > split_header_value

module function WEBrick::HTTPUtils.#split_header_value

split_header_value(str)


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > module WEBrick::HTTPUtils > unescape

module function WEBrick::HTTPUtils.#unescape

unescape(str)


instance method WEBrick::HTTPUtils::FormData#<<

self << str -> self

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。


instance method WEBrick::HTTPUtils::FormData#[]

self[header] -> String | nil

自身が multipart/form-data なデータの場合に、header で指定された ヘッダの値を文字列で返します。無ければ nil を返します。

[PARAM] header:
ヘッダ名を文字列で指定します。大文字と小文字を区別しません。

例:

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    p req.query['q']['content-type']   #=> "plain/text"
  end
end
MyCGI.new.start()


instance method WEBrick::HTTPUtils::FormData#append_data

append_data(data) -> self

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。


instance method WEBrick::HTTPUtils::FormData#each_data

each_data {|s| ... }

自身が表す各フォームデータを引数として、与えられたブロックを実行します。

例:

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    req.query['q'].each_data{|s|
      p s
    }
    #=> "val1"
        "val2"
        "val3"
  end
end
MyCGI.new.start()


instance method WEBrick::HTTPUtils::FormData#filename

filename -> String | nil
filename=(value)

フォームデータの filename 属性を文字列で表すアクセサです。

[PARAM] value:
フォームデータの filename 属性を文字列で指定します。

例:

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    p req.query['q'].filename   #=> "my_file.txt"
  end
end
MyCGI.new.start()


instance method WEBrick::HTTPUtils::FormData#list

list -> Array
to_ary -> Array

自身が表す各フォームデータを収納した配列を生成して返します。

例:

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    p req.query['q'].list    #=> ["val1", "val2", "val3"]
  end
end
MyCGI.new.start()


instance method WEBrick::HTTPUtils::FormData#name

name -> String | nil
name=(value)

フォームデータの name 属性を文字列で表すアクセサです。

[PARAM] value:
フォームデータの name 属性を文字列で指定します。

例:

require "webrick/cgi"
class MyCGI < WEBrick::CGI
  def do_GET(req, res)
    p req.query['q'].name   #=> "q"
  end
end
MyCGI.new.start()


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/httputils > class WEBrick::HTTPUtils::FormData > to_s

instance method WEBrick::HTTPUtils::FormData#to_s

to_s -> String

自身が表すフォームデータのうちのひとつを文字列として返します。


singleton method WEBrick::HTTPUtils::FormData.new

new(*args) -> WEBrick::HTTPUtils::FormData

WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。


instance method WEBrick::HTTPVersion#<=>

self <=> other -> -1 | 0 | 1 | nil

自身と指定された other のバージョンを比較します。 自身が other より新しいなら 1、同じなら 0、古いなら -1 を返します。 比較できない場合に nil を返します。

[PARAM] other:
HTTP のバージョンを表す WEBrick::HTTPVersion オブジェクトか文字列を指定します。
require 'webrick'
v = WEBrick::HTTPVersion.new('1.1')
p v < '1.0'                          #=> false


instance method WEBrick::HTTPVersion#major

major -> Integer
major=(n)

HTTP バージョンのメジャーを整数で表すアクセサです。

[PARAM] n:
HTTP バージョンのメジャーを整数で指定します。


instance method WEBrick::HTTPVersion#minor

minor -> Integer
minor=(n)

HTTP バージョンのマイナーを整数で表すアクセサです。

[PARAM] n:
HTTP バージョンのマイナーを整数で指定します。


instance method WEBrick::HTTPVersion#to_s

to_s -> String

自身を文字列に変換して返します。

require 'webrick'
v = WEBrick::HTTPVersion.new('1.1')
p v.to_s                            #=> "1.1"


singleton method WEBrick::HTTPVersion.convert

convert(version) -> WEBrick::HTTPVersion

指定された version を HTTPVersion オブジェクトに変換して返します。 version が HTTPVersion オブジェクトの場合はそのまま version を返します。

[PARAM] version:
HTTP のバージョンを WEBrick::HTTPVersion オブジェクトか文字列で指定します。


singleton method WEBrick::HTTPVersion.new

new(version) -> WEBrick::HTTPVersion

HTTPVersion オブジェクトを生成する。version は文字列か HTTPVersion オブジェクト。

[PARAM] version:
HTTP のバージョンを WEBrick::HTTPVersion オブジェクトか文字列で指定します。


instance method WEBrick::Log#debug

debug(msg = nil) [redefined by soap/rpc/soaplet]
debug(msg = nil) {|msg| ... } [redefined by soap/rpc/soaplet]


instance method WEBrick::Log#time_format

time_format -> String
time_format=()

時間を記録するフォーマットを文字列で表すアクセサです。 形式は Time#strftime と同じです。 デフォルトは "[%Y-%m-%d %H:%M:%S]" です。


module function WEBrick::Utils.#getservername

getservername -> String

プロセスが動いているマシンのホスト名を文字列で返します。

p WEBrick::Utils.getservername   #=> "localhost"


module function WEBrick::Utils.#random_string

random_string(len) -> String

A-Z, a-z, 0-9 からなる長さ len のランダムな文字列を返します。

[PARAM] len:
得たい文字列の長さを整数で指定します。単位はバイトです。
p WEBrick::Utils.random_string(10)   #=> "xF0jwU4RJd"


module function WEBrick::Utils.#set_close_on_exec

set_close_on_exec(io) -> ()

指定された io の Fcntl::FD_CLOEXEC を 1 に設定します。 この io は Kernel.#exec などが実行される時に close されるようになります。

[PARAM] io:
IO オブジェクトを指定します。

[SEE_ALSO] fcntl(2)


module function WEBrick::Utils.#set_non_blocking

set_non_blocking(io) -> ()

指定された io をノンブロッキングに設定します。

[PARAM] io:
IO オブジェクトを指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library webrick/utils > module WEBrick::Utils > su

module function WEBrick::Utils.#su

su(user)


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE > ARGV

constant WIN32OLE::ARGV

ARGV


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE > CP_ACP

constant WIN32OLE::CP_ACP

CP_ACP
CP_MACCP
CP_OEMCP
CP_SYMBOL
CP_THREAD_ACP
CP_UTF7
CP_UTF8


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE > LOCALE_SYSTEM_DEFAULT

constant WIN32OLE::LOCALE_SYSTEM_DEFAULT

LOCALE_SYSTEM_DEFAULT


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE > LOCALE_USER_DEFAULT

constant WIN32OLE::LOCALE_USER_DEFAULT

LOCALE_USER_DEFAULT


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE > VERSION

constant WIN32OLE::VERSION

VERSION


instance method WIN32OLE#[]

self[property]

Returns property of OLE object.

excel = WIN32OLE.new('Excel.Application')
puts excel['Visible'] # => false


instance method WIN32OLE#[]=

self[property] = val
setproperty('property', [arg1, arg2,...] val)

Sets property of OLE object. When you want to set property with argument, you can use this method.

excel = WIN32OLE.new('Excel.Application')
excel['Visible'] = true
book = excel.workbooks.add
sheet = book.worksheets(1)
sheet.setproperty('Cells', 1, 2, 10) # => The B1 cell value is 10.


instance method WIN32OLE#_getproperty

_getproperty(dispid, args, types)

Runs the early binding method to get property. The 1st argument specifies dispatch ID, the 2nd argument specifies the array of arguments, the 3rd argument specifies the array of the type of arguments.

excel = WIN32OLE.new('Excel.Application')
puts excel._getproperty(558, [], []) # same effect as puts excel.visible


instance method WIN32OLE#_invoke

_invoke(dispid, args, types)

Runs the early binding method. The 1st argument specifies dispatch ID, the 2nd argument specifies the array of arguments, the 3rd argument specifies the array of the type of arguments.

excel = WIN32OLE.new('Excel.Application')
excel._invoke(302, [], []) #  same effect as excel.Quit


instance method WIN32OLE#_setproperty

_setproperty(dispid, args, types)

Runs the early binding method to set property. The 1st argument specifies dispatch ID, the 2nd argument specifies the array of arguments, the 3rd argument specifies the array of the type of arguments.

excel = WIN32OLE.new('Excel.Application')
excel._setproperty(558, [true], [WIN32OLE::VARIANT::VT_BOOL]) # same effect as excel.visible = true


instance method WIN32OLE#each

each {|i|...}

Iterates over each item of OLE collection which has IEnumVARIANT interface.

excel = WIN32OLE.new('Excel.Application')
book = excel.workbooks.add
sheets = book.worksheets(1)
cells = sheets.cells("A1:A5")
cells.each do |cell|
  cell.value = 10
end


instance method WIN32OLE#invoke

invoke(method, [arg1,...]) -> return value of method.

Runs OLE method. The first argument specifies the method name of OLE Automation object. The others specify argument of the method. If you can not execute method directly, then use this method instead.

excel = WIN32OLE.new('Excel.Application')
excel.invoke('Quit')  # => same as excel.Quit


instance method WIN32OLE#method_missing

method_missing(id [,arg1, arg2, ...])

Calls WIN32OLE#invoke method.


instance method WIN32OLE#ole_activex_initialize

ole_activex_initialize -> Qnil

Initialize WIN32OLE object(ActiveX Control) by calling IPersistMemory::InitNew.

Before calling OLE method, some kind of the ActiveX controls created with MFC should be initialized by calling IPersistXXX::InitNew.

If and only if you recieved the exception "HRESULT error code: 0x8000ffff catastrophic failure", try this method before invoking any ole_method.

obj = WIN32OLE.new("ProgID_or_GUID_of_ActiveX_Control")
obj.ole_activex_initialize
obj.method(...)


instance method WIN32OLE#ole_free

ole_free

invokes Release method of Dispatch interface of WIN32OLE object. Usually, you do not need to call this method because Release method called automatically when WIN32OLE object garbaged.


instance method WIN32OLE#ole_func_methods

ole_func_methods

Returns the array of WIN32OLE_METHOD object . The element of the array is functional method of WIN32OLE object.

excel = WIN32OLE.new('Excel.Application')
properties = excel.ole_func_methods


instance method WIN32OLE#ole_get_methods

ole_get_methods

Returns the array of WIN32OLE_METHOD object . The element of the array is property (gettable) of WIN32OLE object.

excel = WIN32OLE.new('Excel.Application')
properties = excel.ole_get_methods


instance method WIN32OLE#ole_method_help

ole_method_help(method)

alias ole_method_help

Returns WIN32OLE_METHOD object corresponding with method specified by 1st argument.

excel = WIN32OLE.new('Excel.Application')
method = excel.ole_method_help('Quit')
ole_method_help(method)

alias ole_method_help

Returns WIN32OLE_METHOD object corresponding with method specified by 1st argument.

excel = WIN32OLE.new('Excel.Application')
method = excel.ole_method_help('Quit')


instance method WIN32OLE#ole_methods

ole_methods

Returns the array of WIN32OLE_METHOD object. The element is OLE method of WIN32OLE object.

excel = WIN32OLE.new('Excel.Application')
methods = excel.ole_methods


instance method WIN32OLE#ole_obj_help

ole_obj_help

Returns WIN32OLE_TYPE object.

excel = WIN32OLE.new('Excel.Application')
tobj = excel.ole_obj_help


instance method WIN32OLE#ole_put_methods

ole_put_methods

Returns the array of WIN32OLE_METHOD object . The element of the array is property (settable) of WIN32OLE object.

excel = WIN32OLE.new('Excel.Application')
properties = excel.ole_put_methods


singleton method WIN32OLE.codepage

codepage

Returns current codepage.

WIN32OLE.codepage   # => WIN32OLE::CP_ACP


singleton method WIN32OLE.codepage=

codepage=(cp)

Sets current codepage.

WIN32OLE.codepage = WIN32OLE::CP_UTF8


singleton method WIN32OLE.connect

connect(ole) -> WIN32OLE

Returns running OLE Automation object or WIN32OLE object from moniker. 1st argument should be OLE program id or class id or moniker.

WIN32OLE.connect('Excel.Application') # => WIN32OLE object which represents running Excel.


singleton method WIN32OLE.const_load

const_load(ole, mod = WIN32OLE)

Defines the constants of OLE Automation server as mod's constants. The first argument is WIN32OLE object or type library name. If 2nd argument is omitted, the default is WIN32OLE. The first letter of Ruby's constant variable name is upper case, so constant variable name of WIN32OLE object is capitalized. For example, the 'xlTop' constant of Excel is changed to 'XlTop' in WIN32OLE. If the first letter of constant variabl is not [A-Z], then the constant is defined as CONSTANTS hash element.

module EXCEL_CONST
end
excel = WIN32OLE.new('Excel.Application')
WIN32OLE.const_load(excel, EXCEL_CONST)
puts EXCEL_CONST::XlTop # => -4160
puts EXCEL_CONST::CONSTANTS['_xlDialogChartSourceData'] # => 541

WIN32OLE.const_load(excel)
puts WIN32OLE::XlTop # => -4160

module MSO
end
WIN32OLE.const_load('Microsoft Office 9.0 Object Library', MSO)
puts MSO::MsoLineSingle # => 1


singleton method WIN32OLE.new

new(server, [host]) -> WIN32OLE object

Returns a new WIN32OLE object(OLE Automation object). The first argument server specifies OLE Automation server. The first argument should be CLSID or PROGID. If second argument host specified, then returns OLE Automation object on host.

WIN32OLE.new('Excel.Application') # => Excel OLE Automation WIN32OLE object.
WIN32OLE.new('{00024500-0000-0000-C000-000000000046}') # => Excel OLE Automation WIN32OLE object.


singleton method WIN32OLE.ole_free

ole_free(aWIN32OLE) -> number

Invokes Release method of Dispatch interface of WIN32OLE object. You should not use this method because this method exists only for debugging WIN32OLE. The return value is reference counter of OLE object.


singleton method WIN32OLE.ole_reference_count

ole_reference_count(aWIN32OLE) -> number

Returns reference counter of Dispatch interface of WIN32OLE object. You should not use this method because this method exists only for debugging WIN32OLE.


singleton method WIN32OLE.ole_show_help

ole_show_help(obj, helpcontext = nil)

Displays helpfile. The 1st argument specifies WIN32OLE_TYPE object or WIN32OLE_METHOD object or helpfile.

excel = WIN32OLE.new('Excel.Application')
typeobj = excel.ole_type
WIN32OLE.ole_show_help(typeobj)


constant WIN32OLE::VARIANT::VT_ARRAY

VT_ARRAY
VT_BOOL
VT_BSTR
VT_BYREF
VT_CY
VT_DATE
VT_DISPATCH
VT_ERROR
VT_I1
VT_I2
VT_I4
VT_INT
VT_PTR
VT_R4
VT_R8
VT_UI1
VT_UI2
VT_UI4
VT_UINT
VT_UNKNOWN
VT_USERDEFINED
VT_VARIANT


instance method WIN32OLE_EVENT#on_event

on_event([event]) {...}

Defines the callback event. If argument is omitted, this method defines the callback of all events.

ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents')
ev.on_event("NavigateComplete") {|url| puts url}


instance method WIN32OLE_EVENT#on_event_with_outargs

on_event_with_outargs([event]) {...}

Defines the callback of event. If you want modify argument in callback, you should use this method instead of WIN32OLE_EVENT#on_event.


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE_EVENT > unadvice

instance method WIN32OLE_EVENT#unadvice

unadvice


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE_EVENT > message_loop

singleton method WIN32OLE_EVENT.message_loop

message_loop

Translates and dispatches Windows message.


singleton method WIN32OLE_EVENT.new

new(ole, event) -> WIN32OLE_EVENT

Returns OLE event object. The first argument specifies WIN32OLE object. The second argument specifies OLE event name.

ie = WIN32OLE.new('InternetExplorer.Application')
ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents')


instance method WIN32OLE_METHOD#dispid

dispid

Returns dispatch ID.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.dispid # => 181


instance method WIN32OLE_METHOD#event?

event?

Returns true if the method is event.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SheetActivate')
puts method.event? # => true


instance method WIN32OLE_METHOD#event_interface

event_interface

Returns event interface name if the method is event.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SheetActivate')
puts method.event_interface # =>  WorkbookEvents


instance method WIN32OLE_METHOD#helpcontext

helpcontext

Returns help context.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.helpcontext # => 65717


instance method WIN32OLE_METHOD#helpfile

helpfile

Returns help file. If help file is not found, then the method returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.helpfile # => C:\...\VBAXL9.CHM


instance method WIN32OLE_METHOD#helpstring

helpstring

Returns help string of OLE method. If the help string is not found, then the method returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'IWebBrowser')
method = WIN32OLE_METHOD.new(tobj, 'Navigate')
puts method.helpstring # => Navigates to a URL or file.


instance method WIN32OLE_METHOD#invkind

invkind

Returns the method invoke kind.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.invkind # => 1


instance method WIN32OLE_METHOD#invoke_kind

invoke_kind

Returns the method kind string. The string is "UNKNOWN" or "PROPERTY" or "PROPERTY" or "PROPERTYGET" or "PROPERTYPUT" or "PROPERTYPPUTREF" or "FUNC".

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.invoke_kind # => "FUNC"


instance method WIN32OLE_METHOD#name

name

alias to_s

call-seq

WIN32OLE_METHOD#name

Returns the name of the method.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.name # => SaveAs


instance method WIN32OLE_METHOD#offset_vtbl

offset_vtbl

Returns the offset ov VTBL.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.offset_vtbl # => 40


instance method WIN32OLE_METHOD#params

params

returns array of WIN32OLE_PARAM object corresponding with method parameters.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
p method.params # => [Filename, FileFormat, Password, WriteResPassword,
                      ReadOnlyRecommended, CreateBackup, AccessMode,
                      ConflictResolution, AddToMru, TextCodepage,
                      TextVisualLayout]


instance method WIN32OLE_METHOD#return_type

return_type

Returns string of return value type of method.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.return_type # => Workbook


instance method WIN32OLE_METHOD#return_type_detail

return_type_detail

Returns detail information of return value type of method. The information is array.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
p method.return_type_detail # => ["PTR", "USERDEFINED", "Workbook"]


instance method WIN32OLE_METHOD#return_vtype

return_vtype

Returns number of return value type of method.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.return_vtype # => 26


instance method WIN32OLE_METHOD#size_opt_params

size_opt_params

Returns the size of optional parameters.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.size_opt_params # => 4


instance method WIN32OLE_METHOD#size_params

size_params

Returns the size of arguments of the method.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
puts method.size_params # => 11


instance method WIN32OLE_METHOD#visible?

visible?

Returns true if the method is public.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbooks')
method = WIN32OLE_METHOD.new(tobj, 'Add')
puts method.visible? # => true


singleton method WIN32OLE_METHOD.new

new(ole_type, method) -> WIN32OLE_METHOD object

Returns a new WIN32OLE_METHOD object which represents the information about OLE method. The first argument ole_type specifies WIN32OLE_TYPE object. The second argument method specifies OLE method name defined OLE class which represents WIN32OLE_TYPE object.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')


instance method WIN32OLE_PARAM#default

default

Returns default value. If the default value does not exist, this method returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
method.params.each do |param|
  if param.default
    puts "#{param.name} (= #{param.default})"
  else
    puts "#{param}"
  end
end

The above script result is following:
    Filename
    FileFormat
    Password
    WriteResPassword
    ReadOnlyRecommended
    CreateBackup
    AccessMode (= 1)
    ConflictResolution
    AddToMru
    TextCodepage
    TextVisualLayout


instance method WIN32OLE_PARAM#input?

input?

Returns true if the parameter is input.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.input? # => true


instance method WIN32OLE_PARAM#name

name

alias to_s

Returns name.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.name # => Filename


instance method WIN32OLE_PARAM#ole_type

ole_type

Returns OLE type of WIN32OLE_PARAM object(parameter of OLE method).

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.ole_type # => VARIANT


instance method WIN32OLE_PARAM#ole_type_detail

ole_type_detail

Returns detail information of type of argument.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'IWorksheetFunction')
method = WIN32OLE_METHOD.new(tobj, 'SumIf')
param1 = method.params[0]
p param1.ole_type_detail # => ["PTR", "USERDEFINED", "Range"]


instance method WIN32OLE_PARAM#optional?

optional?

Returns true if argument is optional.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts "#{param1.name} #{param1.optional?}" # => Filename true


instance method WIN32OLE_PARAM#output?

output?

Returns true if argument is output.

tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'DWebBrowserEvents')
method = WIN32OLE_METHOD.new(tobj, 'NewWindow')
method.params.each do |param|
  puts "#{param.name} #{param.output?}"
end

The result of above script is following:
  URL false
  Flags false
  TargetFrameName false
  PostData false
  Headers false
  Processed true


instance method WIN32OLE_PARAM#retval?

retval?

Returns true if argument is return value.

tobj = WIN32OLE_TYPE.new('DirectX 7 for Visual Basic Type Library',
                         'DirectPlayLobbyConnection')
method = WIN32OLE_METHOD.new(tobj, 'GetPlayerShortName')
param = method.params[0]
puts "#{param.name} #{param.retval?}"  # => name true


instance method WIN32OLE_TYPE#guid

guid -> GUID

Returns GUID.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
puts tobj.guid  # => {00024500-0000-0000-C000-000000000046}


instance method WIN32OLE_TYPE#helpcontext

helpcontext

Returns helpcontext. If helpcontext is not found, then returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
puts tobj.helpfile # => 131185


instance method WIN32OLE_TYPE#helpfile

helpfile

Returns helpfile path. If helpfile is not found, then returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
puts tobj.helpfile # => C:\...\VBAXL9.CHM


instance method WIN32OLE_TYPE#helpstring

helpstring -> String

Returns help string.

tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'IWebBrowser')
p tobj.helpstring   # => "Web Browser interface"


instance method WIN32OLE_TYPE#major_version

major_version

Returns major version.

tobj = WIN32OLE_TYPE.new('Microsoft Word 10.0 Object Library', 'Documents')
p tobj.major_version   # => 8


instance method WIN32OLE_TYPE#minor_version

minor_version -> Integer

Returns minor version.

tobj = WIN32OLE_TYPE.new('Microsoft Word 10.0 Object Library', 'Documents')
p tobj.minor_version   # => 2


instance method WIN32OLE_TYPE#name

name -> String

alias to_s

Returns OLE type name.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
p tobj.name   # => "Application"


instance method WIN32OLE_TYPE#ole_methods

ole_methods -> [WIN32OLE_METHOD]

Returns array of WIN32OLE_METHOD objects which represent OLE method defined in OLE type library.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
methods = tobj.ole_methods.collect{|m|
  m.name
}
# => ['Activate', 'Copy', 'Delete',....]


instance method WIN32OLE_TYPE#ole_type

ole_type -> Class

returns type of OLE class.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
p tobj.ole_type  # => Class


instance method WIN32OLE_TYPE#progid

progid -> String

Returns ProgID if it exists. If not found, then returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
p tobj.progid   # => "Excel.Application.9"


instance method WIN32OLE_TYPE#src_type

src_type -> Class

Returns source class when the OLE class is 'Alias'.

tobj =  WIN32OLE_TYPE.new('Microsoft Office 9.0 Object Library', 'MsoRGBType')
p tobj.src_type   # => I4


instance method WIN32OLE_TYPE#typekind

typekind -> Integer

Returns number which represents type.

tobj = WIN32OLE_TYPE.new('Microsoft Word 10.0 Object Library', 'Documents')
p tobj.typekind   # => 4


instance method WIN32OLE_TYPE#variables

variables

Returns array of WIN32OLE_VARIABLE objects which represent variables defined in OLE class.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
vars = tobj.variables
vars.each do |v|
  puts "#{v.name} = #{v.value}"
end

The result of above sample script is follows:
  xlChart = -4109
  xlDialogSheet = -4116
  xlExcel4IntlMacroSheet = 4
  xlExcel4MacroSheet = 3
  xlWorksheet = -4167


instance method WIN32OLE_TYPE#visible

visible -> bool

Returns true if the OLE class is public.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
puts tobj.visible  # => true


singleton method WIN32OLE_TYPE.new

new(typelib, ole_class) -> WIN32OLE_TYPE object

Returns a new WIN32OLE_TYPE object. The first argument typelib specifies OLE type library name. The second argument specifies OLE class name.

WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
    # => WIN32OLE_TYPE object of Application class of Excel.


singleton method WIN32OLE_TYPE.ole_classes

ole_classes(typelib)

Returns array of WIN32OLE_TYPE objects defined by the typelib type library.


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE_TYPE > progids

singleton method WIN32OLE_TYPE.progids

progids

Returns array of ProgID.


Ruby 1.8.7 Reference Manual > All Libraries > library win32ole > class WIN32OLE_TYPE > typelibs

singleton method WIN32OLE_TYPE.typelibs

typelibs

Returns array of type libraries.


instance method WIN32OLE_VARIABLE#name

name

alias to_s

Returns the name of variable.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.name}"
end

The result of above script is following:
  xlChart
  xlDialogSheet
  xlExcel4IntlMacroSheet
  xlExcel4MacroSheet
  xlWorksheet


instance method WIN32OLE_VARIABLE#ole_type

ole_type

Returns OLE type string.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.ole_type} #{variable.name}"
end

The result of above script is following:
  INT xlChart
  INT xlDialogSheet
  INT xlExcel4IntlMacroSheet
  INT xlExcel4MacroSheet
  INT xlWorksheet


instance method WIN32OLE_VARIABLE#ole_type_detail

ole_type_detail

Returns detail information of type. The information is array of type.

tobj = WIN32OLE_TYPE.new('DirectX 7 for Visual Basic Type Library', 'D3DCLIPSTATUS')
variable = tobj.variables.find {|variable| variable.name == 'lFlags'}
tdetail  = variable.ole_type_detail
p tdetail # => ["USERDEFINED", "CONST_D3DCLIPSTATUSFLAGS"]


instance method WIN32OLE_VARIABLE#value

value

Returns value if value is exists. If the value does not exist, this method returns nil.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.name} = #{variable.value}"
end

The result of above script is following:
  xlChart = -4109
  xlDialogSheet = -4116
  xlExcel4IntlMacroSheet = 4
  xlExcel4MacroSheet = 3
  xlWorksheet = -4167


instance method WIN32OLE_VARIABLE#variable_kind

variable_kind

Returns variable kind string.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.name} #{variable.variable_kind}"
end

The result of above script is following:
  xlChart CONSTANT
  xlDialogSheet CONSTANT
  xlExcel4IntlMacroSheet CONSTANT
  xlExcel4MacroSheet CONSTANT
  xlWorksheet CONSTANT


instance method WIN32OLE_VARIABLE#varkind

varkind

Returns the number which represents variable kind.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.name} #{variable.varkind}"
end

The result of above script is following:
   xlChart 2
   xlDialogSheet 2
   xlExcel4IntlMacroSheet 2
   xlExcel4MacroSheet 2
   xlWorksheet 2


instance method WIN32OLE_VARIABLE#visible?

visible?

Returns true if the variable is public.

tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
variables = tobj.variables
variables.each do |variable|
  puts "#{variable.name} #{variable.visible?}"
end

The result of above script is following:
  xlChart true
  xlDialogSheet true
  xlExcel4IntlMacroSheet true
  xlExcel4MacroSheet true
  xlWorksheet true


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > ArrayTypeAttrName

constant WSDL::ArrayTypeAttrName

ArrayTypeAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > BindingAttrName

constant WSDL::BindingAttrName

BindingAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > BindingName

constant WSDL::BindingName

BindingName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > DefinitionsName

constant WSDL::DefinitionsName

DefinitionsName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > DocumentationName

constant WSDL::DocumentationName

DocumentationName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > ElementAttrName

constant WSDL::ElementAttrName

ElementAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > FaultName

constant WSDL::FaultName

FaultName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > ImportName

constant WSDL::ImportName

ImportName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > InputName

constant WSDL::InputName

InputName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > LocationAttrName

constant WSDL::LocationAttrName

LocationAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > MessageAttrName

constant WSDL::MessageAttrName

MessageAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > MessageName

constant WSDL::MessageName

MessageName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > NameAttrName

constant WSDL::NameAttrName

NameAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/wsdl > module WSDL > Namespace

constant WSDL::Namespace

Namespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > NamespaceAttrName

constant WSDL::NamespaceAttrName

NamespaceAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > OperationName

constant WSDL::OperationName

OperationName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > OutputName

constant WSDL::OutputName

OutputName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > ParameterOrderAttrName

constant WSDL::ParameterOrderAttrName

ParameterOrderAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > PartName

constant WSDL::PartName

PartName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > PortName

constant WSDL::PortName

PortName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > PortTypeName

constant WSDL::PortTypeName

PortTypeName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SOAPAddressName

constant WSDL::SOAPAddressName

SOAPAddressName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SOAPBindingName

constant WSDL::SOAPBindingName

SOAPBindingName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/wsdl > module WSDL > SOAPBindingNamespace

constant WSDL::SOAPBindingNamespace

SOAPBindingNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SOAPBodyName

constant WSDL::SOAPBodyName

SOAPBodyName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SOAPFaultName

constant WSDL::SOAPFaultName

SOAPFaultName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SOAPHeaderName

constant WSDL::SOAPHeaderName

SOAPHeaderName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SOAPOperationName

constant WSDL::SOAPOperationName

SOAPOperationName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > SchemaName

constant WSDL::SchemaName

SchemaName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > ServiceName

constant WSDL::ServiceName

ServiceName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > TargetNamespaceAttrName

constant WSDL::TargetNamespaceAttrName

TargetNamespaceAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > TypeAttrName

constant WSDL::TypeAttrName

TypeAttrName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/data > module WSDL > TypesName

constant WSDL::TypesName

TypesName [added by wsdl/data]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/wsdl > module WSDL > Version

constant WSDL::Version

Version

このライブラリのバージョンを表す定数。


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > name

instance method WSDL::Binding#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > operations

instance method WSDL::Binding#operations

operations

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > parse_attr

instance method WSDL::Binding#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > parse_element

instance method WSDL::Binding#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > soapbinding

instance method WSDL::Binding#soapbinding

soapbinding

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > targetnamespace

instance method WSDL::Binding#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > type

instance method WSDL::Binding#type

type

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/binding > class WSDL::Binding > new

singleton method WSDL::Binding.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > add_type

instance method WSDL::Definitions#add_type

add_type(complextype)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > binding

instance method WSDL::Definitions#binding

binding(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > bindings

instance method WSDL::Definitions#bindings

bindings


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > collect_attributes

instance method WSDL::Definitions#collect_attributes

collect_attributes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > collect_complextypes

instance method WSDL::Definitions#collect_complextypes

collect_complextypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > collect_elements

instance method WSDL::Definitions#collect_elements

collect_elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > collect_fault_messages (private)

instance method WSDL::Definitions#collect_fault_messages

collect_fault_messages


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > collect_faulttypes

instance method WSDL::Definitions#collect_faulttypes

collect_faulttypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > collect_simpletypes

instance method WSDL::Definitions#collect_simpletypes

collect_simpletypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > elements_from_message (private)

instance method WSDL::Definitions#elements_from_message

elements_from_message(message)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > importedschema

instance method WSDL::Definitions#importedschema

importedschema

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > imports

instance method WSDL::Definitions#imports

imports

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > inspect

instance method WSDL::Definitions#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > location

instance method WSDL::Definitions#location

location
location=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > message

instance method WSDL::Definitions#message

message(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > messages

instance method WSDL::Definitions#messages

messages


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > name

instance method WSDL::Definitions#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > op_bind_rpc? (private)

instance method WSDL::Definitions#op_bind_rpc?

op_bind_rpc?(op_bind)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > parse_attr

instance method WSDL::Definitions#parse_attr

parse_attr(attr, name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > parse_element

instance method WSDL::Definitions#parse_element

parse_element(element)

WSDL::Info#parse_elementを呼び出そうとするが実装が無い


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > porttype

instance method WSDL::Definitions#porttype

porttype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > porttype_binding

instance method WSDL::Definitions#porttype_binding

porttype_binding


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > porttypes

instance method WSDL::Definitions#porttypes

porttypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > rpc_operation_complextypes (private)

instance method WSDL::Definitions#rpc_operation_complextypes

rpc_operation_complextypes(binding)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > service

instance method WSDL::Definitions#service

service


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > services

instance method WSDL::Definitions#services

services


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > soap_rpc_complextypes

instance method WSDL::Definitions#soap_rpc_complextypes

soap_rpc_complextypes(binding)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > targetnamespace

instance method WSDL::Definitions#targetnamespace

targetnamespace
targetnamespace=(targetnamespace)

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > array_complextype

singleton method WSDL::Definitions.array_complextype

array_complextype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > exception_complextype

singleton method WSDL::Definitions.exception_complextype

exception_complextype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > fault_complextype

singleton method WSDL::Definitions.fault_complextype

fault_complextype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > new

singleton method WSDL::Definitions.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/definitions > class WSDL::Definitions > parse_element

singleton method WSDL::Definitions.parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/definitions > class WSDL::Definitions > soap_rpc_complextypes

singleton method WSDL::Definitions.soap_rpc_complextypes

soap_rpc_complextypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/documentation > class WSDL::Documentation > parse_attr

instance method WSDL::Documentation#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/documentation > class WSDL::Documentation > parse_element

instance method WSDL::Documentation#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/documentation > class WSDL::Documentation > new

singleton method WSDL::Documentation.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/import > class WSDL::Import > content

instance method WSDL::Import#content

content

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/import > class WSDL::Import > location

instance method WSDL::Import#location

location

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/import > class WSDL::Import > namespace

instance method WSDL::Import#namespace

namespace

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/import > class WSDL::Import > parse_attr

instance method WSDL::Import#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/import > class WSDL::Import > parse_element

instance method WSDL::Import#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/import > class WSDL::Import > new

singleton method WSDL::Import.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/importer > class WSDL::Importer > parse (private)

instance method WSDL::Importer#parse

parse(content, location, originalroot)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/importer > class WSDL::Importer > import

singleton method WSDL::Importer.import

import(location, originalroot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > id

instance method WSDL::Info#id

id
id=

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > inspect

instance method WSDL::Info#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > parent

instance method WSDL::Info#parent

parent
parent=

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > parse_attr

instance method WSDL::Info#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > parse_element

instance method WSDL::Info#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > parse_epilogue

instance method WSDL::Info#parse_epilogue

parse_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > root

instance method WSDL::Info#root

root
root=

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/info > class WSDL::Info > new

singleton method WSDL::Info.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/message > class WSDL::Message > name

instance method WSDL::Message#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/message > class WSDL::Message > parse_attr

instance method WSDL::Message#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/message > class WSDL::Message > parse_element

instance method WSDL::Message#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/message > class WSDL::Message > parts

instance method WSDL::Message#parts

parts

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/message > class WSDL::Message > targetnamespace

instance method WSDL::Message#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/message > class WSDL::Message > new

singleton method WSDL::Message.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > fault

instance method WSDL::Operation#fault

fault

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > input

instance method WSDL::Operation#input

input

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > input_info

instance method WSDL::Operation#input_info

input_info


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > inputname

instance method WSDL::Operation#inputname

inputname


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > inputparts

instance method WSDL::Operation#inputparts

inputparts


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > name

instance method WSDL::Operation#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > output

instance method WSDL::Operation#output

output

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > output_info

instance method WSDL::Operation#output_info

output_info


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > outputname

instance method WSDL::Operation#outputname

outputname


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > outputparts

instance method WSDL::Operation#outputparts

outputparts


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > parameter_order

instance method WSDL::Operation#parameter_order

parameter_order

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > parse_attr

instance method WSDL::Operation#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > parse_element

instance method WSDL::Operation#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > sort_parts (private)

instance method WSDL::Operation#sort_parts

sort_parts(parts)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > targetnamespace

instance method WSDL::Operation#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > type

instance method WSDL::Operation#type

type

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation > new

singleton method WSDL::Operation.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > fault

instance method WSDL::OperationBinding#fault

fault

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > find_operation

instance method WSDL::OperationBinding#find_operation

find_operation


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > input

instance method WSDL::OperationBinding#input

input

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > name

instance method WSDL::OperationBinding#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > output

instance method WSDL::OperationBinding#output

output

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > parse_attr

instance method WSDL::OperationBinding#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > parse_element

instance method WSDL::OperationBinding#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > porttype

instance method WSDL::OperationBinding#porttype

porttype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > soapaction

instance method WSDL::OperationBinding#soapaction

soapaction


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > soapoperation

instance method WSDL::OperationBinding#soapoperation

soapoperation

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > soapoperation_name

instance method WSDL::OperationBinding#soapoperation_name

soapoperation_name


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > soapoperation_style

instance method WSDL::OperationBinding#soapoperation_style

soapoperation_style


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > targetnamespace

instance method WSDL::OperationBinding#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation_binding > class WSDL::OperationBinding > new

singleton method WSDL::OperationBinding.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation::NameInfo > op_name

instance method WSDL::Operation::NameInfo#op_name

op_name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation::NameInfo > optype_name

instance method WSDL::Operation::NameInfo#optype_name

optype_name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation::NameInfo > parts

instance method WSDL::Operation::NameInfo#parts

parts

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/operation > class WSDL::Operation::NameInfo > new

singleton method WSDL::Operation::NameInfo.new

new(op_name, optype_name, parts)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > find_message

instance method WSDL::Param#find_message

find_message


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > message

instance method WSDL::Param#message

message

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > name

instance method WSDL::Param#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > parse_attr

instance method WSDL::Param#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > parse_element

instance method WSDL::Param#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > soapbody

instance method WSDL::Param#soapbody

soapbody

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > soapbody_use

instance method WSDL::Param#soapbody_use

soapbody_use


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > soapfault

instance method WSDL::Param#soapfault

soapfault

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > soapheader

instance method WSDL::Param#soapheader

soapheader

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > targetnamespace

instance method WSDL::Param#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/param > class WSDL::Param > new

singleton method WSDL::Param.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > characters

instance method WSDL::Parser#characters

characters(text)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > charset

instance method WSDL::Parser#charset

charset


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > decode_tag (private)

instance method WSDL::Parser#decode_tag

decode_tag(ns, name, attrs, parent)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > decode_tag_end (private)

instance method WSDL::Parser#decode_tag_end

decode_tag_end(ns, node)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > decode_text (private)

instance method WSDL::Parser#decode_text

decode_text(ns, text)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > end_element

instance method WSDL::Parser#end_element

end_element(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > parse

instance method WSDL::Parser#parse

parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > start_element

instance method WSDL::Parser#start_element

start_element(name, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser > new

singleton method WSDL::Parser.new

new(opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser::ParseFrame > name

instance method WSDL::Parser::ParseFrame#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser::ParseFrame > node

instance method WSDL::Parser::ParseFrame#node

node
node=(node)

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser::ParseFrame > ns

instance method WSDL::Parser::ParseFrame#ns

ns

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/parser > class WSDL::Parser::ParseFrame > new

singleton method WSDL::Parser::ParseFrame.new

new(ns, name, node)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/part > class WSDL::Part > element

instance method WSDL::Part#element

element

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/part > class WSDL::Part > name

instance method WSDL::Part#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/part > class WSDL::Part > parse_attr

instance method WSDL::Part#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/part > class WSDL::Part > parse_element

instance method WSDL::Part#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/part > class WSDL::Part > type

instance method WSDL::Part#type

type

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/part > class WSDL::Part > new

singleton method WSDL::Part.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > binding

instance method WSDL::Port#binding

binding

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > find_binding

instance method WSDL::Port#find_binding

find_binding


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > inputoperation_map

instance method WSDL::Port#inputoperation_map

inputoperation_map


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > name

instance method WSDL::Port#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > outputoperation_map

instance method WSDL::Port#outputoperation_map

outputoperation_map


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > parse_attr

instance method WSDL::Port#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > parse_element

instance method WSDL::Port#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > porttype

instance method WSDL::Port#porttype

porttype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > soap_address

instance method WSDL::Port#soap_address

soap_address

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > targetnamespace

instance method WSDL::Port#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port > class WSDL::Port > new

singleton method WSDL::Port.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > find_binding

instance method WSDL::PortType#find_binding

find_binding


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > locations

instance method WSDL::PortType#locations

locations


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > name

instance method WSDL::PortType#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > operations

instance method WSDL::PortType#operations

operations

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > parse_attr

instance method WSDL::PortType#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > parse_element

instance method WSDL::PortType#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > targetnamespace

instance method WSDL::PortType#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/port_type > class WSDL::PortType > new

singleton method WSDL::PortType.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > EncodingStyleAttrName

constant WSDL::SOAP::EncodingStyleAttrName

EncodingStyleAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > HeaderFaultName

constant WSDL::SOAP::HeaderFaultName

HeaderFaultName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > LocationAttrName

constant WSDL::SOAP::LocationAttrName

LocationAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > MessageAttrName

constant WSDL::SOAP::MessageAttrName

MessageAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > NameAttrName

constant WSDL::SOAP::NameAttrName

NameAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > NamespaceAttrName

constant WSDL::SOAP::NamespaceAttrName

NamespaceAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > PartAttrName

constant WSDL::SOAP::PartAttrName

PartAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > PartsAttrName

constant WSDL::SOAP::PartsAttrName

PartsAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > SOAPActionAttrName

constant WSDL::SOAP::SOAPActionAttrName

SOAPActionAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > StyleAttrName

constant WSDL::SOAP::StyleAttrName

StyleAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > TransportAttrName

constant WSDL::SOAP::TransportAttrName

TransportAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/data > module WSDL::SOAP > UseAttrName

constant WSDL::SOAP::UseAttrName

UseAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/address > class WSDL::SOAP::Address > location

instance method WSDL::SOAP::Address#location

location


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/address > class WSDL::SOAP::Address > parse_attr

instance method WSDL::SOAP::Address#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/address > class WSDL::SOAP::Address > parse_element

instance method WSDL::SOAP::Address#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/address > class WSDL::SOAP::Address > new

singleton method WSDL::SOAP::Address.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/binding > class WSDL::SOAP::Binding > parse_attr

instance method WSDL::SOAP::Binding#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/binding > class WSDL::SOAP::Binding > parse_element

instance method WSDL::SOAP::Binding#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/binding > class WSDL::SOAP::Binding > style

instance method WSDL::SOAP::Binding#style

style


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/binding > class WSDL::SOAP::Binding > transport

instance method WSDL::SOAP::Binding#transport

transport


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/binding > class WSDL::SOAP::Binding > new

singleton method WSDL::SOAP::Binding.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > encodingstyle

instance method WSDL::SOAP::Body#encodingstyle

encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > namespace

instance method WSDL::SOAP::Body#namespace

namespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > parse_attr

instance method WSDL::SOAP::Body#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > parse_element

instance method WSDL::SOAP::Body#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > parts

instance method WSDL::SOAP::Body#parts

parts


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > use

instance method WSDL::SOAP::Body#use

use


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/body > class WSDL::SOAP::Body > new

singleton method WSDL::SOAP::Body.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/cgiStubCreator > class WSDL::SOAP::CGIStubCreator > definitions

instance method WSDL::SOAP::CGIStubCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/cgiStubCreator > class WSDL::SOAP::CGIStubCreator > dump

instance method WSDL::SOAP::CGIStubCreator#dump

dump(service_name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/cgiStubCreator > class WSDL::SOAP::CGIStubCreator > dump_porttype (private)

instance method WSDL::SOAP::CGIStubCreator#dump_porttype

dump_porttype(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/cgiStubCreator > class WSDL::SOAP::CGIStubCreator > new

singleton method WSDL::SOAP::CGIStubCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > DEFAULT_ITEM_NAME

constant WSDL::SOAP::ClassDefCreator::DEFAULT_ITEM_NAME

DEFAULT_ITEM_NAME


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > attribute_basetype (private)

instance method WSDL::SOAP::ClassDefCreator#attribute_basetype

attribute_basetype(attr)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > basetype_class (private)

instance method WSDL::SOAP::ClassDefCreator#basetype_class

basetype_class(type)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > define_attribute (private)

instance method WSDL::SOAP::ClassDefCreator#define_attribute

define_attribute(c, attributes)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump

instance method WSDL::SOAP::ClassDefCreator#dump

dump(type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_arraydef (private)

instance method WSDL::SOAP::ClassDefCreator#dump_arraydef

dump_arraydef(complextype)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_classdef (private)

instance method WSDL::SOAP::ClassDefCreator#dump_classdef

dump_classdef(qname, typedef, qualified = false)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_complextype (private)

instance method WSDL::SOAP::ClassDefCreator#dump_complextype

dump_complextype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_element (private)

instance method WSDL::SOAP::ClassDefCreator#dump_element

dump_element


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_simpleclassdef (private)

instance method WSDL::SOAP::ClassDefCreator#dump_simpleclassdef

dump_simpleclassdef(type_or_element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_simpletype (private)

instance method WSDL::SOAP::ClassDefCreator#dump_simpletype

dump_simpletype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > dump_simpletypedef (private)

instance method WSDL::SOAP::ClassDefCreator#dump_simpletypedef

dump_simpletypedef(qname, simpletype)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > element_basetype (private)

instance method WSDL::SOAP::ClassDefCreator#element_basetype

element_basetype(ele)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > name_attribute (private)

instance method WSDL::SOAP::ClassDefCreator#name_attribute

name_attribute(attribute)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > name_element (private)

instance method WSDL::SOAP::ClassDefCreator#name_element

name_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreator > class WSDL::SOAP::ClassDefCreator > new

singleton method WSDL::SOAP::ClassDefCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > add_at (private)

instance method WSDL::SOAP::ClassDefCreatorSupport#add_at

add_at(base, str, pos)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > basetype_mapped_class

instance method WSDL::SOAP::ClassDefCreatorSupport#basetype_mapped_class

basetype_mapped_class(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > create_class_name

instance method WSDL::SOAP::ClassDefCreatorSupport#create_class_name

create_class_name(qname)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > dq

instance method WSDL::SOAP::ClassDefCreatorSupport#dq

dq(ele)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > dqname

instance method WSDL::SOAP::ClassDefCreatorSupport#dqname

dqname(qname)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > dump_inout_type (private)

instance method WSDL::SOAP::ClassDefCreatorSupport#dump_inout_type

dump_inout_type(param)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > dump_inputparam (private)

instance method WSDL::SOAP::ClassDefCreatorSupport#dump_inputparam

dump_inputparam(input)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > dump_method_signature

instance method WSDL::SOAP::ClassDefCreatorSupport#dump_method_signature

dump_method_signature(operation)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > ndq

instance method WSDL::SOAP::ClassDefCreatorSupport#ndq

ndq(ele)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/classDefCreatorSupport > module WSDL::SOAP::ClassDefCreatorSupport > sym

instance method WSDL::SOAP::ClassDefCreatorSupport#sym

sym(ele)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/clientSkeltonCreator > class WSDL::SOAP::ClientSkeltonCreator > definitions

instance method WSDL::SOAP::ClientSkeltonCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/clientSkeltonCreator > class WSDL::SOAP::ClientSkeltonCreator > dump

instance method WSDL::SOAP::ClientSkeltonCreator#dump

dump(service_name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/clientSkeltonCreator > class WSDL::SOAP::ClientSkeltonCreator > dump_input_init (private)

instance method WSDL::SOAP::ClientSkeltonCreator#dump_input_init

dump_input_init(input)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/clientSkeltonCreator > class WSDL::SOAP::ClientSkeltonCreator > dump_operation (private)

instance method WSDL::SOAP::ClientSkeltonCreator#dump_operation

dump_operation(operation)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/clientSkeltonCreator > class WSDL::SOAP::ClientSkeltonCreator > dump_porttype (private)

instance method WSDL::SOAP::ClientSkeltonCreator#dump_porttype

dump_porttype(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/clientSkeltonCreator > class WSDL::SOAP::ClientSkeltonCreator > new

singleton method WSDL::SOAP::ClientSkeltonCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/driverCreator > class WSDL::SOAP::DriverCreator > definitions

instance method WSDL::SOAP::DriverCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/driverCreator > class WSDL::SOAP::DriverCreator > dump

instance method WSDL::SOAP::DriverCreator#dump

dump(porttype = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/driverCreator > class WSDL::SOAP::DriverCreator > dump_porttype (private)

instance method WSDL::SOAP::DriverCreator#dump_porttype

dump_porttype(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/driverCreator > class WSDL::SOAP::DriverCreator > new

singleton method WSDL::SOAP::DriverCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > encodingstyle

instance method WSDL::SOAP::Fault#encodingstyle

encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > name

instance method WSDL::SOAP::Fault#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > namespace

instance method WSDL::SOAP::Fault#namespace

namespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > parse_attr

instance method WSDL::SOAP::Fault#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > parse_element

instance method WSDL::SOAP::Fault#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > targetnamespace

instance method WSDL::SOAP::Fault#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > use

instance method WSDL::SOAP::Fault#use

use


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/fault > class WSDL::SOAP::Fault > new

singleton method WSDL::SOAP::Fault.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > encodingstyle

instance method WSDL::SOAP::Header#encodingstyle

encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > find_message

instance method WSDL::SOAP::Header#find_message

find_message


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > find_part

instance method WSDL::SOAP::Header#find_part

find_part


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > headerfault

instance method WSDL::SOAP::Header#headerfault

headerfault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > message

instance method WSDL::SOAP::Header#message

message


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > namespace

instance method WSDL::SOAP::Header#namespace

namespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > parse_attr

instance method WSDL::SOAP::Header#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > parse_element

instance method WSDL::SOAP::Header#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > part

instance method WSDL::SOAP::Header#part

part


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > targetnamespace

instance method WSDL::SOAP::Header#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > use

instance method WSDL::SOAP::Header#use

use


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/header > class WSDL::SOAP::Header > new

singleton method WSDL::SOAP::Header.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > encodingstyle

instance method WSDL::SOAP::HeaderFault#encodingstyle

encodingstyle


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > message

instance method WSDL::SOAP::HeaderFault#message

message


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > namespace

instance method WSDL::SOAP::HeaderFault#namespace

namespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > parse_attr

instance method WSDL::SOAP::HeaderFault#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > parse_element

instance method WSDL::SOAP::HeaderFault#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > part

instance method WSDL::SOAP::HeaderFault#part

part


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > use

instance method WSDL::SOAP::HeaderFault#use

use


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/headerfault > class WSDL::SOAP::HeaderFault > new

singleton method WSDL::SOAP::HeaderFault.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/mappingRegistryCreator > class WSDL::SOAP::MappingRegistryCreator > definitions

instance method WSDL::SOAP::MappingRegistryCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/mappingRegistryCreator > class WSDL::SOAP::MappingRegistryCreator > dump

instance method WSDL::SOAP::MappingRegistryCreator#dump

dump(types)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/mappingRegistryCreator > class WSDL::SOAP::MappingRegistryCreator > dump_array_typemap (private)

instance method WSDL::SOAP::MappingRegistryCreator#dump_array_typemap

dump_array_typemap(definedtype)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/mappingRegistryCreator > class WSDL::SOAP::MappingRegistryCreator > dump_struct_typemap (private)

instance method WSDL::SOAP::MappingRegistryCreator#dump_struct_typemap

dump_struct_typemap(definedtype)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/mappingRegistryCreator > class WSDL::SOAP::MappingRegistryCreator > dump_typemap (private)

instance method WSDL::SOAP::MappingRegistryCreator#dump_typemap

dump_typemap(type)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/mappingRegistryCreator > class WSDL::SOAP::MappingRegistryCreator > new

singleton method WSDL::SOAP::MappingRegistryCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > cdr (private)

instance method WSDL::SOAP::MethodDefCreator#cdr

cdr(ary)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > collect_documentparameter

instance method WSDL::SOAP::MethodDefCreator#collect_documentparameter

collect_documentparameter(operation)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > collect_rpcparameter

instance method WSDL::SOAP::MethodDefCreator#collect_rpcparameter

collect_rpcparameter(operation)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > collect_type (private)

instance method WSDL::SOAP::MethodDefCreator#collect_type

collect_type(type)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > definitions

instance method WSDL::SOAP::MethodDefCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > documentdefinedtype (private)

instance method WSDL::SOAP::MethodDefCreator#documentdefinedtype

documentdefinedtype(part)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > dump

instance method WSDL::SOAP::MethodDefCreator#dump

dump(porttype)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > dump_method (private)

instance method WSDL::SOAP::MethodDefCreator#dump_method

dump_method(operation, binding)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > ele2str (private)

instance method WSDL::SOAP::MethodDefCreator#ele2str

ele2str(ele)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > elementqualified (private)

instance method WSDL::SOAP::MethodDefCreator#elementqualified

elementqualified(part)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > param2str (private)

instance method WSDL::SOAP::MethodDefCreator#param2str

param2str(params)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > param_set (private)

instance method WSDL::SOAP::MethodDefCreator#param_set

param_set(io_type, name, type, ele = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > rpcdefinedtype (private)

instance method WSDL::SOAP::MethodDefCreator#rpcdefinedtype

rpcdefinedtype(part)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > type2str (private)

instance method WSDL::SOAP::MethodDefCreator#type2str

type2str(type)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/methodDefCreator > class WSDL::SOAP::MethodDefCreator > new

singleton method WSDL::SOAP::MethodDefCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > input_info

instance method WSDL::SOAP::Operation#input_info

input_info


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > operation_style

instance method WSDL::SOAP::Operation#operation_style

operation_style


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > output_info

instance method WSDL::SOAP::Operation#output_info

output_info


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > param_info (private)

instance method WSDL::SOAP::Operation#param_info

param_info(name_info, param)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > parent_binding (private)

instance method WSDL::SOAP::Operation#parent_binding

parent_binding


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > parse_attr

instance method WSDL::SOAP::Operation#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > parse_element

instance method WSDL::SOAP::Operation#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > soapaction

instance method WSDL::SOAP::Operation#soapaction

soapaction


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > style

instance method WSDL::SOAP::Operation#style

style


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation > new

singleton method WSDL::SOAP::Operation.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > bodyparts

instance method WSDL::SOAP::Operation::OperationInfo#bodyparts

bodyparts


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > faultpart

instance method WSDL::SOAP::Operation::OperationInfo#faultpart

faultpart


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > headerparts

instance method WSDL::SOAP::Operation::OperationInfo#headerparts

headerparts


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > op_name

instance method WSDL::SOAP::Operation::OperationInfo#op_name

op_name


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > optype_name

instance method WSDL::SOAP::Operation::OperationInfo#optype_name

optype_name


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > soapaction

instance method WSDL::SOAP::Operation::OperationInfo#soapaction

soapaction


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/operation > class WSDL::SOAP::Operation::OperationInfo > style

instance method WSDL::SOAP::Operation::OperationInfo#style

style


singleton method WSDL::SOAP::Operation::OperationInfo.new

new(style, op_name, optype_name, headerparts, bodyparts, faultpart, soapaction)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/servantSkeltonCreator > class WSDL::SOAP::ServantSkeltonCreator > definitions

instance method WSDL::SOAP::ServantSkeltonCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/servantSkeltonCreator > class WSDL::SOAP::ServantSkeltonCreator > dump

instance method WSDL::SOAP::ServantSkeltonCreator#dump

dump(porttype = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/servantSkeltonCreator > class WSDL::SOAP::ServantSkeltonCreator > dump_porttype (private)

instance method WSDL::SOAP::ServantSkeltonCreator#dump_porttype

dump_porttype(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/servantSkeltonCreator > class WSDL::SOAP::ServantSkeltonCreator > new

singleton method WSDL::SOAP::ServantSkeltonCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/standaloneServerStubCreator > class WSDL::SOAP::StandaloneServerStubCreator > definitions

instance method WSDL::SOAP::StandaloneServerStubCreator#definitions

definitions


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/standaloneServerStubCreator > class WSDL::SOAP::StandaloneServerStubCreator > dump

instance method WSDL::SOAP::StandaloneServerStubCreator#dump

dump(service_name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/standaloneServerStubCreator > class WSDL::SOAP::StandaloneServerStubCreator > dump_porttype (private)

instance method WSDL::SOAP::StandaloneServerStubCreator#dump_porttype

dump_porttype(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/standaloneServerStubCreator > class WSDL::SOAP::StandaloneServerStubCreator > new

singleton method WSDL::SOAP::StandaloneServerStubCreator.new

new(definitions)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > basedir

instance method WSDL::SOAP::WSDL2Ruby#basedir

basedir
basedir=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > check_file (private)

instance method WSDL::SOAP::WSDL2Ruby#check_file

check_file(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_cgi_stub (private)

instance method WSDL::SOAP::WSDL2Ruby#create_cgi_stub

create_cgi_stub(servicename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_classdef (private)

instance method WSDL::SOAP::WSDL2Ruby#create_classdef

create_classdef


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_client_skelton (private)

instance method WSDL::SOAP::WSDL2Ruby#create_client_skelton

create_client_skelton(servicename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_driver (private)

instance method WSDL::SOAP::WSDL2Ruby#create_driver

create_driver(porttypename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_file (private)

instance method WSDL::SOAP::WSDL2Ruby#create_file

create_file


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_name (private)

instance method WSDL::SOAP::WSDL2Ruby#create_name

create_name(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_servant_skelton (private)

instance method WSDL::SOAP::WSDL2Ruby#create_servant_skelton

create_servant_skelton(porttypename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > create_standalone_server_stub (private)

instance method WSDL::SOAP::WSDL2Ruby#create_standalone_server_stub

create_standalone_server_stub(servicename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > import (private)

instance method WSDL::SOAP::WSDL2Ruby#import

import(location)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > location

instance method WSDL::SOAP::WSDL2Ruby#location

location
location=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > logger

instance method WSDL::SOAP::WSDL2Ruby#logger

logger
logger=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > new (private)

instance method WSDL::SOAP::WSDL2Ruby#new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > opt

instance method WSDL::SOAP::WSDL2Ruby#opt

opt


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > run

instance method WSDL::SOAP::WSDL2Ruby#run

run


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > shbang (private)

instance method WSDL::SOAP::WSDL2Ruby#shbang

shbang


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/wsdl2ruby > class WSDL::SOAP::WSDL2Ruby > write_file (private)

instance method WSDL::SOAP::WSDL2Ruby#write_file

write_file(filename)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > name

instance method WSDL::Service#name

name

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > parse_attr

instance method WSDL::Service#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > parse_element

instance method WSDL::Service#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > ports

instance method WSDL::Service#ports

ports

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > soap_address

instance method WSDL::Service#soap_address

soap_address

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > targetnamespace

instance method WSDL::Service#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/service > class WSDL::Service > new

singleton method WSDL::Service.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/types > class WSDL::Types > parse_attr

instance method WSDL::Types#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/types > class WSDL::Types > parse_element

instance method WSDL::Types#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/types > class WSDL::Types > schemas

instance method WSDL::Types#schemas

schemas

属性


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/types > class WSDL::Types > new

singleton method WSDL::Types.new

new


constant WSDL::XMLSchema::AllName

AllName
AnnotationName
AnyName
AttributeName
ChoiceName
ComplexContentName
ComplexTypeName
ElementName
EnumerationName
ExtensionName
ImportName
IncludeName
LengthName
PatternName
RestrictionName
SequenceName
SchemaName
SimpleContentName
SimpleTypeName
UniqueName


constant WSDL::XMLSchema::AttributeFormDefaultAttrName

AttributeFormDefaultAttrName
BaseAttrName
DefaultAttrName
ElementFormDefaultAttrName
FinalAttrName
FixedAttrName
FormAttrName
IdAttrName
MaxOccursAttrName
MinOccursAttrName
MixedAttrName
NameAttrName
NamespaceAttrName
NillableAttrName
ProcessContentsAttrName
RefAttrName
SchemaLocationAttrName
TargetNamespaceAttrName
TypeAttrName
UseAttrName
ValueAttrName


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > <<

instance method WSDL::XMLSchema::All#<<

self << element


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > elementformdefault

instance method WSDL::XMLSchema::All#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > elements

instance method WSDL::XMLSchema::All#elements

elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > maxoccurs

instance method WSDL::XMLSchema::All#maxoccurs

maxoccurs


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > minoccurs

instance method WSDL::XMLSchema::All#minoccurs

minoccurs


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > parse_attr

instance method WSDL::XMLSchema::All#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > parse_element

instance method WSDL::XMLSchema::All#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > targetnamespace

instance method WSDL::XMLSchema::All#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/all > class WSDL::XMLSchema::All > new

singleton method WSDL::XMLSchema::All.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/annotation > class WSDL::XMLSchema::Annotation > parse_attr

instance method WSDL::XMLSchema::Annotation#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/annotation > class WSDL::XMLSchema::Annotation > parse_element

instance method WSDL::XMLSchema::Annotation#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/annotation > class WSDL::XMLSchema::Annotation > new

singleton method WSDL::XMLSchema::Annotation.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > maxoccurs

instance method WSDL::XMLSchema::Any#maxoccurs

maxoccurs
maxoccurs=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > minoccurs

instance method WSDL::XMLSchema::Any#minoccurs

minoccurs
minoccurs=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > namespace

instance method WSDL::XMLSchema::Any#namespace

namespace
namespace=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > parse_attr

instance method WSDL::XMLSchema::Any#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > parse_element

instance method WSDL::XMLSchema::Any#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > process_contents

instance method WSDL::XMLSchema::Any#process_contents

process_contents
process_contents=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > targetnamespace

instance method WSDL::XMLSchema::Any#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/any > class WSDL::XMLSchema::Any > new

singleton method WSDL::XMLSchema::Any.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > arytype

instance method WSDL::XMLSchema::Attribute#arytype

arytype
arytype=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > default

instance method WSDL::XMLSchema::Attribute#default

default
default=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > directelement? (private)

instance method WSDL::XMLSchema::Attribute#directelement?

directelement?


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > fixed

instance method WSDL::XMLSchema::Attribute#fixed

fixed
fixed=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > form

instance method WSDL::XMLSchema::Attribute#form

form
form=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > local_simpletype

instance method WSDL::XMLSchema::Attribute#local_simpletype

local_simpletype
local_simpletype=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > name

instance method WSDL::XMLSchema::Attribute#name

name
name=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > parse_attr

instance method WSDL::XMLSchema::Attribute#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > parse_element

instance method WSDL::XMLSchema::Attribute#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > ref

instance method WSDL::XMLSchema::Attribute#ref

ref
ref=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > refelement

instance method WSDL::XMLSchema::Attribute#refelement

refelement


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > targetnamespace

instance method WSDL::XMLSchema::Attribute#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > type

instance method WSDL::XMLSchema::Attribute#type

type
type=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > use

instance method WSDL::XMLSchema::Attribute#use

use
use=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > attr_reader_ref

singleton method WSDL::XMLSchema::Attribute.attr_reader_ref

attr_reader_ref(symbol)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/attribute > class WSDL::XMLSchema::Attribute > new

singleton method WSDL::XMLSchema::Attribute.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > <<

instance method WSDL::XMLSchema::Choice#<<

self << element


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > elementformdefault

instance method WSDL::XMLSchema::Choice#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > elements

instance method WSDL::XMLSchema::Choice#elements

elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > maxoccurs

instance method WSDL::XMLSchema::Choice#maxoccurs

maxoccurs


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > minoccurs

instance method WSDL::XMLSchema::Choice#minoccurs

minoccurs


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > parse_attr

instance method WSDL::XMLSchema::Choice#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > parse_element

instance method WSDL::XMLSchema::Choice#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > targetnamespace

instance method WSDL::XMLSchema::Choice#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/choice > class WSDL::XMLSchema::Choice > new

singleton method WSDL::XMLSchema::Choice.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > attributes

instance method WSDL::XMLSchema::ComplexContent#attributes

attributes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > base

instance method WSDL::XMLSchema::ComplexContent#base

base
base=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > basetype

instance method WSDL::XMLSchema::ComplexContent#basetype

basetype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > content

instance method WSDL::XMLSchema::ComplexContent#content

content


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > derivetype

instance method WSDL::XMLSchema::ComplexContent#derivetype

derivetype


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > elementformdefault

instance method WSDL::XMLSchema::ComplexContent#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > parse_attr

instance method WSDL::XMLSchema::ComplexContent#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > parse_element

instance method WSDL::XMLSchema::ComplexContent#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > targetnamespace

instance method WSDL::XMLSchema::ComplexContent#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexContent > class WSDL::XMLSchema::ComplexContent > new

singleton method WSDL::XMLSchema::ComplexContent.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > AnyAsElement

constant WSDL::XMLSchema::ComplexType::AnyAsElement

AnyAsElement


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > all_elements=

instance method WSDL::XMLSchema::ComplexType#all_elements=

all_elements=(elements)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > attributes

instance method WSDL::XMLSchema::ComplexType#attributes

attributes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > check_array_content (private)

instance method WSDL::XMLSchema::ComplexType#check_array_content

check_array_content(content) [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > check_type

instance method WSDL::XMLSchema::ComplexType#check_type

check_type [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > child_defined_complextype

instance method WSDL::XMLSchema::ComplexType#child_defined_complextype

child_defined_complextype(name) [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > child_type

instance method WSDL::XMLSchema::ComplexType#child_type

child_type(name = nil) [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > complexcontent

instance method WSDL::XMLSchema::ComplexType#complexcontent

complexcontent
complexcontent=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > compoundtype

instance method WSDL::XMLSchema::ComplexType#compoundtype

compoundtype [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > content

instance method WSDL::XMLSchema::ComplexType#content

content


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > content_arytype (private)

instance method WSDL::XMLSchema::ComplexType#content_arytype

content_arytype [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > each_element

instance method WSDL::XMLSchema::ComplexType#each_element

each_element


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > element_simpletype (private)

instance method WSDL::XMLSchema::ComplexType#element_simpletype

element_simpletype(element) [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > elementformdefault

instance method WSDL::XMLSchema::ComplexType#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > final

instance method WSDL::XMLSchema::ComplexType#final

final
final=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > find_aryelement

instance method WSDL::XMLSchema::ComplexType#find_aryelement

find_aryelement [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/complexType > class WSDL::XMLSchema::ComplexType > find_arytype

instance method WSDL::XMLSchema::ComplexType#find_arytype

find_arytype [added by wsdl/soap/complexType]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > find_element

instance method WSDL::XMLSchema::ComplexType#find_element

find_element(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > find_element_by_name

instance method WSDL::XMLSchema::ComplexType#find_element_by_name

find_element_by_name(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > mixed

instance method WSDL::XMLSchema::ComplexType#mixed

mixed
mixed=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > name

instance method WSDL::XMLSchema::ComplexType#name

name
name=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > parse_attr

instance method WSDL::XMLSchema::ComplexType#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > parse_element

instance method WSDL::XMLSchema::ComplexType#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > sequence_elements=

instance method WSDL::XMLSchema::ComplexType#sequence_elements=

sequence_elements=(elements)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > simplecontent

instance method WSDL::XMLSchema::ComplexType#simplecontent

simplecontent
simplecontent=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > targetnamespace

instance method WSDL::XMLSchema::ComplexType#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/complexType > class WSDL::XMLSchema::ComplexType > new

singleton method WSDL::XMLSchema::ComplexType.new

new(name = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > <<

instance method WSDL::XMLSchema::Content#<<

self << content


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > contents

instance method WSDL::XMLSchema::Content#contents

contents


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > each

instance method WSDL::XMLSchema::Content#each

each


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > elements

instance method WSDL::XMLSchema::Content#elements

elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > final

instance method WSDL::XMLSchema::Content#final

final
final=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > mixed

instance method WSDL::XMLSchema::Content#mixed

mixed
mixed=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > parse_attr

instance method WSDL::XMLSchema::Content#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > parse_element

instance method WSDL::XMLSchema::Content#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > parse_epilogue

instance method WSDL::XMLSchema::Content#parse_epilogue

parse_epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > targetnamespace

instance method WSDL::XMLSchema::Content#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > type

instance method WSDL::XMLSchema::Content#type

type
type=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > update_elements (private)

instance method WSDL::XMLSchema::Content#update_elements

update_elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/content > class WSDL::XMLSchema::Content > new

singleton method WSDL::XMLSchema::Content.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/element > class WSDL::XMLSchema::Element > attributes

instance method WSDL::XMLSchema::Element#attributes

attributes [added by wsdl/soap/element]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > constraint

instance method WSDL::XMLSchema::Element#constraint

constraint
constraint=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > directelement? (private)

instance method WSDL::XMLSchema::Element#directelement?

directelement?


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > elementform

instance method WSDL::XMLSchema::Element#elementform

elementform


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > elementformdefault

instance method WSDL::XMLSchema::Element#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > form

instance method WSDL::XMLSchema::Element#form

form
form=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > local_complextype

instance method WSDL::XMLSchema::Element#local_complextype

local_complextype
local_complextype=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > local_simpletype

instance method WSDL::XMLSchema::Element#local_simpletype

local_simpletype
local_simpletype=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/soap/element > class WSDL::XMLSchema::Element > map_as_array?

instance method WSDL::XMLSchema::Element#map_as_array?

map_as_array? [added by wsdl/soap/element]


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > maxoccurs

instance method WSDL::XMLSchema::Element#maxoccurs

maxoccurs
maxoccurs=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > minoccurs

instance method WSDL::XMLSchema::Element#minoccurs

minoccurs
minoccurs=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > name

instance method WSDL::XMLSchema::Element#name

name
name=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > nillable

instance method WSDL::XMLSchema::Element#nillable

nillable
nillable=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > parse_attr

instance method WSDL::XMLSchema::Element#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > parse_element

instance method WSDL::XMLSchema::Element#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > ref

instance method WSDL::XMLSchema::Element#ref

ref
ref=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > refelement

instance method WSDL::XMLSchema::Element#refelement

refelement


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > targetnamespace

instance method WSDL::XMLSchema::Element#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > type

instance method WSDL::XMLSchema::Element#type

type
type=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > attr_reader_ref

singleton method WSDL::XMLSchema::Element.attr_reader_ref

attr_reader_ref(symbol)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/element > class WSDL::XMLSchema::Element > new

singleton method WSDL::XMLSchema::Element.new

new(name = nil, type = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/enumeration > class WSDL::XMLSchema::Enumeration > parse_element

instance method WSDL::XMLSchema::Enumeration#parse_element

parse_element(attr, value)
parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/enumeration > class WSDL::XMLSchema::Enumeration > new

singleton method WSDL::XMLSchema::Enumeration.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > content

instance method WSDL::XMLSchema::Import#content

content


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > import (private)

instance method WSDL::XMLSchema::Import#import

import(location)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > namespace

instance method WSDL::XMLSchema::Import#namespace

namespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > parse_attr

instance method WSDL::XMLSchema::Import#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > parse_element

instance method WSDL::XMLSchema::Import#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > schemalocation

instance method WSDL::XMLSchema::Import#schemalocation

schemalocation


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/import > class WSDL::XMLSchema::Import > new

singleton method WSDL::XMLSchema::Import.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/importer > class WSDL::XMLSchema::Importer > fetch (private)

instance method WSDL::XMLSchema::Importer#fetch

fetch(location)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/importer > class WSDL::XMLSchema::Importer > import

instance method WSDL::XMLSchema::Importer#import

import(location, originalroot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/importer > class WSDL::XMLSchema::Importer > parse (private)

instance method WSDL::XMLSchema::Importer#parse

parse(content, location, originalroot)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/importer > class WSDL::XMLSchema::Importer > web_client (private)

instance method WSDL::XMLSchema::Importer#web_client

web_client


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/importer > class WSDL::XMLSchema::Importer > import

singleton method WSDL::XMLSchema::Importer.import

import(location, originalroot = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/importer > class WSDL::XMLSchema::Importer > new

singleton method WSDL::XMLSchema::Importer.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/include > class WSDL::XMLSchema::Include > content

instance method WSDL::XMLSchema::Include#content

content


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/include > class WSDL::XMLSchema::Include > parse_attr

instance method WSDL::XMLSchema::Include#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/include > class WSDL::XMLSchema::Include > parse_element

instance method WSDL::XMLSchema::Include#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/include > class WSDL::XMLSchema::Include > schemalocation

instance method WSDL::XMLSchema::Include#schemalocation

schemalocation


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/include > class WSDL::XMLSchema::Include > new

singleton method WSDL::XMLSchema::Include.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/length > class WSDL::XMLSchema::Length > parse_attr

instance method WSDL::XMLSchema::Length#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/length > class WSDL::XMLSchema::Length > parse_element

instance method WSDL::XMLSchema::Length#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/length > class WSDL::XMLSchema::Length > new

singleton method WSDL::XMLSchema::Length.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::ParseFrame > name

instance method WSDL::XMLSchema::ParseFrame#name

name


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::ParseFrame > node

instance method WSDL::XMLSchema::ParseFrame#node

node
node=(node)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::ParseFrame > ns

instance method WSDL::XMLSchema::ParseFrame#ns

ns


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::ParseFrame > new

singleton method WSDL::XMLSchema::ParseFrame.new

new(ns, name, node)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::Parser > characters

instance method WSDL::XMLSchema::Parser#characters

characters(text)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::Parser > charset

instance method WSDL::XMLSchema::Parser#charset

charset


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::Parser > end_element

instance method WSDL::XMLSchema::Parser#end_element

end_element(name)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::Parser > parse

instance method WSDL::XMLSchema::Parser#parse

parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::Parser > start_element

instance method WSDL::XMLSchema::Parser#start_element

start_element(name, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/parser > class WSDL::XMLSchema::Parser > new

singleton method WSDL::XMLSchema::Parser.new

new(opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/pattern > class WSDL::XMLSchema::Pattern > parse_attr

instance method WSDL::XMLSchema::Pattern#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/pattern > class WSDL::XMLSchema::Pattern > parse_element

instance method WSDL::XMLSchema::Pattern#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/pattern > class WSDL::XMLSchema::Pattern > new

singleton method WSDL::XMLSchema::Pattern.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > attributeformdefault

instance method WSDL::XMLSchema::Schema#attributeformdefault

attributeformdefault
attributeformdefault=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > attributes

instance method WSDL::XMLSchema::Schema#attributes

attributes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > collect_attributes

instance method WSDL::XMLSchema::Schema#collect_attributes

collect_attributes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > collect_complextypes

instance method WSDL::XMLSchema::Schema#collect_complextypes

collect_complextypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > collect_elements

instance method WSDL::XMLSchema::Schema#collect_elements

collect_elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > collect_simpletypes

instance method WSDL::XMLSchema::Schema#collect_simpletypes

collect_simpletypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > complextypes

instance method WSDL::XMLSchema::Schema#complextypes

complextypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > elementformdefault

instance method WSDL::XMLSchema::Schema#elementformdefault

elementformdefault
elementformdefault=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > elements

instance method WSDL::XMLSchema::Schema#elements

elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > importedschema

instance method WSDL::XMLSchema::Schema#importedschema

importedschema


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > imports

instance method WSDL::XMLSchema::Schema#imports

imports


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > location

instance method WSDL::XMLSchema::Schema#location

location
location=(location)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > parse_attr

instance method WSDL::XMLSchema::Schema#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > parse_element

instance method WSDL::XMLSchema::Schema#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > simpletypes

instance method WSDL::XMLSchema::Schema#simpletypes

simpletypes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > targetnamespace

instance method WSDL::XMLSchema::Schema#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > new

singleton method WSDL::XMLSchema::Schema.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/schema > class WSDL::XMLSchema::Schema > parse_element

singleton method WSDL::XMLSchema::Schema.parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > <<

instance method WSDL::XMLSchema::Sequence#<<

self <<


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > elementformdefault

instance method WSDL::XMLSchema::Sequence#elementformdefault

elementformdefault


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > elements

instance method WSDL::XMLSchema::Sequence#elements

elements


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > maxoccurs

instance method WSDL::XMLSchema::Sequence#maxoccurs

maxoccurs


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > minoccurs

instance method WSDL::XMLSchema::Sequence#minoccurs

minoccurs


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > parse_attr

instance method WSDL::XMLSchema::Sequence#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > parse_element

instance method WSDL::XMLSchema::Sequence#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > targetnamespace

instance method WSDL::XMLSchema::Sequence#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/sequence > class WSDL::XMLSchema::Sequence > new

singleton method WSDL::XMLSchema::Sequence.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > base

instance method WSDL::XMLSchema::SimpleContent#base

base


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > check_lexical_format

instance method WSDL::XMLSchema::SimpleContent#check_lexical_format

check_lexical_format(value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > extension

instance method WSDL::XMLSchema::SimpleContent#extension

extension


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > parse_element

instance method WSDL::XMLSchema::SimpleContent#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > restriction

instance method WSDL::XMLSchema::SimpleContent#restriction

restriction


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > targetnamespace

instance method WSDL::XMLSchema::SimpleContent#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleContent > class WSDL::XMLSchema::SimpleContent > new

singleton method WSDL::XMLSchema::SimpleContent.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > attributes

instance method WSDL::XMLSchema::SimpleExtension#attributes

attributes


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > base

instance method WSDL::XMLSchema::SimpleExtension#base

base


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > parse_attr

instance method WSDL::XMLSchema::SimpleExtension#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > parse_element

instance method WSDL::XMLSchema::SimpleExtension#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > targetnamespace

instance method WSDL::XMLSchema::SimpleExtension#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > valid?

instance method WSDL::XMLSchema::SimpleExtension#valid?

valid?(value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleExtension > class WSDL::XMLSchema::SimpleExtension > new

singleton method WSDL::XMLSchema::SimpleExtension.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > base

instance method WSDL::XMLSchema::SimpleRestriction#base

base


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > enumeration

instance method WSDL::XMLSchema::SimpleRestriction#enumeration

enumeration


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > length

instance method WSDL::XMLSchema::SimpleRestriction#length

length
length=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > parse_attr

instance method WSDL::XMLSchema::SimpleRestriction#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > parse_element

instance method WSDL::XMLSchema::SimpleRestriction#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > pattern

instance method WSDL::XMLSchema::SimpleRestriction#pattern

pattern
pattern=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > valid?

instance method WSDL::XMLSchema::SimpleRestriction#valid?

valid?(value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleRestriction > class WSDL::XMLSchema::SimpleRestriction > new

singleton method WSDL::XMLSchema::SimpleRestriction.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > base

instance method WSDL::XMLSchema::SimpleType#base

base


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > check_lexical_format

instance method WSDL::XMLSchema::SimpleType#check_lexical_format

check_lexical_format(value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > name

instance method WSDL::XMLSchema::SimpleType#name

name
name=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > parse_attr

instance method WSDL::XMLSchema::SimpleType#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > parse_element

instance method WSDL::XMLSchema::SimpleType#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > restriction

instance method WSDL::XMLSchema::SimpleType#restriction

restriction


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > targetnamespace

instance method WSDL::XMLSchema::SimpleType#targetnamespace

targetnamespace


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/simpleType > class WSDL::XMLSchema::SimpleType > new

singleton method WSDL::XMLSchema::SimpleType.new

new(name = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/unique > class WSDL::XMLSchema::Unique > parse_attr

instance method WSDL::XMLSchema::Unique#parse_attr

parse_attr(attr, value)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/unique > class WSDL::XMLSchema::Unique > parse_element

instance method WSDL::XMLSchema::Unique#parse_element

parse_element(element)


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/unique > class WSDL::XMLSchema::Unique > new

singleton method WSDL::XMLSchema::Unique.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/xsd2ruby > class WSDL::XMLSchema::XSD2Ruby > basedir

instance method WSDL::XMLSchema::XSD2Ruby#basedir

basedir
basedir=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/xsd2ruby > class WSDL::XMLSchema::XSD2Ruby > location

instance method WSDL::XMLSchema::XSD2Ruby#location

location
location=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/xsd2ruby > class WSDL::XMLSchema::XSD2Ruby > logger

instance method WSDL::XMLSchema::XSD2Ruby#logger

logger
logger=


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/xsd2ruby > class WSDL::XMLSchema::XSD2Ruby > opt

instance method WSDL::XMLSchema::XSD2Ruby#opt

opt


Ruby 1.8.7 Reference Manual > All Libraries > library wsdl/xmlSchema/xsd2ruby > class WSDL::XMLSchema::XSD2Ruby > run

instance method WSDL::XMLSchema::XSD2Ruby#run

run


instance method WeakRef#__getobj__

__getobj__

Return the object this WeakRef references. Raises WeakRef::RefError if the object has been garbage collected. The object returned is the object to which method calls are delegated (see Delegator).


instance method WeakRef#weakref_alive?

weakref_alive?

参照先のオブジェクトがまだ生きていれば true を返します。 GCされていれば false を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library weakref > class WeakRef > new

singleton method WeakRef.new

new(obj)

obj への weak reference を生成します。


Ruby 1.8.7 Reference Manual > All Libraries > library dl/win32 > class Win32API > DLL

constant Win32API::DLL

DLL


instance method Win32API#Call

call(*args)
Call(*args)

API を呼び出します。 指定する引数と戻り値は Win32API.new の引数の指定に従います。 特にポインタを渡してそのポインタの指す領域に値が設定される場合は その領域をあらかじめ確保しておく必要があります。

例えば、引数のバッファに書き込む関数を呼び出すには以下のようにします。

api = Win32API.new('foo.dll', 'foo', 'p', 'v')
buf = "\0" * 256
api.call(buf)

ポインタの配列を渡す場合は以下のようにします。

api = Win32API.new('foo.dll', 'foo', 'p', 'v')
args = ["\0" * 256, "\0" * 256, "\0" * 256]
api.call(args.pack("p3"))
call(*args)
Call(*args)

DL::Symbol#call により関数を実行します。


singleton method Win32API.new

new(dllname, func, import, export)

DLL dllname をロードし、API func のオブジェクトを生成します。

第 3 引数 import には func の引数の型のリストを指定します。 nil の場合は引数なしと見なされます。

第 4 引数 export には func の戻り値の型を指定します。 nil の場合は戻り値なし (void) と見なされます。

第 3 引数 import と第 4 引数 export で 型を指定するには以下の文字列を用います。

"p"

ポインタ

"n", "l"

long

"i"

int

"v"

void

new(dllname, func, import, export = "0")

指定された関数を DL::Symbol オブジェクトとして生成します。


constant Win32::Registry::HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA

それぞれの定義済キーを表す Win32::Registry オブジェクトです。

詳細は以下の MSDN Library を参照してください。

  • Predefined Keys: http://msdn.microsoft.com/library/en-us/sysinfo/base/predefined_keys.asp


instance method Win32::Registry#[]

self[name, wtype = nil]

レジストリ値 name に value を書き込みます。

オプション引数 wtype を指定した場合は，その型で書き込みます。 指定しなかった場合，value のクラスに応じて次の型で書き込みます:

  • Integer REG_DWORD
  • String REG_SZ
  • Array REG_MULTI_SZ


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > []=

instance method Win32::Registry#[]=

self[name, rtype] = value = nil


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > _dump

instance method Win32::Registry#_dump

_dump


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > close

instance method Win32::Registry#close

close

開かれているキーを閉じます。

閉じられた後では，多くのメソッドは例外を発生します。


instance method Win32::Registry#create

create(subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)

Win32::Registry.create(self, subkey, desired, opt) と同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > created?

instance method Win32::Registry#created?

created?

キーが新しく作成された場合，真を返します。 (⇒Win32::Registry.create)


instance method Win32::Registry#delete

delete(name)
delete_value(name)

レジストリ値 name を削除します。 (標準) レジストリ値を削除することはできません。


instance method Win32::Registry#delete_key

delete_key(name, recursive = false)

サブキー name とそのキーが持つすべての値を削除します。

recursive が false の場合，そのサブキーはサブキーを持っていてはなりません。 true の場合，キーは再帰的に削除されます。


instance method Win32::Registry#descriptor_length

num_keys
max_key_length
num_values
max_value_name_length
max_value_length
descriptor_length
wtime

キー情報の個々の値を返します。


instance method Win32::Registry#disposition

disposition

キーの disposition 値を返します。 (REG_CREATED_NEW_KEY または REG_OPENED_EXISTING_KEY)


instance method Win32::Registry#each

each {|name, type, value| ... }
each_value {|name, type, value| ... }

キーが持つレジストリ値を列挙します。


instance method Win32::Registry#each_key

each_key {|subkey, wtime| ... }

キーのサブキーを列挙します。

subkey はサブキーの名前を表す String です。 wtime は最終更新時刻を表す FILETIME (64-bit 整数) です。 (⇒Win32::Registry.wtime2time)


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > flush

instance method Win32::Registry#flush

flush

キーの全てのデータをレジストリファイルに書き込みます。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > hkey

instance method Win32::Registry#hkey

hkey


instance method Win32::Registry#info

info

キー情報を以下の値の配列で返します:

  • num_keys サブキーの個数
  • max_key_length サブキー名の最大長
  • num_values 値の個数
  • max_value_name_length 値の名前の最大長
  • max_value_length 値の最大長
  • descriptor_length セキュリティ記述子の長さ
  • wtime 最終更新時刻 (FILETIME)

詳細は以下の Win32 API を参照してください。

  • RegQueryInfoKey: http://msdn.microsoft.com/library/en-us/sysinfo/base/regqueryinfokey.asp


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > inspect

instance method Win32::Registry#inspect

inspect


instance method Win32::Registry#keyname

keyname

Win32::Registry.open または Win32::Registry.create に指定された subkey の値を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > keys

instance method Win32::Registry#keys

keys


instance method Win32::Registry#name

name
to_s

キーのフルパスを 'HKEY_CURRENT_USER\SOFTWARE\foo\bar' のような形で返します。


instance method Win32::Registry#open

open(subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)

Win32::Registry.open(self, subkey, desired, opt) と同じです。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > open?

instance method Win32::Registry#open?

open?


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > opened?

instance method Win32::Registry#opened?

opened?

キーがまだ閉じられていない場合，真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > parent

instance method Win32::Registry#parent

parent

親のキーを表す Win32::Registry オブジェクトを返します。 定義済キーでは nil を返します。


instance method Win32::Registry#read

read(name, *rtype)

レジストリ値 name を読み，[ type, data ] の配列で返します。 name が nil の場合，(標準) レジストリ値が読み込まれます。

type はレジストリ値の型です。(⇒Win32::Registry::Constants) data はレジストリ値のデータで，クラスは以下の通りです:

  • REG_SZ, REG_EXPAND_SZ String
  • REG_MULTI_SZ String の配列
  • REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_QWORD Integer
  • REG_BINARY String (バイナリデータを含みます)

オプション引数 rtype が指定されていた場合，レジストリ値の型が 与えられた rtype の配列に存在するかチェックされ，存在しない場合に TypeError が発生します。


instance method Win32::Registry#read_bin

read_s(name)
read_i(name)
read_bin(name)

型がそれぞれ REG_SZ(read_s), REG_DWORD(read_i), REG_BINARY(read_bin) であるレジストリ値 name を読み，その値を返します。

型がマッチしなかった場合，TypeError が発生します。


instance method Win32::Registry#read_s_expand

read_s_expand(name)

型が REG_SZ または REG_EXPAND_SZ であるレジストリ値 name を読み， その値を返します。

型が REG_EXPAND_SZ だった場合，環境変数が置換された値が返ります。 REG_SZ または REG_EXPAND_SZ 以外だった場合，TypeError が発生します。


instance method Win32::Registry#write

write(name, type, data)

レジストリ値 name に型 type で data を書き込みます。 name が nil の場合，(標準) レジストリ値に書き込みます。

type はレジストリ値の型です。(⇒Win32::Registry::Constants) data のクラスは Win32::Registry#read メソッドに準じていなければなりません。


instance method Win32::Registry#write_bin

write_s(name, value)
write_i(name, value)
write_bin(name, value)

レジストリ値 name に value を書き込みます。

レジストリ値の型はそれぞれ REG_SZ(write_s), REG_DWORD(write_i), REG_BINARY(write_bin) です。


singleton method Win32::Registry.create

create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED)
create(key, subkey, desired = KEY_ALL_ACCESS, opt = REG_OPTION_RESERVED) {|reg| ... }

レジストリキー key 下にキー subkey を作成し，
開いたキーを表す Win32::Registry オブジェクトを返します。
key は親のキーを Win32::Registry オブジェクトで指定します。
親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)

サブキーが既に存在していればキーはただ開かれ，Win32::Registry#created? メソッドが false を返します。

ブロックが与えられると，キーは自動的に閉じられます。


singleton method Win32::Registry.expand_environ

expand_environ(str)

str の %\w+% という並びを環境変数に置換します。 REG_EXPAND_SZ で用いられます。

詳細は以下の Win32 API を参照してください。

  • ExpandEnvironmentStrings: http://msdn.microsoft.com/library/en-us/sysinfo/base/expandenvironmentstrings.asp


singleton method Win32::Registry.new

new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)
new(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) {|reg| ... }
open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED)
open(key, subkey, desired = KEY_READ, opt = REG_OPTION_RESERVED) {|reg| ... }

レジストリキー key 下のキー subkey を開き，
開いたキーを表す Win32::Registry オブジェクトを返します。
key は親のキーを Win32::Registry オブジェクトで指定します。
親のキーには定義済キー HKEY_* を使用できます (⇒Win32::Registry::Constants)

desired はアクセスマスクです。opt はキーのオプションです。 詳細は以下の MSDN Library を参照してください。

  • Registry Key Security and Access Rights: http://msdn.microsoft.com/library/en-us/sysinfo/base/registry_key_security_and_access_rights.asp

ブロックが与えられると，キーは自動的に閉じられます。


singleton method Win32::Registry.time2wtime

time2wtime(time)

Time オブジェクトまたは Integer オブジェクトを受け取り， 64bit の FILETIME に変換します。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry > type2name

singleton method Win32::Registry.type2name

type2name(type)

レジストリ値の型を整数から可読文字列に変換します。


singleton method Win32::Registry.wtime2time

wtime2time(wtime)

64bit の FILETIME を Time オブジェクトに変換します。

詳細は以下の MSDN Library を参照してください。

  • FILETIME Structure: http://msdn.microsoft.com/library/en-us/sysinfo/base/filetime_str.asp


constant Win32::Registry::API::RegCloseKey

RegCloseKey
RegCreateKeyExA
RegDeleteKey
RegDeleteValue
RegEnumKeyExA
RegEnumValueA
RegFlushKey
RegOpenKeyExA
RegQueryInfoKey
RegQueryValueExA
RegSetValueExA


module function Win32::Registry::API.#CloseKey

CloseKey(hkey)
CreateKey(hkey, name, opt, desired)
DeleteKey(hkey, name)
DeleteValue(hkey, name)
EnumKey(hkey, index)
EnumValue(hkey, index)
FlushKey(hkey)
OpenKey(hkey, name, opt, desired)
QueryInfoKey(hkey)
QueryValue(hkey, name)
SetValue(hkey, name, type, data, size)
check(result)
packdw(dw)
packqw(qw)
unpackdw(dw)
unpackqw(qw)


constant Win32::Registry::Constants::HKEY_CLASSES_ROOT

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_PERFORMANCE_DATA
HKEY_PERFORMANCE_TEXT
HKEY_PERFORMANCE_NLSTEXT
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA

定義済キー値。 これらは Integer で、Win32::Registry オブジェクトではありません。


constant Win32::Registry::Constants::KEY_ALL_ACCESS

STANDARD_RIGHTS_READ
STANDARD_RIGHTS_WRITE
KEY_QUERY_VALUE
KEY_SET_VALUE
KEY_CREATE_SUB_KEY
KEY_ENUMERATE_SUB_KEYS
KEY_NOTIFY
KEY_CREATE_LINK
KEY_READ
KEY_WRITE
KEY_EXECUTE
KEY_ALL_ACCESS

セキュリティアクセスマスク。


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > module Win32::Registry::Constants > MAX_KEY_LENGTH

constant Win32::Registry::Constants::MAX_KEY_LENGTH

MAX_KEY_LENGTH
MAX_VALUE_LENGTH


constant Win32::Registry::Constants::REG_BINARY

REG_NONE
REG_SZ
REG_EXPAND_SZ
REG_BINARY
REG_DWORD
REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN
REG_LINK
REG_MULTI_SZ
REG_RESOURCE_LIST
REG_FULL_RESOURCE_DESCRIPTOR
REG_RESOURCE_REQUIREMENTS_LIST
REG_QWORD
REG_QWORD_LITTLE_ENDIAN

レジストリ値の型。


constant Win32::Registry::Constants::REG_CREATED_NEW_KEY

REG_CREATED_NEW_KEY
REG_OPENED_EXISTING_KEY

キーが新しく作られたか、既存キーが開かれたか。 Win32::Registry#disposition メソッドも参照してください。


constant Win32::Registry::Constants::REG_FORCE_RESTORE

REG_WHOLE_HIVE_VOLATILE
REG_REFRESH_HIVE
REG_NO_LAZY_FLUSH
REG_FORCE_RESTORE


constant Win32::Registry::Constants::REG_LEGAL_OPTION

REG_OPTION_RESERVED
REG_OPTION_NON_VOLATILE
REG_OPTION_VOLATILE
REG_OPTION_CREATE_LINK
REG_OPTION_BACKUP_RESTORE
REG_OPTION_OPEN_LINK
REG_LEGAL_OPTION


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry::Error > FormatMessageA

constant Win32::Registry::Error::FormatMessageA

FormatMessageA


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry::Error > code

instance method Win32::Registry::Error#code

code


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry::PredefinedKey > class

instance method Win32::Registry::PredefinedKey#class

class


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry::PredefinedKey > close

instance method Win32::Registry::PredefinedKey#close

close


Ruby 1.8.7 Reference Manual > All Libraries > library win32/registry > class Win32::Registry::PredefinedKey > new

singleton method Win32::Registry::PredefinedKey.new

new(hkey, keyname)


module function Win32::Resolv.#get_hosts_path

get_hosts_path -> String | nil

hosts ファイルのパスを返します。ファイルが存在しない場合は nil を返します。

例:

require "win32/resolv"
p Win32::Resolv.get_hosts_path #=> "C:\Windows\System32\drivers\etc\hosts"


module function Win32::Resolv.#get_resolv_info

get_resolv_info -> [[String], [String]]

ドメイン名とネームサーバを配列の配列で返します。

例:

require "win32/resolv"
p Win32::Resolv.get_resolv_info #=> [["my.example.com"], ["192.168.1.1"]]

設定されていない情報は nil になります。

# ドメイン名が設定されていない場合。
require "win32/resolv"
p Win32::Resolv.get_resolv_info #=> [nil, ["192.168.1.1"]]


instance method XMLRPC::BasicServer#add_handler

add_handler(name, signature=nil, help=nil) { aBlock }

Adds aBlock to the list of handlers, with name as the name of the method. Parameters signature and help are used by the Introspection method if specified, where signature is either an Array containing strings each representing a type of it's signature (the first is the return value) or an Array of Arrays if the method has multiple signatures. Value type-names are "int, boolean, double, string, dateTime.iso8601, base64, array, struct".

Parameter help is a String with informations about how to call this method etc.

A handler method or code-block can return the types listed at XMLRPC::Client#call. When a method fails, it can tell it the client by throwing an XMLRPC::FaultException like in this example:

s.add_handler("michael.div") do |a,b|
  if b == 0
    raise XMLRPC::FaultException.new(1, "division by zero")
  else
    a / b
  end
end

The client gets in the case of b==0 an object back of type XMLRPC::FaultException that has a faultCode and faultString field.

add_handler(prefix, obj)

This is the second form of [[unknown:add_handler|XMLRPC::BasicServer#add_handler]]. To add an object write:

server.add_handler("michael", MyHandlerClass.new)

All public methods of MyHandlerClass are accessible to the XML-RPC clients by (('michael."name of method"')). This is where the class_delim in [[unknown:new|XMLRPC::BasicServer.new]] has it's role, a XML-RPC method-name is defined by prefix + class_delim + (('"name of method"')).

add_handler(interface, obj)

This is the third form of [[unknown:add_handler|XMLRPC::BasicServer#add_handler]].

Use XMLRPC::interface to generate an ServiceInterface object, which represents an interface (with signature and help text) for a handler class.

Parameter interface must be of type XMLRPC::ServiceInterface. Adds all methods of obj which are defined in interface to the server.

This is the recommended way of adding services to a server!


instance method XMLRPC::BasicServer#add_introspection

add_introspection

Adds the introspection handlers "system.listMethods", "system.methodSignature" and "system.methodHelp", where only the first one works.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/server > class XMLRPC::BasicServer > add_multicall

instance method XMLRPC::BasicServer#add_multicall

add_multicall

Adds the multi-call handler "system.multicall".


instance method XMLRPC::BasicServer#get_default_handler

get_default_handler

Returns the default-handler, which is called when no handler for a method-name is found. It is a Proc object or nil.


instance method XMLRPC::BasicServer#get_service_hook

get_service_hook

Returns the service-hook, which is called on each service request (RPC) unless it's nil.


instance method XMLRPC::BasicServer#set_default_handler

set_default_handler(&handler)

Sets handler as the default-handler, which is called when no handler for a method-name is found. handler is a code-block. The default-handler is called with the (XML-RPC) method-name as first argument, and the other arguments are the parameters given by the client-call.

If no block is specified the default of XMLRPC::BasicServer is used, which raises a XMLRPC::FaultException saying "method missing".


instance method XMLRPC::BasicServer#set_parser

set_parser(parser)

Sets the XML parser to use for parsing XML documents. Should be an instance of a class from module XMLRPC::XMLParser. If this method is not called, then XMLRPC::Config::DEFAULT_PARSER is used.


instance method XMLRPC::BasicServer#set_service_hook

set_service_hook(&handler)

A service-hook is called for each service request (RPC). You can use a service-hook for example to wrap existing methods and catch exceptions of them or convert values to values recognized by XMLRPC. You can disable it by passing nil as parameter handler .

The service-hook is called with a Proc object and with the parameters for this Proc. An example:

server.set_service_hook {|obj, *args|
  begin
    ret = obj.call(*args)  # call the original service-method
    # could convert the return value
  resuce
    # rescue exceptions
  end
}


instance method XMLRPC::BasicServer#set_writer

set_writer(writer)

Sets the XML writer to use for generating XML output. Should be an instance of a class from module XMLRPC::XMLWriter. If this method is not called, then XMLRPC::Config::DEFAULT_WRITER is used.


singleton method XMLRPC::BasicServer.new

new(class_delim=".")

Creates a new XMLRPC::BasicServer instance, which should not be done, because XMLRPC::BasicServer is an abstract class. This method should be called from a subclass indirectly by a super call in the method initialize. The paramter class_delim is used in [[mXMLRPC::BasicServer#add_handler]] when an object is added as handler, to delimit the object-prefix and the method-name.


instance method XMLRPC::CGIServer#serve

serve

Call this after you have added all you handlers to the server. This method processes a XML-RPC methodCall and sends the answer back to the client. Make sure that you don't write to standard-output in a handler, or in any other part of your program, this would case a CGI-based server to fail!


singleton method XMLRPC::CGIServer.new

new(*a)

Creates a new XMLRPC::CGIServer instance. All parameters given are by-passed to [[unknown:XMLRPC::BasicServer.new]]. You can only create ((*one*)) XMLRPC::CGIServer instance, because more than one makes no sense.


instance method XMLRPC::Client#call

call(method, *args)

Invokes the method named method with the parameters given by args on the XML-RPC server. The parameter method is converted into a String and should be a valid XML-RPC method-name. Each parameter of args must be of one of the following types, where Hash, Struct and Array can contain any of these listed ((:types:)):

  • Fixnum, Bignum
  • TrueClass, FalseClass (true, false)
  • String, Symbol
  • Float
  • Hash, Struct
  • Array
  • Date, Time, XMLRPC::DateTime
  • XMLRPC::Base64
  • A Ruby object which class includes XMLRPC::Marshallable (only if Config::ENABLE_MARSHALLABLE is true). That object is converted into a hash, with one additional key/value pair "___class___" which contains the class name for restoring later that object.

The method returns the return-value from the RPC ((-stands for Remote Procedure Call-)). The type of the return-value is one of the above shown, only that a Bignum is only allowed when it fits in 32-bit and that a XML-RPC (('dateTime.iso8601')) type is always returned as a XMLRPC::DateTime object and a Struct is never returned, only a Hash, the same for a Symbol, where always a String is returned. A XMLRPC::Base64 is returned as a String from xmlrpc4r version 1.6.1 on.

If the remote procedure returned a fault-structure, then a XMLRPC::FaultException exception is raised, which has two accessor-methods faultCode and faultString of type Integer and String.


instance method XMLRPC::Client#call2

call2(method, *args)

The difference between this method and [[unknown:call|XMLRPC::Client#call]] is, that this method do ((*not*)) raise a XMLRPC::FaultException exception. The method returns an array of two values. The first value indicates if the second value is a return-value (true) or an object of type XMLRPC::FaultException. Both are explained in [[unknown:call|XMLRPC::Client#call]].

Simple to remember: The "2" in "call2" denotes the number of values it returns.


instance method XMLRPC::Client#call2_async

call_async(...)
call2_async(...)
multicall_async(...)
multicall2_async(...)
proxy_async(...)
proxy2_async(...)

In contrast to corresponding methods without "_async", these can be called concurrently and use for each request a new connection, where the non-asynchronous counterparts use connection-alive (one connection for all requests) if possible.

Note, that you have to use Threads to call these methods concurrently. The following example calls two methods concurrently:

Thread.new {
  p client.call_async("michael.add", 4, 5)
}

Thread.new {
  p client.call_async("michael.div", 7, 9)
}


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/client > class XMLRPC::Client > cookie

instance method XMLRPC::Client#cookie

cookie
cookie=()

Get and set the HTTP Cookie header.


instance method XMLRPC::Client#http_header_extra

http_header_extra

Access the via [[unknown:XMLRPC::Client#http_header_extra=]] assigned header.


instance method XMLRPC::Client#http_header_extra=

http_header_extra=()

Set extra HTTP headers that are included in the request.


instance method XMLRPC::Client#http_last_response

http_last_response

Returns the Net::HTTPResponse object of the last RPC.


instance method XMLRPC::Client#multicall

multicall(*methods)

You can use this method to execute several methods on a XMLRPC server which supports the multi-call extension. Example:

s.multicall(
  ['michael.add', 3, 4],
  ['michael.sub', 4, 5]
)
# => [7, -1]


instance method XMLRPC::Client#multicall2

multicall2(*methods)

Same as [[unknown:XMLRPC::Client#multicall]], but returns like [[unknown:XMLRPC::Client#call2]] two parameters instead of raising an XMLRPC::FaultException.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/client > class XMLRPC::Client > password

instance method XMLRPC::Client#password

timeout
user
password

Return the corresponding attributes.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/client > class XMLRPC::Client > password=

instance method XMLRPC::Client#password=

timeout=()
user=()
password=()

Set the corresponding attributes.


instance method XMLRPC::Client#proxy

proxy(prefix, *args)

Returns an object of class XMLRPC::Client::Proxy, initialized with prefix and args. A proxy object returned by this method behaves like [[unknown:XMLRPC::Client#call]], i.e. a call on that object will raise a XMLRPC::FaultException when a fault-structure is returned by that call.


instance method XMLRPC::Client#proxy2

proxy2(prefix, *args)

Almost the same like XMLRPC::Client#proxy only that a call on the returned XMLRPC::Client::Proxy object behaves like [[unknown:XMLRPC::Client#call2]], i.e. a call on that object will return two parameters.


instance method XMLRPC::Client#set_parser

set_parser(parser)

Sets the XML parser to use for parsing XML documents. Should be an instance of a class from module XMLRPC::XMLParser. If this method is not called, then XMLRPC::Config::DEFAULT_PARSER is used.


instance method XMLRPC::Client#set_writer

set_writer(writer)

Sets the XML writer to use for generating XML output. Should be an instance of a class from module XMLRPC::XMLWriter. If this method is not called, then XMLRPC::Config::DEFAULT_WRITER is used.


singleton method XMLRPC::Client.new

new(host=nil, path=nil, port=nil, proxy_host=nil, proxy_port=nil, user=nil, password=nil, use_ssl=false, timeout =nil)

Creates an object which represents the remote XML-RPC server on the given host host. If the server is CGI-based, path is the path to the CGI-script, which will be called, otherwise (in the case of a standalone server) path should be "/RPC2". port is the port on which the XML-RPC server listens. If proxy_host is given, then a proxy server listening at proxy_host is used. proxy_port is the port of the proxy server.

Default values for host, path and port are 'localhost', '/RPC2' and '80' respectively using SSL '443'.

If user and password are given, each time a request is send, a Authorization header is send. Currently only Basic Authentification is implemented no Digest.

If use_ssl is set to true, comunication over SSL is enabled. Note, that you need the SSL package from RAA installed.

Parameter timeout is the time to wait for a XML-RPC response, defaults to 30.


singleton method XMLRPC::Client.new2

new2(uri, proxy=nil, timeout=nil)
new_from_uri(uri, proxy=nil, timeout=nil)
uri

URI specifying protocol (http or https), host, port, path, user and password. Example: https://user:password@host:port/path

proxy

Is of the form "host:port".

timeout

Defaults to 30.


singleton method XMLRPC::Client.new3

new3(hash={})
new_from_hash(hash={})

Parameter hash has following case-insensitive keys:

  • host
  • path
  • port
  • proxy_host
  • proxy_port
  • user
  • password
  • use_ssl
  • timeout

Calls XMLRPC::Client.new with the corresponding values.


singleton method XMLRPC::Client::Proxy.new

new(server, prefix, args=[], meth=:call, delim=".")

Creates an object which provides method_missing.

server must be of type XMLRPC::Client, which is the XML-RPC server to be used for a XML-RPC call. prefix and delim will be prepended to the methodname called onto this object.

Parameter meth is the method (call, call2, call_async, call2_async) to use for a RPC.

args are arguments which are automatically given to every XML-RPC call before the arguments provides through method_missing.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/config > module XMLRPC::Config > DEFAULT_PARSER

constant XMLRPC::Config::DEFAULT_PARSER

DEFAULT_PARSER


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/config > module XMLRPC::Config > DEFAULT_WRITER

constant XMLRPC::Config::DEFAULT_WRITER

DEFAULT_WRITER


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/config > module XMLRPC::Config > ENABLE_BIGINT

constant XMLRPC::Config::ENABLE_BIGINT

ENABLE_BIGINT

allows integers greater than 32-bit if true


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/config > module XMLRPC::Config > ENABLE_INTROSPECTION

constant XMLRPC::Config::ENABLE_INTROSPECTION

ENABLE_INTROSPECTION

enable Introspection extension by default


constant XMLRPC::Config::ENABLE_MARSHALLING

ENABLE_MARSHALLING

enable marshalling ruby objects which include XMLRPC::Marshallable


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/config > module XMLRPC::Config > ENABLE_MULTICALL

constant XMLRPC::Config::ENABLE_MULTICALL

ENABLE_MULTICALL

enable multiCall extension by default


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/config > module XMLRPC::Config > ENABLE_NIL_CREATE

constant XMLRPC::Config::ENABLE_NIL_CREATE

ENABLE_NIL_CREATE
ENABLE_NIL_PARSER

enable <nil/> tag


instance method XMLRPC::DateTime#day

year
month
day
hour
min
sec

Return the value of the specified date/time component.


instance method XMLRPC::DateTime#day=

year=()
month=()
day=()
hour=()
min=()
sec=()

Set value as the new date/time component. Raises ArgumentError if value is out of range, or in the case of XMLRPC::DateTime#year= if value is not of type Integer.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/datetime > class XMLRPC::DateTime > mon

instance method XMLRPC::DateTime#mon

mon

Alias for [[unknown:XMLRPC::DateTime#month]].


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/datetime > class XMLRPC::DateTime > mon=

instance method XMLRPC::DateTime#mon=

mon=()

Alias for [[unknown:XMLRPC::DateTime#month=]].


instance method XMLRPC::DateTime#to_a

to_a

Returns all date/time components in an array. Returns [year, month, day, hour, min, sec].


instance method XMLRPC::DateTime#to_date

to_date

Return a Date object of the date which self represents. The Date object do ((*not*)) contain the time component (only date).


instance method XMLRPC::DateTime#to_time

to_time

Return a Time object of the date/time which self represents. If the (('year')) is below 1970, this method returns nil, because Time cannot handle years below 1970. The used timezone is GMT.


singleton method XMLRPC::DateTime.new

new(year, month, day, hour, min, sec)

Creates a new XMLRPC::DateTime instance with the parameters year, month, day as date and hour, min, sec as time. Raises ArgumentError if a parameter is out of range, or year is not of type Integer.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/server > class XMLRPC::ModRubyServer > serve

instance method XMLRPC::ModRubyServer#serve

serve


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/server > class XMLRPC::ModRubyServer > new

singleton method XMLRPC::ModRubyServer.new

new(*args)


instance method XMLRPC::Server#serve

serve

Call this after you have added all you handlers to the server. This method starts the server to listen for XML-RPC requests and answer them.


Ruby 1.8.7 Reference Manual > All Libraries > library xmlrpc/server > class XMLRPC::Server > shutdown

instance method XMLRPC::Server#shutdown

shutdown

Stops and shuts the server down.


singleton method XMLRPC::Server.new

new(port=8080, host="127.0.0.1", maxConnections=4, stdlog=$stdout, audit=true, debug=true, *a)

Creates a new XMLRPC::Server instance, which is a XML-RPC server listening on port port and accepts requests for the host host, which is by default only the localhost. The server is not started, to start it you have to call XMLRPC::Server#serve.

Parameters audit and debug are obsolete!

All additionally given parameters in *a are by-passed to XMLRPC::BasicServer.new.


instance method XMLRPC::WEBrickServlet#get_valid_ip

get_valid_ip

Return the via method XMLRPC::Server#set_valid_ip specified valid IP addresses.


instance method XMLRPC::WEBrickServlet#set_valid_ip

set_valid_ip(*ip_addr)

Specifies the valid IP addresses that are allowed to connect to the server. Each IP is either a String or a Regexp.


Ruby 1.8.7 Reference Manual > All Libraries > library irb/xmp > class XMP > puts

instance method XMP#puts

puts


Ruby 1.8.7 Reference Manual > All Libraries > library irb/xmp > class XMP > new

singleton method XMP.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD > InstanceNamespace

constant XSD::InstanceNamespace

InstanceNamespace


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD > Namespace

constant XSD::Namespace

Namespace


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > charset_label

module function XSD::Charset.#charset_label

charset_label(encoding)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > charset_str

module function XSD::Charset.#charset_str

charset_str(label)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > encoding

module function XSD::Charset.#encoding

encoding
encoding=(encoding)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > encoding_conv

module function XSD::Charset.#encoding_conv

encoding_conv(str, enc_from, enc_to)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > encoding_from_xml

module function XSD::Charset.#encoding_from_xml

encoding_from_xml(str, charset)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > encoding_to_xml

module function XSD::Charset.#encoding_to_xml

encoding_to_xml(str, charset)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > init

module function XSD::Charset.#init

init


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > is_ces

module function XSD::Charset.#is_ces

is_ces(str, code = $KCODE)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > is_euc

module function XSD::Charset.#is_euc

is_euc(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > is_sjis

module function XSD::Charset.#is_sjis

is_sjis(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > is_us_ascii

module function XSD::Charset.#is_us_ascii

is_us_ascii(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > is_utf8

module function XSD::Charset.#is_utf8

is_utf8(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::Charset > xml_encoding_label

module function XSD::Charset.#xml_encoding_label

xml_encoding_label


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ClassDef > def_attr

instance method XSD::CodeGen::ClassDef#def_attr

def_attr(attrname, writable = true, varname = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ClassDef > def_classvar

instance method XSD::CodeGen::ClassDef#def_classvar

def_classvar(var, value)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ClassDef > dump

instance method XSD::CodeGen::ClassDef#dump

dump


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ClassDef > new

singleton method XSD::CodeGen::ClassDef.new

new(name, baseclass = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::CommentDef > comment

instance method XSD::CodeGen::CommentDef#comment

comment
comment=(comment)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::CommentDef > new

singleton method XSD::CodeGen::CommentDef.new

new(name, baseclass = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > capitalize

module function XSD::CodeGen::GenSupport.#capitalize

capitalize(target)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > format

module function XSD::CodeGen::GenSupport.#format

format(str, indent = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > keyword?

module function XSD::CodeGen::GenSupport.#keyword?

keyword?(word)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > safeconstname

module function XSD::CodeGen::GenSupport.#safeconstname

safeconstname(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > safeconstname?

module function XSD::CodeGen::GenSupport.#safeconstname?

safeconstname?(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > safemethodname

module function XSD::CodeGen::GenSupport.#safemethodname

safemethodname(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > safemethodname?

module function XSD::CodeGen::GenSupport.#safemethodname?

safemethodname?(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > safevarname

module function XSD::CodeGen::GenSupport.#safevarname

safevarname(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > safevarname?

module function XSD::CodeGen::GenSupport.#safevarname?

safevarname?(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > module XSD::CodeGen::GenSupport > uncapitalize

module function XSD::CodeGen::GenSupport.#uncapitalize

uncapitalize(target)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::MethodDef > definition

instance method XSD::CodeGen::MethodDef#definition

definition
definition=(definition)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::MethodDef > dump

instance method XSD::CodeGen::MethodDef#dump

dump


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::MethodDef > new

singleton method XSD::CodeGen::MethodDef.new

new(name, *params)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > add_method

instance method XSD::CodeGen::ModuleDef#add_method

add_method(m, visibility = :public)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > def_code

instance method XSD::CodeGen::ModuleDef#def_code

def_code(code)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > def_const

instance method XSD::CodeGen::ModuleDef#def_const

def_const(const, value)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > def_method

instance method XSD::CodeGen::ModuleDef#def_method

def_method(name, *params) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > def_privatemethod

instance method XSD::CodeGen::ModuleDef#def_privatemethod

def_privatemethod(name, *params) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > def_protectedmethod

instance method XSD::CodeGen::ModuleDef#def_protectedmethod

def_protectedmethod(name, *params) { ... }


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > def_require

instance method XSD::CodeGen::ModuleDef#def_require

def_require(path)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > dump

instance method XSD::CodeGen::ModuleDef#dump

dump


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/codegen > class XSD::CodeGen::ModuleDef > new

singleton method XSD::CodeGen::ModuleDef.new

new(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::FloatConstants > NEGATIVE_INF

constant XSD::FloatConstants::NEGATIVE_INF

NEGATIVE_INF


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::FloatConstants > NaN

constant XSD::FloatConstants::NaN

NaN


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::FloatConstants > POSITIVE_INF

constant XSD::FloatConstants::POSITIVE_INF

POSITIVE_INF


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::IconvCharset > safe_iconv

singleton method XSD::IconvCharset.safe_iconv

safe_iconv(to, from, str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > assign

instance method XSD::NS#assign

assign(ns, tag = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > assigned?

instance method XSD::NS#assigned?

assigned?(ns)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > assigned_tag?

instance method XSD::NS#assigned_tag?

assigned_tag?(tag)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > clone_ns

instance method XSD::NS#clone_ns

clone_ns


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > compare

instance method XSD::NS#compare

compare(ns, name, rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > default_namespace

instance method XSD::NS#default_namespace

default_namespace


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > each_ns

instance method XSD::NS#each_ns

each_ns {|ns, tag| .... }


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > initialize

instance method XSD::NS#initialize

initialize(tag2ns = {})


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > name

instance method XSD::NS#name

name(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > parse

instance method XSD::NS#parse

parse(elem)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::NS > parse_local

instance method XSD::NS#parse_local

parse_local(elem)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NSDBase > type

instance method XSD::NSDBase#type

type
type=(type)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NSDBase > inherited

singleton method XSD::NSDBase.inherited

inherited(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NSDBase > new

singleton method XSD::NSDBase.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NSDBase > types

singleton method XSD::NSDBase.types

types


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NS::Assigner > assign

instance method XSD::NS::Assigner#assign

assign(ns)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NS::Assigner > new

singleton method XSD::NS::Assigner.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > +

instance method XSD::NamedElements#+

self + rhs


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > <<

instance method XSD::NamedElements#<<

self << rhs


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > []

instance method XSD::NamedElements#[]

self[idx]


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > concat

instance method XSD::NamedElements#concat

concat(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > delete

instance method XSD::NamedElements#delete

delete(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > dup

instance method XSD::NamedElements#dup

dup


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > each

instance method XSD::NamedElements#each

each {|element| ...}


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > empty?

instance method XSD::NamedElements#empty?

empty?


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > find_name

instance method XSD::NamedElements#find_name

find_name(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > freeze

instance method XSD::NamedElements#freeze

freeze


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > keys

instance method XSD::NamedElements#keys

keys


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > size

instance method XSD::NamedElements#size

size


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::NamedElements > new

singleton method XSD::NamedElements.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > ==

instance method XSD::QName#==

self == rhs


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > ===

instance method XSD::QName#===

self === rhs
eql?(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > dump

instance method XSD::QName#dump

dump


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > dup_name

instance method XSD::QName#dup_name

dup_name(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > hash

instance method XSD::QName#hash

hash


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > inspect

instance method XSD::QName#inspect

inspect


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > match

instance method XSD::QName#match

match(rhs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > name

instance method XSD::QName#name

name
name=(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > namespace

instance method XSD::QName#namespace

namespace
namespace=(namespace)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > parse

instance method XSD::QName#parse

parse(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > source

instance method XSD::QName#source

source
source=(source)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > to_s

instance method XSD::QName#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::QName > new

singleton method XSD::QName.new

new(namespace = nil, name = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > module XSD::XMLParser > create_parser

module function XSD::XMLParser.#create_parser

create_parser(host, opt)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > module XSD::XMLParser > filter_ns

module function XSD::XMLParser.#filter_ns

filter_ns(ns, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::Parser > charset

instance method XSD::XMLParser::Parser#charset

charset
charset=(charset)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::Parser > parse

instance method XSD::XMLParser::Parser#parse

parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::Parser > add_factory

singleton method XSD::XMLParser::Parser.add_factory

add_factory(factory)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::Parser > create_parser

singleton method XSD::XMLParser::Parser.create_parser

create_parser(host, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::Parser > factory

singleton method XSD::XMLParser::Parser.factory

factory


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::Parser > new

singleton method XSD::XMLParser::Parser.new

new(host, opt = {})


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > do_parse

instance method XSD::XMLParser::REXMLParser#do_parse

do_parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > epilogue

instance method XSD::XMLParser::REXMLParser#epilogue

epilogue


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > tag_end

instance method XSD::XMLParser::REXMLParser#tag_end

tag_end(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > tag_start

instance method XSD::XMLParser::REXMLParser#tag_start

tag_start(name, attrs)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > text

instance method XSD::XMLParser::REXMLParser#text

text(text)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > xmldecl

instance method XSD::XMLParser::REXMLParser#xmldecl

xmldecl(version, encoding, standalone)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::REXMLParser > new

singleton method XSD::XMLParser::REXMLParser.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLParser > do_parse

instance method XSD::XMLParser::XMLParser#do_parse

do_parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLParser > new

singleton method XSD::XMLParser::XMLParser.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > do_parse

instance method XSD::XMLParser::XMLScanner#do_parse

do_parse(string_or_readable)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_attr_charref

instance method XSD::XMLParser::XMLScanner#on_attr_charref

on_attr_charref(code)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_attr_charref_hex

instance method XSD::XMLParser::XMLScanner#on_attr_charref_hex

on_attr_charref_hex(code)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_attr_entityref

instance method XSD::XMLParser::XMLScanner#on_attr_entityref

on_attr_entityref(ref)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_attr_value

instance method XSD::XMLParser::XMLScanner#on_attr_value

on_attr_value(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_attribute

instance method XSD::XMLParser::XMLScanner#on_attribute

on_attribute(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_chardata

instance method XSD::XMLParser::XMLScanner#on_chardata

on_chardata(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_charref

instance method XSD::XMLParser::XMLScanner#on_charref

on_charref(code)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_charref_hex

instance method XSD::XMLParser::XMLScanner#on_charref_hex

on_charref_hex(code)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_entityref

instance method XSD::XMLParser::XMLScanner#on_entityref

on_entityref(ref)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_etag

instance method XSD::XMLParser::XMLScanner#on_etag

on_etag(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_stag

instance method XSD::XMLParser::XMLScanner#on_stag

on_stag(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_stag_end

instance method XSD::XMLParser::XMLScanner#on_stag_end

on_stag_end(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_stag_end_empty

instance method XSD::XMLParser::XMLScanner#on_stag_end_empty

on_stag_end_empty(name)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_xmldecl_encoding

instance method XSD::XMLParser::XMLScanner#on_xmldecl_encoding

on_xmldecl_encoding(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > on_xmldecl_version

instance method XSD::XMLParser::XMLScanner#on_xmldecl_version

on_xmldecl_version(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > parse_error

instance method XSD::XMLParser::XMLScanner#parse_error

parse_error(msg)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > scanner_kcode=

instance method XSD::XMLParser::XMLScanner#scanner_kcode=

scanner_kcode=(charset)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > valid_error

instance method XSD::XMLParser::XMLScanner#valid_error

valid_error(msg)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > warning

instance method XSD::XMLParser::XMLScanner#warning

warning(msg)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > wellformed_error

instance method XSD::XMLParser::XMLScanner#wellformed_error

wellformed_error(msg)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/xmlparser > class XSD::XMLParser::XMLScanner > new

singleton method XSD::XMLParser::XMLScanner.new

new


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnySimpleType > check_lexical_format

instance method XSD::XSDAnySimpleType#check_lexical_format

check_lexical_format(value)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnySimpleType > data

instance method XSD::XSDAnySimpleType#data

data


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnySimpleType > is_nil

instance method XSD::XSDAnySimpleType#is_nil

is_nil
is_nil=(bool)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnySimpleType > set

instance method XSD::XSDAnySimpleType#set

set(value)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnySimpleType > to_s

instance method XSD::XSDAnySimpleType#to_s

to_s


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnySimpleType > new

singleton method XSD::XSDAnySimpleType.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDAnyURI > new

singleton method XSD::XSDAnyURI.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDBase64Binary > set_encoded

instance method XSD::XSDBase64Binary#set_encoded

set_encoded(value)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDBase64Binary > string

instance method XSD::XSDBase64Binary#string

string


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDBase64Binary > new

singleton method XSD::XSDBase64Binary.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDBoolean > new

singleton method XSD::XSDBoolean.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDByte > new

singleton method XSD::XSDByte.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDate > new

singleton method XSD::XSDDate.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDateTime > new

singleton method XSD::XSDDateTime.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > _set

instance method XSD::XSDDateTimeImpl#_set

_set(t)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > add_tz

instance method XSD::XSDDateTimeImpl#add_tz

add_tz(s)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > of2tz

instance method XSD::XSDDateTimeImpl#of2tz

of2tz(offset)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > to_date

instance method XSD::XSDDateTimeImpl#to_date

to_date


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > to_datetime

instance method XSD::XSDDateTimeImpl#to_datetime

to_datetime


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > to_obj

instance method XSD::XSDDateTimeImpl#to_obj

to_obj(klass)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > to_time

instance method XSD::XSDDateTimeImpl#to_time

to_time


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > module XSD::XSDDateTimeImpl > tz2of

instance method XSD::XSDDateTimeImpl#tz2of

tz2of(str)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDecimal > nonzero?

instance method XSD::XSDDecimal#nonzero?

nonzero?


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDecimal > new

singleton method XSD::XSDDecimal.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDouble > new

singleton method XSD::XSDDouble.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > day

instance method XSD::XSDDuration#day

day
day=(day)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > hour

instance method XSD::XSDDuration#hour

hour
hour=(hour)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > min

instance method XSD::XSDDuration#min

min
min=(min)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > month

instance method XSD::XSDDuration#month

month
month=(month)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > sec

instance method XSD::XSDDuration#sec

sec
sec=(sec)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > sign

instance method XSD::XSDDuration#sign

sign
sign=(sign)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > year

instance method XSD::XSDDuration#year

year
year=(year)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDDuration > new

singleton method XSD::XSDDuration.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDFloat > new

singleton method XSD::XSDFloat.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDGDay > new

singleton method XSD::XSDGDay.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDGMonth > new

singleton method XSD::XSDGMonth.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDGMonthDay > new

singleton method XSD::XSDGMonthDay.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDGYear > new

singleton method XSD::XSDGYear.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDGYearMonth > new

singleton method XSD::XSDGYearMonth.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDHexBinary > set_encoded

instance method XSD::XSDHexBinary#set_encoded

set_encoded(value)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDHexBinary > string

instance method XSD::XSDHexBinary#string

string


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDHexBinary > new

singleton method XSD::XSDHexBinary.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDInt > new

singleton method XSD::XSDInt.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDInteger > new

singleton method XSD::XSDInteger.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDLong > new

singleton method XSD::XSDLong.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDNegativeInteger > new

singleton method XSD::XSDNegativeInteger.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDNil > new

singleton method XSD::XSDNil.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDNonNegativeInteger > new

singleton method XSD::XSDNonNegativeInteger.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDNonPositiveInteger > new

singleton method XSD::XSDNonPositiveInteger.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDNormalizedString > new

singleton method XSD::XSDNormalizedString.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDPositiveInteger > new

singleton method XSD::XSDPositiveInteger.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDQName > new

singleton method XSD::XSDQName.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDShort > new

singleton method XSD::XSDShort.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDString > new

singleton method XSD::XSDString.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDTime > new

singleton method XSD::XSDTime.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDUnsignedByte > new

singleton method XSD::XSDUnsignedByte.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDUnsignedInt > new

singleton method XSD::XSDUnsignedInt.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDUnsignedLong > new

singleton method XSD::XSDUnsignedLong.new

new(value = nil)


Ruby 1.8.7 Reference Manual > All Libraries > library xsd/datatypes > class XSD::XSDUnsignedShort > new

singleton method XSD::XSDUnsignedShort.new

new(value = nil)


constant YAML::DEFAULTS

DEFAULTS

YAMLのデフォルトの設定のハッシュです。 Ruby 1.8.3 以降では変更できません。

下記のオプションがあります。

{
 :SortKeys=>false,
 :UseFold=>false,
 :AnchorFormat=>"id%03d",
 :Encoding=>:None,
 :Indent=>2,
 :ExplicitTypes=>false,
 :UseHeader=>false,
 :WidthType=>"absolute",
 :UseVersion=>false,
 :BestWidth=>80,
 :Version=>"1.0",
 :UseBlock=>false
}


module function YAML.#add_builtin_type

add_builtin_type(type_re) {|type, val| ...}

yaml.org,2002ドメインに属しているクラスをYAMLに追加し そのクラスを見つけたときの操作を指定します。

[PARAM] type_re:
加えるクラスを指定する。
[PARAM] type:
YAMLドメインとクラスの文字列
[PARAM] val:
YAMLデータ構造
require 'yaml'

str1=<<EOT
--- !ruby.yaml.org,2002/Rational 5/6
EOT
str2=<<EOT
--- !yaml.org,2002/Rational 3/4
EOT

p YAML.load(str1)
#=> #<YAML::DomainType:0x2b07528 @type_id="Rational", @domain="ruby.yaml.org,2002", @value="5/6">

p YAML.load(str2)
#=> #<YAML::DomainType:0x2b0767c @type_id="Rational", @domain="yaml.org,2002", @value="3/4">

YAML.add_builtin_type("Rational"){|type, val|
  md = val.split(/\//)
  Rational.new!(md[0].to_i, md[1].to_i)
}

p YAML.load(str1)
#=> #<YAML::DomainType:0x2b06fec @type_id="Rational", @domain="ruby.yaml.org,2002", @value="5/6">
## 前回と変化なし

rt = YAML.load(str2)
p rt + 0.25
#=> 1.0


module function YAML.#add_domain_type

add_domain_type(domain, type_re) {|type, val| ...}

YAMLドメインに属しているクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。

[PARAM] domain:
YAMLのドメインを文字列で指定する。
[PARAM] type_re:
加えるクラスを指定する。
[PARAM] type:
YAMLドメインとクラスの文字列
[PARAM] val:
YAMLデータ構造
require 'yaml'

class Person
  attr_accessor :name, :age
end

str=<<EOT
--- !Qjitsu.com,2007-05-04/Person
name: eiji
age: 33
EOT

YAML.each_document(str){|obj|
  p obj
}
#=> #<YAML::DomainType:0x2b07974 @type_id="Person", @domain="Qjitsu.com,2007-05-04", @value={"name"=>"eiji", "age"=>33}>
#
YAML.add_domain_type( "Qjitsu.com,2007-05-04", "Person" ) { |type, val|
  YAML.object_maker( Person, val )
}
YAML.each_document(str){|obj|
  p obj
}
#=> #<Person:0x2b0762c @age=33, @name="eiji">


module function YAML.#add_private_type

add_private_type(type_re) {|type, val| ...}

プライベートタイプのクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。

[PARAM] type_re:
プライベートタイプのクラスを文字列で指定します。
[PARAM] type:
YAMLドメインとクラスの文字列
[PARAM] val:
YAMLデータ構造
require 'yaml'

class Person ; end

str1=<<EOT
--- !!Person
name: taro
country: Japan
capital: Tokyo
EOT

YAML.each_document(str1){|obj|
  p obj
}
#=> #<YAML::PrivateType:0x2b07a14 @type_id="Person", @value={"name"=>"taro", "country"=>"Japan", "capital"=>"Tokyo"}>
YAML.add_private_type("Person"){|type, val|
  YAML.object_maker(Person, val)
}
YAML.each_document(str1){|obj|
  p obj
}
#=> #<Person:0x2b07640 @country="Japan", @capital="Tokyo", @name="taro">

str2=<<EOT
--- !Qjitsu.com,2007-05-04/Person
name: eiji
age: 33
--- !!Person
name: ichiro
country: Japan
capital: Tokyo
EOT

YAML.each_document(str2){|obj|
  p obj
}
#=> #<YAML::DomainType:0x2b071a4 @type_id="Person", @domain="Qjitsu.com,2007-05-04", @value={"name"=>"eiji", "age"=>33}>
#=> #<Person:0x2b06eac @country="Japan", @capital="Tokyo", @name="ichiro">


module function YAML.#add_ruby_type

add_ruby_type(type_re) {|type, val| ...}

rubyタイプのクラスをYAMLに追加し、 そのクラスを見つけたときの操作を指定します。

[PARAM] type_re:
rubyタイプのクラスを文字列で指定します。
[PARAM] type:
YAMLドメインとクラスの文字列
[PARAM] val:
YAMLデータ構造
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

str1=<<EOT
--- !ruby/Dog
name: pochi
--- !!Dog
age: 0.5
--- !Qjitsu.com,2007-05-06/Dog
preference: apple
EOT

YAML.add_ruby_type("Dog") do |type, val|
  YAML.object_maker(Dog, val)
end

YAML.each_document(str1){|dog|
  p dog.class
  p dog.respond_to?(:name)
}
#=> Dog
#=> true
#=> YAML::PrivateType
#=> false
#=> YAML::DomainType
#=> false


module function YAML.#detect_implicit

detect_implicit(val)

文字列のタイプを検知する

[PARAM] val:
判定されるオブジェクト
require 'yaml'

p YAML.detect_implicit("")
#=> "null"
p YAML.detect_implicit("Cat")
#=> "str"
p YAML.detect_implicit(10)
#=> ""
p YAML.detect_implicit([3, "5"])
#=> ""
p YAML.detect_implicit(nil)
#=> ""


module function YAML.#dump

dump(obj, io = nil)

与えられた obj を YAML フォーマットに変換し、io に書き込みます。 io が与えられていない場合は、YAML フォーマットの文字列を返します。

[PARAM] obj:
YAMLフォーマットに変換されるオブジェクト
[PARAM] io:
出力先のIOオブジェクト
YAML.dump( ['badger', 'elephant', 'tiger'],
           File.open('sample.yml', 'w')    )


module function YAML.#dump_stream

dump_stream(*objs)

与えられた objs を順に YAML フォーマットに変換していき、一つの文字列にまとめたものを返します。

[PARAM] objs:
YAMLフォーマットに変換されるオブジェクト
require "yaml"
puts YAML.dump_stream( "hoge\nfoo", [1,2], {"foo" => "bar"} )
--- |-
hoge
foo
---
- 1
- 2
---
foo: bar


module function YAML.#each_document

each_document(io) {|obj| ...}
load_documents(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をすべて順に読み込み Ruby のオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

[PARAM] io:
YAMLフォーマットの文書の読み込み先のIOオブジェクト
# sample.yml
- apple
- banana
- carrot
---
foo: bar

#!/usr/bin/env ruby
require "yaml"
File.open( 'sample.yml' ) do |io|
  YAML.load_documents(io){|y|
    p y
  }
end
#=>   ["apple", "banana", "carrot"]
#=>   {"foo"=>"bar"}


module function YAML.#each_node

each_node(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をすべて順に読み込み YAML::Syck::Mapオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

[PARAM] io:
YAML フォーマットの文書の IO オブジェクト
food:
 - apple
 - banana
 - carrot
---
foo: bar
# end of test.yml

require 'yaml'

File.open( 'test.yml' ) do |io|
  YAML.each_node(io) do |y|
    p y.transform
  end
end
#=> {"food"=>["apple", "banana", "carrot"]}
#=> {"foo"=>"bar"}


module function YAML.#load

load(io)
load(str)

YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。 引数として IO オブジェクトと文字列を受け付けます。 io や 文字列が複数の YAML ドキュメントを含んでいても、最初のものしか Ruby のオブジェクトに変換しません。

[PARAM] io:
YAMLフォーマットの文書の読み込み先のIOオブジェクト
[PARAM] str:
YAMLフォーマットの文書の読み込み先の文字列
$ ruby-1.8 -ryaml -e '
p YAML.load(<<HERE)
- apple
- banana
- carrot
---
foo: bar
HERE
'
["apple", "banana", "carrot"]


module function YAML.#load_file

load_file(file)

与えられた名前のファイルから YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。 ファイルが複数の YAML ドキュメントを含んでいても、 最初のものしか Ruby のオブジェクトに変換しません。

[PARAM] file:
YAMLフォーマットのファイル
---
- Monday
-
 - 国語
 - 算数
 - 理科
 - 社会
 - 体育
---
- Friday
-
 - 体育
 - 算数
 - 理科
 - 国語
 - 社会
#end of jikanwari.yaml

require 'yaml'

puts YAML.load_file('jikanwari.yaml').join(",")

#=> Monday,国語,算数,理科,社会,体育


module function YAML.#load_stream

load_stream(io)

与えられた io から YAML フォーマットの文書を すべて順に読み込んで Ruby のオブジェクトに変換していき、 それらオブジェクトを含んだ YAML::Stream を返します。

[PARAM] io:
YAML フォーマットの文書のIOオブジェクトもしくは文字列
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

str1=<<EOT
--- !ruby/Dog
name: pochi
--- !!Dog
age: 0.5
EOT

YAML.add_ruby_type("Dog") do |type, val|
  Dog.new(val["name"])
end

ys = YAML.load_stream(str1)
p ys
#=> #<YAML::Stream:0x2b079d8 @options={}, @documents=[#<Dog:0x2b079c4 @name="pochi">, #<YAML::PrivateType:0x2b07780 @value={"age"=>0.5}, @type_id="Dog">]>
ys.edit(1, Dog.new("tama"))
p ys.documents
#=> [#<Dog:0x2b079b0 @name="pochi">, #<Dog:0x2b0762c @name="tama">]


module function YAML.#object_maker

object_maker(obj_class, val)

与えられたobj_class クラスに、valハッシュをインスタンス変数として追加し obj_classクラスのインスタンスを生成して返します。

[PARAM] obj_class:
クラスを指定する
[PARAM] val:
ハッシュを指定する。obj_classのインスタンス変数作成に使用される
require 'yaml'

class Cat; end

YAML.load_documents(DATA){|y|
  p YAML.object_maker(Cat, y)
}

__END__
name: taro
age: 13
---
name: jiro
age: 23
---
name: saburo
age: 8
# end of sample

結果
#=> #<Cat:0xb7ccb174 @name="taro", @age=13>
#=> #<Cat:0xb7ccafa8 @name="jiro", @age=23>
#=> #<Cat:0xb7ccaad0 @name="saburo", @age=8>


module function YAML.#parse

parse(io)

与えられた io から YAML フォーマットの文書をパースし YAML::Syck::Nodeオブジェクトに変換します。 複数のドキュメントを読み込む場合は、YAML.#parse_documents を使用します。

[PARAM] io:
YAMLフォーマットのIOオブジェクトもしくは文字列
#!/usr/bin/env ruby

require 'yaml'

doc = YAML.parse(DATA)
doc.search("//name").each {|node|
  p node
}

__END__
cat:
 - name: taro
   age: 7
 - name: jiro
   age: 23
---
dog:
 shiba:
  - name: goro
    age: 3
  - name: rokuro
    age: 1
# end of sample
#=> "/cat/0/name"
#=> "/cat/1/name"
# dog は読み込まない


module function YAML.#parse_documents

parse_documents(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をパースし YAML::Syck::Nodeオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

[PARAM] io:
YAML フォーマットの文書の IO オブジェクトもしくは文字列
require 'yaml'

YAML.parse_documents(DATA){|doc|
  doc.search('/dog//name').each {|node|
    p node
  }
  p "-->"
}

__END__
cat:
 - name: taro
   age: 7
 - name: jiro
   age: 23
---
dog:
 shiba:
  - name: goro
    age: 3
  - name: rokuro
    age: 1
# end of sample

#=> "-->"
#=> "/dog/shiba/0/name"
#=> "/dog/shiba/1/name"
#=> "-->"


module function YAML.#parse_file

parse_file(file_path)

file_pathのファイルから一つのYAMLドキュメントをパースし、 YAML::Syck::Nodeオブジェクトを返します。

[PARAM] file_path:
YAMLドキュメントが書かれたファイルへのパスを文字列で指定する
cat:
 - name: taro
   age: 7
 - name: jiro
   age: 23
---
dog:
 shiba:
  - name: goro
    age: 3
  - name: rokuro
    age: 1
# end of sample.yaml

require 'yaml'

tree = YAML.parse_file("sample.yaml")
p tree.transform

#=> {"cat"=>[{"name"=>"taro", "age"=>7}, {"name"=>"jiro", "age"=>23}]}


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML > quick_emit

module function YAML.#quick_emit

quick_emit(oid, opts={}) {|obj| ...}


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML > read_type_class

module function YAML.#read_type_class

read_type_class(type, obj_class)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML > tagurize

module function YAML.#tagurize

tagurize(val)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML > transfer

module function YAML.#transfer

transfer


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML > try_implicit

module function YAML.#try_implicit

try_implicit(obj)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > []

instance method YAML::BaseNode#[]

self[*key]


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > at

instance method YAML::BaseNode#at

at(segment)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > children

instance method YAML::BaseNode#children

children


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > children_with_index

instance method YAML::BaseNode#children_with_index

children_with_index


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > emit

instance method YAML::BaseNode#emit

emit


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > match_path

instance method YAML::BaseNode#match_path

match_path(ypath_str)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > match_segment

instance method YAML::BaseNode#match_segment

match_segment(ypath, depth)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > search

instance method YAML::BaseNode#search

search(ypath_str)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > select

instance method YAML::BaseNode#select

select(ypath_str)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > module YAML::BaseNode > select!

instance method YAML::BaseNode#select!

select!(ypath_str)


instance method YAML::Store#[]

self[name] -> object

ルートnameに対応する値を得ます。

[PARAM] name:
探索するルートの名前を指定します。
require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
}

db.transaction {
  p db["hoge"] #=> [1, 2, 3, 4]
}


instance method YAML::Store#[]=

self[name] = value

ルート name に対応する値 value を代入します。

[PARAM] name:
探索するルートの名前を指定します。
[PARAM] value:
代入するオブジェクトを指定します。
require 'yaml/store'

class HogeHoge
  def initialize
    @ho = 'hoge'
    @ge = 'fuga'
  end
end

hoge = HogeHoge.new

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = hoge
}

db.transaction {
  p db["hoge"] #=> #<HogeHoge:0x3bcc5c @ho="hoge", @ge="fuga">
}


instance method YAML::Store#abort

abort -> ()

データベースの読み書きを終了する。 transaction ブロックから抜けますが、データベースの変更は反映されません。

[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。
require 'yaml/store'
require 'tmpdir'

db = YAML::Store.new("/#{Dir.tmpdir}/#{$$}.yaml")
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
  db["fuga"] = [ 5, 6, 7]
  db.abort
  db["ugougo"] = [ 8, 9, 10]
}

db.transaction {
  p db.root?("hoge")   #=> false
  p db.root?('ugougo') #=> false
}

begin
  p db.abort
rescue PStore::Error
  puts "transaction に与えるブロックのなかでabort は呼び出す。"
end


instance method YAML::Store#commit

commit -> ()

データベースの読み書きを終了します。

[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。
require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
  db["fuga"] = [ 5, 6, 7]
  db.commit
  db["ugougo"] = [ 8, 9, 10]
}

db.transaction {
  p db.root?("fuga")   #=> true
  p db.root?('ugougo') #=> false
}

begin
  p db.commit
rescue PStore::Error
  puts "transaction に与えるブロックのなかでcommit は呼び出す。"
end


instance method YAML::Store#delete

delete(name) -> object | nil

ルートnameに対応する値を削除します。

[PARAM] name:
探索するルートの名前を指定します。
[RETURN]
削除した値を返します。ルートが存在しない場合はnilを返します。
[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。
require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
  db["fuga"] = [ 5, 6, 7]
}

rt = ''
db.transaction {
  rt = db.delete("fuga")
  p db.delete("ugougo") #=> nil
}

p rt #=> [5, 6, 7]
begin
  db.delete("hoge")
rescue PStore::Error
  puts "transaction に与えるブロックのなかでdelete は呼び出す。"
end


instance method YAML::Store#fetch

fetch(name, default = PStore::Error) -> object

ルートnameに対応する値を得る。

該当するルートが登録されていない時には、 引数 default が与えられていればその値を返し、 与えられていなければ例外 PStore::Error が発生します。

[PARAM] name:
探索するルートを文字列で指定します。
[PARAM] default:
name に対応するルートが登録されていない場合に返す値を指定します。
[EXCEPTION] PStore::Error:
name に対応するルートが登録されていないかつ、 default が与えられていない場合に発生します。 また、トランザクション外でこのメソッドが呼び出された場合に発生します。
require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
}

db.transaction {
  p db.fetch("hoge") #=> [1, 2, 3, 4]
  begin
    p db.fetch("fuga")
  rescue PStore::Error
    puts "name に対応するルートが登録されていなく、さらに、 default が与えられていません。"
  end
  p db.fetch("fuga", "ugougo") #=> "ugougo"
}


instance method YAML::Store#path

path -> String

データベースのファイル名を得ます。

require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  p db.path #=> /tmp/store.yaml
}


instance method YAML::Store#root?

root?(name) -> bool

ルート name がデータベースに格納されている場合に真を返します。

[PARAM] name:
探索するルートの名前を指定します。
[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。
require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
  db["fuga"] = [ 5, 6, 7]
}

db.transaction {
  p db.root?('fuga')   #=> true
  p db.root?('ugougo') #=> false
}

begin
  p db.root?('hoge')
rescue PStore::Error
  puts "transaction に与えるブロックのなかでroot? は呼び出す。"
end


instance method YAML::Store#roots

roots -> Array

ルートの集合を配列で返します。

[EXCEPTION] PStore::Error:
トランザクション外でこのメソッドが呼び出された場合に発生します。
require 'yaml/store'

db = YAML::Store.new('/tmp/store.yaml')
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
  db["fuga"] = [ 5, 6, 7]
}

db.transaction {
  p db.roots #=> ["fuga", "hoge"]
}

begin
  p db.roots
rescue PStore::Error
  puts "transaction に与えるブロックのなかでroots は呼び出す。"
end


instance method YAML::Store#transaction

transaction(read_only = false) -> ()

トランザクションに入ります。このブロックの中でのみデータベースの読み書きができます。 読み込み専用のトランザクションが使用可能です。

[PARAM] read_only:
真を指定すると、読み込み専用のトランザクションになります。
[EXCEPTION] PStore::Error:
read_only を真にしたときに、データベースを変更しようした場合に発生します。
require 'yaml/store'

db = YAML::Store.new("/tmp/store.yaml")
db.transaction {
  db["hoge"] = [ 1, 2, 3, 4]
}

begin
  db.transaction(true) {
    db["hoge"] = [ 1, 2, 3, 4]
  }
rescue PStore::Error
  puts "読み込み専用のトランザクションに書き込もうとしました。 "
end

使い方は PStore とほとんど同じです。

例

require "yaml/store"

db = YAML::Store.new("sample.yml")
db.transaction do
  db["hoge"] = {1 => 100, "bar" => 101}
end

# sample.yml
hoge:
  1: 100
  bar: 101

PStore 同様、ユーザが定義したクラスのオブジェクトを保存することもできます。

require "yaml/store"

class Foo
  attr_accessor :foo
end

db = YAML::Store.new("sample.yml")
db.transaction do
  f = Foo.new
  f.foo = 777
  db["bar"] = f
end

# sample.yml
bar: !ruby/object:Foo
  foo: 777


singleton method YAML::Store.new

new(*options)

YAML形式のファイルを読み込ませたい場合は、最初の引数にファイル名を文字列で指定します。 最後の引数がハッシュであった場合は、YAMLのデフォルトの設定を変更します。

[PARAM] options:
読み込ませたいファイルや、オプションを与えます。

[SEE_ALSO] YAML::DEFAULTS


instance method YAML::Stream#[]

self[i]

i番目のドキュメントを参照します。

[PARAM] i:
参照したいドキュメントの番号を指定します。
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

ys = YAML::Stream.new
begin
  ys[0] = Dog.new("kuro")
rescue
  p $!
  #=> #<NoMethodError: undefined method `[]=' for #<YAML::Stream:0x2b07d48 @documents=[], @options={}>>
end

ys.add Dog.new("pochi")
p ys[0]
#=> #<Dog:0x2b07b04 @name="pochi">


instance method YAML::Stream#add

add(doc)

オブジェクトをドキュメントに追加します。

[PARAM] doc:
適切なオブジェクトを指定します。
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

str1=<<EOT
--- !ruby/Dog
name: pochi
EOT

ys = YAML.load_stream(str1)
p ys.documents
#=> [#<YAML::DomainType:0x2b07af0 @value={"name"=>"pochi"}, @type_id="Dog", @domain="ruby.yaml.org,2002">]
ys.add(Dog.new("tama"))
p ys.documents
#=> [#<YAML::DomainType:0x2b07af0 @value={"name"=>"pochi"}, @type_id="Dog", @domain="ruby.yaml.org,2002">, #<Dog:0x2b079b0 @name="tama">]


instance method YAML::Stream#documents

documents

現在のドキュメントを配列で返します。

require 'yaml'

str1=<<EOT
--- !ruby/Dog
name: pochi
---
:age: 17
:color: white
EOT

ys = YAML.load_stream(str1)
p ys.documents.pop
#=> {:age=>17, :color=>"white"}
p ys.documents.pop
#=> #<YAML::DomainType:0x2b07e24 @type_id="Dog", @domain="ruby.yaml.org,2002", @value={"name"=>"pochi"}>
p ys.documents.pop
#=> nil


instance method YAML::Stream#edit

edit(doc_num, doc)

doc_num番目のドキュメントをdocに変更します。 もし、doc_numが現在のドキュメント数より大きい場合は間にはnilが挿入されます。

[PARAM] doc_num:
変更されるドキュメントの番号
[PARAM] doc:
適切なオブジェクト
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

ys = YAML::Stream.new
ys.add(Dog.new("tama"))
ys.edit(1, Dog.new("pochi"))
ys.edit(5, Dog.new("jack"))
p ys.documents
#=> [#<Dog:0x2b07c44 @name="tama">, #<Dog:0x2b07c1c @name="pochi">, nil, nil, nil, #<Dog:0x2b07bf4 @name="jack">]


instance method YAML::Stream#emit

emit(io = nil)

ストリームに含まれる各ドキュメントをIOにYAML形式で書き込みます。 io がnilの場合は文字列を返します。

[PARAM] io:
書き込み先のIOオブジェクト
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

ys = YAML::Stream.new
ys.add(Dog.new("pochi"))
ys.edit(1, { :age => 17, :color => "white"})
ys.edit(2, [ "Chiba", "Saitama"])
ys.emit.split(/\n/).each {|l|
  puts l
}

#結果
--- !ruby/object:Dog
name: pochi
---
:age: 17
:color: white
---
- Chiba
- Saitama


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::Stream > options

instance method YAML::Stream#options

options


singleton method YAML::Stream.new

new(opts = {})

ストリームを返します。ストリームはYAMLドキュメントを複数保持することができます。


instance method YAML::YPath#flags

flags -> bool
flags=(val)

執筆者募集。 クラス変数にflags に対する参照、代入をおこなうためのメソッドです。


instance method YAML::YPath#predicates

predicates -> String
predicates=(val)

執筆者募集。 クラス変数にpredicates に対する参照、代入をおこなうためのメソッドです。


instance method YAML::YPath#segments

segments -> String
segments=(val)

執筆者募集。 クラス変数にsegments に対する参照、代入をおこなうためのメソッドです。


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YPath > each_path

singleton method YAML::YPath.each_path

each_path(str) {|YPath.new(path)| ...} -> object


singleton method YAML::YPath.new

new(str) -> YAML::YPath

YAML::YPath オブジェクトを返します。

[PARAM] str:
YPath でパース可能なパスを文字列で指定します。

動作例

require 'yaml'

str = "/ugo[:hoge]/0/name"

p YAML::YPath.new(str)
#=> #<YAML::YPath:0x3238cc @predicates=[":hoge", nil, nil], @segments=["ugo", "0", "name"], @flags=nil>


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YamlNode > anchor

instance method YAML::YamlNode#anchor

anchor
anchor=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YamlNode > kind

instance method YAML::YamlNode#kind

kind
kind=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YamlNode > transform

instance method YAML::YamlNode#transform

transform
transform=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YamlNode > type_id

instance method YAML::YamlNode#type_id

type_id
type_id=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YamlNode > value

instance method YAML::YamlNode#value

value
value=(val)


Ruby 1.8.7 Reference Manual > All Libraries > library yaml > class YAML::YamlNode > new

singleton method YAML::YamlNode.new

new(type, val)


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > ASCII

constant Zlib::ASCII

ASCII -> Fixnum

Zlib::ZStream#data_type の返す、データタイプを表す整数です。


constant Zlib::BEST_COMPRESSION

BEST_COMPRESSION -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。


constant Zlib::BEST_SPEED

BEST_SPEED -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > BINARY

constant Zlib::BINARY

BINARY -> Fixnum

Zlib::ZStream#data_type の返す、データタイプを表す整数です。


constant Zlib::DEFAULT_COMPRESSION

DEFAULT_COMPRESSION -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。


constant Zlib::DEFAULT_STRATEGY

DEFAULT_STRATEGY -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#params に渡す、 圧縮方法を表す整数です。


constant Zlib::DEF_MEM_LEVEL

DEF_MEM_LEVEL -> Fixnum

Zlib::Deflate.new 等に渡す、memory level を表す整数です。


constant Zlib::FILTERED

FILTERED -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#params に渡す、 圧縮方法を表す整数です。


constant Zlib::FINISH

FINISH -> Fixnum

Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。


constant Zlib::FULL_FLUSH

FULL_FLUSH -> Fixnum

Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。


constant Zlib::HUFFMAN_ONLY

HUFFMAN_ONLY -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#params に渡す、 圧縮方法を表す整数です。


constant Zlib::MAX_MEM_LEVEL

MAX_MEM_LEVEL -> Fixnum

Zlib::Deflate.new 等に渡す、memory level を表す整数です。


constant Zlib::MAX_WBITS

MAX_WBITS

Zlib::Deflate.new や Zlib::Inflate.new での windowBits のデフォルト値です。


constant Zlib::NO_COMPRESSION

NO_COMPRESSION -> Fixnum

Zlib::Deflate.new や Zlib::Deflate#deflate 等に渡す、 圧縮レベルを表す整数です。


constant Zlib::NO_FLUSH

NO_FLUSH -> Fixnum

Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_AMIGA

constant Zlib::OS_AMIGA

OS_AMIGA -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_ATARI

constant Zlib::OS_ATARI

OS_ATARI -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_CODE

constant Zlib::OS_CODE

OS_CODE -> Fixnum

Zlib::GzipFile#os_code メソッドの返す値です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_CPM

constant Zlib::OS_CPM

OS_CPM -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_MACOS

constant Zlib::OS_MACOS

OS_MACOS -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_MSDOS

constant Zlib::OS_MSDOS

OS_MSDOS -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_OS2

constant Zlib::OS_OS2

OS_OS2 -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_QDOS

constant Zlib::OS_QDOS

OS_QDOS -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_RISCOS

constant Zlib::OS_RISCOS

OS_RISCOS -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_TOPS20

constant Zlib::OS_TOPS20

OS_TOPS20 -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_UNIX

constant Zlib::OS_UNIX

OS_UNIX -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_UNKNOWN

constant Zlib::OS_UNKNOWN

OS_UNKNOWN -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_VMCMS

constant Zlib::OS_VMCMS

OS_VMCMS -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_VMS

constant Zlib::OS_VMS

OS_VMS -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_WIN32

constant Zlib::OS_WIN32

OS_WIN32 -> Fixnum

OS の種類を表す定数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > OS_ZSYSTEM

constant Zlib::OS_ZSYSTEM

OS_ZSYSTEM -> Fixnum

OS の種類を表す定数です。


constant Zlib::SYNC_FLUSH

SYNC_FLUSH -> Fixnum

Zlib::Deflate#deflate 等に渡す、ストリームの出力を 制御するための整数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > UNKNOWN

constant Zlib::UNKNOWN

UNKNOWN -> Fixnum

Zlib::ZStream#data_type の返す、データタイプを表す整数です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > VERSION

constant Zlib::VERSION

VERSION

Ruby/zlib のバージョンを表す文字列です。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > ZLIB_VERSION

constant Zlib::ZLIB_VERSION

ZLIB_VERSION -> String

zlib.h のバージョンを表す文字列です。


module function Zlib.#adler32

adler32(string = nil, adler = nil) -> Integer

string の Adler-32 チェックサムを計算し、adler を 更新した値を返します。string が省略された場合は Adler-32 チェックサムの初期値を返します。adler が 省略された場合は adler に初期値が与えらたものとして 計算します。

[PARAM] string:
string の Adler-32 チェックサムが計算されます。
[PARAM] adler:
adler を整数で指定します。


module function Zlib.#crc32

crc32(string = nil, crc = nil) -> Integer

string の CRC チェックサムを計算し、crc を 更新した値を返します。string が省略された場合は CRC チェックサムの初期値を返します。crc が 省略された場合は crc に初期値が与えらたものとして 計算します。

[PARAM] string:
string の CRC チェックサムが計算されます。
[PARAM] crc:
crc を整数で指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > crc_table

module function Zlib.#crc_table

crc_table -> Array

CRC チェックサムの計算に用いるテーブルを配列で返します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > module Zlib > zlib_version

module function Zlib.#zlib_version

zlib_version -> String

zlib ライブラリのバージョンを表す文字列を返します。


instance method Zlib::Deflate#<<

self << string -> self

Zlib::Deflate#deflate と同じように string を 圧縮ストリームに入力しますが、Zlib::Deflate オブジェクト そのものを返します。圧縮ストリームからの出力は、 出力バッファに保存されます。

[PARAM] string:
圧縮する文字列を指定します。
dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271"


instance method Zlib::Deflate#deflate

deflate(string, flush = Zlib::NO_FLUSH) -> String

string を圧縮ストリームに入力します。処理後、ストリームからの 出力を返します。このメソッドを呼ぶと出力バッファ及び入力バッファは 空になります。string が nil の場合はストリームへの入力を 終了します。(Zlib::ZStream#finish と同じ)。 flush には Zlib::NO_FLUSH, Zlib::SYNC_FLUSH, Zlib::FULL_FLUSH, Zlib::FINISH のいずれかを指定します。 詳しくは zlib.h を参照して下さい。

[PARAM] string:
圧縮する文字列を指定します。
[PARAM] flush:
Zlib::NO_FLUSH, Zlib::SYNC_FLUSH, Zlib::FULL_FLUSH, Zlib::FINISH のいずれかを指定します。
dez = Zlib::Deflate.new
p dez.deflate("123" * 20, Zlib::FINISH) #=> "x\2343426$\027\001\000e\217\v\271"


instance method Zlib::Deflate#finish

finish -> String

圧縮ストリームを終了します。deflate('', Zlib::FINISH) と同じです。

dez = Zlib::Deflate.new
dez << "123" * 5 << "ugougo" << "123" * 5 << "hogehoge"
dezstr = dez.finish
p dezstr #=> "x\2343426DB\245\351\371@d\210*\230\221\237\236\n\302\000\356\275\v\271"


instance method Zlib::Deflate#flush

flush(flush = Zlib::SYNC_FLUSH) -> String

deflate('', flush) と同じです。flush が 省略された時は Zlib::SYNC_FLUSH が使用されます。 このメソッドはスクリプトの可読性のために提供されています。

[PARAM] flush:
Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'

def case1
  dez = Zlib::Deflate.new
  comp_str = dez.deflate('hoge')
  comp_str << dez.deflate(' fuga')
  comp_str << dez.deflate(' end', Zlib::FINISH)
  dez.close
  p comp_str
  p Zlib::Inflate.inflate(comp_str)
end

def case2
  dez = Zlib::Deflate.new
  comp_str = dez.deflate('hoge')
  comp_str << dez.flush
  comp_str << dez.deflate(' fuga')
  comp_str << dez.flush
  comp_str << dez.deflate(' end', Zlib::FINISH)
  dez.close
  p comp_str
  p Zlib::Inflate.inflate(comp_str)
end

case1
case2
#=> "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
#=> "hoge fuga end"
#=> "x\234\312\310OO\005\000\000\000\377\377RH+MO\004\000\000\000\377\377SH\315K\001\000!\251\004\276"
#=> "hoge fuga end"


instance method Zlib::Deflate#params

params(level, strategy) -> nil

圧縮ストリームの設定を変更します。詳しくは zlib.h を 参照して下さい。設定の変更に伴うストリームからの出力は 出力バッファに保存されます。

[PARAM] level:
0-9の範囲の整数, または Zlib::DEFAULT_COMPRESSION を指定します。 詳細はzlib.hを参照してください。
[PARAM] strategy:
Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGY など指定します。詳細は zlib.h を参照してください。
require 'zlib'

def case1
  dez = Zlib::Deflate.new
  comp_str = dez.deflate('hoge'*5);
  comp_str << dez.deflate('0'*80)
  comp_str << dez.finish
  p comp_str
  p Zlib::Inflate.inflate(comp_str)
end

def case2
  dez = Zlib::Deflate.new
  comp_str = dez.deflate('hoge'*5);
  dez.params(Zlib::BEST_COMPRESSION, Zlib::HUFFMAN_ONLY)
  comp_str << dez.deflate('0'*80)
  comp_str << dez.finish
  p comp_str
  p Zlib::Inflate.inflate(comp_str)
end

case1
case2
#=> "x\234\313\310OO\315@\303\006T\006\000D\367\0270"
#=> "hogehogehogehogehoge00000000000000000000000000000000000000000000000000000000000000000000000000000000"
#=> "x\234\005\3011\r\000\000\f\003 K\230j\326\257\376\277Aw\351.\335\245\273t\027\000\000\000\000\000\000\000\000\000\200\aD\367\0270"
#=> "hogehogehogehogehoge00000000000000000000000000000000000000000000000000000000000000000000000000000000"


instance method Zlib::Deflate#set_dictionary

set_dictionary(string) -> String

圧縮に用いる辞書を指定します。string を返します。 このメソッドは Zlib::Deflate.new, Zlib::ZStream#reset を呼び出した直後にのみ有効です。詳細は zlib.h を参照して下さい。

[PARAM] string:
辞書に用いる文字列を指定します。詳しくは zlib.h を参照してください。
[RETURN]
辞書に用いる文字列を返します。
def case1(str)
  dez = Zlib::Deflate.new
  comp_str =  dez.deflate(str)
  comp_str << dez.finish
  comp_str.size
end

def case2(str, dict)
  dez = Zlib::Deflate.new
  p dez.set_dictionary(dict)
  comp_str = dez.deflate(str)
  comp_str << dez.finish
  comp_str.size
end

i = 10
dict = 'hoge_fuga_ugougo'
sset = [ dict, 'taeagbamike', 'ugotagma', 'fugebogya' ]
g = [ 0, 1, 1, 1, 0, 0, 0, 3, 3, 3, 0, 0, 1, 1, 0, 0, 0, 1, 2, 2, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0]
str = (1..i).collect{|m| t = rand(g.size); sset.at(g[t])}.join("")

printf "%d normal:%d, dict:%d\n", i, case1(str), case2(str, dict)


singleton method Zlib::Deflate.deflate

deflate(string, level = Zlib::DEFAULT_COMPRESSION) -> String

string を圧縮します。level の有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。

ちなみに、このメソッドは以下のコードとほぼ同じです:

def deflate(string, level)
  z = Zlib::Deflate.new(level)
  dst = z.deflate(string, Zlib::FINISH)
  z.close
  dst
end
[PARAM] string:
圧縮する文字列を指定します。
[PARAM] level:
圧縮の水準を詳細に指定します。 有効な値は Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION 及び 0 から 9 の整数です。

使用例

require 'zlib'

srand(1)
str = (1..500).collect{
  ['A', 'T', 'C', 'G'].at(rand(4))
}.join

p str.size #=> 500

[ Zlib::NO_COMPRESSION,
  Zlib::BEST_SPEED,
  Zlib::BEST_COMPRESSION,
  Zlib::DEFAULT_COMPRESSION ].each { |level|
  deflate_str = Zlib::Deflate.deflate(str, level)
  p deflate_str.size
  # 展開する場合は、下記を実行する
  #puts Zlib::Inflate.inflate(str)
}
#出力例
#=> 511
#=> 200
#=> 194
#=> 194


singleton method Zlib::Deflate.new

new(level = Zlib::DEFAULT_COMPRESSION, windowBits = Zlib::MAX_WBITS, memlevel = Zlib::DEF_MEM_LEVEL, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::Deflate

圧縮ストリームを作成します。各引数の詳細は zlib.h を 参照して下さい。nil の場合はデフォルトの値を使用します。

[PARAM] level:
0-9の範囲の整数, またはZlib::DEFAULT_COMPRESSIONを指定します。詳細はzlib.hを参照してください。
[PARAM] windowBits:
ウィンドの大きさを整数で指定します。詳細はzlib.hを参照してください。
[PARAM] memlevel:
0-9の範囲の整数で指定します。詳細はzlib.hを参照してください。
[PARAM] strategy:
Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。詳細はzlib.h を参照してください。
require 'zlib'

dez = Zlib::Deflate.new(9, nil, 9)
dez << "123" * 20
dezstr = dez.finish
p dezstr #=> "x\3323426$\027\001\000e\217\v\271"

inz = Zlib::Inflate.new
inzstr = inz.inflate(dezstr)
p inzstr  #=> "123123123123123123123123123123123123123123123123123123123123"


instance method Zlib::GzipFile#close

close -> IO

GzipFile オブジェクトをクローズします。このメソッドは 関連付けられている IO オブジェクトの close メソッドを呼び出します。 関連付けられている IO オブジェクトを返します。


instance method Zlib::GzipFile#closed?

closed? -> bool
to_io -> IO

IO クラスの同名メソッドと同じ。

[SEE_ALSO] IO#to_io, IO#closed?


instance method Zlib::GzipFile#comment

comment -> String | nil

gzip ファイルのヘッダーに記録されているコメントを返します。 コメントが存在しない場合は nil を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::GzipFile > crc

instance method Zlib::GzipFile#crc

crc -> Integer

圧縮されていないデータの CRC 値を返します。


instance method Zlib::GzipFile#finish

finish -> IO

GzipFile オブジェクトをクローズします。Zlib::GzipFile#closeと違い、 このメソッドは関連付けられている IO オブジェクトの close メソッドを 呼び出しません。関連付けられている IO オブジェクトを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::GzipFile > level

instance method Zlib::GzipFile#level

level -> Integer

圧縮レベルを返します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::GzipFile > mtime

instance method Zlib::GzipFile#mtime

mtime -> Time

gzip ファイルのヘッダーに記録されている最終更新時間を返します。


instance method Zlib::GzipFile#orig_name

orig_name -> String | nil

gzip ファイルのヘッダーに記録されている元ファイル名を返します。 ファイル名が記録されていない場合は nil を返します。


instance method Zlib::GzipFile#os_code

os_code -> Integer

gzip ファイルのヘッダーに記録されている OS コード番号を返します。


instance method Zlib::GzipFile#sync

sync -> bool
sync=(flag)

IO クラスと同じ。flag が真の時、関連付けられている IO オブジェクトが flush メソッドを持っていなければなりません。 また、true にすると圧縮率が著しく低下します。

[SEE_ALSO] IO#sync, IO#sync


singleton method Zlib::GzipFile.new

new(args...) -> ()

直接使用しません。 通常、具体的な読み書きをおこなうためには、 Zlib::GzipReader.new もしくは、 Zlib::GzipWriter.new を使用します。

[SEE_ALSO] Zlib::GzipReader.new, Zlib::GzipWriter.new


singleton method Zlib::GzipFile.open

open(args...) {|gz| ... } -> ()

直接使用しません。 通常、具体的な読み書きをおこなうためには、 Zlib::GzipReader.open もしくは、Zlib::GzipWriter.open を使用します。

[SEE_ALSO] Zlib::GzipReader.open, Zlib::GzipWriter.open を参照。


singleton method Zlib::GzipFile.wrap

wrap(args...) {|gz| ... } -> ()

直接使用しません。 通常、具体的な読み書きをおこなうためには、 Zlib::GzipReader.wrap もしくは、Zlib::GzipWriter.wrap を使用します。

[SEE_ALSO] Zlib::GzipReader.wrap,Zlib::GzipWriter.wrap


instance method Zlib::GzipReader#each

each(rs = $/) {|line| ... } -> self
each_line(rs = $/) {|line| ... } -> self

IO クラスの同名メソッドIO#each, IO#each_lineと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] rs:
行の区切りを文字列で指定します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
  gz.puts 'fuga'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  gz.each { |line|
    puts line
  }
}

[SEE_ALSO] IO#each, IO#each_line


instance method Zlib::GzipReader#each_byte

each_byte {|byte| ... } -> nil

IO クラスの同名メソッドIO#each_byteと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  gz.each_byte { |b|
    printf "%d -> %c\n", b, b
  }
}
#=> 104 -> h
#=> 111 -> o
#=> 103 -> g
#=> 101 -> e
#=> 10 ->

[SEE_ALSO] IO#each_byte


instance method Zlib::GzipReader#eof

eof -> bool
eof? -> bool

圧縮データの終端に達した場合真を返します。 フッターが読み込まれていなくても真を返すことに注意して下さい。

=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
  gz.puts 'fuga'
  gz.puts 'foga'
}
=end

Zlib::GzipReader.open('hoge.gz'){|gz|
  gz.each_line{|line|
    puts line
  }
  p gz.eof? #=> true
}


instance method Zlib::GzipReader#getc

getc -> Fixnum | nil

IO クラスの同名メソッドIO#getcと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  while c = gz.getc
    puts c
  end
}
#=> 104
#=> 111
#=> 103
#=> 101
#=> 10

[SEE_ALSO] IO#getc


instance method Zlib::GzipReader#gets

gets(rs = $/) -> String | nil

IO クラスの同名メソッドIO#getsと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] rs:
行の区切りを文字列で指定します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
  gz.puts 'fuga'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  while l = gz.gets
    puts l
  end
}
#=> hoge
#=> fuga


instance method Zlib::GzipReader#lineno

lineno -> Fixnum | Bignum

IO クラスの同名メソッドIO#linenoと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'h'
  gz.puts 'o'
  gz.puts 'g'
  gz.puts 'e'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  while l = gz.gets
    l.chomp!
    printf "%s %d\n", l, gz.lineno
  end
}
#=> h 1
#=> o 2
#=> g 3
#=> e 4

[SEE_ALSO] IO#lineno


instance method Zlib::GzipReader#lineno=

lineno=(num) -> Integer

IO クラスの同名メソッドIO#lineno=と同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] num:
新たな行番号を整数で指定します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'h'
  gz.puts 'o'
  gz.puts 'g'
  gz.puts 'e'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  while l = gz.gets
    l.chomp!
    gz.lineno = 1000 if l == "o"
    printf "%s %d\n", l, gz.lineno
  end
}
#=> h 1
#=> o 1001
#=> g 1002
#=> e 1003

[SEE_ALSO] IO#lineno=


instance method Zlib::GzipReader#pos

pos -> Fixnum
tell -> Fixnum

現在までに展開したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。

Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}

Zlib::GzipReader.open('hoge.gz'){|gz|
  while c = gz.getc
    printf "%c, %d\n", c, gz.pos
  end
}
# 実行例
#=> h, 1
#=> o, 2
#=> g, 3
#=> e, 4
#=>
#=> , 5


instance method Zlib::GzipReader#read

read(length = nil) -> String | nil

IO クラスの同名メソッドIO#readと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] length:
読み込む文字列の文字数を整数で指定します。 省略した場合は、全てのデータを読み込みます。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge_fuga'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  p gz.read(4)  #=> "hoge"
  p gz.read     #=> "_fuga\n"
  p gz.read(1)  #=> nil
}

[SEE_ALSO] IO#read


instance method Zlib::GzipReader#readchar

readchar -> Fixnum

IO クラスの同名メソッドIO#readcharと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[EXCEPTION] EOFError:
EOF に到達したとき発生します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  begin
    puts gz.readchar
  rescue EOFError => err
    puts err
    break
  end while true
}
#=> 104
#=> 111
#=> 103
#=> 101
#=> 10
#=> end of file reached


instance method Zlib::GzipReader#readline

readline(rs = $/) -> String

IO クラスの同名メソッドIO#readlineと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] rs:
行の区切りを文字列で指定します。
[EXCEPTION] EOFError:
EOF に到達したとき発生します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
  gz.puts 'fuga'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  begin
    puts gz.readline
  rescue EOFError => err
    puts err
    break
  end while true
}
#=> hoge
#=> fuga
#=> end of file reached

[SEE_ALSO] IO#readline


instance method Zlib::GzipReader#readlines

readlines(rs = $/) -> Array

IO クラスの同名メソッドIO#readlinesと同じです。

但し、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] rs:
行の区切りを文字列で指定します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合は下記で作成できる。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
  gz.puts 'fuga'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  p gz.readlines #=>  ["hoge\n", "fuga\n"]
}

[SEE_ALSO] IO#readlines


instance method Zlib::GzipReader#rewind

rewind -> 0

ファイルポインタを Zlib::GzipReader.new を呼び出した直後の 時点に戻します。関連付けられている IO オブジェクトに seek メソッドが定義されている必要があります。

=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
  gz.puts 'fuga'
}
=end

gz = Zlib::GzipReader.open('hoge.gz')
puts gz.gets #=> hoge
puts gz.gets #=> fuga
gz.rewind  #=> 0
puts gz.gets #=> hoge
gz.close


instance method Zlib::GzipReader#ungetc

ungetc(char) -> nil

IO クラスの同名メソッド IO#ungetc と同じです。

IO クラスの同名メソッドと同じですが、gzip ファイル中に エラーがあった場合 Zlib::Error 例外や Zlib::GzipFile::Error 例外が発生します。

gzip ファイルのフッターの処理に注意して下さい。 gzip ファイルのフッターには圧縮前データのチェックサムが 記録されています。GzipReader オブジェクトは、次の時に展開した データとフッターの照合を行い、エラーがあった場合は Zlib::GzipFile::NoFooter, Zlib::GzipFile::CRCError, Zlib::GzipFile::LengthError 例外を発生させます。

  • EOF (圧縮データの最後) を越えて読み込み要求を受けた時。 すなわち Zlib::GzipReader#read, Zlib::GzipReader#gets メソッド等が nil を返す時。
  • EOF まで読み込んだ後、Zlib::GzipFile#close メソッドが 呼び出された時。
  • EOF まで読み込んだ後、Zlib::GzipReader#unused メソッドが 呼び出された時。
[PARAM] char:
読み戻したい1文字かそのコードポイントを指定します。
[EXCEPTION] Zlib::Error:
Zlib::Error を参照
[EXCEPTION] Zlib::GzipFile::Error:
Zlib::GzipFile::Errorを参照
[EXCEPTION] Zlib::GzipFile::NoFooter:
Zlib::GzipFile::NoFooterを参照
[EXCEPTION] Zlib::GzipFile::CRCError:
Zlib::GzipFile::CRCErrorを参照
[EXCEPTION] Zlib::GzipFile::LengthError:
Zlib::GzipFile::LengthErrorを参照
=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.print 'hogefuga'
}
=end

Zlib::GzipReader.open('hoge.gz') { |gz|
  begin
    c1 = gz.getc
    c2 = gz.getc
    break if c2.nil?
    printf "%c -> %c\n", c1, c2
    gz.ungetc(c2)
  end while true
}

#=> h -> o
#=> o -> g
#=> g -> e
#=> e -> f
#=> f -> u
#=> u -> g
#=> g -> a

[SEE_ALSO] IO#ungetc


instance method Zlib::GzipReader#unused

unused -> String | nil

gzip フォーマットの解析のために読み込んだ余剰のデータを返します。 gzip ファイルが最後まで解析されていない場合は nil を返します。


singleton method Zlib::GzipReader.new

new(io) -> Zlib::GzipReader

io と関連付けられた GzipReader オブジェクトを作成します。

GzipReader オブジェクトは io からデータを逐次リードして 解析/展開を行います。io には少なくとも、IO#read と 同じ動作をする read メソッドが定義されている必要があります。

[PARAM] io:
IO オブジェクト、もしくは少なくとも IO#read と同じ動作を する read メソッドが定義されているオブジェクト
[EXCEPTION] Zlib::GzipFile::Error:
ヘッダーの解析に失敗した場合発生します。
File.open('hoge.txt', "w") { |fp|
  fp.puts 'hoge'
}

f = File.open('hoge.txt')
begin
  Zlib::GzipReader.new(f)
rescue Zlib::GzipFile::Error => err
  puts "error", err #=> error
                    #=> not in gzip format
end


singleton method Zlib::GzipReader.open

open(filename) -> Zlib::GzipReader
open(filename) {|gz| ... } -> object

filename で指定されるファイルを gzip ファイルとして オープンします。GzipReader オブジェクトを返します。 その他詳細は Zlib::GzipReader.new や Zlib::GzipReader.wrap と 同じです。

[PARAM] filename:
gzip ファイル名を文字列で指定します。
require 'zlib'

=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}
=end

Zlib::GzipReader.open('hoge.gz'){|gz|
  print gz.read
}


singleton method Zlib::GzipReader.wrap

wrap(io) -> Zlib::GzipReader
wrap(io) {|gz| ... } -> object

io と関連付けられた GzipReader オブジェクトを作成します。

ブロックが与えられた場合は、それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipReader オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。

[PARAM] io:
IO オブジェクトを指定します。
require 'zlib'

=begin
# hoge.gz がない場合はこれで作成する。
Zlib::GzipWriter.open('hoge.gz') { |gz|
  gz.puts 'hoge'
}
=end

f = File.open('hoge.gz')
Zlib::GzipReader.wrap(f){|gz|
  print gz.read
}
p f.closed? #=> true

f = File.open('hoge.gz')
Zlib::GzipReader.wrap(f){|gz|
  print gz.read
  gz.finish
}
p f.closed? #=> false


instance method Zlib::GzipWriter#<<

self << str -> self

str を出力します。str が文字列でない場合は to_s を用いて 文字列に変換します。

[PARAM] str:
出力したいオブジェクトを与えます。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz << "hoge" << "fuga"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.read
}
#=> hogefuga

[SEE_ALSO] IO#<<


instance method Zlib::GzipWriter#close

close -> File
finish -> File

フッターを書き出し、GzipWriter オブジェクトをクローズします。close と finish の違いは Zlib::GzipFile#close, Zlib::GzipFile#finish を 参照して下さい。

注意: Ruby の finalizer の制約のため、GzipWriter オブジェクトは 必ずクローズしてください。そうしなければフッターを書き出すことが できず、壊れた gzip ファイルを生成してしまう可能性があります。

require 'zlib'

def case_finish
  filename='hoge1.gz'
  gz = Zlib::GzipWriter.open(filename, 9)
  gz.puts "hogehoge\n" * 100
  f = gz.finish
  p f.atime
  # 例
  #=> Sun Jul 06 15:43:57 +0900 2008
end

def case_close
  filename='hoge1.gz'
  gz = Zlib::GzipWriter.open(filename, 9)
  gz.puts "hogehoge\n" * 100
  f = gz.close
  begin
    p f.atime
  rescue IOError => err
    puts err #=> closed stream
  end
end

case_finish
case_close


instance method Zlib::GzipWriter#comment=

comment=(string) -> String

gzip ファイルのヘッダーに記録するコメントを指定します。

Zlib::GzipWriter#write 等の書き込み系メソッドを 呼んだ後で指定しようとすると Zlib::GzipFile::Error 例外が 発生します。

[PARAM] string:
gzip ファイルのヘッダーに記録するコメントを文字列で指定します。
[RETURN]
string を返します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.comment = "hogehoge"
  p gz.comment #=> "hogehoge"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.comment #=> hogehoge
}


instance method Zlib::GzipWriter#flush

flush(flush = Zlib::SYNC_FLUSH) -> self

まだ書き出されていないデータをフラッシュします。

flush は Zlib::Deflate#deflate と同じです。
省略時は Zlib::SYNC_FLUSH が使用されます。
flush に Zlib::NO_FLUSH を指定することは無意味です。

[PARAM] flush:
Zlib::NO_FLUSH Zlib::SYNC_FLUSH Zlib::FULL_FLUSH などを指定します。
require 'zlib'

def case1
  filename='hoge1.gz'
  fw = File.open(filename, "w")
  Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
    gz.puts "fuga"
    gz.puts "ugo"
  }
  p File.read(filename)
end

def case2
  filename='hoge1.gz'
  fw = File.open(filename, "w")
  Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
    gz.puts "fuga"
    gz.flush
    gz.puts "ugo\n"
    gz.flush
  }
  p File.read(filename)
end

case1
#=> "\037\213\b\000p\257pH\002\003K+MO\344*M\317\347\002\000<\326\000\371\t\000\000\000"
case2
#=> "\037\213\b\000p\257pH\002\003J+MO\344\002\000\000\000\377\377*M\317\347\002\000\000\000\377\377\003\000<\326\000\371\t\000\000\000"


instance method Zlib::GzipWriter#mtime=

mtime=(time) -> Fixnum

gzip ファイルのヘッダーに記録する最終更新時間を指定します。

Zlib::GzipWriter#write 等の書き込み系メソッドを 呼んだ後で指定しようとすると Zlib::GzipFile::Error 例外が 発生します。

[PARAM] time:
gzip ファイルのヘッダーに記録する最終更新時間を整数で指定します。
[RETURN]
time を返します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  p gz.mtime = 1 #=> 1
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.mtime
  # 例
  #=> Thu Jan 01 09:00:01 +0900 1970
}


instance method Zlib::GzipWriter#orig_name=

orig_name=(filename) -> String

gzip ファイルのヘッダーに記録する元ファイル名を指定します。

Zlib::GzipWriter#write 等の書き込み系メソッドを 呼んだ後で指定しようとすると Zlib::GzipFile::Error 例外が 発生します。

[PARAM] filename:
gzip ファイルのヘッダーに記録する元ファイル名を文字列で指定します。
[RETURN]
filename を返します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.orig_name = "hogehoge"
  p gz.orig_name #=> "hogehoge"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.orig_name #=> hogehoge
}


instance method Zlib::GzipWriter#pos

pos -> Fixnum
tell -> Fixnum

現在までに圧縮したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。

require 'zlib'

filename='hoge1.gz'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::BEST_COMPRESSION){|gz|
  (1..10).each {|i|
    gz.print i
    puts gz.pos
  }
}
#=> 1
#=> 2
#=> 3
...


instance method Zlib::GzipWriter#print

print(*str) -> nil

引数を自身に順に出力します。引数を省略した場合は、$_ を出力します。

[PARAM] str:
出力するオブジェクトを指定します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.print "ugo"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.read
}
#=> ugo

[SEE_ALSO] IO#print, Kernel.#print


instance method Zlib::GzipWriter#printf

printf(format, *args) -> nil

C 言語の printf と同じように、format に従い引数 を文字列に変換して、自身に出力します。

[PARAM] format:
フォーマット文字列を指定します。sprintf フォーマット を参照してください。
[PARAM] args:
フォーマットされるオブジェクトを指定します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.printf("\n%9s", "bar")
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.read
}
#=>       bar

[SEE_ALSO] IO#printf, Kernel.#printf


instance method Zlib::GzipWriter#putc

putc(ch) -> object

文字 ch を自身に出力します。

ch が数値なら 0 〜 255 の範囲の対応する文字を出力します。 ch が文字列なら、その先頭 1byte を出力します。 どちらでもない場合は、ch.to_int で整数に変換を試みます。

[PARAM] ch:
出力する文字を数値または文字列で指定します。
[RETURN]
ch を返します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.putc ?u
  gz.putc ?g
  gz.putc ?o
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.read
}
#=> ugo

[SEE_ALSO] IO#putc, Kernel.#putc


instance method Zlib::GzipWriter#puts

puts(*str) -> nil

各引数を自身に出力し、それぞれの後に改行を出力します。

[PARAM] str:
出力したいオブジェクトを指定します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.puts "fuga"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.read
}
#=> fuga

[SEE_ALSO] IO#puts, Kernel.#puts


instance method Zlib::GzipWriter#write

write(str) -> Integer

自身に str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。

[PARAM] str:
出力する文字列を指定します。文字列でない場合は to_s で文字列に変換します。
[RETURN]
実際に出力できたバイト数を返します。
require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
  gz.write "foo"
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
  puts gz.read
}
#=> foo

[SEE_ALSO] IO#write


singleton method Zlib::GzipWriter.new

new(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter

io と関連付けられた GzipWriter オブジェクトを作成します。 level, strategy は Zlib::Deflate.new と同じです。 GzipWriter オブジェクトは io に gzip 形式のデータを 逐次ライトします。io には少なくとも、IO#write と 同じ動作をする write メソッドが定義されている必要があります。

[PARAM] io:
IOオブジェクト、もしくは少なくとも、 IO#write と 同じ動作をする write メソッドが定義されている必要があります。
[PARAM] level:
0-9の範囲の整数を指定します。詳細はzlib.hを参照してください。
[PARAM] strategy:
Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。詳細はzlib.h を>参照してください。
require 'zlib'

filename='hoge1.gz'
f = File.open(filename, "w")
gz = Zlib::GzipWriter.new(f)
gz.puts "hogehoge" * 100
gz.close
p gz.closed? #=> true
p FileTest.size(filename) #=> 32


singleton method Zlib::GzipWriter.open

open(filename, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
open(filename, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object

filename で指定されるファイルを gzip 圧縮データの 書き出し用にオープンします。GzipWriter オブジェクトを返します。 その他詳細は Zlib::GzipWriter.new や Zlib::GzipWriter.wrap と 同じです。

[PARAM] filename:
ファイル名を文字列で指定します。
[PARAM] level:
0-9の範囲の整数、または Zlib::NO_COMPRESSION, Zlib::BEST_SPEED, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_COMPRESSION を指定します。 詳細はzlib.hを参照してください。
[PARAM] strategy:
Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。 詳細はzlib.h を参照してください。
require 'zlib'

filename='hoge1.gz'
gz = Zlib::GzipWriter.open(filename)
gz.puts "hogehoge" * 100
gz.close
p gz.closed? #=> true
p FileTest.size(filename) #=> 32


singleton method Zlib::GzipWriter.wrap

wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) -> Zlib::GzipWriter
wrap(io, level = Zlib::DEFAULT_COMPRESSION, strategy = Zlib::DEFAULT_STRATEGY) {|gz| ... } -> object

io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。

[PARAM] io:
IOオブジェクト、もしくは少なくとも、 IO#write と 同じ動作をする write メソッドが定義されている必要があります。
[PARAM] level:
0-9の範囲の整数を指定します。詳細はzlib.hを参照してください。
[PARAM] strategy:
Zlib::FILTERED, Zlib::HUFFMAN_ONLY, Zlib::DEFAULT_STRATEGYなど指定します。 詳細はzlib.h を参照してください。
require 'zlib'

def case1
  filename='hoge1.txt'
  f = File.open(filename, "w")
  Zlib::GzipWriter.wrap(f, Zlib::NO_COMPRESSION){|gz|
    gz.puts "hogehoge" * 100
  }
  p f.closed? #=> true
  p FileTest.size(filename) #=> 824
end

def case2
  filename='hoge1.gz'
  f = File.open(filename, "w")
  Zlib::GzipWriter.wrap(f, Zlib::BEST_COMPRESSION){|gz|
    gz.puts "hogehoge" * 100
    gz.finish
  }
  p f.closed? #=> false
  f.close
  p FileTest.size(filename) #=> 32
end

case1
case2


instance method Zlib::Inflate#<<

self << string -> self

Zlib::Inflate#inflate と同じように string を 展開ストリームに入力しますが、Zlib::Inflate オブジェクト そのものを返します。展開ストリームからの出力は、 出力バッファに保存されます。

cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new
inz << cstr[0, 10]
p inz.flush_next_out #=> "hoge fu"

inz << cstr[10..-1]
p inz.flush_next_out #=> "ga end"


instance method Zlib::Inflate#finish

finish -> String

展開ストリームを終了します。

ストリーム内に残っていたデータ (つまり圧縮データの後についていた ゴミデータ) を返します。 Zlib::ZStream#finished? が真でない時に finish を呼ぶと 例外が発生します。

展開ストリームは圧縮データ内に終了コードを発見した時点で 自ら終了するため、明示的に finish を呼ぶ必要は必ずしも ありませんが、このメソッドは圧縮データが正しく終了しているかを 確認するのに便利です。

cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new
inz << cstr
p inz.finish #=> "hoge fuga end"


instance method Zlib::Inflate#inflate

inflate(string) -> String

string を展開ストリームに入力します。

処理後、ストリームからの出力を返します。 このメソッドを呼ぶと出力バッファ及び入力バッファは空になります。 string が nil の場合はストリームへの入力を 終了します。(Zlib::ZStream#finish と同じ)。

[PARAM] string:
展開する文字列を入力します。
[EXCEPTION] Zlib::NeedDict:
展開に辞書が必要な場合に発生します。 Zlib::Inflate#set_dictionary メソッドで辞書をセットした 後で、空文字列と共にこのメソッドを再度呼び出して下さい。
cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new
p inz.inflate(cstr) #=> "hoge fuga end"


instance method Zlib::Inflate#set_dictionary

set_dictionary(string) -> String

展開に用いる辞書を指定します。string を返します。 このメソッドは Zlib::NeedDict 例外が発生した直後のみ 有効です。詳細は zlib.h を参照して下さい。

[PARAM] string:
展開に用いる辞書を文字列で指定します。
def case2(str, dict)
  dez = Zlib::Deflate.new
  dez.set_dictionary(dict)
  comp_str = dez.deflate(str)
  comp_str << dez.finish
  comp_str.size
  inz = Zlib::Inflate.new
  begin
    inz.inflate(comp_str)
  rescue Zlib::NeedDict
  end
  # 展開に用いる辞書が必要です。
  inz.set_dictionary(dict)
  p inz.inflate(comp_str)
end
dict = 'hoge_fuga_ugougo'
sset = [ dict, 'taeagbamike', 'ugotagma', 'fugebogya' ]
g = [ 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 3, 3, 0, 0, 1, 1,
      0, 0, 0, 1, 2, 2, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]
str = g.collect{|m| sset.at(m)}.join("")

case2(str, dict)


instance method Zlib::Inflate#sync

sync(string) -> bool

string を入力バッファの末尾に追加し、次の full flush point まで読み飛ばします。入力バッファ内に full flush point が存在しない場合は、入力バッファを空にし false を返します。 入力バッファ内に full flush point が見つかった場合は true を返し、残りのデータは入力バッファ内に保持されます。

[PARAM] string:
入力バッファの末尾に追加する文字列を指定します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::Inflate > sync_point?

instance method Zlib::Inflate#sync_point?

sync_point? -> bool

What is this?


singleton method Zlib::Inflate.inflate

inflate(string) -> String

string を展開します。

ちなみに、このメソッドは以下のコードとほぼ同じです:

def inflate(string)
  zstream = Zlib::Inflate.new
  buf = zstream.inflate(string)
  zstream.finish
  zstream.close
  buf
end
[PARAM] string:
展開する文字列を指定します。
[EXCEPTION] Zlib::NeedDict:
展開に辞書が必要な場合に発生します。
require 'zlib'

cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
p Zlib::Inflate.inflate(cstr) #=> "hoge fuga end"


singleton method Zlib::Inflate.new

new(window_bits = Zlib::MAX_WBITS) -> Zlib::Inflate

展開ストリームを作成します。

[PARAM] window_bits:
ウィンドの大きさを整数で指定します。 nil の場合はデフォルトの値を使用します。 詳細は zlib.h を参照してください。
cstr = "x\234\313\310OOUH+MOTH\315K\001\000!\251\004\276"
inz = Zlib::Inflate.new(15)
inz << cstr
p inz.finish #=> "hoge fuga end"


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::ZStream > adler

instance method Zlib::ZStream#adler

adler -> Integer

adler-32 チェックサムを返します。


instance method Zlib::ZStream#avail_in

avail_in -> Integer

入力バッファに溜っているデータのバイト数を返します。通常は 0 です。


instance method Zlib::ZStream#avail_out

avail_out -> Integer

出力バッファの空き用量をバイト数で返します。 空きは必要な時に動的に確保されるため、通常は 0 です。


instance method Zlib::ZStream#avail_out=

avail_out=(size) -> Integer

出力側のバッファに size バイトの空きを確保します。 すでに size バイト以上の空きがある場合、バッファは 縮められます。空きは必要な時に動的に確保されるため、通常 このメソッドを使う必要はありません。

[PARAM] size:
出力バッファのサイズを整数で指定します。
[RETURN]
size を返します。


instance method Zlib::ZStream#close

close -> nil
end -> nil

ストリームを閉じます。 以後、このストリームにアクセスすることはできなくなります。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::ZStream > closed?

instance method Zlib::ZStream#closed?

closed? -> bool
ended? -> bool

ストリームが閉じられている時に真を返します。


instance method Zlib::ZStream#data_type

data_type -> Fixnum

ストリームに入力されたデータの形式を推測します。 返り値は Zlib::BINARY, Zlib::ASCII, Zlib::UNKNOWN の いずれかです。


instance method Zlib::ZStream#finish

finish -> String

ストリームへの入力を終了し、出力バッファをフラッシュします。 より具体的な振る舞いは Zlib::Deflate#finish, Zlib::Inflate#finish を参照して下さい。

[SEE_ALSO] Zlib::Deflate#finish,Zlib::Inflate#finish


instance method Zlib::ZStream#finished?

finished? -> bool
stream_end? -> bool

ストリームへの入力が終了している時に真を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::ZStream > flush_next_in

instance method Zlib::ZStream#flush_next_in

flush_next_in -> String

入力バッファに残っているデータを強制的に取り出します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::ZStream > flush_next_out

instance method Zlib::ZStream#flush_next_out

flush_next_out -> String

出力バッファに残っているデータを強制的に取り出します。


instance method Zlib::ZStream#reset

reset -> nil

ストリームの状態をリセットします。 入力/出力バッファ内に残っていたデータは破棄されます。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::ZStream > total_in

instance method Zlib::ZStream#total_in

total_in -> Integer

ストリームに入力されたデータの総バイト数を返します。


Ruby 1.8.7 Reference Manual > All Libraries > library zlib > class Zlib::ZStream > total_out

instance method Zlib::ZStream#total_out

total_out -> Integer

ストリームの出力したデータの総バイト数を返します。


singleton method Zlib::ZStream.new

new -> ()

直接使用しません。 通常、具体的な圧縮/展開を行う場合は、 Zlib::Deflate.new もしくは、Zlib::Inflate.new を使用します。

[SEE_ALSO] Zlib::Deflate.new, Zlib::Inflate.new