Nếu bạn xác định phương thức While
của đối tượng trình tạo, bạn có thể sử dụng while
vòng trong computation expressions của mình. Chữ ký của phương pháp While
là:Vai trò của `while`-loop trong biểu thức tính toán trong F # là gì?
member b.While (predicate:unit->bool, body:M<'a>) : M<'a>
Để so sánh, chữ ký của phương pháp For
là:
member b.For (items:seq<'a>, body:unit->M<'a>) : M<'a>
Bạn nên lưu ý rằng, trong While
-method, cơ thể là một loại đơn giản và không phải chức năng như trong phương thức For
.
Bạn có thể nhúng một số câu lệnh khác, như let
và các cuộc gọi chức năng bên trong biểu thức tính toán của bạn, nhưng chúng có thể thực thi không thể thực hiện trong một while
- nhiều lần.
builder {
while foo() do
printfn "step"
yield bar()
}
Tại sao while
- vòng lặp không được thực hiện nhiều lần, nhưng chỉ lặp lại? Tại sao sự khác biệt đáng kể từ các vòng lặp? Tốt hơn, có một số chiến lược dự định sử dụng các vòng lặp trong tính toán biểu thức?
Tốt. Tôi không biết về 'Chạy'. –