Tcl - Quyết định
Cấu trúc ra quyết định yêu cầu người lập trình chỉ định một hoặc nhiều điều kiện để được đánh giá hoặc kiểm tra bởi chương trình, cùng với một câu lệnh hoặc các câu lệnh sẽ được thực thi nếu điều kiện đó được xác định là đúng và tùy chọn, các câu lệnh khác sẽ được thực thi nếu điều kiện được xác định là sai.
Sau đây là dạng chung của cấu trúc ra quyết định điển hình được tìm thấy trong hầu hết các ngôn ngữ lập trình:
Ngôn ngữ Tcl sử dụng lệnh expr bên trong và do đó chúng ta không bắt buộc phải sử dụng lệnh expr một cách rõ ràng.
Ngôn ngữ Tcl cung cấp các loại câu lệnh ra quyết định sau:
Sr.No. | Tuyên bố & Mô tả |
---|---|
1 | câu lệnh if Câu lệnh 'if' bao gồm một biểu thức Boolean được theo sau bởi một hoặc nhiều câu lệnh. |
2 | câu lệnh if ... else Câu lệnh 'if' có thể được theo sau bởi một câu lệnh 'else' tùy chọn, thực thi khi biểu thức Boolean sai. |
3 | câu lệnh if lồng nhau Bạn có thể sử dụng một câu lệnh 'if' hoặc 'else if' bên trong (các) câu lệnh 'if' hoặc 'else if' khác. |
4 | chuyển đổi tuyên bố A switch câu lệnh cho phép một biến được kiểm tra tính bình đẳng với một danh sách các giá trị. |
5 | các câu lệnh chuyển đổi lồng nhau Bạn có thể sử dụng một switch tuyên bố bên trong khác switch các câu lệnh). |
Các ? : Nhà điều hành
Chúng tôi đã bảo hiểm conditional operator ? : trong chương trước, có thể được sử dụng để thay thế if...elsecác câu lệnh. Nó có dạng chung sau:
Exp1 ? Exp2 : Exp3;
Trong đó Exp1, Exp2 và Exp3 là các biểu thức. Chú ý công dụng và vị trí của dấu hai chấm.
Giá trị của a '? biểu thức 'được xác định như thế này: Exp1 được đánh giá. Nếu nó đúng, thì Exp2 được đánh giá và trở thành giá trị của toàn bộ '? biểu hiện.' Nếu Exp1 là false, thì Exp3 được đánh giá và giá trị của nó trở thành giá trị của biểu thức. Một ví dụ đã được biểu diễn ở dưới.
#!/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"
Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:
Value of b is 30
Value of b is 20