Trong lập trình Ruby, một trong những cấu trúc điều khiển mạnh mẽ và linh hoạt chính là vòng lặp until
. Đây là một công cụ hữu ích đặc biệt khi bạn muốn thực hiện một hành động lặp đi lặp lại cho đến khi một điều kiện cụ thể được thỏa mãn.
Khái niệm cơ bản
Vòng lặp until
có cách hoạt động ngược lại so với vòng lặp while
. Thay vì tiếp tục lặp lại khi điều kiện đúng như while
, until
sẽ tiếp tục lặp lại cho đến khi điều kiện trở thành đúng. Nói cách khác, vòng lặp này sẽ tiếp tục lặp cho đến khi điều kiện được thỏa mãn.
Cú pháp của vòng lặp until
Cú pháp của vòng lặp until
trong Ruby rất đơn giản:
until condition do
# code to be executed
end
Hoặc có thể viết gọn hơn nếu khối mã là ngắn:
until condition do # code to be executed end
Ví dụ minh họa
Để giúp hiểu rõ hơn về cách hoạt động của vòng lặp until
, hãy xem một ví dụ cụ thể. Giả sử bạn muốn in ra các số từ 1 đến 10:
i = 1
until i > 10 do
puts i
i += 1
end
Trong đoạn mã này, biến i
bắt đầu từ 1 và sẽ tăng lên mỗi lần vòng lặp chạy. Vòng lặp sẽ tiếp tục cho đến khi i
lớn hơn 10. Kết quả cuối cùng sẽ là các số từ 1 đến 10 được in ra.
Ứng dụng của vòng lặp until
Vòng lặp until
thường được sử dụng trong các trường hợp mà bạn cần thực hiện một hành động ít nhất một lần và tiếp tục lặp lại cho đến khi điều kiện dừng được đáp ứng. Ví dụ, nó rất hữu ích trong việc kiểm tra đầu vào của người dùng hoặc chờ đợi một sự kiện xảy ra.
Ví dụ về việc kiểm tra đầu vào:
password = ""
until password == "secret" do
puts "Please enter your password:"
password = gets.chomp
end
puts "Access granted."
Ở đây, chương trình sẽ tiếp tục yêu cầu người dùng nhập mật khẩu cho đến khi họ nhập đúng mật khẩu là "secret".
So sánh với các vòng lặp khác
- Vòng lặp
while
: Ngược lại vớiuntil
, vòng lặpwhile
tiếp tục thực thi mã chừng nào điều kiện còn đúng. Nó thích hợp khi bạn biết trước điều kiện dừng cụ thể ngay từ đầu.
i = 1
while i <= 10 do
puts i
i += 1
end
- Vòng lặp
for
: Thường được dùng khi bạn cần lặp một số lần cố định hoặc lặp qua một mảng hoặc một phạm vi xác định.
for i in 1..10 do
puts i
end
Kết luận
Vòng lặp until
là một công cụ hữu ích trong Ruby, đặc biệt khi bạn cần lặp lại một hành động cho đến khi một điều kiện nhất định được thỏa mãn. Hiểu rõ cách hoạt động của nó sẽ giúp bạn viết mã hiệu quả và dễ hiểu hơn, đồng thời làm phong phú thêm kỹ năng lập trình của mình.
Comments