Инструменты пользователя

Инструменты сайта


en:documentation:expressions

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версияСледующая версия справа и слева
en:documentation:expressions [2020/04/06 14:21] loopbacken:documentation:expressions [2020/04/07 19:49] loopback
Строка 1: Строка 1:
 ====== Expressions ====== ====== Expressions ======
  
-Here is one and only conditional statement:+Выражения используются в [[conditions|условиях]]. Начиная с версии 2.0.10 вычисляемые выражения также могут использоваться во всех параметрах команд Autorun.  
 + 
 +Для использования в параметрах команд необходимо чтобы параметр был в кавычках и непосредственно перед ними  
 +стоял знак "%". В этом случае текст будет трактоваться как вычисляемое выражение. Например:
  
 <code> <code>
-If [Not] <expression 1> Then +Set Delay 500 
-  ... +Sleep %"1000 + %Delay%" 
-ElseIf [Not] <expression 2> Then +# результат вычисления - 1500.
-  ... +
-Else +
-  ... +
-EndIf+
 </code> </code>
 +
 +Внутри кавычек для текстовых констант, как и везде, можно использовать кавычки другого типа:
 +<code>
 +Set sl 1000 
 +StrLen var %'"Строка_" & 1' 
 +# var => Строка_1
 +</code>
 +
 +Хотя в выражениях могут использоваться текстовые константы, не обернутые в кавычки, такой вариант оставлен только для совместимости. Настоятельно рекомендуется использовать кавычки повсеместно. Это значительно уменьшит число возможных ошибок.
 +
 +Arithmetic operations, the concatenation operation "&" of strings, and logical operations can be used in expressions.
  
 For numeric comparison operator can be one of: =, <>, >, <, >=, <=. For string comparison only = and <> allowed, comparison is case insensitive. Allowed brackets and operators AND and OR. If both expressions are numeric, then numeric comparison used.  For numeric comparison operator can be one of: =, <>, >, <, >=, <=. For string comparison only = and <> allowed, comparison is case insensitive. Allowed brackets and operators AND and OR. If both expressions are numeric, then numeric comparison used. 
 +
 +If both expressions are numeric, a numeric comparison is used. The following operators can be used: =, <>, >, <, >=, <=. For string comparisons, only = and <> are allowed, the comparison is case-insensitive.
 +
 +Brackets and AND, OR, and NOT operators are also allowed. True/False keywords are allowed, which are equivalent to the strings "1"/"0", respectively.
 +
 +Приоритет выполнения операций, от высшего к низшему:
 +
 +<code>
 +NOT
 +* /
 ++ -
 +&
 +< > <= >= = <> 
 +AND OR
 +</code>
 +
 +**Использование команд в выражениях**
 +
 +В выражениях возможно использование любых команд Autorun, но смысл имеет использование тех, которые возвращают результат. 
 +
 +Для использования команды в качестве функции в выражении, она должна быть записана с использованием скобок и запятой в качестве разделителя параметров. Первый параметр (имя переменной для возвращаемого значения) в этом случае не используется. Если нужно использовать переключатели, их нужно передавать в первом параметре, в кавычках через пробел, текст параметра должен начинаться с символа "~". В общем виде запись выглядит так:
 +<code>
 +CommandName(["~/S1 /S2 .. /SN",] Param1, Param2, .. , ParamN)
 +</code>
 +
 +Пример:
 +<code>
 +Set zz "AbCdEfxQWERTY" 
 +MsgBox %"StrPos('~/S', %zz%, 'x')" "Case-sens" 
 +# => 7
 +</code>
 +
 +В выражениях можно использовать вложенные команды:
 +<code>
 +Set zz "  abcdefgh" 
 +MsgBox %"StrLeft(StrTrim(%zz%), 3) & '-' & StrPos(%zz%, 'd') & '-' & (StrPos('123456789', '5'))" "Expr" 
 +# => abc-6-5 
 +</code>
 +
 +
 +
 +
 +
  
 Variables are always expanding in the expressions. If you assume that variable value can conatin spaces, wrap expression in quotes. Example: Variables are always expanding in the expressions. If you assume that variable value can conatin spaces, wrap expression in quotes. Example:
en/documentation/expressions.txt · Последнее изменение: 2020/04/24 16:29 — loopback

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki