roh*_*agg 661 language-agnostic parameters arguments terminology
当口头谈论方法时,我永远不确定是否使用单词参数或参数或其他东西.无论哪种方式,其他人都知道我的意思,但是什么是正确的,这些条款的历史是什么?
我是一名C#程序员,但我也想知道人们是否使用不同语言的不同术语.
根据记录,我是自学成才,没有计算机科学的背景.(请不要告诉我阅读Code Complete,因为我问这个是为了其他没有史蒂夫麦康奈尔精彩书籍的人的利益.)
普遍的共识似乎是在团队环境中交替使用这些术语是可以的.除非您定义精确的术语; 那么你也可以使用" 形式参数/参数"和" 实际参数/参数"来消除歧义.
Tor*_*son 815
参数是方法定义中的变量.调用方法时,参数是传递给方法参数的数据.
public void MyMethod(string myParam) { }
...
string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);
Run Code Online (Sandbox Code Playgroud)
Rin*_*lin 304
参数在函数声明中是可变的.
参数是传递给函数的此变量的实际值.
Ati*_*ziz 71
已经有关于该主题的维基百科条目(参见参数),该条目定义和区分术语参数和参数.简而言之,参数是函数/过程/方法签名的一部分,参数是在运行时和/或调用现场为参数提供的实际值.
维基百科的文章还指出这两个术语经常被同义使用(特别是在非正式地推理代码时):
虽然参数通常也称为参数,但在运行时调用子例程时,参数更适合被视为分配给参数变量的实际值或引用.
给出下面的例子中功能用C,增加了两个整数,x并且y将被称为它的参数:
int add(int x, int y) {
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
在使用呼叫站点时add,例如下面所示的示例,123和456将被称为呼叫的参数.
int result = add(123, 456);
Run Code Online (Sandbox Code Playgroud)
此外,一些语言规范(或正式文件),选择要使用的参数或参数完全和使用的形容词像正式的和实际的,而不是这两种情况之间的歧义.例如,C/C++文档通常将函数参数称为形式参数,将函数调用参数称为实际参数.有关示例,请参阅Visual C++语言参考中的" 正式和实际参数 " .
Duc*_*lan 61
简单:
Car*_*rra 31
调用函数时,必须填写参数.你在其中提出的是争论.
简单设置:参数进入参数,参数是参数的值.
更多信息:http: //en.wikipedia.org/wiki/Parameter_ (computer_science)#Parameters_and_arguments
Zen*_*ulz 16
术语参数和参数的使用在程序员甚至作者中都被滥用了.处理方法时,term 参数用于标识方法签名中的占位符,而术语参数是传递给方法的实际值.
MCSD Cerfification Toolkit(考试70-483)C#编程,第1版,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);
Run Code Online (Sandbox Code Playgroud)
在编辑方面,我经常会忘记人们如何忘记:结构语言基于自然语言.
"参数"是占位符.他们用口语设置了响应格式.根据定义,它是呼叫的一方,限制了响应.
"论证"是正在考虑的立场.你争论你的观点:你考虑一个论点.
论证的主题作用是代理人.参数的主题作用是接受者.
将该论点视为男性部分,使参数成为女性的一部分.参数进入参数.
参数通常用于定义中.参数通常用于调用.
完成句子,使其不那么不协调.
(A)说到定义:
(B)说到调用:
(一个)
(B)
你可以想象,在回答之后:用口语,这些词有时会产生相同的反应!
所以,作为一项规则:
通常,如果有人想要参数信息,他们想要更多地了解类型,变量名称等.如果您只提供示例参数,它们可能会变得混乱.
这个例子可能有帮助.
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;
}
Run Code Online (Sandbox Code Playgroud)
或者在方法的可选参数的情况下,可能更简单地记住这样:
public void Method(string parameter = "argument")
{
}
Run Code Online (Sandbox Code Playgroud)
parameter是参数,它的值,"argument"是参数:)
参数和参数
与参数和参数有关的所有不同术语都可能令人困惑.但是,如果您记住几个简单的要点,您将能够轻松处理这些条款.
- 函数的形式参数列在函数声明中,并在函数定义的主体中使用.形式参数(任何类型)是一种空白或占位符,在调用函数时会填充某些内容.
- 一种说法是什么,是用来填补在正式的参数.当您记下函数调用时,参数将在函数名称后的括号中列出.执行函数调用时,插入参数以获取形式参数.
- 术语调用-值和调用-参考指的是在连接器插头插入在过程中使用的机制.在call-by-value方法中,仅使用参数的值.在这个按值调用机制中,形式参数是一个局部变量,它初始化为相应参数的值.在call-by-reference机制中,参数是一个变量,并使用整个变量.在call-by-reference机制中,参数变量替换形式参数,以便对形参数进行的任何更改实际上都是对参数变量进行的.
资料来源:Absolute C++,Walter Savitch
那是,
这些术语有些可以互换.在其他的答案中描述的区别在于更正确地与术语表达形式参数的功能和体内所使用的名称参数在调用站点提供的值(正式说法和争论也很常见).
还要注意的是,在数学术语的说法是更为常见和参数通常意味着完全不同的东西(虽然参数的参数方程本质上是争论的两个或多个功能).
假设你是一家航空公司.你建造了一架飞机.你在里面安装座位.然后,你把乘客填满飞机并送到某个地方.乘客(或者更确切地说,其中一些时空改变版本)下船.第二天,你重新使用同一架飞机和相同的座位,但这次乘客不同.
飞机是你的功能.
参数是座位.
争论的焦点是进入这些座位的乘客.
“参数”是一个非常笼统的东西,而“参数”是一个非常具体、具体的东西。通过日常例子可以最好地说明这一点:
大多数机器接受输入并返回输出。例如,自动售货机将输入:钱,并返回:汽水作为输出。在这种特殊情况下,它接受一个参数:钱。
那论据是什么呢?好吧,如果我将 $2.00 放入机器中,那么参数是:$2.00 - 这是使用的非常具体的输入。
让我们考虑一辆汽车:他们接受汽油(无铅汽油)作为输入。可以说这些机器接受类型参数:汽油。论点将是我放入汽车的确切而具体的输入。例如,就我而言,论据是:40 升无铅汽油/汽油。
参数是输入的特定示例。假设我的机器将一个人作为输入并将他们变成一个不是骗子的人。
那什么是论证呢?参数将是实际放入机器中的特定人。例如,如果将 Colin Powell 放入机器中,则参数将是 Colin Powell。
因此,参数将是一个抽象概念的人,但参数将始终是放入机器中的具有特定名称的特定人。论证是具体而具体的。
这就是区别。简单的。
发表评论,我会修正解释。