From: matz@... (Yukihiro Matsumoto) Date: 2001-05-18T23:35:15+09:00 Subject: [ruby-dev:13248] Re: Enumerator まつもと ゆきひろです In message "[ruby-dev:13241] Re: Enumerator" on 01/05/18, TAKAHASHI Masayoshi writes: |今のところ[]の用法って、 | | * Proc[]、Method[]、UnboundMethod[]による(newと同等の) | インスタンスの生成 これってProc#[]のこと? これはインスタンスの生成ではなくcall です。 | * Struct#[]による構造体オブジェクト生成 'Struct#'じゃなくて構造体クラス::[]ですよね。 | * %q[]、%r[]みたいなオブジェクト生成 これは含めるのはちょっと... |# いまいちPOLSじゃない気が。 そうですか。まあ、「びっくり」の基準は私の感覚だということで もういちど再分類すると、 配列などの生成 * Array[]、Hash[]による(newと異なる)インスタンスの生成 * [] によるArrayの生成 * 構造体::[]による構造体オブジェクト生成 indexing, slicing * String#[]、Array#[]によるslice * Interger#[]によるビット取り出し * MatchData#[]によるマッチしたデータ取り出し * Thread#[]によるスレッド取り出し * (Structのインスタンス)#[]によるメンバ取り出し * Hash#[]による要素取り出し * Dir[]によるファイル名(String)のArray生成(globと同じ) (これはちょっと苦しいか) メソッドにできない()の代わり * Proc[]、Method[]、UnboundMethod[]による(newと同等の) インスタンスの生成 の3つの用法くらいですかね。大きく分けると。Dir[]がちょっと苦 しいですが、それほどびっくりではないような。主観すぎ? |それともいっそのこと、「Fooのインスタンス生成にはFoo[]を使っても |いい」と、開き直った方がいいんでしょうか? やめてえ。 まつもと ゆきひろ /:|)