Becomes/ru

From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English (en) suomi (fi) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)

:=



Символ  := (состоит из символа двоеточия и следующего за ним символа равно без пробела или другого символа) читается как присвоить и используется в 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 может отличаться между первым и вторым использованием.)


Символы: * (звездочка):= (присвоить): (двоеточие)= (равно); — > (больше чем)< (меньше чем)- (минус)<> (не равно). (точка)+ (плюс); (точка с запятой)/ (слеш)