2012-03-07 14 views
2

は私がRubyのクラス<<自己

class << self 

が何を知っています。しかし、このトリックの根底にあるメカニズムは何ですか? Rubyで

<<だから我々はclass変数のバイナリの左シフトを行っている2進数の左シフト演算子

のですか?

明確にしてください。

答えて

2

これはバイナリの左シフトだけではありません。<<もRubyでsingleton class definitionという構文です。この構文は、Rubyのクラスを表すすべてのオブジェクトがシングルトンクラスであるために使用されます。

+3

などの代替構文と、Array#push()の代替構文(例: arr <<要素。 – Jakobinsky

+1

@Jakobinsky:これは単純な演算子オーバーロード –

+0

です。これはメソッドではなく、構文です。 – Reactormonk

関連する問題