問題タブ [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.

0 投票する
5 に答える
2816 参照

php - メソッドにアクセスするさまざまな方法

クラス内のメソッドにアクセスするには、2つの異なる方法があることを確認しました。動作に違いはありますか、それとも同じアクションの純粋に代替の構文ですか?

0 投票する
1 に答える
934 参照

c++ - 別の名前空間内からのC++グローバル名前空間アクセス

以下のC++コードでfoobarは、最初に単一のdoubleパラメーターに対して定義され、次にタイプがの単一のパラメーターに対して定義されていますFoo。どちらもグローバル名前空間内で定義されます。

one名前空間内で、foobarタイプの単一のパラメーターを使用して、のさらなるオーバーロードが定義されますBar。このバージョンのから、引数(42.0)を使用したfoobarへの修飾されていない呼び出しは失敗します。今回は(::)スコープ解決演算子で修飾され、引数も指定された、への同様の呼び出しは成功します。foobardoublefoobardouble

一方、foobar型の引数を持つ、への修飾されていない呼び出しFooは成功します。スコープ解決演算子によって修飾されfoobarた引数付きのへの呼び出しも成功します。Foo

2つのシナリオの動作が異なるのはなぜですか?私はgcc4.7とclang++3.2の両方を使用しています。

0 投票する
1 に答える
1096 参照

php - スコープ解決演算子使用時に継承クラスのクラス名を取得 (::)

重複の可能性:
PHP get_class の機能

小さなORM風のクラスセットの場合、次のものがあります。

このコードが出力されることを期待します:

しかし、代わりに、それは印刷されrecordsます。を試してみself::table()ましたが、同じ結果が得られます。

コメントのいくつかの質問の後、編集 table()は、クラスの名前をそのオブジェクトが存在するテーブルに単純にマップするOrderメソッドです。存在しません!)。を呼び出すと、テーブルではなく、テーブルでも、テーブルでも検索されることを期待しています。ordersPaymentpaymentsrecords Payments::find()paymentsrecordsorders

私は何を間違っていますか?::が定義されたクラスではなく、::が呼び出されたクラスのクラス名を取得するにはどうすればよいですか?

重要な部分はおそらくget_class()、適切なクラス名を返すことができないことです。

0 投票する
6 に答える
10681 参照

php - 継承されたクラスからプライベート メソッドを呼び出す

PHPの単純なORMにフックシステムを実装したい:

これにより、致命的なエラーが発生します。

致命的なエラー: コンテキスト 'Record' からプライベート メソッド Payment::before_save() を呼び出します

理にかなっています。

スコープを public に変更することもできましたが、それは醜いようです: 誰も Payment 以外は と関係がありませんbefore_save()。プライベートのままにしておくのが最善です、IMHO。

Record から継承するクラスで Record 呼び出しをプライベート メソッドにするにはどうすればよいですか?

0 投票する
3 に答える
31483 参照

php - PHPで親クラスのメソッドを呼び出す方法

これは動作するコードですが、別のオブジェクト(コメント付き)を使用せずに、オブジェクトの使用方法を$fooどのように使用できるかを知りたいです。オブジェクト指向プログラミングの概念は初めてなので、質問するのは難しいかもしれませんが、実際には見つけることができません:(printItem()class Foo$bar

私はスコープ解決演算子を使用してを使用していますprintItem()Foo class、この機能を使用できるのはいつですか?オブジェクトの作成の使用は何ですか?適切なコーディング環境でスコープ解決演算子を使用する場合。

0 投票する
2 に答える
3733 参照

c++ - ::new とはどういう意味ですか?

MS directX 11 DXUT の例を調べると、次のコードが表示されました。

これは、私のバージョンの DXSDK (June2010) の 428 行目の DXUTmisc.h にあります。私はそれについて疑問に思っています::新しいこと....私はスタックオーバーフローでGoogleと検索しようとしていますが、検索バーに「::new」と入力すると、検索エンジンが2つのコロンを破棄しているようです... .

0 投票する
2 に答える
613 参照

php - 動的変数に依存するモデルタイプの参照中に解決演算子でエラーが発生しました(PHP 5.2)

背景情報:

共通の関数を子クラスから拡張元の基本クラスに移動することで、Yiiアプリの構造を単純化しようとしています。

loadModel($id)関数をユーザー(子)コントローラーからベースコントローラーに移動しました。

以前は、UserController.phpで。これは機能します:

その後、上記の関数を削除し、UserControllerなどに継承されているController.phpに配置しました。

問題:

PHP 5.4.4を実行しているローカルPCでこれを試しましたが、これはPHP 5.2を実行しているテストサーバーにアップロードされると、HTTPエラー500(内部サーバーエラー)がスローされますエラーログを表示すると、エラーはエラーでした。これは、3行目の解決演算子PHP Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIMを参照しています。

質問:

  • この場合、PHP 5.2で解決演算子が失敗する理由は何ですか?と、
  • これを同じ効果で機能させるための回避策はありますか?

=================

追加情報:

私が使用しているグローバルmodelname関数は、モデル名を返します。つまり、「User」:

0 投票する
1 に答える
885 参照

ruby-on-rails - フォルダ名を名前空間として使用するRails 3は、初期化されていない定数エラーをスローします

アプリを rails 2.3 から 3.0にアップグレードしようとしていますが、ファイルがあります

を含む

Utility::Interface::Importファイルパスにはフォルダー名が含まれていると思いますが、名前空間として使用されています

このコードは Rails 2.3 では問題なく動作しますが、Rails 3.0.6 で実行しようとすると NameError がスローされます。

参考までに: rails 2.3 は ruby​​ 1.8.7 を使用し、rails 3.0.6 は ruby​​ 1.9.2 を使用します。

私の理解が正しくない場合は修正してください

0 投票する
4 に答える
385 参照

c++ - this->field と Class::field の違いは?

C++で何か疑問に思っています。

次のコードを認めます。

クラス内で と の間に違いはthis->barありFoo::barますか? 無効なケースはありますか?

0 投票する
2 に答える
600 参照

c++ - オーバーライドされた変数でスコープ解決が機能しないのはなぜですか?

d.B::num以下のコードサンプルを見たとき、同じだと思ったのb.numですが違います。独自のアドレスを持つ別の変数のようです。実行ボタンをクリックすると、3 つの変数がそれぞれ表示され、それぞれに関連付けb.numられた値 (それぞれ 3、4、5) が表示されます。d.numd.B::num

どうしてこんなことに?そしてd.B::num、それが と同じでない場合、ここには正確には何がありますb.numか?