요약 - 간단한 이벤트 핸들러
Coddy Lua 여정의 Logic & Flow 섹션에 포함된 레슨 — 54개 중 15번째.
챌린지
쉬움미리 등록된 이벤트가 있는 간단한 이벤트 시스템을 생성하고 입력 매개변수에 따라 이벤트를 트리거하는 createEventSystem 함수를 작성하세요.
로직:
createEventSystem내부에 이벤트를 저장할 빈 테이블을 생성합니다.eventName과callback을 인자로 받는register함수를 정의하고, 이벤트 이름을 키로 하여 콜백을 이벤트 테이블에 저장합니다.eventName과arg를 인자로 받는trigger함수를 정의하고, 이벤트 테이블에서 콜백을 찾아 존재하면 해당 인자와 함께 호출합니다.- 세 가지 이벤트를 미리 등록합니다:
"double": 숫자를 받아 2를 곱한 값을 반환합니다."square": 숫자를 받아 그 제곱을 반환합니다."increment": 숫자를 받아 1을 더한 값을 반환합니다.
eventName매개변수로 지정된 이벤트를value매개변수와 함께 트리거합니다.- 트리거된 이벤트의 결과를 반환하거나, 이벤트가 존재하지 않으면
"Event not found"를 반환합니다.
매개변수:
eventName(string): 트리거할 이벤트의 이름value(number): 이벤트 콜백에 전달할 값
반환값:
- 콜백 함수의 결과 (number), 또는 이벤트가 존재하지 않을 경우
"Event not found"(number|string)
직접 해보기
function createEventSystem(eventName, value)
-- 여기에 코드를 작성하세요
end