Учебники

Эйфория — Операторы

Euphoria предоставляет богатый набор операторов для работы с переменными. Мы можем разделить все операторы Euphoria на следующие группы:

  • Арифметические Операторы
  • Операторы отношений
  • Логические Операторы
  • Операторы присваивания
  • Разные Операторы

Арифметические операторы

Арифметические операторы используются в математических выражениях так же, как они используются в алгебре. В следующей таблице перечислены арифметические операторы. Предположим, что целочисленная переменная A содержит 10, а переменная B содержит 20, тогда —

Показать примеры

оператор Описание пример
+ Добавление — добавляет значения по обе стороны от оператора А + Б даст 30
Вычитание — вычитает правый операнд из левого операнда A — B даст -10
* Умножение — умножает значения по обе стороны от оператора А * Б даст 200
/ Деление — делит левый операнд на правый операнд Б / у даст 2
+ Унарный плюс — это не влияет на значение переменной. + B дает 20
Унарный минус — это создает отрицательное значение данной переменной. -B дает -20

Реляционные операторы

Существуют следующие реляционные операторы, поддерживаемые языком Euphoria. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда —

Показать примеры

оператор Описание пример
знак равно Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным. (A = B) не соответствует действительности.
знак равно Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. (A! = B) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A> B) не соответствует действительности.
< Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A <B) верно.
> = Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A> = B) не соответствует действительности.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A <= B) верно.

Логические операторы

В следующей таблице перечислены логические операторы. Предположим, что логические переменные A содержат 1, а переменная B содержит 0, тогда —

Показать примеры

оператор Описание пример
а также Называется логический оператор И. Если оба операнда отличны от нуля, тогда условие становится истинным. (А и В) ложно.
или же Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным. (А или В) это правда.
исключающее Вызывается логическим оператором XOR. Условие истинно, если один из них истинно, если оба операнда истинны или ложны, тогда условие становится ложным. (A xor B) верно.
не Вызывается логическим оператором NOT, который отрицает результат. Используя этот оператор, true становится ложным, а false становится истинным не (Б) верно.

Вы также можете применить эти операторы к числам, отличным от 1 или 0. Соглашение: ноль означает ложь, а ненулевое означает истину .

Операторы присваивания

Существуют следующие операторы присваивания, поддерживаемые языком Euphoria —

Показать примеры

оператор Описание пример
знак равно Простой оператор присваивания, присваивает значения от правых операндов к левому операнду C = A + B назначит значение A + B в C
+ = Добавить оператор присваивания И, он добавляет правый операнд к левому операнду и присваивает результат левому операнду C + = A эквивалентно C = C + A
знак равно Вычитание И оператор присваивания, вычитает правый операнд из левого операнда и присваивает результат левому операнду C — = A эквивалентно C = C — A
знак равно Оператор присваивания умножения И, умножает правый операнд на левый операнд и присваивает результат левому операнду C * = A эквивалентно C = C * A
знак равно Оператор деления И присваивания, делит левый операнд на правый операнд и присваивает результат левому операнду C / = A эквивалентно C = C / A
знак равно Оператор конкатенации C & = {2} совпадает с C = {C} & {2}

Примечание. Символ равенства «=», используемый в операторе присваивания, не является оператором, это всего лишь часть синтаксиса.

Разные операторы

Euphoria Language поддерживает несколько других операторов.

Оператор

Любые два объекта могут быть объединены с использованием оператора «&». Результатом является последовательность, длина которой равна сумме длин объединенных объектов.

Например —

#!/home/euphoria-4.0b2/bin/eui

sequence a, b, c
a = {1, 2, 3}
b = {4}
c = {1, 2, 3} & {4}

printf(1, "Value of c[1] %d\n", c[1] )
printf(1, "Value of c[2] %d\n", c[2] )
printf(1, "Value of c[3] %d\n", c[3] )
printf(1, "Value of c[4] %d\n", c[4] )

Это дает следующий результат —

Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4

Приоритет операторов Euphoria

Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения.

Например, х = 7 + 3 * 2

Здесь x назначено 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +.

Следовательно, сначала он начинается с 3 * 2, а затем добавляется к 7.

Здесь операторы с самым высоким приоритетом появляются вверху таблицы, а операторы с самым низким — внизу. Внутри выражения операторы с более высоким приоритетом вычисляются первыми.