Elm - Ra 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.
Hình dưới đâ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
Một cấu trúc ra quyết định đánh giá một điều kiện trước khi các lệnh được thực thi. Các cấu trúc ra quyết định trong Elm được phân loại như sau:
Sr không. | Tuyên bố | Sự miêu tả |
---|---|---|
1 | câu lệnh if ... then ... else | Câu lệnh if bao gồm một biểu thức Boolean theo sau là then được thực thi nếu biểu thức trả về true và else được thực thi nếu biểu thức trả về false |
2 | câu lệnh if lồng nhau | Bạn có thể sử dụng một if ... then ... else bên trong if khác. |
3 | tuyên bố trường hợp | Kiểm tra giá trị của một biến với danh sách các giá trị. |
if ... then ... else Câu lệnh
Các if…thencấu trúc đánh giá một điều kiện trước khi một khối mã được thực thi. Nếu biểu thức Boolean đánh giá là true, thì khối mã bên trong câu lệnh then sẽ được thực thi. Nếu biểu thức Boolean đánh giá là false, thì khối mã bên trong câu lệnh else sẽ được thực thi.
Không giống như các ngôn ngữ lập trình khác, trong Elm chúng ta phải cung cấp nhánh else. Nếu không, Elm sẽ ném ra một lỗi.
Cú pháp
if boolean_expression then statement1_ifTrue else statement2_ifFalse
Hình minh họa
Hãy thử ví dụ sau trong thiết bị đầu cuối REPL.
> if 10>5 then "10 is bigger" else "10 is small"
"10 is bigger" : String
Lồng nhau nếu
Câu lệnh if lồng nhau rất hữu ích để kiểm tra nhiều điều kiện. Cú pháp của câu lệnh if lồng nhau được đưa ra dưới đây:
if boolean_expression1 then statement1_ifTrue else if boolean_expression2 then statement2_ifTrue else statement3_ifFalse
Hình minh họa
Hãy thử ví dụ sau trong Elm REPL -
> score=80
80 : number
> if score>=80 then "Outstanding" else if score > = 70 then "good" else "average"
"Outstanding" : String
Tuyên bố tình huống
Câu lệnh case có thể được sử dụng để đơn giản hóa câu lệnh if then else. Cú pháp của một câu lệnh trường hợp như dưới đây:
case variable_name of
constant1 -> Return_some_value
constant2 -> Return_some_value
_ -> Return_some_value if none of the above values match
Câu lệnh case kiểm tra xem giá trị của một biến có khớp với một tập hợp hằng số được xác định trước hay không và trả về giá trị tương ứng. Lưu ý rằng giá trị trả về của mỗi trường hợp phải cùng loại. Nếu giá trị của biến không khớp với bất kỳ hằng nào đã cho, thì điều khiển sẽ được chuyển đến * default * (ký hiệu là // _) và giá trị tương ứng được trả về.
Hình minh họa
Hãy thử ví dụ sau trong Elm REPL -
> n = 10
10 : number
> case n of \
| 0 -> "n is Zero" \
| _ -> "n is not Zero"
"n is not Zero" : String
Đoạn mã trên kiểm tra xem giá trị của n có bằng 0 hay không. Điều khiển được chuyển thành mặc định, trả về chuỗi “n không phải là 0”.