問題タブ [scope-resolution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP に複数の paamayim nekudotayim があるのはなぜですか?
PHP 5.3.6では、以下が機能しないことに気付きました。
を発行しunexpected T_PAAMAYIM_NEKUDOTAYIM
ます。ただし、一時変数を使用すると、次の結果が期待されます。
これが設計によるものなのか、それともスコープ解決演算子のトークン化などの意図しない結果なのか、誰にもわかりますか? 後者の一時変数の例よりもクリーンな回避策はありますか?
c++ - との差 。および::静的メンバーのC++では?
を使用して静的変数にアクセスしようとするとClass.Variable
、エラーが発生しますが、アクセスしてもエラーは発生しError left of 'Variable' must have class/struct/union
ませClass::Variable
ん。どちらの場合も、私はVariable
インテリセンスを通り抜けます。この場合の.
との違いは正確には何ですか?::
php - PHP: スコープ解決演算子を使用して非静的メソッドを呼び出す
$this を使用してオブジェクト コンテキスト内の何かにアクセスしようとしない場合、:: を使用して非静的メソッドの呼び出しを許可する理由は何ですか? それは下位互換性の問題ですか、それとも特定の理由によるものですか? :: を使用して非静的メソッドにアクセスすることを避けることに慣れる必要がありますか?
ruby - 定義されていないローカル スコープの変数が同じ名前のインスタンス変数を参照するのはなぜですか?
Ruby の興味深い動作を明らかにする奇妙なバグをコードで見つけました。うまくいけば、誰かがこのように動作する理由を説明できます。
インスタンス変数 @foo を持つクラスと、ローカル スコープの変数 foo を参照するメソッドがありました。メソッドの一部を誤って foo への参照を残してリファクタリングしました。スコープで定義されなくなった変数。代わりに @foo を指すことになりました。foo を変更すると @foo が変更され、その逆も同様です。
簡易版: EDIT : ImOutOfNames を追加。
そして bar_method_1 と bar_method_2 の出力は「それはおいしいハンバーガーです」でした。エラーが発生することを期待していました。たとえば、上記のコードを実行すると取得されます
私はより上級の開発者にも見てもらいましたが、彼はやや困惑し、動作を確認しました.
これは予期された動作ですか? @variables の仕組みを誤解していますか、それとも何か問題がありますか?
php - PHP: スコープ解決演算子とオーバーロードのパフォーマンス
2 つの質問があります。
1) スコープ解決演算子 ( ::
) は静的アクセスに対して遅いですか (または->
インスタンス化されたクラスよりも遅いですか)?
名前は、スコープを「解決」する必要があることを示唆しているので、私は尋ねています。
2) オーバーロード、具体的には と についてはどう__get()
ですか__set()
?
パフォーマンスに全体的な悪影響があると聞いたので、私はそれらの使用を避けてきました.
回答/アドバイスをよろしくお願いします。
c++ - ここでスコープ解決が機能しないのはなぜですか?
bar()
ここで関数をオーバーロードできない理由は何ですか?
c++ - ::C++のテンプレート関数呼び出しの前にあるスコープ解決演算子
テンプレートとスコープ解決演算子で立ち往生しています。これらの行をファイルで見つけました。テンプレート関数呼び出しの前で::を使用している理由がわかりません。私の知る限り、グローバル変数を参照する場合は、変数の前で::しか使用できません。 。どんなアイデアも役に立ちます
c++ - C++ がスコープ解決演算子を必要とするのはなぜですか?
(私は、スコープ解決演算子が何をするか、いつどのように使用するかを知っています。)
この目的で演算子を::
使用する代わりに、C++ に演算子があるのはなぜですか? .
Java には個別の演算子がなく、正常に動作します。C++ と Java の間には、解析可能にするために C++ が別の演算子を必要とすることを意味する違いはありますか?
私の唯一の推測は::
、優先順位の理由で必要であるということですが、たとえば、.
. 私が考えることができる唯一の状況は、
として解析されます
、しかし、とにかくこのような構文が合法になる状況は考えられません。
「やってることが違うから、見た目も違う」ということなのかもしれません。::
しかし、それはが よりも優先される理由を説明していません.
。
c++ - クラス名で使用されるスコープ解決演算子はどういう意味ですか
私はこのコードに出くわしました。
SomeClassはクラスなので、OtherClassはSomeClassのスコープ内に存在するクラスでしょうか?私はそれがこのように行われるのを見たことがありません。
それで、それはそれが何を意味するのですか?
php - 注入された依存関係またはスコープ解決演算子?
似たような質問が見つからなかったので、既にありましたら申し訳ありません。
私のシステムでは、システム全体で多くのタスクを容易にするために、多くの関数ライブラリが必要です。それは電子メールを検証することかもしれません。関数で実行できるのであれば、毎回完全な正規表現を記述する必要はありません。そのため、1 か所で変更を加えてエラーを修正するだけで済みます。
Files_Tools というクラスを作成するとします。
このクラスのインスタンスを、このクラスの関数を必要とするオブジェクトに依存性注入することで、両方を機能させることができます。しかし、静的関数を使用して Files_Tools クラスを作成し、スコープ解決演算子を使用してそれらにアクセスすることもできます。しかし、DI (依存性注入) に関する主な事柄の 1 つは、この種の「グローバルな使用」を避けることであることがわかりました。したがって、私の論理では、DI アプローチを採用するように指示されています。それでも、私がこのようにやっているのはまだ「正しい」とは感じていません.
だから私の質問は - システムのツールセットを作成する最も正しい方法と見なされるものは何ですか? まず、ただの関数ではなく、クラスとして作るということですか?そして、それが本当にクラスである場合、SROまたはDIを目指すべきですか?
この質問に対する決定的な答えはおそらくないことは理解していますが、私が完全に軌道から外れているのか、それとも他の多くのコーダーが行ったであろう方向に向かっているのかを知りたいです。
前もって感謝します :)