Becomes/ru
English · Français · Suomi · Русский · 中文(中国)
=
Символ := (состоит из символа двоеточия и следующего за ним символа равно без пробела или другого символа) читается как присвоить и используется в Pascal для обозначения присваивания значения:
A := 4 ;
Circle_Area := Pi * Diameter ;
Name := 'Smith' ;
C := 1000 - C div 2 ;Причина использования двух символов для присваивания (вместо одного, скажем, знака =) состоит в том, чтобы отличать присваивание значения от проверки на равенство.
Например, в языках программирования, кроме Pascal, можно написать так
A = B = D ;
или так
A = B = D
в зависимости от того, требуется ли указывать точку с запятой.
В зависимости от языка программирования смысл этого выражения будет различным. Например, в языках Fortran и Basic данная инструкция будет означать "присвоить переменной A значение ответа на вопрос равно ли B значению D?". В языке программирования C это выражение будет означать "присвоить переменным A и B значение переменной D". Инструкция такого типа является достаточно распространенной ошибкой в языке программирования C; компилятор часто выдает предупреждение, если вы не сообщите ему, что намеренно сделали это (множественное присваивание) с помощью заключения выражения в круглые скобки. (Правильным способом получить значение результата проверки на равенство в языке C является выражение A = B == D; ).
В языке Pascal такая путаница не происходит, потому что данное выражение синтаксически некорректно. Можно было бы написать выражение
A := B = D;которое будет означать то же самое, что в языках Fortran или Basic, т.е. присвоить переменной A значение ответа на вопрос "равны ли переменные B и D?"
Для присваивания переменным A, B и D одинакового значения требуется явное разделение выражений следующим образом
A := D ; B := D ;
или
B := D ; A := B ;
или
A := D ; B := A ;
в зависимости от того, есть ли разница в выполнении или побочные эффекты (D может быть динамической переменной, такой как системный порт, функцией или свойством объекта, таким образом, значение идентификатора D может отличаться между первым и вторым использованием.)
From the Free Pascal wiki, page "Becomes/ru", as it stood on 2020-02-09 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.