問題タブ [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.
iphone - 可変数の引数を NSString の +stringWithFormat に「渡す」方法:
以下のように、可変数の引数を取り、それらの引数を に渡す関数を Objective-C で作成したいと思います+stringWithFormat:
。については知ってvsnprintf
いますが、それは NSString 'format' を C に変換して元に戻すことを意味します (また、その中の書式プレースホルダーも変換することを意味します...)。
以下のコードはコンパイルされますが、もちろん、私が望むようには動作しません:)
基本的に:メソッドのva_list
フレンドリーなバージョンはあり+stringWithFormat:
ますか、またはそれを書くことは可能ですか?
c++ - 最初のパラメーターが指定されていない可変個引数関数?
好奇心から、C#の複数のデリゲートパターンを模倣する基本的なC++クラスを作成してみようと思いました。以下のコードはほとんどすべてのタイプセーフティを失うという厄介な犠牲を払って仕事をしますが、va_listを設定するために初期ダミーパラメータを使用する必要があるのは実際には少し外れているようです。これなしでva_listを使用する方法はありますか?(たとえば)ブーストを使用してこれを行う方法があることは確かですが、標準ライブラリだけを使用する非常に単純なものを目指していました。
java - Scalaはメソッド定義で複数のパラメーターをどのように受け取ることができますか?
Javaには次のものがあります。
Scalaで同じ機能を実現するにはどうすればよいですか?つまり、未定義の数のパラメーターをメソッドに渡しますか?
java - Arrays.asList()が正常に機能していませんか?
float []があり、同じ要素のリストを取得したいと思います。それらを1つずつ追加するという醜いことはできましたが、Arrays.asListメソッドを使用したかったのです。しかし、問題があります。これは機能します:
しかし、これはそうではありません。
asListメソッドは、私の知識の範囲では配列の「省略形」であるvarargsパラメーターを受け入れます。
質問:
2番目のコードがを返すがを返さないのはなぜ
List<int[]>
ですかList<int>
。それを修正する方法はありますか?
ここでオートボクシングが機能しないのはなぜですか。すなわち?
int[]
_Integer[]
java - 可変パラメータクラス?
次のコード
出力を与えます:-
これは何のクラスですか?
java - Javaでvargがnullに設定されている場合、vargsのクラス型を取得します
vargがnullに設定されている場合、Javaで可変引数のデータ型を取得するにはどうすればよいですか? getClass を使用して型を取得します。他に方法はありますか?
私が考えることができる唯一のことは、呼び出し関数からの注釈を使用することです。他に方法はありますか?
java - var-argsはメソッド引数としてのみ使用できますか?
これは正常にコンパイルされています:-
しかし、これはコンパイルされていません。
私が構文的に間違っている場合、Plzは私を訂正します。:-)
cletusは次のように書いています:-それは実際には配列の単なる構文糖衣です
これは、キャシー・シエラとバート・ベイツによって書かれた非常に人気のあるJavaの本(Head First Java、第2版、McGraw-Hill / Osborne)からのステートメントが続く例です :-
トピックジェネリック、
<T extends MyClass>
、ここでMyClassはクラスであり、
<T extends MyInterface>
、ここでMyInterfaceはインターフェースです。
以下は本からのコピーです(548ページ、16章):-
ジェネリックスでは、「拡張する」とは「拡張または実装する」という意味です??? Javaエンジニアは、パラメータ化された型に制約を課す方法を提供する必要がありました。これにより、に制限することができます。ただし、特定のインターフェイスを実装するクラスのみを許可するように型を制約する必要もあります。したがって、これは、継承と実装の両方の状況で機能するために1種類の構文が必要な状況です。言い換えれば、それは拡張と実装の両方で機能します。そして、勝利の言葉は...拡張します。ここで「extends」を使用して行ったように、サンエンジニアが既存のキーワードを再利用する機会があるときはいつでも、通常はそれを行います。しかし、選択の余地がない場合もあります...(アサート、列挙型)。
MyQuestion:var-argsは配列の単なる構文糖衣であり、配列以外の機能はありませんか?
python - 関数名の前のpython varargs?
私はクライアントのコード ベースでいくつかの Python コーディングを行っていて、次のようなコード行に出くわしました (無実を保護するために変数名が変更されています)。
通常、引数リストの ** は残りのキーワード引数を収集しますが、関数名の前で何をするのでしょうか?
c++ - ある va_list をパラメーターとして別の va_list に渡す
fastcgi ライブラリを使用してアプリケーションを作成していますが、その印刷方法は少し冗長です。私は自分のメソッドで fprintf 関数をラップしようとしています:
回したい
FCGX_FPrintF(out, char* fmt, ...);
の中へ
書き込み (char* strFormat, ...);
va_list の魔法を見つけましたが、va_list の値を fprintf 関数に渡す簡単な方法が見つかりません。これを行う方法はありますか?vsprintf と vprintf が存在することは知っているので、想像以上に難しいに違いありません。
他のすべてが失敗した場合は、書き込み関数をオーバーロードします