From: Tokita Kousui Date: 2000-05-16T01:51:16+09:00 Subject: [ruby-list:22591] Re: Array.concat on ruby-1.5.3 ちわ、時田です。 Mon, May 15, 2000 at 02:20:21AM +0900 において GOTO Kentaro さん曰く: > ごとけんです > > In message "[ruby-list:22549] Re: Array.concat on ruby-1.5.3" > on 00/05/15, Tokita Kousui writes: > > >「::」と「#」はそれぞれ何を表記してるんでしたっけ? (^^; > > Foo::x はクラス Foo のクラスメソッド x で、 > Foo#y はクラス Foo のメソッド y です。 うむぅ、Foo#y が、説明のための表記ってのはわかるんですが 「Foo のクラスメソッド」と「Foo のメソッド」の違いがわからない(^^; 継承されたメソッドとか?(^^; > >確認ですが > >Array << String は、そのまま使用可ですね? > > これは、array << string と書くと意味が誤解しにくいです。 > > Array << String と書くと、このままRubyの文として解釈できるの > でちょっとよろしくありません(Array::<< はありませんが)。 えぇ、私もこの表記はまずいんだろうなぁ とは思ったんです(^^; だけど、適当な表記がわからなかったので 意味がわかるように書いたつもりなんです、すいません(^^; > 結論は array << string は使用可能です。array.push string で > も良いです。 > >は今後も期待しても大丈夫な動作ですよね? > > そのとおりです。1.5以降でも使えるはずです。付け加えれば、<< > は多分 C++ の stream の演算子から来ているので、 とりあえず、安心しました(笑) > Foo::x はクラス Foo のクラスメソッド x で、 > Foo#y はクラス Foo のメソッド y です。 > > Foo::x は、プログラムの中に書けるのですが、Ruby にはレシーバ > を特定しないメソッドがないので Foo#y はあくまで説明のための > 表記法です。 -- 時田幸粋 http://www.where-i.net/~ktokita