Lua - Cú pháp cơ bản

Xin chào các bạn lập trình viên tương lai của Lua! Tôi rất vui mừng được bắt đầu hành trình này cùng các bạn khi chúng ta khám phá thế giới fascininating của lập trình Lua. Là một giáo viên khoa học máy tính có kinh nghiệm, tôi sẽ hướng dẫn các bạn qua các nguyên tắc cơ bản của cú pháp Lua, đảm bảo rằng bạn hiểu rõ từng bước. Hãy cùng bắt đầu!

Lua - Basic Syntax

Chương trình Lua đầu tiên

Hãy bắt đầu với chương trình "Hello, World!" truyền thống. Đây là một nghi lễ quá độ cho mỗi lập trình viên, và nó rất đơn giản trong Lua:

print("Hello, World!")

Khi bạn chạy chương trình này, bạn sẽ thấy:

Hello, World!

Có phải điều đó không phải là tuyệt vời? Chỉ với một dòng mã, bạn đã tạo ra chương trình Lua đầu tiên của mình! Hàm print() được sử dụng để hiển thị văn bản trên màn hình. Nhớ rằng, trong Lua, chúng ta sử dụng dấu ngoặc () để gọi hàm và dấu kép "" để xác định chuỗi (văn bản).

Token trong Lua

Bây giờ, hãy nói về token. Trong lập trình, token là các phần tử nhỏ nhất mà bộ biên dịch nhận diện. Hãy tưởng tượng chúng như là các khối xây dựng của mã của bạn. Trong Lua, chúng ta có nhiều loại token:

  1. Từ khóa
  2. Tên định danh
  3. Constant
  4. Chuỗi
  5. Toán tử
  6. Phân cách

Chúng ta sẽ khám phá một số trong số này chi tiết hơn khi chúng ta tiếp tục.

Bình luận

Trước khi chúng ta đi sâu hơn, hãy học về bình luận. Bình luận là các ghi chú mà các lập trình viên để lại trong mã để giải thích những gì đang xảy ra. Máy tính sẽ bỏ qua chúng, nhưng chúng rất hữu ích cho con người khi đọc mã.

Trong Lua, chúng ta có hai loại bình luận:

  1. Bình luận dòng đơn:

    -- Đây là một bình luận dòng đơn
    print("Hello") -- Đây cũng là một bình luận
  2. Bình luận đa dòng:

    --[[
    Đây là một bình luận đa dòng.
    Nó có thể跨越多行.
    Rất hữu ích cho các giải thích dài!
    --]]

Tên định danh

Tên định danh là các tên chúng ta đặt cho các biến, hàm và các yếu tố khác trong chương trình của mình. Trong Lua, tên định danh có thể là bất kỳ chuỗi ký tự nào bao gồm các chữ cái, số và dấu gạch dưới, nhưng không bắt đầu bằng một chữ số. Dưới đây là một số tên định danh hợp lệ:

age
player1
_score
myFunction

Và một số tên định danh không hợp lệ:

2player  -- Bắt đầu bằng một chữ số
my-var   -- Chứa dấu gạch ngang

Nhớ rằng, Lua phân biệt chữ hoa và chữ thường, điều này có nghĩa là scoreScore được coi là các tên định danh khác nhau.

Từ khóa

Từ khóa là các từ đã được保留 trong Lua có ý nghĩa đặc biệt. Bạn không thể sử dụng chúng làm tên định danh. Dưới đây là bảng các từ khóa trong Lua:

Từ khóa Từ khóa Từ khóa Từ khóa
and break do else
elseif end false for
function goto if in
local nil not or
repeat return then true
until while

Hãy sử dụng một số từ khóa trong một chương trình đơn giản:

if true then
print("Điều này sẽ luôn được in ra!")
end

Trong ví dụ này, if, then, và end là các từ khóa giúp cấu trúc mã của chúng ta.

Whitespace trong Lua

Whitespace đề cập đến các khoảng trống, tab và ký tự mới dòng trong mã của bạn. Trong Lua, whitespace thường bị bỏ qua, điều này có nghĩa là bạn có thể định dạng mã của mình để dễ đọc mà không ảnh hưởng đến cách nó chạy.

Ví dụ, hai đoạn mã sau hoàn toàn tương đương trong Lua:

print("Hello")print("World")
print("Hello")
print("World")

Tuy nhiên, để dễ đọc (và cho bản thân bạn trong tương lai có thể hiểu mã này sau này), luôn tốt hơn hết là sử dụng whitespace để làm cho mã của bạn rõ ràng và tổ chức.

Dưới đây là một ví dụ phức tạp hơn minh họa các yếu tố mà chúng ta đã thảo luận:

-- Chương trình này tính toán diện tích của một hình tròn

--[[
Công thức: area = π * radius^2
Chúng ta sẽ sử dụng 3.14159 như một ước tính cho π
--]]

local pi = 3.14159
local radius = 5

local area = pi * (radius ^ 2)

print("Diện tích của hình tròn với bán kính " .. radius .. " là khoảng " .. area)

Hãy phân tích điều này:

  1. Chúng ta bắt đầu với các bình luận giải thích chương trình của chúng ta và công thức chúng ta đang sử dụng.
  2. Chúng ta宣布 local variables piradius bằng cách sử dụng từ khóa local.
  3. Chúng ta tính toán diện tích bằng công thức.
  4. Cuối cùng, chúng ta in kết quả, sử dụng .. để nối chuỗi và các biến.

Khi bạn chạy chương trình này, bạn sẽ thấy:

Diện tích của hình tròn với bán kính 5 là khoảng 78.53975

Và thế là xong! Chúng ta đã bao gồm cú pháp cơ bản của Lua, từ chương trình "Hello, World!" đầu tiên của bạn đến các biến, bình luận và một chút toán học. Nhớ rằng, lập trình giống như học một ngôn ngữ mới - nó đòi hỏi sự thực hành và kiên nhẫn. Đừng lo lắng nếu mọi thứ không ngay lập tức hiểu rõ. Hãy tiếp tục thử nghiệm, viết các chương trình nhỏ của riêng bạn và quan trọng nhất, hãy vui vẻ!

Trong bài học tiếp theo, chúng ta sẽ đi sâu vào các kiểu dữ liệu và biến trong Lua. Đến那时, chúc các bạn lập trình vui vẻ!

Credits: Image by storyset