1

などの二重コロンFile::Statをクラス名に使用できるのはどのような場合ですか? 何か特別な意味がありますか?

4

3 に答える 3

2

クラスが別のクラスまたはモジュール内にあることを意味します。

module Foo
  class Bar
  end
end

そのように Bar クラスを参照することはできません。完全修飾名を使用する必要がFoo::Barあります (他のモジュールには他の Bar クラスが存在する可能性があるため、それらを区別できる必要があります)。

于 2012-04-22T15:48:10.380 に答える
0

二重コロンはモジュールを表します。多くの場合、クラス名が競合する可能性があるため、人々は新しいモジュールを作成します。

例えば...ActiveRecord::Base

于 2012-04-22T15:50:41.927 に答える
0

クラスまたはモジュールで CONSTANT を取得する場合は、二重コロンを使用します (大文字のオブジェクトはすべて、VALUE_CONSTANT や ClassName などの定数です)。これは、C++ 名前空間の概念から継承された規則です。

したがって、ここに規則のリストがあります:

Module/Class::CONSTANT
Module/Class::Class
Module/Class.method
于 2012-04-22T15:52:48.637 に答える