[解決済み] Rubyのダブルコロン `::` とは何ですか?
2022-02-16 14:20:46
質問
このダブルコロンとは
::
? 例
Foo::Bar
.
を発見しました。 定義 :
は
::
は単項演算子で、クラスやモジュール内で定義された定数やインスタンスメソッド、クラスメソッドに、クラスやモジュール外のどこからでもアクセスできるようにするものです。
スコープ(private,protected)の意味は、単に
::
を使えば、何でも公開できるのでは?
どのように解決するのですか?
::
は基本的に名前空間解決演算子です。これを使うと、モジュール内の項目や、クラス内のクラスレベルの項目にアクセスすることができます。例えば、このような設定があったとします。
module SomeModule
module InnerModule
class MyClass
CONSTANT = 4
end
end
end
にアクセスすることができます。
CONSTANT
として、モジュールの外から
SomeModule::InnerModule::MyClass::CONSTANT
.
クラスで定義されたインスタンスメソッドには別の構文でアクセスするため、影響はありません(ドットは
.
).
関連メモ: トップレベルの名前空間に戻りたい場合は、次のようにしてください: ::SomeModule -... ベンジャミンオークス
関連
-
[解決済み] Rubyのローカル変数が未定義である
-
[解決済み] Ruby プログラムに一定時間待つように指示する
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】ビットシフト(bit-shift)演算子とは、どのようなもので、どのように機能するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Rubyで "gets "と "gets.chomp "を使用する方法
-
[解決済み] Ruby 'require' エラー: そのようなファイルをロードできない
-
[解決済み] ルビー最大整数
-
[解決済み] Rubyの配列から文字列への変換
-
[解決済み] Ruby - 文字列を日付に変換する
-
[解決済み] RubyのFile.openで "No such file or directory - text.txt (Errno::ENOENT)" というエラーが発生する。
-
[解決済み] 文字列の文字をアルファベット順に並べるには?
-
[解決済み] Rubyで中央値を計算する
-
[解決済み] Rubyで配列を平坦化するにはどうしたらいいですか?
-
[解決済み] Rubyで2次元配列の作成と反復処理