= amstd リファレンスマニュアル

  Copyright (c) 2000-2002 Minero Aoki <aamine@loveruby.net>

= aliasing.rb

: Module#alias_class_method( new, old )
    クラスメソッド old に別名 new を定義する。

    例
        class C
          alias_class_method :newobj, :new
        end

: Module#alias_module_function( new, old )
    モジュール関数 old に別名 new を定義する。

    例
        module FileTest
          alias_module_function :empty?, :zero?
        end

= bench.rb

: benchmark( label, times ) { .... }
  times 回ブロックを実行するのにかかった時間(秒、Float)を返します。
  label はこのベンチマークの名前です。


= bug.rb

: bug!( message = 'must not happen' )
  message をダイイングメッセージにして例外 ScriptBug (< Exception)
  を投げます。'must not happen' は「ソフトウェア作法」にあった文。


= const.rb

: Module#const( name, val )
    常にオブジェクト val を返すメソッド name を
    このモジュールに定義する。

    例
        class C
          const :somevalue, Object.new
        end

= d.rb

: d( arg )
    arg を p して arg を返します。

    例
        return d 5+5

: Object#i
    self を p して self を返します。

    例
        return str.split(/\s+/).i.collect {|i| i*2 }.i

= must.rb

: Object#must( type )
    type === self が成立しなければ TypeError を発生させます。

    例
        arg.must String

: Object#must_have( *names )
: Object#needed( *names )
    names のメソッドを全て持たなければ ArgumentError を発生させます。

    例
        arg.must_have :each, :to_s, :gets

: Object#must_be( obj )
    self == obj でなければ ArgumentError を発生させます。

: Object#must_exist
    self が nil の時、ArgumentError を発生させます。


= protect.rb

: protect( place = nil ) { .... }
    StandardError と ScriptError を rescue して
    print_backtrace(err) する。

    Ruby/Gtk のイベントハンドラで例外が起こると黙って
    消えるのに困って作ったもの。

: print_backtrace( err )
    例外オブジェクト err のバックトレースを省略せず全部表示する。
    デフォルトの表示段数はときに少なすぎる。


= rbparams.rb

Ruby インタプリタに関る定数を定義したモジュール RubyParams。
内容は直接見て。


= timer.rb

== Timer

: Timer.new( s ) { .... }
    s 秒たつと爆発するタイマーを作る。デフォルトの爆破動作は
    タイマーを start したスレッドに TimeoutError を投げる。
    ブロック付きの時はそれを爆破時のハンドラとして登録する。

: start
: start { .... }
    タイマーをスタートする。
    ブロック付きの時はブロックの実行中だけ動かす。

: stop
    タイマーを止める。

: reset
    タイマーを再始動する。

: on_timeout { .... }
    時間が来た時のハンドラを登録する。

: sec, sec=
    爆発するまでの秒数


= version.rb

== VersionNumber < Object, include Comparable

: VersionNumber.new( *numbers )
    たとえば VersionNumber.new(1,2,3) でバージョン 1.2.3 に
    対応する VersionNumber オブジェクトを生成します。

: VersionNumber.new( str )
    バージョンを表す文字列からオブジェクトを生成します。
    許されるのは '1.1.1' のように数字をピリオドで区切った
    形式のみです。

: self[i], self[i]=(n)
    i 番目のバージョンナンバーです。(1.2.3)[1] なら 2 です。

: major, major=
    self[0] の別名です。

: minor, minor=
    self[1] の別名です。

: teeny, teeny=
    self[2] の別名です。

: self <=> other
    Comparable 合致の <=> です。

: to_s
    '1.2.3' のような文字列を返します。
