問題タブ [argument-passing]

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

powershell - PowerShellパスsystem.object[]を展開せずに

Get-PSCallStackを展開せずに渡す方法に関するアイデア。それはsystem.object[]のように見えますが、私がオンラインで読んだものから、それらは渡されて「展開」されたときに無傷のままではありません。それを防ぐために前にコンマを置いてみましたが、うまくいきませんでした。

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

c - Cで2D配列を渡す

私はCから休止を取り、再びそれに戻っています。

doubleの2D配列を作成する場合は、次の2つの方法で作成できます。

また

しかし、mallocされた配列を渡すのではなく、他の配列を渡す場合は、次の2つの規則があるようです。

最初は、ポインターの配列へのポインターであること以外の情報は必要ありません。しかし、それはmallocされた配列にしかなり得ません。

2番目では、double*の配列が指す各配列の長さを渡す必要があります。これはばかげているようです。

私は何かが足りないのですか?前もって感謝します。

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

python - クラスメソッドのデフォルトパラメータとしての静的メソッド

私の質問は、別の質問に対する2つの答えについてです。同じクラスのメソッド内のデフォルトのパラメーター値としてクラス/静的メソッドを使用する

私は、2つの答えが実際に違いがあるかどうか、もしそうなら、それぞれの長所と短所は何かを理解しようとしています。

質問:同じクラスのメソッドのデフォルトパラメータとしてクラスメソッドを使用する方法。

回答1:クラスメソッドの代わりに関数を使用する

回答2:クラスメソッドを使用しますが、それを関数に変換します

これは元々Python2で書かれていましたが、私の要約は(うまくいけば)Python3です。

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

ruby - ワイルドカードを使用して複数の入力ファイルで Ruby スクリプトを呼び出す

私は Ruby に比較的慣れていないため、複数の入力ファイルを処理するスクリプトを作成する必要があります。次のように呼び出す必要があります。

file1.xmlディレクトリには、 などの複数のファイルが含まれていますfile2.xml。簡単な質問: このワイルドカードはどのように拡張されますか? スクリプトでそれをプログラムする必要がありますか? OptionParserコマンドライン引数を解析するために Class を使用しています。

ありがとう!

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

c - 関数の引数としての printf

通常の機能の使用法:

このパラメーターを使用できるかどうか。

int my_func(const char *key)

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

function - Rの関数で2つの「...」ステートメントを使用する方法はありますか?

plot()と の両方を呼び出す関数を作成したいと考えています。ユーザーがいくつかの追加の引数を指定してから、またはlegend()に渡すことができれば理想的です。を使用して2つの関数のいずれかでこれを達成できることを私は知っています:plot()legend()...

xaxt = "n"これはプロットに渡されます。しかし、たとえば、関数ヘッダーで引数を事前に指定せずtitle = "legend"に呼び出しに渡す方法はありますか?legend()


受け入れられた回答からの更新: VitoshKa の方法は、私が望むことを達成するのに最もエレガントだと思いました。ただし、希望どおりに機能するまで、回避しなければならない小さな問題がいくつかありました。

最初に、どのパラメーターに渡しlegend、どのパラメーターに渡すかを確認しましたplot。この目的のための最初のステップは、どの引数がplot および/または par にlegend固有で、一部ではないかを確認することでした。legend

私がdput()ここで使用するのは、行plot.args <- c(names(formals(plot.default)), names(par()))が常に私が望まない新しい空のプロットを呼び出すためです。dputそのため、次の関数での出力を使用しました。

次に、重複する引数に対処する必要がありました ( 経由で取得しますdput(largs.all[(largs.all %in% pargs.all)]))。いくつかの場合、これは些細なことでした (例: )。他xyものは両方の関数に渡されます (例: pch)。しかし、私の実際のアプリケーションでは、他の戦略も使用しています (たとえば、 の変数名は異なりますadjが、この例では実装されていません)。

最後に、do.call関数を 2 つの方法で変更する必要がありました。まず、what の部分 (つまり、関数と呼ばれる部分) は文字にする必要があります (つまり、 の'plot'代わりにplot)。また、引数リストは少し異なる方法で作成する必要があります。

この例でpchは、 は と の両方plotに渡されlegend、はとのみにtitle渡されます。legendylimplot


