Perl - Chương 04: Câu điều kiện
Hôm nay chúng ta sẽ tiếp tục học về câu điều kiện trong lập trình ngôn ngữ Perl. Chúng ta sẽ được giới thiệu sơ qua cách khai báo và sử dụng chúng như thế nào cho hiệu quả trong việc lập trình.
Câu điều kiện trong ngôn ngữ Perl được chia thành các loại sau:
Câu điều kiện là gì?
Các câu lệnh điều kiện Perl giúp đưa ra các quyết định yêu cầu lập trình viên chỉ định một hoặc nhiều điều kiện để chương trình đánh giá hoặc kiểm tra. Câu điều kiện sẽ luôn có 2 nhánh đúng và sai, nếu đúng thì sẽ thực hiện câu lệnh bên nhánh đúng và ngược lại.Câu điều kiện trong ngôn ngữ Perl được chia thành các loại sau:
Câu lệnh "IF"
Nếu kết quả câu điều kiện là true thì "khối code" trong câu lệnh if sẽ được hiện. Nếu kếu quả câu điều kiện là false thì sẽ bỏ qua khối code trong câu lệnh if và thực hiện tiếp các khối code khác sau nó.
if ("điều kiện") {
# khối code sẽ được thực hiện nếu "điều kiện" là đúng
}
# khối code sẽ được thực hiện nếu "điều kiện" là đúng
}
#!/usr/local/bin/perl $a = 10; # biến a = 10 # kiểm tra điều kiện 'if' if( $a < 20 ) { # nếu câu điều kiện đúng sẽ in ra "a < 20" printf "a < 20\n"; } printf "value a is : $a\n";
Câu lệnh IF |
Câu lệnh "IF ... ELSE"
Nếu kết quả câu điều kiện là true thì "khối code" trong câu lệnh if sẽ được hiện. Nếu kếu quả câu điều kiện là false thì sẽ thực hiện khối code trong câu lệnh else.
if ("điều kiện") {
# khối code sẽ được thực hiện nếu "điều kiện" là đúng
} else {
# khối code sẽ được thực hiện nếu "điều kiện" là sai
}
# khối code sẽ được thực hiện nếu "điều kiện" là đúng
} else {
# khối code sẽ được thực hiện nếu "điều kiện" là sai
}
#!/usr/local/bin/perl $a = 100; # biến a = 100 # kiểm tra điều kiện if if( $a < 20 ) { # nếu câu điều kiện đúng sẽ in ra "a < 20" printf "a < 20\n"; } else { # nếu câu điều kiện sai sẽ in ra "a > 20" printf "a > 20\n"; } printf "value a is : $a\n";
Câu lệnh IF ... ELSE |
Câu lệnh "IF ... ELSIF ... ELSE"
Một câu lệnh if có thể được theo sau bởi một câu lệnh elsif khác, rất hữu ích để kiểm tra các điều kiện khác nhau bằng cách sử dụng câu lệnh if ... elsif .... Nếu chỉ còn lại một điều kiện cuối cùng thì câu lệnh else sẽ được thực hiện.
if ("điều kiện 1") {
# khối code sẽ được thực hiện nếu "điều kiện 1" là đúng
} elsif ("điều kiện 2") {
# khối code sẽ được thực hiện nếu "điều kiện 2" là dúng
} else {
# khối code sẽ được thực hiện nếu điều kiện còn lại là dúng
}
# khối code sẽ được thực hiện nếu "điều kiện 1" là đúng
} elsif ("điều kiện 2") {
# khối code sẽ được thực hiện nếu "điều kiện 2" là dúng
} else {
# khối code sẽ được thực hiện nếu điều kiện còn lại là dúng
}
#!/usr/local/bin/perl $a = 50; # biến a = 50 # kiểm tra điều kiện if if( $a < 20 ) { # nếu câu điều kiện đúng sẽ in ra "a < 20" printf "a < 20\n"; } elsif ($a > 20) { # nếu câu điều kiện sai sẽ in ra "a > 20" printf "a > 20\n"; } else { # ngược lại printf "a = 20\n"; } printf "value a is : $a\n";
Câu lệnh IF ... ELSIF ... ELSE |
Câu lệnh "UNLESS"
Cũng giống như câu lệnh if nhưng unless là câu lệnh ngược lại, tức là khối code trong câu lệnh unless sẽ được thực hiện khi câu điều kiện là sai. Ngoài ra, câu lệnh unless cũng giống như câu lệnh if khi có mệnh đề else và elsif (các bạn có thể xem lại ở câu lệnh if, mình sẽ không nói lại).Câu lệnh "SWITCH ... CASE"
Câu lệnh switch kiểm tra giá trị của một biến so với danh sách các biến được liệt kê theo thứ tự. Mỗi giá trị được gọi là một case và câu lệnh switch sẽ dừng khi tìm được giá trị phù hợp với biến trong điều kiện switch. Trong ngôn ngữ Perl, bạn phải khai báo module Switch để sử dụng câu lệnh switch.
use Switch;
switch("biểu thức") {
case "biểu thức 1" { "khối code 1" }
case "biểu thức 1" { "khối code 1" }
...
else { "khối code còn lại" }
}
switch("biểu thức") {
case "biểu thức 1" { "khối code 1" }
case "biểu thức 1" { "khối code 1" }
...
else { "khối code còn lại" }
}
#!/usr/local/bin/perl use switch; # import switch module $day = "Monday"; # biến day = "Monday" # kiểm tra điều kiện if switch(day) { case "Sunday" { printf "Today is Sunday\n"; } case "Saturday" { printf "Today is Saturday\n"; } else { printf "Today is Monday\n"; } }
Câu lệnh SWITCH ... CASE |