Эйфория - Операторы
Euphoria предоставляет богатый набор операторов для управления переменными. Мы можем разделить все операторы Euphoria на следующие группы:
- Арифметические операторы
- Операторы отношения
- Логические операторы
- Операторы присваивания
- Разные операторы
Арифметические операторы
Арифметические операторы используются в математических выражениях точно так же, как они используются в алгебре. В следующей таблице перечислены арифметические операторы. Предположим, что целочисленная переменная A содержит 10, а переменная B содержит 20, тогда -
Показать примеры
Оператор | Описание | пример |
---|---|---|
+ | Сложение - добавляет значения по обе стороны от оператора. | A + B даст 30 |
- | Вычитание - вычитает правый операнд из левого операнда. | A - B даст -10 |
* | Умножение - умножает значения по обе стороны от оператора. | A * B даст 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, тогда -
Показать примеры
Оператор | Описание | пример |
---|---|---|
и | Вызывается логическим оператором И. Если оба операнда не равны нулю, тогда условие становится истинным. | (A и B) ложно. |
или же | Вызывается логическим оператором ИЛИ. Если любой из двух операндов не равен нулю, тогда условие становится истинным. | (A или B) верно. |
xor | Вызывается логическим оператором XOR. Условие истинно, если одно из них истинно, если оба операнда истинны или ложны, тогда условие становится ложным. | (A xor B) верно. |
не | Вызывается оператором логического НЕ, который отрицает результат. Используя этот оператор, истина становится ложью, а ложь становится истиной. | not (B) верно. |
Вы также можете применять эти операторы к числам, отличным от 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} |
Note - Символ равенства '=', используемый в операторе присваивания, не является оператором, это просто часть синтаксиса.
Разные операторы
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
Приоритет оператора определяет группировку терминов в выражении. Это влияет на то, как оценивается выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения.
Например, x = 7 + 3 * 2
Здесь x присвоено 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +.
Следовательно, сначала он начинается с 3 * 2, а затем прибавляется к 7.
Здесь операторы с наивысшим приоритетом отображаются вверху таблицы, а операторы с самым низким - внизу. Внутри выражения в первую очередь оцениваются операторы с более высоким приоритетом.
Категория | Оператор | Ассоциативность |
---|---|---|
Постфикс | вызовы функций / типов | |
Унарный | + -! не | Справа налево |
Мультипликативный | * / | Слева направо |
Добавка | + - | Слева направо |
Конкатенация | & | Слева направо |
Реляционный | >> = <<= | Слева направо |
Равенство | =! = | Слева направо |
Логическое И | и | Слева направо |
Логическое ИЛИ | или же | Слева направо |
Логический XOR | xor | Слева направо |
Запятая | , | Слева направо |