Tcl - การตัดสินใจ

โครงสร้างการตัดสินใจกำหนดให้โปรแกรมเมอร์ระบุเงื่อนไขอย่างน้อยหนึ่งเงื่อนไขที่จะประเมินหรือทดสอบโดยโปรแกรมพร้อมกับคำสั่งหรือคำสั่งที่จะดำเนินการหากเงื่อนไขถูกกำหนดให้เป็นจริงและเป็นทางเลือกที่จะดำเนินการคำสั่งอื่น ๆ หากเงื่อนไข ถูกกำหนดให้เป็นเท็จ

ต่อไปนี้เป็นรูปแบบทั่วไปของโครงสร้างการตัดสินใจทั่วไปที่พบในภาษาโปรแกรมส่วนใหญ่ -

ภาษา Tcl ใช้คำสั่ง expr ภายในดังนั้นเราจึงไม่จำเป็นต้องใช้คำสั่ง expr อย่างชัดเจน

ภาษา Tcl มีข้อความประกอบการตัดสินใจประเภทต่อไปนี้ -

ซีเนียร์ คำชี้แจงและคำอธิบาย
1 ถ้าคำสั่ง

คำสั่ง 'if' ประกอบด้วยนิพจน์บูลีนตามด้วยหนึ่งคำสั่งหรือมากกว่า

2 if ... else คำสั่ง

คำสั่ง 'if' สามารถตามด้วยคำสั่ง 'else' ซึ่งจะดำเนินการเมื่อนิพจน์บูลีนเป็นเท็จ

3 คำสั่ง if ซ้อนกัน

คุณสามารถใช้คำสั่ง 'if' หรือ 'else if' ในอีกคำสั่ง 'if' หรือ 'else if'

4 สลับคำสั่ง

switch คำสั่งอนุญาตให้ทดสอบตัวแปรเพื่อความเท่าเทียมกับรายการค่า

5 คำสั่งสวิตช์ที่ซ้อนกัน

คุณสามารถใช้ switch คำสั่งภายในอื่น switch คำสั่ง (s)

เดอะ? : ผู้ปฏิบัติงาน

เราได้ครอบคลุม conditional operator ? : ในบทก่อนหน้าซึ่งสามารถใช้เพื่อแทนที่ if...elseงบ มีรูปแบบทั่วไปดังต่อไปนี้ -

Exp1 ? Exp2 : Exp3;

โดยที่ Exp1, Exp2 และ Exp3 เป็นนิพจน์ สังเกตการใช้และตำแหน่งของลำไส้ใหญ่

ค่าของ '? นิพจน์ 'ถูกกำหนดเช่นนี้: Exp1 ถูกประเมิน ถ้าเป็นจริง Exp2 จะถูกประเมินและกลายเป็นค่าของ '? นิพจน์. ' ถ้า Exp1 เป็นเท็จระบบจะประเมิน Exp3 และค่าของมันจะกลายเป็นค่าของนิพจน์ ตัวอย่างแสดงด้านล่าง

#!/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"

เมื่อคุณคอมไพล์และรันโปรแกรมข้างต้นโปรแกรมจะให้ผลลัพธ์ดังนี้ -

Value of b is 30
Value of b is 20