問題タブ [optional-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 投票する
3 に答える
1406 参照

python - カスタム クラスをオプションの引数の型としてそのクラス内のメソッドに設定する

tl;dr: オプションの引数の型をカスタム ビルド クラスに設定する方法を知りたいです。

コード:

私はもう試した:

長い話:

私はこれまでに何も見つけられなかったいくつかの検索を行いましたが、私が使用している用語の方が多いと思います.

私は 2 次元の Point/Vector クラスを作成しています (わかっていますが、既に完了していますが、自分の書き方を学び、開発しています)。ほとんどの場合、主にメンテナンスの容易さ。

オプションの引数の型を、Python の組み込み型の 1 つではなく、上記の Point などのカスタム ビルド クラスに設定する方法を理解できませんでした。

注:単純にpa位置引数を作成するだけで機能することは承知していますが、そうしない主な理由がない限り、pythonの哲学に対して少し厳格であることを除いて、私はしたいと思いますコードをわかりやすくするために引数を入力します。

それはどのように達成できますか、それは価値がありますか、そしてこの方法で物事を行うことの短所はありますか?

この種のベスト プラクティスに関するヒントも大歓迎です。

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

javascript - JavaScript で複数のオプション パラメータを渡す

Lua で独自のイベント システムを作成し、変換して JavaScript で使用したいと考えていました。Lua のコードは次のとおりです。

これは完璧に機能します。これが私がJavaScriptのために持っているものです:

これはまったく機能しません。

使用例:

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

python - 空の辞書がPythonの危険なデフォルト値であるのはなぜですか?

Python 関数のオプションの引数のデフォルト値として dict を指定したところ、pylint (Sublime パッケージを使用) から危険であることがわかりました。誰かがなぜこれが当てはまるのか説明できますか? 代わりに使用するより良い代替手段はありますNoneか?

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

fortran - 別のオプション引数に渡す前に、オプション引数をチェックする必要がありますか?

オプション引数の使い方について、以下の質問があります。aaaモジュールで次のルーチンが定義されているとしましょうm_aaa

これで、モジュールを使用する 2 番目のルーチンができましたm_aaa。このようにオプションの引数を渡すことは可能ですか

または、次のようにオプションの引数 d の存在を確認する必要があります:

ご協力いただきありがとうございます。

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

vba - VBAで空の配列のデフォルト値を持つオプションの関数引数を宣言する方法は?

以下のルーチンを構築しようとしています。ルーチンの最後の引数はオプションの配列で、デフォルトでは 2 つの空の文字列が必要です。以下の宣言は機能しません。次のエラーが表示されます: コンパイル エラー: 定数式が必要です

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

selenium - TestNG を使用したセレン

TestNGでセレンを初めて使用します。お答えいただけると大変助かります。テキスト ノートを作成する webApplication のテスト ケースを作成しています。さまざまな種類の入力をテストするために、@dataProvider を使用しました。すべての値を入力した後、メモの作成を保存するかキャンセルするかの 2 つのオプションがあるためです。例外をスローしている @optional アノテーションを使用しました。@optional アノテーションを付けた @dataprovider を使用できるかどうか教えてください。このようなコードを書きました。

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

python - Python での可変数の引数と再帰

可変数の引数(各引数は反復可能なリストまたはセット)を取り、各引数の連結されたすべての組み合わせのセットを返す再帰関数を作成したいと考えていました。可変数の引数を持つ関数の書き方を学び、再帰関数の書き方も知っていますが、これら 2 つを Python で組み合わせる方法がわかりません (またはそれが可能かどうかもわかりません)。

これが私のコードです:

期待される出力:

私のコードの「問題」lastdigits = generate_combinations( args[1:] )は 7 行目にあります。ここでやりたかったのは、最初の引数を除くすべての元の引数を関数に渡すことです (したがって、再帰を作成します)。そして、これは明らかにそれを行う方法ではありません。私の質問: これを行うことができますか?

Ps: 1 つの引数を持つリストのリストを使用して同じことを達成できることはわかっていますが、これがまったく可能であることに興味があります。

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

python - Python関数の引数のリストを公布する方法は?

次の問題を解決するためのエレガントなpythonicの方法を見つけようとしています。、、VideoAnalysisWidgetなどの子ウィジェット全体を作成するクラス、、があります。適切なキーワード引数を、、、に渡したい...これを達成するには、次のようなコードを使用したいと思います。VideoFileChoiceWidgetRegionWidgetVideoAnalysisWidget.__init__VideoFileChoiceWidget.__init__RegionWidget.__init__

次に、別の場所で:

このようにすると、 のコードVideoAnalysisWidgetは の引数リストを追跡する必要がなくなりますVideoFileChoiceWidget。後で新しい引数を取るように修正する場合、離れたコードVideoFileChoiceWidgetを変更する必要はありません。VideoAnalysisWidget

ここで問題です。これは、VideoFileChoiceWidgetキーワード パラメータが明示的に定義されている場合にのみ機能します。self(ところで、これらの関数以外に位置パラメータを使用しなくても問題ありません。) しかし、引数VideoFileChoiceWidgetもある場合はどうなるでしょうか? **kwargs実際、それは からサブクラス化されているため、ContainerWidget追加の引数をそれに渡したいと思います。(そしてContainerWidget、のみを取ります**kwargs。)基本的に、問題は、私のこのソリューションをネストできないことです。

可能な解決策は、追加の引数のリストを に添付することですVideoFileChoiceWidget.__init__。次に例を示します。

...次にfilterArgs、可能であればこれを使用するように変更します。しかし、それを行うためのより良い、よりpythonicな方法はありますか?

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

function - オプションの引数を関数に渡す (オプションでもある場合)

バックグラウンド

オプションの引数を別の関数に渡そうとすると問題が発生します。呼び出される関数にはオプションの引数もあるため、そのオプション性をずっと伝播させようとしています。

私が経験している問題は、オプションの引数が省略された場合、常温核融合には null の概念がない (または少なくとも実際には存在しない) ため、文字通り存在しないことです。

たとえば、上記のコードでfooが引数なしで呼び出された場合、エラーが発生します

質問

エラーを引き起こさずに、オプションの引数を別の関数に渡す方法はありますか?

私が検討した解決策は次のとおりです。

  • 合格argumentcollection=arguments。しかし、bar が実際に必要とする引数を読み取るのが非常に難しくなるため、これは非常に不快に思えます (私はこのようなコードをデバッグしようとしましたが、楽しくありません)。fooまた、 と で異なる引数名が使用されている場合も機能しません。bar
  • オプションの引数が存在する場合にのみ渡すための一連の if StructKeyExists ステートメント。これは機能しますが、非常に複雑になる可能性があります。