Spec-Zone.ru › Tcl/Tk

if

Имя

if — Выполнить скрипты условно

Синопсис

if expr1 ?then? body1 elseif expr2 ?then? body2 elseif ... ?else? ?bodyN?

Описание

Команда if оценивает expr1 как выражение (так же, как команда expr оценивает свой аргумент). Значение выражения должно быть булевым (числовое значение, где 0 — ложь, а всё остальное — истина, или строковое значение, например, true или yes для истины и false или no для лжи); если оно истинно, то body1 выполняется путём передачи его интерпретатору Tcl. В противном случае expr2 оценивается как выражение, и если оно истинно, то выполняется body2, и так далее. Если ни одно из выражений не принимает значение истинно, то выполняется bodyN. Аргументы then и else являются необязательными «служебными словами», чтобы облегчить чтение команды. Может быть любое количество пунктов elseif, включая ноль. BodyN также может быть опущено, пока else также опущено. Значение возвращаемое командой — результат тела скрипта, который был выполнен, или пустая строка, если ни одно из выражений не было ненулевым и не было bodyN.

Примеры

Простой условный оператор:
if {$vbl == 1} { puts "vbl is one" }

С else-блоком:

if {$vbl == 1} {
    puts "vbl is one"
} else {
    puts "vbl is not one"
}

С elseif-блоком тоже:

if {$vbl == 1} {
    puts "vbl is one"
} elseif {$vbl == 2} {
    puts "vbl is two"
} else {
    puts "vbl is not one or two"
}

Помните, выражения могут быть многострочными, но в этом случае использование необязательного ключевого слова then может улучшить читаемость:

if {
    $vbl == 1
    || $vbl == 2
    || $vbl == 3
} then {
    puts "vbl is one, two or three"
}

См. также

expr, for, foreach

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/if.htm

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/if.htm

Spec-Zone.ru

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