Becomes/ru

From Lazarus wiki
Revision as of 09:10, 9 February 2020 by Trev (talk | contribs) (Fixed syntax highlighting; deleted category already in page template)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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 может отличаться между первым и вторым использованием.)


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