Итераторы списка сборки с Linux & # 34; foreach & # 34; команда

При программировании команда foreach реализует цикл, в котором переменные цикла принимают значения из одного или нескольких списков. В простейшем случае есть одна переменная цикла varname и один список list , который представляет собой список значений, которые необходимо назначить varname . Аргумент body является сценарием Tcl. Для каждого элемента list (в порядке от первого до последнего) foreach назначает содержимое элемента varname , как если бы Команда lindex использовалась для извлечения элемента, а затем вызывает интерпретатор Tcl для выполнения body .

конспект

foreach тело списка имен

foreach varlist1 list1 ? varlist2 list2 … ? Тело

обсуждение

В общем случае может быть более одного списка значений (например, list1 и list2 ), и каждый список значений может быть связан со списком переменных цикла (например, varlist1 и varlist2 ). Во время каждой итерации цикла переменным каждого varlist назначаются последовательные значения из соответствующего списка . Значения в каждом списке используются в порядке от первого до последнего, и каждое значение используется ровно один раз. Общее количество итераций цикла достаточно велико, чтобы использовать все значения из всех списков значений. Если список значений не содержит достаточного количества элементов для каждой из его переменных цикла в каждой итерации, пустые значения используются для отсутствующих элементов.

Операторы break и continue могут вызываться внутри body с тем же эффектом, что и в команде for . F oreach возвращает пустую строку.

Примеры

Следующий цикл использует i и j в качестве переменных цикла для итерации по парам элементов одного списка.

 set x {} 
foreach {ij} {abcdef} {
lappend x $ j $ i
}
# Значение x равно "badcfe"
# Есть 3 итерации цикла.

В следующем цикле используются i и j для параллельного выполнения двух списков.

 установить x {} 
foreach i {abc} j {defg} {
lappend x $ i $ j
}
# Значение x равно "adbecf {} g "
# Существует 4 итерации цикла.

Две формы объединены в следующем примере.

 установить x {} 
foreach i {abc} {jk} {defg} {
lappend x $ i $ j $ k
}
# Значение x "adebfgc {} {}"
# Есть 3 итерации цикла.

Заметки

Несколько связанных команд работают с foreach , включая:

  • для (п)
  • в то время как (п)
  • перерыв (п)
  • продолжить (п)

Поскольку уровни распространения Linux и уровни выпуска ядра различаются, используйте команду man (% man ), чтобы увидеть, как команда конкретно используется на вашем конкретном компьютере.

Оцените статью
Solutics.ru
Добавить комментарий