Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Bai 11 Lua 8211 Mang2023 04 06 04 25 31

Tìm kiếm
Thuộc khóa học · baihoc_sub = 40

Ngôn ngữ Lua cơ bản

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Bài 11 : Lua – mảng

Lua – Mảng  Trang trướcTrang tiếp theo   Mảng là sự sắp xếp có thứ tự của các đối tượng, có […]

Bài 11 : Lua – mảng

Lua – Mảng


 Trang trướcTrang tiếp theo  

Mảng là sự sắp xếp có thứ tự của các đối tượng, có thể là mảng một chiều chứa tập hợp các hàng hoặc mảng nhiều chiều chứa nhiều hàng và cột.

Trong Lua, mảng được triển khai bằng cách sử dụng bảng đánh chỉ mục với các số nguyên. Kích thước của một mảng không cố định và nó có thể phát triển dựa trên yêu cầu của chúng ta, tùy thuộc vào các hạn chế về bộ nhớ.

Mảng một chiều

Mảng một chiều có thể được biểu diễn bằng cấu trúc bảng đơn giản và có thể được khởi tạo và đọc bằng vòng lặp for đơn giản . Một ví dụ đã được biểu diễn ở dưới.Bản thử trực tiếp

array = {"Lua", "Tutorial"}  for i = 0, 2 do    print(array[i]) end

Khi chúng tôi chạy đoạn mã trên, chúng tôi sẽ nhận được kết quả sau.

nil Lua Tutorial 

Như bạn có thể thấy trong đoạn mã trên, khi chúng ta cố gắng truy cập một phần tử trong một chỉ mục không có trong mảng, nó sẽ trả về nil. Trong Lua, việc lập chỉ mục thường bắt đầu từ chỉ mục 1. Nhưng cũng có thể tạo các đối tượng ở chỉ mục 0 và dưới 0. Mảng sử dụng chỉ số âm được hiển thị bên dưới, nơi chúng ta khởi tạo mảng bằng vòng lặp for .Bản thử trực tiếp

array = {}  for i= -2, 2 do    array[i] = i *2 end  for i = -2,2 do    print(array[i]) end

Khi chúng tôi chạy đoạn mã trên, chúng tôi sẽ nhận được kết quả sau.

-4 -2 0 2 4 

Mảng đa chiều

Mảng nhiều chiều có thể được thực hiện theo hai cách.

  • Mảng của mảng
  • Mảng một chiều bằng cách thao tác các chỉ số

Ví dụ cho mảng nhiều chiều của 3. 3 được hiển thị bên dưới bằng cách sử dụng mảng các mảng.Bản thử trực tiếp

-- Initializing the array array = {}  for i=1,3 do    array[i] = {} 	    for j=1,3 do       array[i][j] = i*j    end 	 end  -- Accessing the array  for i=1,3 do     for j=1,3 do       print(array[i][j])    end 	 end

Khi chúng tôi chạy đoạn mã trên, chúng tôi sẽ nhận được kết quả sau.

1 2 3 2 4 6 3 6 9 

Dưới đây là một ví dụ cho mảng đa chiều bằng cách sử dụng các chỉ số thao tác.Bản thử trực tiếp

-- Initializing the array  array = {}  maxRows = 3 maxColumns = 3  for row=1,maxRows do     for col=1,maxColumns do       array[row*maxColumns +col] = row*col    end 	 end  -- Accessing the array  for row=1,maxRows do     for col=1,maxColumns do       print(array[row*maxColumns +col])    end 	 end

Khi chúng tôi chạy đoạn mã trên, chúng tôi sẽ nhận được kết quả sau.

1 2 3 2 4 6 3 6 9 

Như bạn có thể thấy trong ví dụ trên, dữ liệu được lưu trữ dựa trên các chỉ số. Có thể đặt các phần tử một cách thưa thớt và đó là cách thực thi Lua của một ma trận hoạt động. Vì nó không lưu trữ các giá trị nil trong Lua, nên có thể tiết kiệm rất nhiều bộ nhớ mà không cần bất kỳ kỹ thuật đặc biệt nào trong Lua so với các kỹ thuật đặc biệt được sử dụng trong các ngôn ngữ lập trình khác.

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.
Home Dịch vụ Khóa học CPanel