Lua-기능
함수는 함께 작업을 수행하는 문 그룹입니다. 코드를 별도의 함수로 나눌 수 있습니다. 코드를 여러 함수로 나누는 방법은 사용자에게 달려 있지만 논리적으로 구분은 일반적으로 고유하므로 각 함수가 특정 작업을 수행합니다.
Lua 언어는 프로그램이 호출 할 수있는 다양한 내장 메서드를 제공합니다. 예 : 방법print() 콘솔에서 입력으로 전달 된 인수를 인쇄합니다.
함수는 메서드 나 서브 루틴, 프로 시저 등과 같은 다양한 이름으로 알려져 있습니다.
함수 정의
Lua 프로그래밍 언어에서 메서드 정의의 일반적인 형식은 다음과 같습니다.
optional_function_scope function function_name( argument1, argument2, argument3........,
argumentn)
function_body
return result_params_comma_separated
end
Lua 프로그래밍 언어의 메서드 정의는 메서드 헤더 와 메서드 본문으로 구성 됩니다. 다음은 방법의 모든 부분입니다.
Optional Function Scope− local 키워드를 사용 하여 함수의 범위를 제한하거나 범위 섹션을 무시하여 전역 함수로 만들 수 있습니다.
Function Name− 이것은 함수의 실제 이름입니다. 함수 이름과 매개 변수 목록은 함께 함수 서명을 구성합니다.
Arguments− 인수는 자리 표시 자와 같습니다. 함수가 호출되면 인수에 값을 전달합니다. 이 값을 실제 매개 변수 또는 인수라고합니다. 매개 변수 목록은 메소드 인수의 유형, 순서 및 수를 참조합니다. 인수는 선택 사항입니다. 즉, 메서드에 인수가 없을 수 있습니다.
Function Body − 메소드 본문에는 메소드의 기능을 정의하는 명령문 모음이 포함되어 있습니다.
Return − Lua에서는 return 키워드 뒤에 쉼표로 구분 된 반환 값을 사용하여 여러 값을 반환 할 수 있습니다.
예
다음은 호출 된 함수의 소스 코드입니다. max(). 이 함수는 두 개의 매개 변수 num1과 num2를 취하고 둘 사이의 최대 값을 반환합니다.
--[[ function returning the max between two numbers --]]
function max(num1, num2)
if (num1 > num2) then
result = num1;
else
result = num2;
end
return result;
end
함수 인수
함수가 인수를 사용하려면 인수 값을 허용하는 변수를 선언해야합니다. 이러한 변수를formal parameters 기능의.
형식 매개 변수는 함수 내부의 다른 지역 변수처럼 작동하며 함수에 들어가면 생성되고 종료시 삭제됩니다.
함수 호출
Lua 함수를 만드는 동안 함수가 수행해야하는 작업에 대한 정의를 제공합니다. 메서드를 사용하려면 정의 된 작업을 수행하기 위해 해당 함수를 호출해야합니다.
프로그램이 함수를 호출하면 프로그램 제어가 호출 된 함수로 전송됩니다. 호출 된 함수는 정의 된 작업을 수행하고 return 문이 실행되거나 함수의 끝에 도달하면 프로그램 제어를 다시 기본 프로그램으로 반환합니다.
메서드를 호출하려면 메서드 이름과 함께 필요한 매개 변수를 전달하기 만하면됩니다. 메서드가 값을 반환하면 반환 된 값을 저장할 수 있습니다. 예를 들면-
function max(num1, num2)
if (num1 > num2) then
result = num1;
else
result = num2;
end
return result;
end
-- calling a function
print("The maximum of the two numbers is ",max(10,4))
print("The maximum of the two numbers is ",max(5,6))
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
The maximum of the two numbers is 10
The maximum of the two numbers is 6
기능 할당 및 전달
Lua에서는 함수를 변수에 할당 할 수 있고 다른 함수의 매개 변수로 전달할 수도 있습니다. 다음은 Lua에서 매개 변수로 함수를 할당하고 전달하는 간단한 예입니다.
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)
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
This is my print function - ## 10 ##
This is my print function - ## 7 ##
가변 인수가있는 함수
'...'를 매개 변수로 사용하여 Lua에서 변수 인수가있는 함수를 생성 할 수 있습니다. 함수가 평균을 반환하고 가변 인수를 사용할 수있는 예제를 보면이를 파악할 수 있습니다.
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))
위의 코드를 실행하면 다음과 같은 출력이 표시됩니다.
The average is 5.5