問題タブ [default-arguments]

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 に答える
49 参照

php - 前の引数に基づいてデフォルト引数の値を取得する

3 つの引数を取る PHP 関数があり、そのうちの 1 つはオプションの引数です。

ただし、制限をデフォルトのパラメーターに設定し、それをオプションのパラメーターとして指定する必要があります。だから、私がしたことは次のとおりです。

$minがより大きい場合に問題が発生し5、最大値が最小値よりも小さい場合、値が無効になります。だから、私はデフォルトを に設定した$maxので$min、私がしたことは次のとおりです。

これにより、次のようなエラーがスローされます。

構文エラー: functions.phpの2行目に予期しない'$min'( T_VARIABLE)という構文エラーがあります。

現在、次のように処理しています。

前のパラメーターを入力シナリオとして使用するために、この既定のパラメーターを処理するより良い方法はありますか? 前もって感謝します!:)

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

python - デフォルト引数を壊さずに関数をラップする

元の呼び出しがオプションの引数を提供した、または提供しなかったという事実を隠すことなく、関数の引数を転送する方法はありますか?

func2() を呼び出すと、 func1() が引数なしで呼び出されるか、少なくともデフォルトの引数が何であれ、呼び出されます。

以下はほとんど機能しますが、基本的に、 func2 がそのデフォルトが呼び出されたかどうかを判断する方法があるかどうかはわかりません。

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

python - Pythonの属性のデフォルト値としてのnp.arrayは、複数のインスタンスによって参照されますか?

numpy 配列である Attribute フィールドを持つクラスがあります。クラスには、同じクラスの新しいインスタンスを生成する能力があります。今私の問題は、このように作成されたすべてのインスタンスが同じフィールド属性を指しているように見えることです。したがって、指定されたコードの期待される出力が次の場合:

[0, 0]

[1, 0]

[0, 2]

それは実際に与えます:

[1、2]

[1、2]

[1、2]

その後、a.field のエントリを変更すると、すべてのインスタンスのフィールド属性でエントリが変更されます

これを回避する方法や、ここで理解する上で何が間違っているのか、誰かが考えましたか?

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

c++ - デフォルト引数の値が異なる関数

すべてにデフォルト値があり、それらの一部のみが使用されている場合、関数の引数を解析する方法は? 例: デフォルト値を持ついくつかの引数を持つ関数があります

たとえば、次のように、さまざまな値の引数で使用したいと思います。

どの引数が使用されたかを確認するにはどうすればよいですか? 引数の最大値は既知であり、順序は常に同じです。次のような関数を実行したくありません。

また、可変引数関数は使用できません。

何か案は?

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

python - メソッドのデフォルト引数はPythonでどのようにオーバーライドされますか?

メソッドのデフォルト引数は明らかにオーバーライドできます:

これはどのように可能ですか?それは悪いスタイルと見なされますか?

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

c# - 構造体の初期化とデフォルト引数による非直感的な動作

上記はvalid==true、デフォルトの引数を持つコンストラクターが呼び出されず、オブジェクトが標準のデフォルトの val = 0.0 で作成されるためです。
構造体がクラスの場合、動作はvalid==false私が期待するものです。

この動作の違い、特に構造体の場合の動作は驚くべきものであり、直感的ではありません-何が起こっているのでしょうか? stuct コンストラクトのデフォルトの引数は何に役立ちますか? 役に立たない場合、なぜこれをコンパイルさせますか?

更新: ここでの焦点を明確にするために、動作が何であるかではなく、なぜこれが警告なしにコンパイルされ、直感的に動作しないのかを説明します。つまり、 new Test() の場合、コンストラクターが呼び出されないためにデフォルトの引数が適用されない場合、なぜそれをコンパイルさせるのでしょうか?