引数とパラメータの違いは何ですか?
-
03-07-2019 - |
質問
メソッドについて口頭で話すとき、この言葉を使うべきかどうかわかりません。 口論 または パラメータ または、他の何か。いずれにせよ、他の人は私の言いたいことを理解していますが、何が正しいのでしょうか、そしてその用語の歴史はどうなっているのでしょうか?
私は C# プログラマーですが、言語が異なれば使用する用語も異なるのではないかとも思います。
記録のために言っておきますが、私はコンピューター サイエンスの知識がなく、独学で学んでいます。(「読め」とは言わないでください コードの完成 なぜなら、まだコピーを持っていない他の人の利益のためにこれを尋ねているからです。 スティーブ・マコーネルの素晴らしい本です。)
まとめ
一般的なコンセンサスは、チーム環境ではこれらの用語を同じ意味で使用しても問題ないということのようです。おそらく、正確な用語を定義する場合は別です。その場合は「」を使用することもできますフォーマル 引数/パラメータ」および「実際の 引数/パラメータ」を使用して曖昧さを解消します。
解決
パラメータはメソッド定義の変数です。メソッドが呼び出されるとき、引数はメソッドのパラメーターに渡すデータです。
public void MyMethod(string myParam) { }
...
string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);
他のヒント
パラメータは、関数宣言の変数です。
引数は、関数に渡されるこの変数の実際の値です。
サブジェクトに関するWikipediaエントリが既にあります(パラメータを参照)。また、用語 parameter と argument を区別します。要するに、パラメータは関数/プロシージャ/メソッドシグネチャの一部であり、引数は実行時および/またはパラメータの呼び出しサイトで提供される実際の値です。
Wikipediaの記事では、2つの用語が同義語として使用されることも多いと述べています(特にコードについて非公式に推論する場合):
パラメータも一般的ですが 引数、引数と呼ばれる より適切に考えられている 割り当てられた実際の値または参照 パラメータ変数に サブルーチンは実行時に呼び出されます。
2つの整数、 x
および y
を追加するCの次の関数例をパラメータと呼びます。
int add(int x, int y) {
return x + y;
}
以下に示す例のように、 add
を使用する呼び出しサイトでは、 123 および 456 は >呼び出しの引数。
int result = add(123, 456);
また、一部の言語仕様(または正式なドキュメント)は、 parameter または argument のみを使用し、 formal やなどの形容詞を使用することを選択します代わりに、実際のを使用して、2つのケースを明確にします。たとえば、C / C ++のドキュメントでは、多くの場合、関数パラメータを仮引数として、関数呼び出し arguments を実際の引数として参照しています。 。例については、“ 仮引数および実引数&#を参照してください。 8221; Visual C ++言語リファレンス。
シンプル:
- P ARAMETER→ P LACEHOLDER(これは、プレースホルダーが関数の命名に属し、関数本体で使用されることを意味します)
- A RGUMENT→ A CTUAL VALUE(これは、関数呼び出しによって渡される実際の値を意味します)
パラメータは、関数を呼び出すときに入力する必要があるものです。あなたがそこに入れるのは議論です。
単純に設定:引数はパラメーターに入り、引数はパラメーターの値になります。
さらに詳しい情報: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments
用語のパラメーターと引数の使用は、プログラマーや著者の間で多少誤用されています。方法を扱うとき、用語 パラメータ メソッドの署名でプレースホルダーを識別するために使用されますが、用語は 引数 メソッドに渡す実際の値です。
MCSD 認定ツールキット (試験 70-483) C# でのプログラミング, 、初版、Wrox、2013
現実世界のケースシナリオ
// Define a method with two parameters
int Sum(int num1, int num2)
{
return num1 + num2;
}
// Call the method using two arguments
var ret = Sum(2, 3);
編集では、構造言語は自然言語に基づいているため、人々が忘れることにしばしば先送りされます。
英語で
" parameter"はプレースホルダーです。応答形式を話し言葉で設定します。定義上、それは呼び出しの当事者であり、応答を制限します。
"引数"検討されているポジションです。あなたはあなたの意見を主張します:あなたは議論を考慮します。
主な違い
引数の主題的な役割はエージェントです。パラメータの主題的な役割は受信者です。
相互作用
引数を男性の部分、パラメーターを女性の部分と考えてください。引数はパラメーターに入ります。
使用法
パラメータは、定義で通常使用されます。引数は、呼び出しで通常使用される 。
質問
不協和音が少なくなるように文を仕上げます。
(A)定義といえば:
- 使用する引数[]?
- このパラメーター[]は何[]ですか
(B)呼び出しといえば:
- どのパラメーターを使用しますか[]?
- このパラメータは[]になりますか?
回答
(A)
- on / in / against /このパラメーターを使用
- argument(s)... take
(B)
- および引数の例とは
- argument(s)... on / in / against / withで使用
オーバーラップ
ご想像のとおり、答えた後:話し言葉では、これらの単語は同じ応答を生成することがあります!
したがって、原則として:
-
通常、誰かがパラメーター情報を必要とする場合、タイプ、変数名などについてもっと知りたいと思うでしょう。例の引数を与えただけでは混乱するかもしれません。
- 通常、誰かが引数情報を必要とする場合、関数またはそのパラメーターに渡した値を知りたいと思うでしょう。
関数/メソッドのパラメータは、結果の計算に使用する値を説明します。
aの arguments は、関数/メソッドの特定の呼び出し中にこれらのパラメーターに割り当てられた値です。
または、メソッドのオプションの引数の場合、次のように覚えるのがさらに簡単かもしれません:
public void Method(string parameter = "argument")
{
}
parameter
はパラメーター、その値、" argument"
は引数です:)
パラメータと引数
パラメータと引数に関係するすべての異なる用語 混乱する可能性があります。ただし、いくつかの簡単な点に留意すると、 これらの用語を簡単に処理できるようになります。
- 関数の仮パラメータは関数宣言にリストされ、関数定義の本文で使用されます。 A (あらゆる種類の)仮パラメータは、一種の空白またはプレースホルダであり、 関数が呼び出されたときに何かで埋められます。
- 引数は、仮パラメータを埋めるために使用されるものです。 関数呼び出しを書き留めると、引数がリストされます 関数名の後の括弧。関数呼び出しが 実行されると、仮パラメータの引数がプラグインされます。
- 値による呼び出しおよび参照による呼び出しという用語はメカニズムを指します プラグインプロセスで使用されます。値渡し方法 引数の値のみが使用されます。この値渡し メカニズムでは、仮パラメータはローカル変数です 対応する引数の値に初期化されます。の中に 参照渡しメカニズムは、引数が変数であり、 変数全体が使用されます。参照による呼び出しメカニズムでは、 引数変数が仮パラメータに置換されるため、 仮パラメータに加えられた変更は、実際に行われます 引数変数。
出典:Absolute C ++、Walter Savitch
つまり、
用語は多少交換可能です。他の回答で説明されている区別は、関数の本体内で使用される名前の formal parameter と、呼び出しサイトで提供される値の parameter という用語でより適切に表現されます( 仮引数と引数も一般的です。
また、数学では、用語 argument ははるかに一般的であり、通常 parameter はまったく異なるものを意味することに注意してください(ただし、 parameter はパラメトリック方程式は、本質的に2つ以上の関数の引数です。
この例が役立つ場合があります。
int main () {
int x = 5;
int y = 4;
sum(x, y); // **x and y are arguments**
}
int sum(int one, int two) { // **one and two are parameters**
return one + two;
}
あなたが航空会社だとしましょう。飛行機を作ります。そこに座席を設置します。次に、飛行機を乗客で満たし、どこかに送ります。乗客(または、むしろ、その時空間的に変更されたバージョン)は下船します。翌日、同じ飛行機と同じ座席を再利用しますが、今回は乗客が異なります。
飛行機はあなたの機能です。
パラメータは座席です。
引数は、それらの座席に乗る乗客です。
常に以下のことを忘れないでください- 引数はパラメーターが受信されている間に渡されます。
引数は、パラメーターのインスタンス化です。
はい!パラメーターと引数には異なる意味があり、次のように簡単に説明できます。
関数パラメータは、関数定義にリストされている名前です。
関数引数は、関数に渡される(および受信される)実際の値です。
コードなしの簡単な説明
" parameter"は非常に一般的で幅広いものですが、「引数:」は非常に具体的で具体的なものです。これは、日常的な例で最もよく説明されています。
例1:自動販売機-お金はパラメーター、$ 2.00は引数です
ほとんどのマシンは入力を受け取り、出力を返します。たとえば、自動販売機は入力としてmoneyを受け取り、出力としてfizzy drinksを返します。その特定のケースでは、パラメーターとしてmoneyを受け入れます。
引数は何ですか?さて、マシンに2.00ドルを入れると、引数は次のようになります:2.00ドル-使用される非常に具体的な入力です。
例2:車-ガソリンがパラメーターです
自動車を考えてみましょう。ガソリン(無鉛ガソリン)を入力として受け入れます。これらのマシンは、タイプがガソリンの パラメータ を受け入れると言うことができます。引数は、車に入力した正確かつ具体的な入力になります。例えば私の場合、引数は無鉛ガソリン/ガソリン40リットルです。
例3-引数の詳細
引数は、入力の特定の具体例です。私のマシンが人を入力として受け取り、嘘つきではない人に変えたとします。
引数とは何ですか?引数は、実際にマシンに入れられる特定の人になります。例えばコリンパウエルがマシンに投入された場合、引数はコリンパウエルになります。
パラメータは抽象概念としての人ですが、引数は常に 特定の名前を持つ 特定の人 ですem> マシンに入れられる人。引数は具体的かつ具体的です。
それが違いです。シンプル。
混乱していますか
コメントを投稿して、説明を修正します。
あるいは、さらに単純な...
! の引数
パラメータが出ました!
どちらもCでの使用に大きな違いはありません。両方の用語が使用されています 実際には。 ほとんどの場合、引数は関数で使用されます。関数呼び出しステートメントで渡された値は引数と呼ばれ、パラメーターは関数定義の値をコピーする変数になります(仮パラメーターと呼ばれます)。
int main ()
{
/* local variable definition */
int a = 100;
int b = 200;
int ret;
/* calling a function to get max value */
ret = max(a, b);
printf( "Max value is : %d\n", ret );
return 0;
}
/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
上記のコードでは、 num1
および num2
は仮パラメーターであり、 a
および b
は実際の引数です。
OracleのJavaチュートリアルでは、この区別を次のように定義しています。 " Parametersは、メソッド宣言内の変数のリストを指します。引数は、メソッドが呼び出されたときに渡される実際の値です。メソッドを呼び出すとき、使用する引数は宣言のパラメーターと型および順序が一致する必要があります。"
パラメータと引数のより詳細な説明: https://docs.oracle.com/javase/tutorial/java/javaOO /arguments.html
論理的に言えば、実際には同じことについて話している。 しかし、このジレンマを解決するには、単純な比phorが役立つと思います。
メタファーをさまざまな接続ポイントと呼ぶことができる場合、それらを壁上のプラグポイントと同一視できます。 この場合、次のようにパラメーターと引数を検討できます。
パラメータ は、さまざまな形状をとることができるプラグポイントのソケットです。ただし、特定のタイプのプラグのみが適合します。
引数 は、特定の機器を有効にするためにプラグポイント/ソケットに差し込まれる実際のプラグです。
Javaでメソッド(関数)を作成すると、次のようなメソッドが作成されます。
メソッドのデータ型名(データ型変数名)
カッコ内はこれらがパラメーターであり、メソッド(関数)を呼び出すときに、引数と呼ばれるこのパラメーターの値を渡します。
ジョセフのアラバハリの本によると、「C#in a Nutshell」 (C#7.0、p。49):
static void Foo (int x)
{
x = x + 1; // When you're talking in context of this method x is parameter
Console.WriteLine (x);
}
static void Main()
{
Foo (8); // an argument of 8.
// When you're talking from the outer scope point of view
}
一部の人間の言語(イタリア語、ロシア語)では、これらの用語に同義語が広く使用されています。
- パラメータ = 仮パラメータ
- 引数 = 実際のパラメーター
私の大学の教授は両方の種類の名前を使用しています。
パラメータは、関数定義の変数です
引数はパラメータの値です
<?php
/* define function */
function myFunction($parameter1, $parameter2)
{
echo "This is value of paramater 1: {$parameter1} <br />";
echo "This is value of paramater 2: {$parameter2} <br />";
}
/* call function with arguments*/
myFunction(1, 2);
?>
パラメータは、関数が受け取る変数です。したがって、関数宣言で表示されます。データ型の変数名が含まれています。 引数は、別の関数に渡される実際の値です。それが関数呼び出しでそれらを見ることができる理由です。データ型のない単なる値です
関数の仮パラメーターは関数宣言にリストされ、関数定義の本体で使用されます。 (あらゆる種類の)正式なパラメータは、関数が呼び出されたときに何かで埋められる一種の空白またはプレースホルダです。
引数は、正式なパラメータを入力するために使用されるものです。関数呼び出しを書き留めると、引数は関数名の後の括弧内にリストされます。関数呼び出しが実行されると、仮パラメーターの引数がプラグインされます。
値による呼び出しおよび参照による呼び出しという用語は、プラグインプロセスで使用されるメカニズムを指します。値渡しメソッドでは、引数の値のみが使用されます。この値渡しメカニズムでは、仮パラメーターは、対応する引数の値に初期化されるローカル変数です。参照による呼び出しメカニズムでは、引数は変数であり、変数全体が使用されます。参照による呼び出しメカニズムでは、仮変数に引数変数が代入されるため、仮パラメーターに加えられた変更は実際に引数変数に加えられます。
パラメータは、関数が使用する関数に渡されるデータを保存するために使用される変数です。 引数は、関数が呼び出されたときに関数に渡される実際のデータです。
// x and y are parameters in this function declaration
function add(x, y) {
// function body
var sum = x + y;
return sum; // return statement
}
// 1 and 2 are passed into the function as arguments
var sum = add(1, 2);
私はそれを熟考し、以前の答えが間違っていることに気付きました。より良い定義があります
{卵のカートンを想像してください:ソーセージリンクのパック:メイド}これらは、準備に必要なFunctionの要素を表します:(任意の名前を使用:料理は私の機能)。
メイドは方法です。
(朝食を作るには、__ call_またはこのメソッドを要求する必要があります)(朝食を作る行為は、 Cooking と呼ばれる Function です)_
卵とソーセージはパラメータです:
(食べたい卵の数とソーセージの数は__variable_なので。)_
あなたの決定は議論です:
これは、調理中の卵やソーセージの選択数の__Value_を表します。_
{ニーモニック}
_&quot;あなたがメイドに電話して朝食を作るよう頼むと、彼女はあなたと一緒に何個の卵とソーセージを食べるべきかをあなたと__主張します_。彼女はあなたのコレステロールを心配している」 __
(引数は、宣言し、関数に渡すことにしたパラメーターの組み合わせの値です)
パラメーター(コンピュータープログラミング)-ウィキペディア
大まかに言うと、パラメータは型であり、引数はインスタンスです。
関数定義 f(x)= x * x
では、変数 x
はパラメーターです。関数呼び出し f(2)
では、値 `` 2は関数の引数です。
コンピュータープログラミングでは、 parameter は一般的に使用され、パラメーターと引数&#8212;または、より正式には公式パラメーターおよび実際のパラメーターとして。
たとえば、次のような関数の定義で
y = f(x)= x + 2、
x は、定義された関数のフォーマルパラメーター(パラメーター)です。
関数が特定の値に対して評価されるとき、次のように
f(3):または、y = f(3)= 3 + 2 = 5、
は、定義された関数による評価のための実際のパラメータ(引数)です。定義された関数の仮パラメータに代わるのは、与えられた値(実際の値)です。 (通常の使用法では、 parameter と argument という用語が誤って入れ替わって、誤って使用される可能性があります。)