Оператор присваивания
Оператор присваивания - самый простой и наиболее распространённый оператор.
Формат оператора присваивания
Оператор присваивания представляет собой запись, содержащую символ = (знак равенства),
слева от которого указано имя переменной, а справа - выражение. Оператор присваивания
заканчивается знаком ; (точка с запятой).
Переменная = Выражение; // Оператор присваивания
Оператор присваивания можно отличить в тексте программы по наличию знака равенства.
В качестве выражения может быть указана константа, переменная, вызов функции или
собственно выражение.
Правило исполнения оператора присваивания
|
Вычислить значение выражения справа от знака равенства и полученное значение присвоить
переменной, указанной слева от знака равенства. |
Оператор присваивания, как и любой другой оператор, является исполняемым. Это значит,
что запись, составляющая оператор присваивания, исполняется в соответствии с правилом.
При исполнении оператора присваивания вычисляется значение в правой части, а затем
это значение присваивается переменной слева от знака равенства. В результате исполнения
оператора присваивания переменная в левой части всегда получает новое значение;
это значение может отличаться или совпадать с предыдущим значением этой переменной.
Вычисление выражения в правой части оператора присваивания осуществляется в соответствии
с порядком вычисления выражений (см. Операции и выражения).
Примеры операторов присваивания
В операторе присваивания допускается объявление типа переменной слева от знака равенства:
int In = 3;
double Do = 2.0;
bool Bo = true;
color Co = 0x008000;
string St = "sss";
datetime Da= D'01.01.2004';
Ранее объявленные переменные используются в операторе присваивания без указания
типа.
In = 7;
Do = 23.5;
Bo = 0;
В операторе присваивания не допускается объявление типа переменной в правой части от знака равенства:
In = int In_2; // Объявление типа переменных в правой части запрещено
Do = double Do_2; // Объявление типа переменных в правой части запрещено
В операторе присваивания не допускается повторное объявление типа переменных.
int In; // Объявление типа переменной In
int In = In_2; // Не допускается повторное объявление переменной (In)
Примеры использования в правой части пользовательских и стандартных функций:
In = My_Function();
Do = Gipo(Do1,Do1);
Bo = IsConnected();
St = ObjectName(0);
Da = TimeCurrent();
Примеры использования в правой части выражений:
In = (My_Function()+In2)/2;
Do = MathAbs(Do1+Gipo(Do2,5)+2.5);
При вычислениях в операторе присваивания применяются правила приведения типов данных
(см. Приведение типов).
Примеры операторов присваивания краткой формы
В MQL4 используется также краткая форма записи операторов присваивания. Это - форма
операторов присваивания, в которой используются операции присвоения, отличные от
операции присвоения = (знак равенства) (см.
Операции и выражения). На операторы краткой формы распространяются те же правила и ограничения. Краткая
форма операторов присваивания используется в коде для наглядности. Программист
по своему усмотрению может использовать ту или иную форму оператора присваивания.
Любой оператор присваивания краткой формы может быть легко переписан в полноформатный,
при этом результат исполнения оператора не изменится.
In /= 33;
In = In/33;
St += "_exp7";
St = St + "_exp7";