Вопрос

Говоря устно о методах, я никогда не уверен, следует ли использовать слово аргумент или параметр или что-то другое.В любом случае другие люди понимают, что я имею в виду, но что правильно и какова история этих терминов?

Я программист C#, но мне также интересно, используют ли люди разные термины на разных языках.

Для справки: я самоучка, не имею опыта работы в области компьютерных наук.(Пожалуйста, не заставляйте меня читать Код завершен потому что я спрашиваю об этом для блага других людей, у которых еще нет копии Стив МакКоннеллзамечательная книга.)

Краткое содержание

По общему мнению, в командной среде можно использовать эти термины как синонимы.За исключением, возможно, случаев, когда вы определяете точную терминологию;тогда вы также можете использовать "формальный аргумент/параметр" и "действительный аргумент/параметр», чтобы устранить неоднозначность.

Это было полезно?

Решение

Параметр — это переменная в определении метода.При вызове метода аргументами являются данные, которые вы передаете в параметры метода.

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

Другие советы

Параметр является переменной в объявлении функции.

Аргумент — это фактическое значение этой переменной, которая передается в функцию.

В Википедии уже есть статья на эту тему (см. Параметр), который определяет и различает термины параметр и аргумент.Короче говоря, параметр является частью сигнатуры функции/процедуры/метода, а аргумент — это фактическое значение, предоставляемое во время выполнения и/или на месте вызова для параметра.

В статье в Википедии также говорится, что эти два термина часто используются как синонимы (особенно при неформальных рассуждениях о коде):

Хотя параметры также обычно называют аргументами, аргументы более должным образом рассматриваются как фактические значения или ссылки, присвоенные переменным параметра, когда подпрограмма вызывается во время выполнения.

Учитывая следующий пример функции на языке C, которая складывает два целых числа: x и y будем называть его параметрами:

int add(int x, int y) {
    return x + y;
}

На сайте вызова с использованием add, как в примере, показанном ниже, 123 и 456 будет называться аргументы вызова.

int result = add(123, 456);

Кроме того, некоторые языковые спецификации (или формальная документация) предпочитают использовать параметр или аргумент исключительно и использовать прилагательные типа формальный и действительный вместо этого, чтобы устранить неоднозначность между этими двумя случаями.Например, в документации C/C++ часто упоминается функция параметры как формальные аргументы и вызов функции аргументы как реальные аргументы.Пример см. «Формальные и фактические аргументы" в Справочник по языку Visual C++.

Простой:

  • пАРАМЕТР → пLACEHOLDER (это означает, что заполнитель принадлежит к названию функции и может использоваться в теле функции)
  • АРГУМЕНТ → АCTUAL VALUE (это означает фактическое значение, которое передается при вызове функции)

Параметр — это то, что вы должны заполнить при вызове функции.То, что вы вкладываете в это, является аргументом.

Просто установите:аргумент переходит в параметр, аргумент — это значение параметра.

Еще немного информации о:http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments

Параметр является переменной в объявлении функции.

Аргумент — это фактическое значение этой переменной, которая передается в функцию.enter image description here

Использование параметров и аргументов терминов было неправильно использовано среди программистов и даже авторов.При работе с методами термин параметр используется для идентификации заполнителей в подписи метода, тогда как термин аргументы это фактические значения, которые вы передаете методу.

Набор инструментов для сертификации MCSD (экзамен 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);

При редактировании меня часто отталкивает то, как люди забывают:Структурные языки основаны на естественных языках.

По-английски

«Параметр» — это заполнитель.Они задают формат ответа, на разговорном языке.По определению, он является участником вызова, что ограничивает ответ.

«Аргумент» — это позиция, которая рассматривается.Вы аргументируете свое мнение:вы считаете аргументом.

Основное отличие

Тематическая роль аргумента – агент.Тематическая роль параметра — получатель.

Взаимодействия

Думайте о аргументе как о мужской части, делая параметр женской частью.Аргумент переходит в параметр.

Применение

Параметр обычно используется в определениях.Аргумент - это обычно используется в призывах.

Вопросы

Закончите предложение, чтобы оно было менее диссонансным.

(А) Говоря об определении:

  1. Какой аргумент будет использоваться []?
  2. Каким [] будет этот параметр[]?

(Б) Говоря о призыве:

  1. Какой параметр вы будете использовать, []?
  2. Каким [] будет [] этот параметр?

