Latest web development tutorials

루아 배열

배열을 일차원 배열 및 다차원 배열 될 수있는 특정 순서의 데이터 요소의 동일한 타입의 컬렉션이다.

루아 배열 인덱스 키 값을 정수로 사용될 수 있으며, 어레이의 크기는 고정되지 않는다.


1 차원 배열

1 차원 배열은 가장 간단한 논리 구조의 배열은 선형 형태이다. 1 차원 배열은 배열에서 다음 예와 루프 요소를 사용할 수있다 :

array = {"Lua", "Tutorial"}

for i= 0, 2 do
   print(array[i])
end

출력은 상기 코드가 실행된다 :

nil
Lua
Tutorial

당신이 볼 수 있듯이 당신이 전무를 반환 인덱스 값이없는 알고있는 경우에, 우리는, 배열 요소에 액세스 할 정수 인덱스를 사용할 수 있습니다.

루아에서 인덱스 값은 1 시작,하지만 당신은 0을 지정할 수 있습니다.

또한 이외에, 또한 음의 배열 인덱스 값을 가질 수있다 :

array = {}

for i= -2, 2 do
   array[i] = i *2
end

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

출력은 상기 코드가 실행된다 :

-4
-2
0
2
4

다차원 배열

다차원 배열 인덱스 키의 어레이 또는 어레이에 대응하는 1 차원 배열을 포함하는 배열된다.

여기에 세 개의 행과 다차원 배열의 세 기둥의 배열은 다음과 같습니다

-- 初始化数组
array = {}
for i=1,3 do
   array[i] = {}
      for j=1,3 do
         array[i][j] = i*j
      end
end

-- 访问数组
for i=1,3 do
   for j=1,3 do
      print(array[i][j])
   end
end

출력은 상기 코드가 실행된다 :

1
2
3
2
4
6
3
6
9

세 가지 배열 다차원 배열 다른 인덱스 키의 세 행 :

-- 初始化数组
array = {}
maxRows = 3
maxColumns = 3
for row=1,maxRows do
   for col=1,maxColumns do
      array[row*maxColumns +col] = row*col
   end
end

-- 访问数组
for row=1,maxRows do
   for col=1,maxColumns do
      print(array[row*maxColumns +col])
   end
end

출력은 상기 코드가 실행된다 :

1
2
3
2
4
6
3
6
9

볼 수 있듯이, 상기 실시 예에서는, 배열의 인덱스를 지정한 값으로 설정되어 있으므로, 무 값 피 메모리 공간을 절약 할 수 있습니다.