×

Vòng lặp until để kiểm tra điều kiện sau trong Ruby

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ới until, vòng lặp while 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