Trong lập trình, việc thực hiện một tác vụ lặp đi lặp lại là một nhu cầu phổ biến. Ruby, như nhiều ngôn ngữ lập trình khác, cung cấp một loạt các cấu trúc lặp để giải quyết vấn đề này. Bài viết này sẽ đi sâu vào các cấu trúc lặp trong Ruby, bao gồm cả cách sử dụng và ví dụ cụ thể.
1. Vòng Lặp While
Vòng lặp while
thực hiện một khối lệnh miễn là điều kiện đưa ra là đúng. Đây là cấu trúc lặp cơ bản nhất trong Ruby.
Cú pháp:
ruby
while điều_kiện
# Khối lệnh
end
Ví dụ:
ruby
i = 0
while i < 5
puts "Giá trị của i là #{i}"
i += 1
end
Trong ví dụ trên, khối lệnh sẽ được thực hiện miễn là giá trị của i
nhỏ hơn 5. Kết quả sẽ in ra giá trị của i
từ 0 đến 4.
2. Vòng Lặp Until
Vòng lặp until
là ngược lại với vòng lặp while
: nó thực hiện khối lệnh cho đến khi điều kiện trở nên đúng.
Cú pháp:
ruby
until điều_kiện
# Khối lệnh
end
Ví dụ:
ruby
i = 0
until i == 5
puts "Giá trị của i là #{i}"
i += 1
end
Ví dụ này tương tự như ví dụ với vòng lặp while
, nhưng sử dụng until
thay vì while
.
3. Vòng Lặp For
Vòng lặp for
được sử dụng để lặp qua một dãy số hoặc một tập hợp các phần tử.
Cú pháp:
ruby
for biến in tập_hợp
# Khối lệnh
end
Ví dụ:
ruby
for i in 1..5
puts "Giá trị của i là #{i}"
end
Ví dụ này in ra giá trị của i
từ 1 đến 5. Ruby cung cấp cú pháp 1..5
để tạo ra một dãy số từ 1 đến 5.
4. Vòng Lặp Each
Vòng lặp each
là một phương thức được sử dụng rộng rãi để lặp qua các phần tử của mảng hoặc hash.
Cú pháp:
ruby
tập_hợp.each do |biến|
# Khối lệnh
end
Ví dụ:
ruby
[1, 2, 3, 4, 5].each do |i|
puts "Giá trị của i là #{i}"
end
Ví dụ này in ra giá trị của i
từ 1 đến 5, tương tự như vòng lặp for
, nhưng sử dụng phương thức each
trên một mảng.
5. Vòng Lặp Times
Phương thức times
là một phương thức đặc biệt của đối tượng số, cho phép thực hiện một khối lệnh một số lần nhất định.
Cú pháp:
ruby
số_lần.times do
# Khối lệnh
end
Ví dụ:
ruby
5.times do |i|
puts "Giá trị của i là #{i}"
end
Ví dụ này in ra giá trị của i
từ 0 đến 4, thực hiện khối lệnh 5 lần.
6. Vòng Lặp Loop
Phương thức loop
tạo ra một vòng lặp vô hạn, có thể thoát ra bằng cách sử dụng lệnh break
.
Cú pháp:
ruby
loop do
# Khối lệnh
break if điều_kiện
end
Ví dụ:
ruby
i = 0
loop do
puts "Giá trị của i là #{i}"
i += 1
break if i == 5
end
Ví dụ này tương tự như các ví dụ trước nhưng sử dụng loop
để tạo vòng lặp và break
để thoát khỏi vòng lặp khi i
đạt giá trị 5.
Kết Luận
Các cấu trúc lặp trong Ruby cung cấp một phạm vi rộng lớn các công cụ để xử lý việc lặp đi lặp lại các khối lệnh. Tùy thuộc vào nhu cầu cụ thể và loại dữ liệu bạn đang làm việc, bạn có thể chọn vòng lặp phù hợp nhất để sử dụng trong tình huống của mình. Hiểu biết về các cấu trúc lặp này sẽ giúp bạn viết ra những chương trình Ruby hiệu quả và dễ đọc hơn.