問題タブ [scope]

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 投票する
10 に答える
1787 参照

project-management - プロジェクトマネージャーにスコープクリープに「NO」と伝える方法

プロジェクトマネージャーはそれぞれ独自の個性と管理スタイルを持っているかもしれませんが、彼らの多くは、できる限り「スコープクリープ」に忍び込むことを好んでいるようです(誰かが見ているかどうかに関係なく)。彼らはたいてい良い意味を持っていますが (彼らの心を祝福します)、プロジェクト マネージャーに「NO」と言う最善の方法は何ですか?

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

perl - Perl モンキー パッチを適用すると、パッチを適用したパッケージのスコープを確認できますか?

「Perl でインスタンス メソッドにモンキー パッチを適用するにはどうすればよいですか?」の冒頭で説明した手法を使用して、パッケージにモンキー パッチを適用しています。. 私が直面している問題は、元のサブルーチンがパッケージ レベルのmy変数を使用していたことです。パッチを適用したサブルーチンは、フル パスの指定または暗黙的な使用によってアクセスできないようです。

パッチを適用したサブルーチンで使用するために、この方法で範囲指定されたデータを取得する方法はありますか?

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

c++ - コーディング プラクティス: 行列の乗算で値または参照によって返す?

昨日書いたこの質問を参考にして、この質問を書いています。少し文書化した後、私がやりたかったこと (そして私が可能だと信じていたこと) は、まったく不可能ではないにしても、ほぼ不可能であることが明らかになりました。それを実装するにはいくつかの方法があります。私は経験豊富なプログラマーではないので、どの方法を選択するかお尋ねします。私の問題をもう一度説明しますが、今はいくつかの解決策を検討する必要があります。

必要なもの

Matrix クラスがあり、クラスの使用法が非常に直感的になるように、行列間の乗算を実装したいと考えています。

昨日持っていたもの

現時点では、2 つの演算子をオーバーロードしてoperator*おりoperator=、昨日の夜までは次のように定義されていました。

operator* は、ヒープ上で新しい Matrix オブジェクト ( Matrix return = new Matrix(...)) をインスタンス化し、値を設定してから、次のようにします。

私が今日持っているもの

議論の後、ユーザーがあらゆるタイプのポインターに煩わされるのを避け、使用法を変更しないようにするために、「別の方法」で実装することにしました。「別の方法」は、 operator* の戻り値を値で渡すことです。

operator*returnはスタック上でインスタンス化し、値を設定してからオブジェクトを返します。

このアプローチには問題があります。うまくいきません。operator= は Matrix& を期待し、operator* は Matrix を返します。さらに、このアプローチは別の理由で私にはあまり良く見えません:私は行列を扱っていますが、それは非常に大きくなる可能性があり、このライブラリの目的は1)私のプロジェクトにとって十分に良い2)高速であるため、おそらく合格することでした値によるオプションは使用できません。

私が調査したソリューション

さて、前の議論の提案に従って、スマート ポインターに関するいくつかの資料を読みました。それらは見栄えがしますが、問題を解決する方法をまだ理解できません。それらはメモリの解放とポインタのコピーを処理しますが、私は基本的に参照を使用しているため、適切な選択ではないようです。しかし、私は間違っているかもしれません。

おそらく唯一の解決策は値渡しであり、効率と優れたインターフェースの両方を得ることができないのかもしれません。繰り返しますが、あなたは専門家ですので、あなたの意見を知りたいです。

0 投票する
8 に答える
92826 参照

c++ - 列挙型の名前空間 - ベスト プラクティス

多くの場合、いくつかの列挙型を一緒に必要とします。時々、名前の衝突があります。これに対する 2 つの解決策が思い浮かびます。名前空間を使用するか、「より大きな」列挙要素名を使用します。それでも、名前空間ソリューションには 2 つの可能な実装があります。ネストされた列挙型を持つダミー クラス、または本格的な名前空間です。

3つのアプローチすべての長所と短所を探しています。

例:

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

c++ - 関数のスコープに関する C++ の基本的な質問

私は C++ を学び始めたばかりなので、私の無知に耐えなければなりません。関数を使用する関数の前に記述せずに参照できるように関数を宣言する方法はありますか。私は1つのcppファイル(私の決定ではありません)で作業しており、関数は自分自身を呼び出すため、それらを配置する適切な順序は実際にはありません.関数を使用する前に#define関数を定義する方法はありますか? それとも、実際にクラスの一部であることを必要としないスコープ演算子でそれらにタグを付ける方法はありますか?

前もって感謝します

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

java - メソッド内の変数の値の変更、Java

Java のメソッドで変数の値を変更することについて質問があります。

これは私のコードです:

メソッドの実行後、Test.funk(bird, tiger)bird の値は変更されません。メソッドで値を変更して10も、値はそのままです。funk()a = b[0] + 5;

一方、ステートメントがあるため、配列内の要素の値は変更されます。b[0] = b[0] * 2;

なぜ一方が変化し、もう一方が変化しないのか理解できませんか?誰かが私のためにこれを説明してもらえますか.

0 投票する
27 に答える
550136 参照

javascript - JavaScript の変数のスコープとは何ですか?

javascriptの変数のスコープは何ですか? 関数の外側とは対照的に、それらは同じスコープを内側に持っていますか? それとも問題ですか?また、変数がグローバルに定義されている場合、変数はどこに保存されますか?

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

php - PHP クラスのスコープ

データベース接続オブジェクトを作成していますが、最適な方法がわかりません...

(mysql_connect を使用して) 接続を確立する dbConnection クラスを作成した場合、メイン スクリプトのどこからでも mysql_query を呼び出すことができますか?

OTHERクラスの中からはどうですか?オブジェクトまたは属性をパラメーターとして渡す必要がありますか?

基本的に、単純なクラスを使用してONCEデータベースに接続するための最良の方法(速度+メモリの観点から)を探しています...

Database Connection クラスのコンストラクターを投稿しました。

}

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

vb.net - Setterスコープを制限してからインターフェイスを適用すると、スコープは無視されます。

セッターにフレンドレベルのスコープを設定すると、次のようになります...

...そして別のプロジェクトからそれを呼び出すと、それは正しく機能します。MyClass.IsDirty=Trueのようなことはできません。

素晴らしい!それがまさに私が欲しいものです。

しかし、インターフェイスを定義すると、実際にそれを行う必要があります。

私は次のようなことができます:

...そして、奇妙なことに、それは実行されます!例外はスローされず、内部変数はTrueに設定されます。フレンドスコープを完全に無視します!

それは恐ろしいです。何が足りないの?

注: APIを設計しているため、これが必要です。内部APIでIsDirtyを設定できるようにしたいのですが、エンド開発者はそれに入ることができないはずです。現在、この機能を取得するためにクラス全体をファサードでラップしていますが、ファサードは不要である必要があります。

0 投票する
8 に答える
69783 参照

jquery - jQuery イベントで「this」の値を制御する

jQueryを使用して「コントロール」を作成し、jQuery.extendを使用して、可能な限りOOにするのを支援しました。

コントロールの初期化中に、さまざまなクリックイベントを次のように接続します

bind メソッドの data 引数として「this」を渡していることに注意してください。これは、クリック イベントを発生させる要素からではなく、コントロール インスタンスに添付されたデータを取得できるようにするためです。

これは完全に機能しますが、もっと良い方法があると思います

過去に Prototype を使用したことがあるので、イベント内の「this」の値を制御できるバインド構文を覚えています。

jQueryのやり方とは?