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

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


ru:autorun:documentation:commands

Команды и функции

:i: В этой справке при указании параметров команд и функций в обобщённом виде используются угловые скобки: <параметр>. Если параметр необязателен, он заключается в квадратные скобки: [<параметр>].

Если команда возвращает результат, то в командной записи первым параметром должна идти переменная. Для упрощения справки она не указывается в списке параметров для каждой функции. В обобщенном виде она указывается как <VAR> в верхнем регистре.

Описание команд, оптимизированных для использования в выражениях (т. е. тех, которым не требуется указание переключателей), включает оба вида синтаксиса.

Команды

Каждая команда в Autorun располагается на одной строке и должна находиться в её начале (но допустимы пробельные символы перед ней). Команда может включать в себя обязательные параметры, необязательные параметры и переключатели. Порядок регламентирован следующим образом: команда, переключатели, обязательные параметры, необязательные параметры.

Параметры и переключатели разделяются пробелом. Если в параметре команды должен использоваться пробел, параметр должен быть взят в кавычки — двойные или одинарные. При этом кавычки другого типа могут быть использованы в тексте параметра.

Все переключатели должны начинаться с «/» и находиться перед любыми параметрами. Переключатели предназначены для изменения поведения команды в отношении её поведения по умолчанию. Обычно все переключатели необязательны, но некоторые команды требуют наличия определенных переключателей, чтобы производить какие-либо действия.

Если команда возвращает значение, переменная, куда будет записан результат, всегда размещается первой в списке параметров (но после переключателей).

Ряд команд умеет самостоятельно разворачивать переменные окружения в определённых параметрах. Факт поддержки указывается в документации. В этом случае переменные и переменные окружения можно использовать непосредственно в тексте параметра.

Внутренние функции

В общем случае практически любая команда Autorun может быть записана как функция. Но использование командного синтаксиса зачастую предпочтительнее, так как для команд со сложным интерфейсом такая запись будет короче и понятнее. Тем не менее для функций, возвращающих результат, при использовании их в выражениях очевидно более логичным выглядит функциональная запись.

Подробнее об использовании команд в функциональной записи в разделе Использование команд и функций в выражениях.

Пользовательские функции

Пользовательские функции задаются с помощью ключевых слов Func и EndFunc. Функция может иметь параметры и возвращать значение.

Аналогично именам переменных имена функций могут состоять только из латинских букв, цифр и символа подчёркивания. Имя функции не может начинаться с цифры. Имя функции не может совпадать с именем встроенной команды.

Вызов функции производится по имени аналогично вызову любой встроенной функции или команды. Если имя вызываемой функции неизвестно на этапе запуска, вызов можно производить с помощью функции Call или Eval. Регистр имени значения не имеет.

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

Пользовательские функции не поддерживают механизм переключателей. В командной записи переключатели будут переданы как обычный строчный параметр:

UserFunc /N "str"
 
Func UserFunc(a, b)
  MsgBox(a & b)  # --> "/Nstr"
EndFunc
 

:!: Обратите внимание, что в отличие от встроенных функций пользовательские функции не могут возвращать значение в командной записи и не требуют использования переменной первым параметром. Это сделано для упрощения записи. Если необходим результат пользовательской функции, просто запишите её в функциональном виде.

ru/autorun/documentation/commands.txt · Последнее изменение: 2023/07/24 12:03 — loopback

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki