Expr

Материал из VAAL-WIKI
Версия от 14:02, 2 марта 2019; Vaal (обсуждение | вклад) (Добавил страницу "expr")

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

expr — команда для вычисления арифметических выражений.

Синтаксис

expr ВЫРАЖЕНИЯ
expr OPTION

Выражения

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

Выражение Результат
arg1 "|" arg2 arg1, если он не пустой и не 0, в противном случае arg2
arg1 "&" arg2 arg1, если ни один аргумент не равен нулю или 0, в противном случае 0
arg1 "<" arg2 1, если arg1 меньше arg2, в обратном случае 0
arg1 "<=" arg2 1, если arg1 меньше или равен arg2, в обратном случае 0
arg1 "=" arg2 1, если arg1 равен arg2, в обратном случае 0
arg1 "!=" arg2 1, если arg1 не равен arg2, в обратном случае 0
arg1 ">=" arg2 1, если arg1 больше или равен arg2, в обратном случае 0
arg1 ">" arg2 1, если arg1 больше arg2, в обратном случае 0
arg1 "+" arg2 Арифметическая сумма arg1 и arg2
arg1 "-" arg2 Арифметическая разность arg1 и arg2
arg1 "*" arg2 Арифметическое произведение arg1 и arg2
arg1 "/" arg2 Арифметическое частное от деления arg1 на arg2
arg1 "%" arg2 Арифметический остаток от деления arg1 на arg2
STRING : REGEXP Верно, если найдена маска REGEXP в строке STRING
match STRING REGEXP Тоже что и STRING : REGEXP
substr STRING POS LENGTH Подстрока из STRING, первая позиция нумеруется как 1
index STRING CHARS Позиция вхождения символа CHARS в строке STRING, если найден, иначе 0
length STRING Длина строки STRING
+ TOKEN Интерпретировать TOKEN как строку, даже если это ключевое слово match или оператор /
( EXPRESSION ) Значение выражения EXPRESSION


Следует помнить, что операторы должны быть экранированы или заключены в кавычки. Арифметическое сравнение допустимо только для чисел, иначе сравнивается, как текст. Сопоставление с шаблоном возвращает строку между \( и \) или нуль; если \( и \) не используются, то возвращается число совпавших символов или 0.

Статус вычисления выражения устанавливается в:

  • 0, если выражение не пустое и не 0;
  • 1, если выражение равно нулю или 0;
  • 2, если выражение синтаксически неверно;
  • 3, если произошла ошибка.