Menu
Coddy logo textTech

요약 - 간단한 이벤트 핸들러

Coddy Lua 여정의 Logic & Flow 섹션에 포함된 레슨 — 54개 중 15번째.

challenge icon

챌린지

쉬움

미리 등록된 이벤트가 있는 간단한 이벤트 시스템을 생성하고 입력 매개변수에 따라 이벤트를 트리거하는 createEventSystem 함수를 작성하세요.

로직:

  • createEventSystem 내부에 이벤트를 저장할 빈 테이블을 생성합니다.
  • eventNamecallback을 인자로 받는 register 함수를 정의하고, 이벤트 이름을 키로 하여 콜백을 이벤트 테이블에 저장합니다.
  • eventNamearg를 인자로 받는 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

Logic & Flow의 모든 레슨