Ответы

(А)

  1. в/в/против/с этим параметром
  2. аргумент(ы) ...брать

(Б)

  1. и какие примеры аргументов
  2. аргумент(ы) ...используется на/в/против/с

Перекрытия

Как вы понимаете, после ответа:в разговорной речи эти слова иногда вызывают одинаковую реакцию!

Итак, как правило:

  • Обычно, если кому-то нужна информация о параметрах, они хотят узнать больше о типе, имени переменной и т. д.Они могут запутаться, если вы приведёте только примеры аргументов.

    • Обычно, если кому-то нужна информация об аргументах, он хочет знать, какое значение вы передали функции или ее параметру(ам).

А параметры функции/метода описывают значения, которые она использует для вычисления результата.

А аргументы of a — это значения, присвоенные этим параметрам во время конкретного вызова функции/метода.

Или, может быть, даже проще запомнить это в случае необязательных аргументов метода:

public void Method(string parameter = "argument") 
{

}

parameter параметр, его значение, "argument" это аргумент :)

Параметры и аргументы

Все различные термины, которые связаны с параметрами и аргументами, могут сбить с толку.Однако, если вы помните несколько простых моментов, вы сможете легко справиться с этими терминами.

  1. А формальные параметры для функции перечислены в объявлении функции и используются в теле определения функции.Формальный параметр (любого рода) - это своего рода пустого или заполнителя, который заполнен чем -то при вызове функции.
  2. Ан аргумент это то, что используется для заполнения формального параметра.Когда вы записываете вызов функции, аргументы перечислены в скобках после имени функции.Когда функциональный вызов выполняется, аргументы подключаются к формальным параметрам.
  3. Условия вызов по значению и вызов по ссылке Обратитесь к механизму, который используется в процессе подключения.В методе вызовов используется только значение аргумента.В этом механизме вызовов формальный параметр является локальной переменной, которая инициализируется значению соответствующего аргумента.В механизме вызовов аргумент является переменной, и вся переменная используется.В механизме вызовов-ссылка переменная аргумента заменяется формальным параметром, так что любое изменение, которое внесено в формальный параметр, фактически внесено в переменную аргумента.

Источник:Абсолютный C++, Уолтер Сэвич

То есть,

enter image description here

Термины в некоторой степени взаимозаменяемы.Различие, описанное в других ответах, более правильно выражается с помощью терминов формальный параметр для имени, используемого внутри тела функции, и параметр для значения, предоставленного на месте вызова (формальный аргумент и аргумент тоже распространены).

Также обратите внимание, что в математике термин аргумент гораздо более распространен и параметр обычно означает нечто совершенно иное (хотя параметр в параметрическом уравнении по существу является аргумент двух и более функций).

Этот пример может помочь.

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;
}

Допустим, вы авиакомпания.Вы строите самолет.Вы устанавливаете в него сиденья.Затем вы заполняете самолет пассажирами и куда-то отправляете.Пассажиры (вернее, их пространственно-временная измененная версия) высаживаются.На следующий день вы повторно воспользуетесь тем же самолетом и теми же местами, но на этот раз с другими пассажирами.

Самолет — ваша функция.

Параметры - сиденья.

Аргументами являются пассажиры, которые садятся на эти места.

Всегда помните, что:- Аргументы передаются, когда параметры получаются.

Аргумент — это реализация параметра.

Да!Параметры и аргументы имеют разные значения, что можно легко объяснить следующим образом:

Функция Параметры — это имена, перечисленные в определении функции.

Функция Аргументы — это реальные значения, переданные (и полученные) функции.

Простые объяснения без кода

«Параметр» — это очень общая, широкая вещь, но это «аргумент:это очень специфическая, конкретная вещь.Лучше всего это иллюстрируется примерами из повседневной жизни:

Пример 1:Торговые автоматы: параметром являются деньги, аргументом — 2 доллара США.

Большинство машин принимают входные данные и возвращают выходные данные.Например, торговый автомат принимает на вход:деньги и возврат:газированные напитки на выходе.В этом конкретном случае он принимает в качестве параметра:деньги.

В чем же тогда аргумент?Что ж, если я положу в автомат 2 доллара, то аргумент будет такой:2,00 доллара США — это очень специфический ввод.

