Lua - Các kiểu dữ liệu

Lua là một ngôn ngữ được nhập động, vì vậy các biến không có kiểu, chỉ có các giá trị mới có kiểu. Giá trị có thể được lưu trữ trong các biến, được truyền dưới dạng tham số và trả về dưới dạng kết quả.

Trong Lua, mặc dù chúng ta không có kiểu dữ liệu biến đổi, nhưng chúng ta có kiểu cho các giá trị. Dưới đây là danh sách các kiểu dữ liệu cho các giá trị.

Sr.No Loại giá trị & Mô tả
1

nil

Được sử dụng để phân biệt giá trị có một số dữ liệu hoặc không có dữ liệu (nil).

2

boolean

Bao gồm giá trị true và false. Thường được sử dụng để kiểm tra tình trạng.

3

number

Đại diện cho các số thực (dấu phẩy động chính xác kép).

4

string

Đại diện cho mảng ký tự.

5

function

Đại diện cho một phương thức được viết bằng C hoặc Lua.

6

userdata

Biểu diễn dữ liệu C tùy ý.

7

thread

Đại diện cho các luồng thực thi độc lập và nó được sử dụng để triển khai các coroutines.

số 8

table

Biểu diễn các mảng thông thường, bảng ký hiệu, tập hợp, bản ghi, đồ thị, cây, v.v. và triển khai các mảng kết hợp. Nó có thể giữ bất kỳ giá trị nào (ngoại trừ nil).

Loại chức năng

Trong Lua, có một hàm gọi là 'kiểu' cho phép chúng ta biết kiểu của biến. Một số ví dụ được đưa ra trong đoạn mã sau.

print(type("What is my type"))   --> string
t = 10

print(type(5.8*t))               --> number
print(type(true))                --> boolean
print(type(print))               --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> string

Khi bạn xây dựng và thực thi chương trình trên, nó tạo ra kết quả sau trên Linux:

string
number
boolean
function
nil
string

Theo mặc định, tất cả các biến sẽ trỏ đến nil cho đến khi chúng được gán giá trị hoặc khởi tạo. Trong Lua, chuỗi không và chuỗi rỗng được coi là đúng trong trường hợp kiểm tra điều kiện. Do đó, bạn phải cẩn thận khi sử dụng các phép toán Boolean. Chúng ta sẽ biết nhiều hơn cách sử dụng các loại này trong các chương tiếp theo.