問題タブ [shadowing]

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

java - フィールド シャドーイングの回避

特定のプログラムについて、私は基本的にいくつかの異なるサブクラスを持つ抽象スーパークラスを持っています。ただし、以下に示すように、フィールド シャドーイングに問題があります。

次に、それぞれ独自の「名前」を持つサブクラスを作成します。

ただし、サブクラスのインスタンスを作成し、継承されたメソッド getName() を呼び出すと、フィールドのシャドーイングのために null が生成されます。

この問題を回避し、サブクラスがそれぞれ継承されたメソッドによってアクセスできる一意のフィールドを持つことを許可する簡単な方法はありますか?

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

visual-studio - Visual Studio で F# の値をシャドーイングするための警告を表示する方法はありますか?

私には、以下で説明されているような既存の値のシャドーイング:


F# で不変のシャドウイングとネストされた関数
f# 重複定義
FSharp 楽しみと利益のためのコメント

F# を非常に強力なものにしている不変性と型安全性の概念に反しているようです。F# でのシャドウイングは、C# とは異なります。私のコードのバグが、同じスコープ内の名前の意図しないシャドウイングによるものであることが判明するまで、かなりの時間がかかりました。VS で値をシャドーイングするためのコンパイラ警告を表示する方法はありますか?

場合によってはそれが役立つことも知っています。たとえば、Checked Aritmeticsの場合。

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

python - 変更されたコピーでグローバル変数をシャドウする

注意: これは、関数本体内のグローバル変数を変更する方法に関する質問ではありません。globalキーワードはわかりました。

私のスクリプトには、多数のグローバル構成変数があります。modified_procedure()これらのグローバル変数の 1 つをローカル名前空間 (以下で呼び出します) にシャドウイングし、構成変数を参照する別の関数を呼び出す関数を書きたいと思います。すなわち、

PARAMETERの本体で発生するため、これは失敗しますmodified_procedure()。インタープリターはそれをローカル変数と見なし、グローバル名前空間で検索しません。グローバル変数を変更しようとしているわけではありませんPARAMETERmodified_procedure()の名前空間でシャドウしようとしています。

いくつかの不便な解決策を考えることができます。

  • スクリプトを OOP 化して、構成変数がオブジェクト属性になるようにし、新しい属性を持つサブクラスを作成できるようにします。procedure()
  • in を使用globalmodified_procedure()て変更PARAMETERし、結果を返す前に復元します。procedure()

シャドーイングでできますPARAMETERか?もしそうなら、どのように?

0 投票する
0 に答える
103 参照

javascript - 角度スコープのシャドーイングの可能性が説明されていない

いくつかの異なる方法を試したり、単純な jquery-ui スライダーをラップしたりしました。その最初の方法は次のとおりです。

シャドウイングのためにこれが機能しないと想定したため、代わりにオブジェクトへの参照とそのプロパティの 1 つの文字列値を渡すことにしました。

どちらの場合も、コンソールには期待値が表示されますが、モデルは更新されません。通常、これは値がスコープ間でシャドーイングされていることを意味していました。そのため、2 番目のバージョンに変更しましたが、それも機能しません。何か案は?

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

java - ローカル クラスのシャドウ変数へのアクセス

私はJavaが初めてで、以下の例で混乱しています

8 行目の "this" キーワードを使用して inTestOne() メソッドのシャドウ変数にアクセスできない理由

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

java - スーパークラスのメソッドからサブクラスのメンバー変数にアクセス (シャドウ) する方法は?

誰かが質問を理解していない場合はお知らせください。以下の質問を組み立てるために最善を尽くしました。パターンを生成するための親クラスに共通のメソッドがあります。再利用性のために、このメソッドを親クラスの下に保持することを考えました。

メソッド内で、いくつかの変数を使用します。なので、generatePatternメソッドにオブジェクトをパラメータとして渡したほうがいいと思いました。しかし、変数はオーバーライドできないため、これらのサブクラスからそれぞれの変数を使用するにはどうすればよいでしょうか? サブクラスを使用する以外のJavaの他の機能はありますか? そのような場合、パラメーターとしての「ジェネリック型」は機能しますか?

上記の AscendSubClass または DescendSubClass のいずれかを generatePattern() に渡すことができます。このメソッド内で、変数 var1、値、およびサブクラスの他の多くの変数を使用する必要があります。これらの変数は同じ型で同じ名前ですが、値は異なり、サブクラスによって異なります。メソッドが変更されないように、これらの変数を generatePattern() で参照するにはどうすればよいですか? メソッドのパラメーターとして変数を作成するか、if/else ステートメントを使用することでこれを実現できますが、渡す変数がいくつかあり、非常に不便です。

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

r - パッケージ TTR の ROC 関数がエラーをスローします: 未使用の引数 (na.pad=na.pad)

以下のコードは、最近まで常に機能していました。

システムは次のエラーを返します。

上記を再び機能させる方法はありますか?

(このエラーが発生してから、すべてのパッケージが更新されました)

トレースバックの下: