= amstd リファレンスマニュアル Copyright (c) 2000-2002 Minero Aoki = 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' のような文字列を返します。