問題タブ [variadic-functions]

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

c++ - 関数コールバックを使用した可変数の引数 (va_list)?

ユーザーの入力に応じて、数秒後に別の関数を実行する関数の実装に取り​​組んでいます。間隔の最後に実行するアクションへの関数ポインターを含むクラス (TimedEvent を呼び出す) の優先度キューがあります。たとえば、ユーザーがプログラムに関数「xyz」を 3 秒後に呼び出すようにさせたい場合、時間と xyz への関数ポインターを使用して新しい TimedEvent を作成し、それを優先キュー (時間でソートされ、最初に発生する最も早いイベント)。

指定された時間の経過後、優先キューが一番上の要素から飛び出すことに成功しましたが、ここで壁にぶつかっています。呼び出したい関数は、単一の整数のみを受け取るものから、3 つの整数、文字列などを受け取るものまで、さまざまな異なるパラメーターを取り、異なる値 (いくつかの int、いくつかの文字列など) を返すこともできます。私は va_lists (私は経験がありません) を調べましたが、何かが欠けていない限り、これは答えではないようです。

要約すると ( TL;DRバージョン):
これらの関数を、同じ関数ポインターを使用して「多様な」関数として呼び出すことができるようにしたいと考えています。

私は va_list と関数コールバックで正しい軌道に乗っていますか? これは簡単に(またはまったく)実装できますか?

ありがとう!

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

c - 可変数のパラメータを取る関数の代替を書く (c プログラミング)

fprintf を置き換える関数を書きたいと思っています

このような関数を定義する方法がわかりません。なぜなら、この関数は format パラメータの後に可変数のパラメータを取るからです。具体的には、少なくともフォーマットで指定されたのと同じ数の追加の引数を取ります。

更新この件に関するリソース ( http://publications.gbdirect.co.uk/c_book/chapter9/stdarg.html ) を見つけましたが、この例は、私が使用している OS である Linux ではコンパイルできないようです。

fprintf を呼び出すだけの fprintf の置き換えの例が役立ちます。

これは宿題ではありません。私は、空き時間にプログラミングの方法を学ぼうとしている初心者です。ありがとう!

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

php - パラメータをPDOに渡す良い方法

3つまたは4つを超えるパラメーターを処理する場合、位置パラメーターは悪夢になります。名前付きパラメーターは冗長です。私はこれを行うことを考えています:

動的パラメーター(を使用func_get_args())を使用すると、1つおきに位置パラメーターに変換されます。

私はこれまでこれを見たことがなく、誰かがこれを以前に行ったことがあるかどうか、そしてその理由/理由を知りたいと思いました。

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

c - マクロの可変引数

次のような可変引数を取る関数があります

ヘッダーファイルでは、次のようなものを使用します

基本的に、アイデアはデバッグのオンとオフを切り替えることです~~~

  • 問題: 上記のロジックは Linux と gcc では問題なく動作しますが、Windows VC++ でのコンパイル中にエラーが発生します。
0 投票する
5 に答える
5471 参照

php - PHP:参照による可変長引数リスト?

すべてのパラメーターを参照して可変数のパラメーターを受け取るPHP関数を作成することは可能ですか?

関数の合成と引数のバインドに取り組んでいるので、値の配列を参照で受け取る関数や、オブジェクトにラップされた引数を受け取る関数は役に立ちません。呼び出し時の参照渡しについても考えないでください。そのことさえ存在すべきではありません。

0 投票する
7 に答える
3604 参照

java - slf4j用のJava1.5varargs APIはまだありますか?

このロットを取り除きたい...

...そしてこれと交換してください...

...ログに記録する引数の数に応じてログの構文を変更する必要がないようにします。たくさんの議論と回避策があるようですが、それはどこにありますか?または、slf4jであるラッパーをラップする必要がありますか?

0 投票する
12 に答える
137384 参照

javascript - 可変数の引数をJavaScript関数に送信することは可能ですか?

配列からJavaScript関数に可変数の引数を送信することは可能ですか?

私は最近多くのPythonを作成しましたが、varargsを受け入れて送信できるのは素晴らしいパターンです。例えば

JavaScriptで引数配列として扱われる配列を送信することは可能ですか?

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

javascript - javascriptがコンストラクターに適用され、「不正な形式の仮パラメーター」がスローされます

この質問に対する素晴らしい回答のおかげで、varargsを使用してjavascript関数を呼び出す方法を理解しています。

今私はコンストラクターでapplyを使用しようとしています

この投稿でいくつかの興味深い情報を見つけました。

しかし、私のコードはエラーをスローしています

試行1:

エラー:

試行2:試行1:

エラー:

試行2:

エラー:

試行3:

エラー :

当面は回避策があります。

これはかなりうまく機能しますが、私が望むほどクリーンで普遍的ではありません。

javascriptでvarargsを使用してコンストラクターを呼び出すことは可能ですか?

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

c++ - va_arg を関数に 2 回渡すと、同じ値になります

va_arg を使用して、GUI ライブラリでジェネリック ファクトリ関数を作成しようとしています。同じ関数で va_arg を 2 回渡すと、2 つの異なる値ではなく同じ値が渡されます。

この予期しない動作の原因は何ですか?

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

c++ - 引数リストを別のvarargs関数に送信するvarargs関数を作成することは可能ですか?

重複の可能性:
Cプログラミング:変数引数リストを転送します。

私がやりたいのは、printfのような方法で(変更できない)ロギングライブラリにデータを送信することです。

だから私はこのような関数が欲しいです:

何らかの方法でvarargsを別のvararg関数に渡すことはできますか?