Я видел :=
, используемый в нескольких примерах кода, но никогда с сопровождающим объяснением. Невозможно использовать его в Google, не зная его имени.
Что он делает?
Я видел :=
, используемый в нескольких примерах кода, но никогда с сопровождающим объяснением. Невозможно использовать его в Google, не зная его имени.
Что он делает?
http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming
В языках программирования компьютера знак равенства обычно обозначает либо логический оператор для проверки равенства значений (например, как в Pascal, либо Eiffel), что согласуется с использованием символов в математике или оператором присваивания (например, как в C -подобные языки). Языки, делающие прежний выбор, часто используют знак двоеточия (: =) или ≔ для обозначения своего оператора присваивания. Языки, делающие последний выбор, часто используют знак двойного равенства (==) для обозначения своего логического оператора равенства.
Примечание: Я нашел это, выполнив поиск colon equals operator
Это оператор присваивания в Паскале и часто используется в доказательствах и псевдокоде. Это то же самое, что и =
на языках C-диалектов.
Исторически в документах по информатике для сопоставлений равенства использовались =
и ←
для присвоений. Паскаль использовал :=
, чтобы встать на жесткую левую стрелку. C пошел в другом направлении и вместо этого принял решение о операторах =
и ==
.
В статически типизированном языке Go: = инициализация и назначение за один шаг. Это делается для того, чтобы допускать интерпретируемое создание переменных на скомпилированном языке.
// Creates and assigns
answer := 42
// Creates and assigns
var answer = 42
В каком-либо языке используется :=
для использования в качестве оператора присваивания.
Другая интерпретация извне мира языков программирования исходит от Wolfram Mathworld и других:
Если A и B равны по определению (т.е. A определяется как B), то это символически записывается как A = B, A: = B или иногда A≜B.
■ http://mathworld.wolfram.com/Defined.html
■ https://math.stackexchange.com/questions/182101/appropriate-notation-equiv-versus
Это старый (паскаль) синтаксис для оператора присваивания. Он будет использоваться следующим образом:
a := 45;
Это может быть и на других языках, возможно, с аналогичным использованием.
Во многих книгах CS он используется как оператор присваивания, чтобы отличить от оператора равенства =
. Однако на множестве языков высокого уровня назначение =
, а равенство ==
.
Колон-равны были использованы в Algol и его потомках, таких как Pascal и Ada, потому что он близок к тому, что ASCII попадает в символ со стрелкой влево.
Странное соглашение об использовании equals для присваивания и double-equals для сравнения было начато с языка C.
В Prolog нет различия между назначением и тестом равенства.