Учебники

Tcl — Решения

Структуры принятия решений требуют, чтобы программист определял одно или несколько условий, которые должны быть оценены или протестированы программой, вместе с оператором или инструкциями, которые должны быть выполнены, если условие определено как истинное, и, необязательно, другие операторы, которые должны быть выполнены, если условие определяется как ложный.

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

Принятие решения

Язык Tcl использует команду expr для внутреннего использования, поэтому мы не обязаны явно использовать выражение expr.

Язык Tcl предоставляет следующие типы заявлений о принятии решений —

Sr.No. Заявление и описание
1 если заявление

Оператор ‘if’ состоит из логического выражения, за которым следует одно или несколько операторов.

2 если … еще заявление

За оператором if может следовать необязательный оператор else, который выполняется, когда логическое выражение имеет значение false.

3 вложенные операторы if

Вы можете использовать один оператор «if» или «else if» внутри другого оператора «if» или «else if».

4 заявление о переключении

Оператор switch позволяет проверять переменную на соответствие списку значений.

5 вложенные операторы switch

Вы можете использовать один оператор switch внутри другого оператора (ов) switch .

Оператор ‘if’ состоит из логического выражения, за которым следует одно или несколько операторов.

За оператором if может следовать необязательный оператор else, который выполняется, когда логическое выражение имеет значение false.

Вы можете использовать один оператор «if» или «else if» внутри другого оператора «if» или «else if».

Оператор switch позволяет проверять переменную на соответствие списку значений.

Вы можете использовать один оператор switch внутри другого оператора (ов) switch .

? : Оператор

Мы накрыли условного оператора? : в предыдущей главе, которая может быть использована для замены операторов if … else . Он имеет следующую общую форму —

Exp1 ? Exp2 : Exp3;

Где Exp1, Exp2 и Exp3 являются выражениями. Обратите внимание на использование и размещение толстой кишки.

Значение а? выражение ‘определяется следующим образом: Exp1 оценивается. Если это правда, тогда Exp2 вычисляется и становится значением целого ‘? Выражение «. Если Exp1 имеет значение false, то Exp3 оценивается, и его значение становится значением выражения. Пример показан ниже.

Live Demo

#!/usr/bin/tclsh

set a 10;
set b [expr $a == 1 ? 20: 30]
puts "Value of b is $b\n"
set b [expr $a == 10 ? 20: 30]
puts "Value of b is $b\n" 

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —