일급 값으로서의 함수
Coddy Lua 여정의 로직 및 흐름 제어 (Logic & Flow) 섹션에 포함된 레슨. 54개 중 12번째.
Lua에서 함수는 단순히 작업을 수행하는 코드 블록 그 이상입니다. 함수는 다른 데이터 유형과 마찬가지로 다룰 수 있는 값입니다. 즉, 숫자, 문자열 또는 테이블을 다루는 것과 같은 방식으로 함수를 사용할 수 있습니다.
함수를 변수에 저장할 수 있습니다:
local greet = function()
print("Hello!")
end
greet() -- 출력: Hello!여기서 함수는 변수 greet에 할당되며, 일반 함수와 마찬가지로 호출할 수 있습니다. 이를 통해 코드를 구성하는 방식에 강력한 가능성이 열립니다.
함수는 다른 함수에 인수로 전달할 수도 있습니다. 이는 한 함수가 다른 함수에 정의된 동작을 사용하도록 하려는 경우에 특히 유용합니다:
function executeAction(action)
action()
end
local sayHello = function()
print("Hello from a function!")
end
executeAction(sayHello) -- 출력: Hello from a function!이 예제에서 executeAction은 함수를 매개변수로 받아 호출합니다. 함수 sayHello는 숫자나 문자열을 전달하는 것과 마찬가지로 전달됩니다.
함수는 심지어 다른 함수를 반환할 수도 있습니다. 이를 통해 특정 조건이나 매개변수를 기반으로 함수를 동적으로 만들 수 있습니다:
function createMultiplier(factor)
return function(number)
return number * factor
end
end
local double = createMultiplier(2)
print(double(5)) -- 출력: 10챌린지
쉬움Write 함수 applyOperation을 작성하세요. 이 함수는 a, b, operation을 받아 두 숫자에 operation 함수 적용 결과를 반환합니다.
operation 매개변수는 a와 b를 인수로 받아 호출할 함수를 포함하는 테이블입니다.
로직:
"func"키를 사용하여operation테이블에서 함수를 추출합니다.a와b를 인수로 사용하여 해당 함수를 호출합니다.- 결과를 반환합니다.
매개변수:
a(number): 첫 번째 숫자b(number): 두 번째 숫자operation(table):"func"키에 저장된 함수를 포함하는 테이블
반환값: a와 b를 사용하여 operation 함수를 호출한 결과 (number)
직접 해보기
function applyOperation(a, b, operation)
-- 여기에 코드를 작성하세요
end
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 및 흐름 제어 (Logic & Flow)의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러