6. 루아 함수편
※ 함수란?
프로그램은 함수의 모임이라고 할 수 있습니다. 물론 함수내에는 제어, 연산자 등등... 기타 코드들이 있습니다. 이런 함수들의 장점은 코드의 재사용으로 인한 중복회피 및 다른사람이 이해하기 쉽도록 하기 위함입니다.
a. 함수의 기본 형태
함수 기본 형태 |
function 함수명(인자) statement ... end |
함수의 형태는 위와 같은 형태로 되어있다. 여기서 function과 end는 함수의 시작과 끝을 알리는 구문이므로 반드시 써줘야 하며 함수명으로 호출하여 해당 함수를 사용하게 된다.
b. 함수의 입출력 - 인자를 통한 입력 및 return을 이용한 출력 방법
1 2 3 4 5 | function test(input) return "입력 : "..input; end print(test("korea")) |
위와 같이 입력 인자를 input으로 "korea"값을 받아서 .. 연산자를 이용하여 "입력 : "과 합친 뒤 return하는 형태로 되어있다.
출력 결과는 "입력 : korea" 이다.
c. 다중 입출력 - 입력 인자 및 return인자를 여러개를 줄 수 있다. 반환된 return인자는 차례대로 반환받는 변수에
저장되며, 만약 변수가 부족하다면 부족분의 값은 제외되고 앞의 결과만 반환 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function test(a,b) a1 = a+b; a2 = a-b; a3 = a*b; a4 = a/b; return a1, a2, a3, a4; end print(test(10,2)) q,w,e,r = test(10,2); print(q,w,e,r) |
위와 같이 입력인자를 2개를 이용하여 4칙연산을 실행하고 4개의 값을 차례대로 반환하도록 되어있다.
출력결과는 둘다 12 8 20 5 이다.
d. 가변인수 - 입력 인자를 몇개까지 들어오는지 확신할 수 없을때 가변인수를 처리하도록 '...' 를 루아에서는 제
공합니다. 입력받은 가변인수는 arg.n으로 얻을수 있으며 가변인자는 arg[i]를 사용하여 받을 수
있습니다.
1 2 3 4 5 6 7 8 | function print_intpus(...) print("입력인자 갯수 : "..arg.n); for i=1, arg.n do print(i.."번째 인자 : "..arg[i]); end end print_intpus(1,2,3,4,5); |
1 2 3 4 5 6 7 8 9 10 | function print_intpus(a,b,...) print("입력인자 갯수 : "..arg.n); ret = a+b; for i=1, arg.n do ret = ret + arg[i]; end print("a, b, 인자의 합 : "..ret);; end print_intpus(1,2,3,4,5); |
'프로그래밍 언어 > Lua' 카테고리의 다른 글
7. C++에서 루아 사용하기 (0) | 2011.10.16 |
---|---|
5. 루아 제어문편 (0) | 2009.09.02 |
4. 루아 연산자편 (0) | 2009.09.02 |
3. 루아 변수편 (0) | 2009.08.31 |
2. 루아로 찍어보자 "Hello, World!" (2) | 2009.08.31 |