English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Lua for 루프

Lua 루프

Lua for 루프 문은 지정된 문장을 반복적으로 실행할 수 있으며, 반복 횟수는 for 문에서 제어할 수 있습니다.

Lua 프로그래밍 언어의 for 문은 두 가지 크게 나뉩니다:

  • 数值 for 루프

  • 일반 for 루프

数值 for 루프

Lua 프로그래밍 언어의数值 for 루프 문법 형식:

for var=exp1, exp2, exp3 do  
    <실행체>  
end

var는 exp에서1 변화됩니다.2각 변화는 exp로3 변수 var의 단계적으로 증가를 위해, 한 번 실행합니다. "실행체"는 선택 사항입니다. 지정하지 않으면 기본적으로3 는 선택 사항입니다. 지정하지 않으면 기본적으로1。

온라인 예제

for i=1,f(x) do
    print(i)
end
 
for i=10,1,-1 do
    print(i)
end

for 문의 세 개의 표현식은 루프가 시작하기 전에 한 번에 계산되고, 이후 계산되지 않습니다. 예를 들어, 위의 f(x)은 루프가 시작하기 전에 한 번만 실행되며, 그 결과는 루프에서 사용됩니다.

다음과 같이 확인할 수 있습니다:

#!/usr/local/bin/lua  
function f(x)  
    print("function")  
    return x*2   
end  
for i=1,f(5) do print(i)  
end

위의 예제 출력 결과는 다음과 같습니다:

function
1
2
3
4
5
6
7
8
9
10

함수 f(x)은 루프가 시작하기 전에 한 번만 실행됩니다.

일반 for 루프

일반 for 루프는 이터레이터 함수를 통해 모든 값을 탐색하여, Java의 foreach 문과 유사합니다.

Lua 프로그래밍 언어에서 일반 for 루프 문법 형식:

--배열 a의 모든 값을 출력하다  
a = {"one", "two", "three"}
for i, v in ipairs(a) do
    print(i, v)
end

i는 배열 인덱스 값이고, v는 해당 인덱스의 배열 요소 값입니다. ipairs는 Lua가 제공하는 이터레이터 함수로, 배열을 이터레이션합니다.

온라인 예제

배열 days를 루프하다:

#!/usr/local/bin/lua  
days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
for i,v in ipairs(days) do  print(v) end

위의 예제 출력 결과는 다음과 같습니다:

일요일
월요일
화요일
수요일
목요일
금요일
토요일

Lua 루프