1

Ruby プログラマーは通常、次のようclass << selfにクラス本体内で使用して、クラス オブジェクトの固有クラスを開きます。

class Foo
  class << self
    # ...
  end
end

Fooただし、この同等の形式はめったに見ません (クラスとして既に定義されていると仮定します)。

class << Foo
  # ...
end

2 番目のスタイルよりも 1 番目のスタイルを好む理由はありますか?

4

1 に答える 1

3

を使用する場合class << Foo、または明示的に定義するdef Foo.some_method(args)場合は、クラスの名前を繰り返しています。

を使用するclass << selfと DRYer になり、リファクタリングが容易になり (クラス名の変更は 1 か所で行われ、コード内で繰り返す必要はありません)、他のクラス/プロジェクトへのコピー アンド ペーストが可能になります。

class Foo1
  # ..
end

class << Foo # <- :(
  #..
end
于 2014-07-16T19:05:43.520 に答える