어떤 명령어들을 묶어서 불러 사용하도록 하는 것을 '함수'라고 합니다. 함수를 호출 하려면 미리 함수가 정의되어 있어야 하지요
함수를 정의하려면 아래처럼 정의할 수 있어요.
local function hihi (a,b)
print("hihihi")
return 123
end
hihi()
print(type(hihi))
print(hihi)
print(hihi())
함수의 이름만 쓰면 '해당 함수의 위치주소'를 나타낼 뿐입니다.
함수를 동작시키려면 꼭 () 를 같이 불러줘야 합니다.
위 프로그램의 실행 결과는
hihihi
function
function: 0x558ea54200b0
hihihi
123
입니다.
함수 사용의 TIP
1.
함수를 선언하기 전에 함수를 실행하면 에러가 나요.
Lua는 위에서부터 한줄씩 실행하기 때문에 함수를 먼저 만들어 두고, 사용은 그 아래에서 호출 해야합니다.
2.
변수와 마찬가지로 local을 붙이면 해당 범위 안에서 사용하게 되고 아무것도 없으면 global 한 함수가 됩니다.
3.
return 을 통해 뭔가 작업한 값을 전달할 수도 있어요.
return 이 없는 함수도 가능합니다.
4.
함수의 파라미터에 다른 함수를 넣어서 함수 안에서 불러 쓸 수도 있어요
myprint = function(param)
print("This is my print function - ##",param,"##")
end
function add(num1,num2,functionPrint)
result = num1 + num2
functionPrint(result)
end
myprint(10)
add(2,5,myprint)
5.
파라미터가 미리 확정되지 않을 때 ... 이런 형태로 넘겨서 함수 안에서 하나씩 불러서 쓸 수도 있어요
function average(...)
result = 0
local arg = {...}
for i,v in ipairs(arg) do
result = result + v
end
return result/#arg
end
print("The average is",average(10,5,3,4,5,6))
'Lua' 카테고리의 다른 글
Lua#8 : Array (0) | 2020.08.20 |
---|---|
Lua#7 : String (0) | 2020.08.20 |
Lua#5 : 조건 (0) | 2020.08.11 |
Lua#4 : 반복 (0) | 2020.08.11 |
Lua#3 : 연산자 (Operation) (0) | 2020.08.11 |