どんな状況では、File::Stat
のような二重コロンは、クラス名で使用できますか? 特別な意味がありますか?ルビーでは、File :: Statのクラス名が奇妙ですか?
答えて
これは、クラスが別のクラスまたはモジュールの内部にあることを意味します。
module Foo
class Bar
end
end
あなたはちょうどそのようバークラスに参照することはできません、あなたは他のモジュール内の他のバーのクラスがあるかもしれません(Foo::Bar
、その完全修飾名を使用する必要があるので、あなたはそれらを区別できるようにする必要があります)。
あなたの答えに感謝します –
あなたは有益な回答を受け入れるべきです。 –
いいえ、クラスがモジュール内にあるわけではありません。これは、* constant *がモジュール内部にあることを意味します。 RubyにはBetaやNewspeakのようなネストされたクラスはありません。 –
二重コロンはモジュールを示します。何度もクラス名が衝突して、新しいモジュールが作成される可能性があります。例えば
...クラスまたはモジュールの定数を(全て大文字オブジェクトは、VALUE_CONSTANTやクラス名などの定数である)を取得する場合ActiveRecord::Base
ダブルコロンが使用されます。これはC++の名前空間の概念から継承された規約です。
だからここ大会のリスト:
Module/Class::CONSTANT
Module/Class::Class
Module/Class.method
- 1. ルビーの奇妙なProcエラー
- 2. Swift3で奇妙なクラス名が矛盾しています
- 3. 奇妙なビルドエラー、クラス名の問題?
- 4. 奇妙^ファイル名でM
- 5. 奇妙なキー名
- 6. 奇妙なクラス名で定義されていないメソッドエラー
- 7. 奇妙なファイル名.rbとは何ですか? rspecで?
- 8. は奇妙です
- 9. 奇妙なパス名?
- 10. 奇妙なクラスの問題
- 11. 私のリフレクションが奇妙なクラスを読み込むのはなぜですか?
- 12. ドロップダウンメニューが奇妙です
- 13. Python:Elif文が奇妙です
- 14. Pythonクラスの奇妙なことは?
- 15. Windowsでは、奇妙な文字を含むパスに対してstatとGetFileAttributesが失敗する
- 16. CSSをCSSを奇妙なクラス名にコンパイルする
- 17. decltype(*&fun)が奇妙ですか?
- 18. 奇妙なコントローラ名内容
- 19. 奇妙なコード署名エラー
- 20. Djangoテンプレートの奇妙な名前空間 - なぜですか?
- 21. アセンブラで奇妙な名前のシンボルを作成するには?
- 22. ユニファイドプレハブは奇妙な演技ですか?
- 23. python read text file奇妙な値を返します
- 24. 奇妙な型名の使用C++ 11
- 25. fopenファイル名は奇妙なドットで始まります
- 26. YouTube iFrameのコンテキストメニューが奇妙です
- 27. ドロップボックスメニューのホームページレイアウトが奇妙です
- 28. PlayframeworkのURL生成が奇妙です
- 29. pythonの計算が奇妙です
- 30. UIPageViewControllerのサイズが奇妙です
[この質問](http://stackoverflow.com/questions/9314941/accessing-module-methods-with)でいくつかの他の偉大な情報があります。 – Jonathan