Gavin Simpson のコメントに基づく更新 2 (Vitoshka の回答のコメントも参照):
(i) その通りです。
(ii) いつでも文字にできます。ただし、関数と同じ名前の変数がある場合は、関数名を で引用する必要がありますdo.call

(iii) 使用できc(x = 1, y = 1, list())、正常に動作します。しかし、私が実際に行ったこと (私が与えた例ではなく、私の実際の関数) は次のとおりです:これを 次とc(x = 1, y = 1, xlim = c(0, 2), list(bla='foo'))
比較してください:リストには(長さ 2 のベクトルで、私が欲しかったものです) しかありません。c(list(x = 1, y = 1, xlim = c(0, 2)), list(bla='foo'))
xlimxlim1xlim2xlim

したがって、あなたは私の例についてすべての点で正しいです。しかし、私の実際の関数 (より多くの変数を使用) では、これらの問題に遭遇したため、ここで文書化したいと思いました。不正確で申し訳ありません。

0 投票する
6 に答える
18508 参照

python - デフォルト引数とデフォルト以外の引数の順序

Pythonでは、デフォルトの引数が最後に来ること、およびデフォルト以外の引数がデフォルトの引数の後に続くことができないことを理解しています。それは結構です。たとえば、次のようになります。

さすがに大丈夫です。

ただし、最初の引数をデフォルトの引数にしたい場合はどうでしょうか。たとえば、上記のコードから明らかなxように、最初の引数である必要があり、デフォルト値は0である必要があります。

これを行うことは可能ですか?range関数の中でも、次のようなものだと思いますので、お願いします。

では、これはどのように行われ、それが不可能な場合、これはどのように実装されrangeますか?私は最初の引数をデフォルトにすることを主張していることに注意してください。それが全体のポイントです。range私の問題に完全に適合するので、例として使用しています。もちろん、rangeとして実装することもできますdef range(end, start=0)が、それは重要ではありません。

0 投票する
6 に答える
4040 参照

c++ - stringstream の内容を char* を引数として関数に渡す

ppmファイル(画像形式)をディスクに書き込む機能があります。ファイル名を char* 配列として受け取ります。メイン関数では、stringstream と << 演算子を使用してファイル名をまとめました。次に、この結果を ppm 関数に渡します。私はこれが他の場所で議論されているのを見たことがあります.

私が行ったことは以下のコードに示されています。他の人が一時変数を使用して多くのステップで通常行うトリッキーな部分は(char*) (PPM_file_name.str().data()). これにより、.str() を使用して stringstream PPM_file_name から文字列を抽出し、.data() を使用して実際のコンテンツへのポインターを取得し (これは const char*)、それを通常の (char*) にキャストします。以下のより完全な例。

これまでのところ、次の方法で問題なく動作することがわかりましたが、他の人が一見複雑な方法で何かを行った場合、それはより安全な方法であるため、通常は不安になります. それで、私がここでやっていることは安全で、移植性が高いかどうか誰か教えてもらえますか?

ありがとう。

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

wpf - UserControlで公開するWPF DependencyProperty?

カスタマイズの「radius」(double) と「contentSource」(string[]) のいくつかのパラメーターが必要な UserControl があります。

私の UserControl は、いくつかのネストされたコントロールで構成されています。

私はパラメータを公開しようとしています:

ただし、「string[]」パラメーターがクラッシュを引き起こしているようですが、ほとんどの場合、「Radius」プロパティをまったく設定できません。パラメータを公開するために他に何かする必要がありますか?

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

php - PHP:無名関数を引数として渡す

return匿名関数を引数として渡してすぐに実行し、関数の値を渡すことは可能ですか?

これは、Arrayタイプヒントが原因でエラーをスローし、オブジェクトが渡されたことを訴えます。さて、タイプヒントを削除すると、もちろんClosure Object、希望する結果ではなく、吐き出されます。私は技術的にのオブジェクトインスタンスをに渡していることを理解していますがClosuremyFunctionこれが他の場所で達成されているのを見たことはほぼ確実です。これは可能ですか?もしそうなら、私は何を間違っていますか?

この議論のために、クロージャーを渡す関数を変更することはできません。

tl; dr:匿名関数宣言を引数として渡して、戻り値を引数として渡すにはどうすればよいですか。

PS:明確でない場合、望ましい出力は次のとおりです。