Lua - Vòng lặp: Khám phá Nghệ thuật Lặp lại

Xin chào các bạn đang học lập trình! Chào mừng các bạn đến với hành trình thú vị vào thế giới của các vòng lặp Lua. Là người dạy máy tính ở khu phố gần bạn, tôi rất vui mừng được hướng dẫn các bạn qua khái niệm cơ bản này. Vòng lặp giống như DJ của lập trình - chúng giữ cho bữa tiệc tiếp tục bằng cách lặp lại những điều hay! Hãy cùng nhau khám phá cách chúng ta có thể làm cho mã của mình nhảy theo nhịp của sự lặp lại.

Lua - Loops

Vòng lặp là gì?

Trước khi chúng ta nhảy vào chi tiết, hãy hiểu vòng lặp là gì. Hãy tưởng tượng bạn được giao nhiệm vụ viết "Tôi yêu Lua" lên bảng đen 100 lần. Có vẻ nhàm chán phải không? Đó là nơi vòng lặp đến để cứu giúp! Chúng cho phép chúng ta thực thi một khối mã nhiều lần mà không cần viết nó đi viết lại. Nó giống như có một支 bút ma thuật viết thay bạn!

Các loại vòng lặp trong Lua

Lua cung cấp cho chúng ta ba loại vòng lặp chính. Hãy gặp gia đình vòng lặp của chúng ta:

Loại vòng lặp Mô tả Trường hợp sử dụng
while Lặp lại một khối mã trong khi một điều kiện là đúng Khi bạn không biết bạn cần lặp lại bao nhiêu lần
repeat Thực thi một khối mã ít nhất một lần, sau đó lặp lại trong khi một điều kiện là đúng Khi bạn muốn đảm bảo mã chạy ít nhất một lần
for Lặp lại một khối mã một số lần cụ thể Khi bạn biết chính xác bạn cần lặp lại bao nhiêu lần

Bây giờ, hãy khám phá từng loại vòng lặp này chi tiết.

Vòng lặp While: Người lặp lại cẩn thận

Vòng lặp while giống như một người bạn cẩn thận luôn kiểm tra trước khi làm điều gì đó. Nó tiếp tục thực thi một khối mã miễn là một điều kiện cụ thể là đúng.

local count = 1
while count <= 5 do
print("Số đếm là: " .. count)
count = count + 1
end

Trong ví dụ này, chúng ta bắt đầu với count là 1. Vòng lặp kiểm tra nếu count nhỏ hơn hoặc bằng 5. Nếu đúng, nó in số đếm hiện tại và sau đó tăng nó lên 1. Quá trình này lặp lại cho đến khi count bằng 6, lúc đó điều kiện trở thành sai và vòng lặp dừng lại.

Kết quả đầu ra:

Số đếm là: 1
Số đếm là: 2
Số đếm là: 3
Số đếm là: 4
Số đếm là: 5

Vòng lặp Repeat: Người làm trước và hỏi sau

Vòng lặp repeat giống như người bạn đó làm trước và hỏi sau. Nó luôn thực thi khối mã ít nhất một lần trước khi kiểm tra điều kiện.

local num = 1
repeat
print("Số là: " .. num)
num = num + 1
until num > 5

Ở đây, chúng ta in số và tăng nó lên. Vòng lặp tiếp tục cho đến khi num lớn hơn 5. Ngay cả khi num bắt đầu lớn hơn 5, vòng lặp này vẫn sẽ chạy một lần.

Kết quả đầu ra:

Số là: 1
Số là: 2
Số là: 3
Số là: 4
Số là: 5

Vòng lặp For: Người lập kế hoạch chính xác

Vòng lặp for giống như người lập kế hoạch cẩn thận. Nó hoàn hảo khi bạn biết chính xác bạn muốn lặp lại bao nhiêu lần.

Vòng lặp số học For

for i = 1, 5 do
print("Lặp lại: " .. i)
end

Vòng lặp này bắt đầu với i là 1 và tiếp tục cho đến khi i đạt 5, tăng lên 1 mỗi lần.

Kết quả đầu ra:

Lặp lại: 1
Lặp lại: 2
Lặp lại: 3
Lặp lại: 4
Lặp lại: 5

Vòng lặp For với bước nhảy

Chúng ta cũng có thể xác định một giá trị bước nhảy khác:

for i = 0, 10, 2 do
print("Số chẵn: " .. i)
end

Vòng lặp này bắt đầu từ 0, lên đến 10, nhưng tăng lên 2 mỗi lần, cho chúng ta số chẵn.

Kết quả đầu ra:

Số chẵn: 0
Số chẵn: 2
Số chẵn: 4
Số chẵn: 6
Số chẵn: 8
Số chẵn: 10

Vòng lặp tổng quát For

Lua cũng có một vòng lặp tổng quát có thể duyệt qua các phần tử của một bảng:

local fruits = {"apple", "banana", "cherry"}
for index, value in ipairs(fruits) do
print(index .. ": " .. value)
end

Vòng lặp này duyệt qua từng phần tử trong bảng fruits, cho chúng ta cả chỉ số và giá trị.

Kết quả đầu ra:

1: apple
2: banana
3: cherry

Câu lệnh điều khiển vòng lặp

Đôi khi, chúng ta cần kiểm soát vòng lặp của mình. Đó là nơi các câu lệnh điều khiển vòng lặp trở nên hữu ích.

Câu lệnh Break

Câu lệnh break giống như một lối thoát khẩn cấp. Nó cho phép chúng ta thoát khỏi vòng lặp sớm:

for i = 1, 10 do
if i > 5 then
break
end
print("Số: " .. i)
end

Vòng lặp này sẽ dừng lại khi i lớn hơn 5.

Kết quả đầu ra:

Số: 1
Số: 2
Số: 3
Số: 4
Số: 5

Câu lệnh Continue (Lua 5.2+)

Lua 5.2 đã giới thiệu câu lệnh goto, có thể được sử dụng để mô phỏng câu lệnh continue:

for i = 1, 5 do
if i % 2 == 0 then
goto continue
end
print("Số lẻ: " .. i)
::continue::
end

Vòng lặp này bỏ qua các số chẵn và chỉ in số lẻ.

Kết quả đầu ra:

Số lẻ: 1
Số lẻ: 3
Số lẻ: 5

Vòng lặp vô hạn: Cẩn thận khi sử dụng!

Vòng lặp vô hạn giống như một câu chuyện không kết thúc. Nó là một vòng lặp không có điểm dừng tự nhiên:

while true do
print(" Đây là vòng lặp vô hạn!")
end

Hãy cẩn thận với vòng lặp vô hạn! Chúng có thể làm cho chương trình của bạn bị treo. Luôn đảm bảo bạn có cách thoát ra nếu bạn sử dụng chúng có chủ ý.

Kết luận

Chúc mừng! Bạn vừa hoàn thành một chuyến du lịch nhanh chóng qua các vòng lặp Lua. Nhớ rằng, vòng lặp là công cụ mạnh mẽ trong bộ công cụ lập trình của bạn. Chúng giúp bạn tự động hóa các nhiệm vụ lặp lại và làm cho mã của bạn hiệu quả hơn. Hãy tập sử dụng các loại vòng lặp khác nhau, và sớm bạn sẽ thành thạo việc lặp lại!

Khi kết thúc, đây là một chút hài hước lập trình: Tại sao các lập trình viên thích chế độ tối? Vì ánh sáng thu hút sâu bọ!

Tiếp tục lập trình, tiếp tục học hỏi, và nhớ - trong thế giới lập trình, việc đi vòng vòng hoàn toàn bình thường!

Credits: Image by storyset