Trong Phần 2, Mobipro sẽ tiếp tục giới thiệu những kiến thức về ngôn ngữ lập trình Lua với các câu lệnh rẽ nhánh (if...else) và câu lệnh lặp.
I. Các câu lệnh rẽ nhánh (if...else )
Lua cung cấp cấu trúc các câu lệnh điều kiện (rẽ nhánh) if...else với mục đích cho phép người lập trình có thể thực hiện các hành động khác nhau với những điều kiện khách nhau.

Cũng như những ngôn ngữ lập trình khác, Lua xác định thực hiện hành động tùy theo giá trị của điều kiện. Nếu điều kiện thỏa mãn hay kết quả của biểu thức điều kiện chứa giá trị là true (đúng) thì hành động đằng sau câu lệnh if sẽ được thực hiện.
Lua hỗ trợ những loại câu lệnh điều kiện sau:
1. Câu lệnh if
Cú pháp:

Ví dụ:
local a = 10;
if( a < 20 ) then
print("a nhỏ hơn 20" );
end
print("Giá trị của a là :", a);
2. Câu lệnh if...else
Cú pháp 1:

Nếu điều kiện đúng (biểu thức điều kiện trả về giá trị true) thì thực hiện các câu lệnh sau then. Trường hợp ngược lại thì thực hiện câu lệnh sau else.
Ví dụ:
local a =100;
if( a <20) then
print("a nhỏ hơn 20")
else
print("a không nhỏ hơn 20")
end
Cú pháp 2:

Trong đó:
+ Nếu điều kiện biểu thức 1 là đúng thì thực hiện câu lệnh sau then.
+ Nếu biểu thức 1 trả về sai (false) và biểu thức 2 trả về là đúng (true) thì thực hiện câu lệnh sau biểu thức 2.
+ Nếu biểu thức 1 trả về false, biểu thức 2 trả về false và biểu thức 3 trả về là true thì thực hiện câu lệnh sau biểu thức 3.
+ Trường hợp còn lại (biểu thức 1 trả về false, biểu thức 2 trả về false và biểu thức 3 trả về false) thì thực hiện câu lệnh sau lệnh else.
Ví dụ:
local a =100
if( a ==10) then
print("a có giá trị bằng 10")
elseif( a ==20) then
print("a có giá trị bằng 20")
elseif( a ==30) then
print("a có giá trị bằng 30")
else
print("Không có giá trị nào bằng a")
end
print("Giá trị thực của a là: ", a )
3. Câu lệnh if lồng nhau
Lua cho phép các câu lệnh if lồng nhau.
Cú pháp:

Ví dụ:
a =100;
b =200;
if( a ==100) then
if( b ==200) then
print("Giá trị của a là 100 và b là 200");
end
end
II. Các câu lệnh lặp
Trong khi xây dựng chương trình, đôi khi một đoạn code cần được thực hiện nhiều lần, lặp đi lặp lại. Lua cung cấp các câu lệnh lặp để hỗ trợ cho những nhu cầu như vậy.
Dưới đây là các loại vòng lặp được hỗ trợ trong Lua:
1. Vòng lặp while
Vòng lặp này sẽ kiểm tra điều kiện lặp ngay khi bắt đầu, nó sẽ lặp đi lặp lại cho đến khi điều kiện không còn đúng (điều kiện trả về kết quả false) nữa mới kết thúc quá trình lặp. Nếu ngay từ đầu điều kiện trả về kết quả là false thì vòng lặp sẽ không được thực hiện.
Cú pháp:
Ví dụ:
a=10
while( a <20) do
print("Giá trị của :", a)
a = a+1
end
2. repeat...util
Vòng lặp này sẽ thực hiện cho đến khi điều kiện trong while trả về kết quả true thì dừng lại.
Cú pháp:
Ví dụ:
a =10
repeat
print("Giá trị của a là:", a)
a = a +1
until( a >15)
Ví dụ trên sẽ in ra các giá trị của a từ 10 đến 15. Sau khi đạt được giá trị a >15 thì chương trình dừng lại.
3. Vòng lặp for
Không như
while và
repeat...until, vòng lặp for cho phép bạn xác định chính xác số lần lặp và các điều kiện lặp.
Cú pháp:

Trong đó:
+ init là giá trị khởi tạo cho biến điều kiện.
+ max, min là một trong hai giá trị biến điều kiện được phép đạt đến.
+ increment: giá trị tăng (giảm) cho biến điều kiện qua mỗi lần lặp.
Ví dụ:
for i=10,1,-1 do
print(i)
end
Vòng lặp trên sẽ in ra các giá trị giảm dần từ 10 cho đến 1.
Chúc các bạn tìm được những thông tin bổ ích từ bài viết của Mobipro và hẹn gặp lại trong phần sau với đầy đủ các kiến thức về ngôn ngữ Lua hơn nữa !
Dương Linh