Bài 4 : Lua – Các biến

Bài 4 : Lua – Các biến

Lua – Các biến  Trang trướcTrang tiếp theo   Một biến không là gì ngoài tên được đặt cho một vùng […]

Learn more »

Lua – Các biến


 Trang trướcTrang tiếp theo  

Một biến không là gì ngoài tên được đặt cho một vùng lưu trữ mà chương trình của chúng ta có thể thao tác. Nó có thể chứa các loại giá trị khác nhau bao gồm các hàm và bảng.

Tên của một biến có thể bao gồm các chữ cái, chữ số và ký tự gạch dưới. Nó phải bắt đầu bằng một chữ cái hoặc một dấu gạch dưới. Chữ hoa và chữ thường khác nhau vì Lua phân biệt chữ hoa chữ thường. Có tám loại giá trị cơ bản trong Lua –

Trong Lua, mặc dù chúng ta không có kiểu dữ liệu biến, nhưng chúng ta có ba kiểu dựa trên phạm vi của biến.

  • Biến toàn cục – Tất cả các biến được coi là toàn cục trừ khi được khai báo rõ ràng là cục bộ.
  • Biến cục bộ – Khi kiểu được chỉ định là cục bộ cho một biến thì phạm vi của nó bị giới hạn với các hàm bên trong phạm vi của chúng.
  • Trường bảng – Đây là một loại biến đặc biệt có thể chứa bất kỳ thứ gì ngoại trừ nil bao gồm các hàm.

Định nghĩa biến trong Lua

Định nghĩa biến có nghĩa là cho trình thông dịch biết vị trí và số lượng để tạo bộ lưu trữ cho biến. Định nghĩa biến có kiểu tùy chọn và chứa danh sách một hoặc nhiều biến thuộc kiểu đó như sau:

type variable_list; 

Ở đây, loại là tùy chọn cục bộ hoặc loại được chỉ định làm cho nó toàn cầu và danh sách biến có thể bao gồm một hoặc nhiều tên định danh được phân tách bằng dấu phẩy. Một số khai báo hợp lệ được hiển thị ở đây –

local    i, j local    i local    a,c 

Dòng địa phương i, j vừa khai báo và định nghĩa các biến i và j; hướng dẫn trình thông dịch tạo các biến có tên i, j và giới hạn phạm vi là cục bộ.

Các biến có thể được khởi tạo (gán giá trị ban đầu) trong khai báo của chúng. Bộ khởi tạo bao gồm một dấu bằng theo sau là một biểu thức hằng số như sau:

type variable_list = value_list; 

Một số ví dụ là –

local d , f = 5 ,10     --declaration of d and f as local variables.  d , f = 5, 10;          --declaration of d and f as global variables.  d, f = 10               --[[declaration of d and f as global variables.                             Here value of f is nil --]] 

Đối với định nghĩa không có bộ khởi tạo: các biến có thời lượng lưu trữ tĩnh được khởi tạo ngầm định bằng nil.

Khai báo biến trong Lua

Như bạn có thể thấy trong các ví dụ trên, các phép gán cho nhiều biến tuân theo định dạng danh sách biến và giá trị. Trong ví dụ trên local d, f = 5,10 chúng ta có d và f trong danh sách biến và 5 và 10 trong danh sách giá trị.

Việc gán giá trị trong Lua diễn ra giống như biến đầu tiên trong danh sách biến với giá trị đầu tiên trong danh sách giá trị, v.v. Do đó, giá trị của d là 5 và giá trị của f là 10.

Thí dụ

Hãy thử ví dụ sau, trong đó các biến đã được khai báo ở trên cùng, nhưng chúng đã được xác định và khởi tạo bên trong hàm chính:Bản thử trực tiếp

-- Variable definition: local a, b  -- Initialization a = 10 b = 30  print("value of a:", a)  print("value of b:", b)  -- Swapping of variables b, a = a, b  print("value of a:", a)  print("value of b:", b)  f = 70.0/3.0 print("value of f", f)

Khi đoạn mã trên được xây dựng và thực thi, nó tạo ra kết quả sau:

value of a:	10 value of b:	30 value of a:	30 value of b:	10 value of f	23.333333333333 

Giá trị và giá trị trong Lua

Có hai loại biểu thức trong Lua –

  • lvalue – Các biểu thức tham chiếu đến một vị trí bộ nhớ được gọi là biểu thức “lvalue”. Giá trị có thể xuất hiện ở dạng bên trái hoặc bên phải của bài tập.
  • rvalue – Thuật ngữ rvalue đề cập đến một giá trị dữ liệu được lưu trữ tại một số địa chỉ trong bộ nhớ. Giá trị là một biểu thức không thể có giá trị được gán cho nó, có nghĩa là giá trị có thể xuất hiện ở phía bên phải, nhưng không xuất hiện ở phía bên trái của phép gán.

Các biến là giá trị và do đó có thể xuất hiện ở phía bên trái của phép gán. Các chữ số là các giá trị và do đó có thể không được chỉ định và không thể xuất hiện ở phía bên trái. Sau đây là một tuyên bố hợp lệ –

g = 20 

Nhưng sau đây không phải là một tuyên bố hợp lệ và sẽ tạo ra lỗi thời gian xây dựng –

10 = 20 

Trong ngôn ngữ lập trình Lua, ngoài các kiểu gán trên, có thể có nhiều giá trị và giá trị trong cùng một câu lệnh. Nó được hiển thị bên dưới.

g,l = 20,30 

Trong câu lệnh trên, 20 được gán cho g và 30 được gán cho l.


Lượt xem : 229

Integrations
Users

Share Profile

Anyone at KeenThemes can view
Anyone with link can edit

Give Award

Anyone at KeenThemes can view
Anyone with link can edit

Report User

Let us know why you’re reporing this person
Don't worry, your report is completely anonymous; the person you're
reporting will not be informed that you've submitted it