Пример 2:Автомобили – бензин – параметр

Рассмотрим автомобиль:они принимают бензин (неэтилированный бензин) в качестве сырья.Можно сказать, что эти машины принимают параметры типа:бензин.Аргументом будет то, что я вложил в свою машину.напримерВ моем случае аргументом будет:40 литров неэтилированного бензина/бензина.

Пример 3. Разработка аргументов

Аргумент — это частный и конкретный пример ввода.Предположим, моя машина принимает на вход человека и превращает его в человека, который не лжец.

Что же тогда является аргументом?Аргументом будет конкретный человек, которого фактически поместили в машину.напримересли Колина Пауэлла поместить в машину, то аргументом будет Колин Пауэлл.

Таким образом, параметром будет человек как абстрактное понятие, но аргументом всегда будет конкретный человек с конкретное имя кто помещен в машину.Аргумент конкретный и конкретный.

Вот в чем разница.Простой.

Смущенный?

Оставьте комментарий, и я исправлю объяснение.

Или еще проще...

Аргументы в !

Параметры закончились!

Они оба не имеют большой разницы в использовании в 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 определяют это различие следующим образом:«Параметры относятся к списку переменных в объявлении метода.Аргументы — это фактические значения, которые передаются при вызове метода.Когда вы вызываете метод, используемые аргументы должны соответствовать параметрам объявления по типу и порядку».

Более подробное обсуждение параметров и аргументов:https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html

Логически говоря, мы на самом деле говорим об одном и том же.Но я думаю, что простая метафора могла бы помочь решить эту дилемму.

Если метафоры можно назвать различными точками соединения, то мы можем приравнять их к точкам подключения на стене.В этом случае мы можем рассматривать параметры и аргументы следующим образом:

Параметры представляют собой гнезда вилки, которые могут иметь различную форму.Но к ним подходят только определенные типы вилок.
Аргументы это будут настоящие вилки, которые будут подключаться к точкам/розеткам для активации определенного оборудования.

Когда мы создаем метод (функцию) в Java, метод выглядит следующим образом.

data-type name of the method (data-type variable-name)

В скобках это параметры, и когда мы вызываем метод (функцию), мы передаем значение этого параметра, которые называются аргументами.

Согласно книге Джозефа Алабахари «C# в двух словах» (C# 7.0, стр.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);

Я все обдумал и понял, что мой предыдущий ответ был неверным.Вот гораздо лучшее определение

{Представьте себе коробку яиц:Пачка колбасных ссылок:И горничная } Они представляют собой элементы функции, необходимые для подготовки, под названием:(используйте любое имя:Допустим, моя функция называется «Кулинария»).

Горничная — это метод.

(Вы должны __позвонить_ или спросить об этом метод приготовить завтрак) (Приготовление завтрака – это Функция называется Готовка)_

Яйца и колбасы являются Параметры:

(потому что количество яиц и количество сосисок, которые вы хотите съесть, __переменная_ .)_

Ваше решение является аргументом:

Он представляет собой __Ценность_ выбранного количества яиц и/или сосисок, которые вы готовите._

{Мнемоника}

_» Когда вы звоните горничной и просите ее приготовить завтрак, она __спорит_ с вами о том, сколько яиц и сосисок вам следует съесть.Она обеспокоена твоим холестерином» __

(Аргументы, таким образом, представляют собой значения комбинации параметров, которые вы объявили и решили передать в свою функцию)

Это прекрасно объяснено в Параметр (компьютерное программирование) — Википедия

Грубо говоря, параметр — это тип, а аргумент — это экземпляр.

В определении функции f(x) = x*x переменная x является параметром;в вызове функции f(2) значение ``2 является аргументом функции.

И Параметр — Википедия

В компьютерное программирование, два понятия параметр широко используются и называются параметры и аргументы— или, более формально, как формальный параметр и фактический параметр.

Например, при определении такой функции, как

y = f(x) = x + 2,

Икс это формальный параметр ( параметр) заданной функции.

Когда функция оценивается для заданного значения, как в

f(3): or, y = f(3) = 3 + 2 = 5,

это фактический параметр ( аргумент) для оценки определенной функцией;это заданное значение (фактическое значение), которое заменяется формальный параметр определенной функции.(В повседневном использовании термины параметр и аргумент могут быть случайно перепутаны и, следовательно, использованы неправильно.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top