Spec-Zone.ru › Fish 3.7

for - выполнение набора команд несколько раз

Синтаксис

for VARNAME in [VALUES ...]; COMMANDS ...; end

Описание

for — это конструкция цикла. Она выполнит команды, указанные в КОМАНДАХ, несколько раз. На каждой итерации локальная переменная, указанная в ИМЯ_ПЕРЕМЕННОЙ, получает новое значение из ЗНАЧЕНИЙ. Если ЗНАЧЕНИЙ нет, КОМАНДЫ не будут выполнены. ИМЯ_ПЕРЕМЕННОЙ будет видна после завершения цикла и будет содержать последнее присвоенное значение. Если ИМЯ_ПЕРЕМЕННОЙ не существует, она будет создана в локальной области видимости. Для наших целей, если блок for находится внутри функции, должна существовать локальная переменная с таким же именем. Если блок for не вложен в функцию, будут использоваться глобальные и универсальные переменные с таким же именем, если они существуют.

Подобно команде set, for не изменяет $status, но вычисление её подчиненных команд может.

Опция -h или --help отображает справку по использованию этой команды.

Пример

for i in foo bar baz; echo $i; end

# would output:
foo
bar
baz

Примечания

VARNAME была локальной для блока for в версиях до 3.0.0. Это означает, что если вы делали что-то вроде этого:

for var in a b c
    if break_from_loop
        break
    end
end
echo $var

Последнее присвоенное значение для var при завершении цикла не было бы доступно за пределами цикла. То, что echo $var написало, зависело от того, чему оно было равно до начала цикла. Вероятно, ничего.

© 2005-2009 Axel Liljencrantz, 2009-2023 fish-shell contributors
Licensed under the GNU General Public License, version 2.
https://fishshell.com/docs/3.6/cmds/for.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API