Menu
CoddyTech

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

Coddy Lua 여정의 논리와 흐름 제어 섹션에 포함된 레슨. 54개 중 15번째.

challenge icon

챌린지

쉬움

사전 등록된 이벤트를 포함하는 간단한 이벤트 시스템을 만들고 입력 매개변수에 따라 이벤트를 실행하는 함수 createEventSystem을 작성하세요.

로직:

  • createEventSystem 내부에 이벤트를 저장할 빈 테이블을 만드세요.
  • eventName과 callback(이벤트가 실행될 때 나중에 실행할 함수)을 받는 register 함수를 정의하고, 이벤트 이름을 키로 사용해 이벤트 테이블에 콜백을 저장하세요.
  • eventName과 arg를 받는 trigger 함수를 정의하세요. 이 함수는 이벤트 테이블에서 콜백을 찾아, 존재하면 인수와 함께 호출합니다.
  • 어떤 이벤트든 실행하기 전에 다음 세 가지 이벤트를 등록하세요.
    • "double": 숫자를 받아 2를 곱한 값을 반환합니다.
    • "square": 숫자를 받아 제곱한 값을 반환합니다.
    • "increment": 숫자를 받아 1을 더한 값을 반환합니다.
  • eventName 매개변수에 지정된 이벤트를 value 매개변수와 함께 실행하세요.
  • 실행된 이벤트의 결과를 반환하거나, 이벤트가 존재하지 않으면 "Event not found"를 반환하세요.

매개변수:

  • eventName (문자열): 실행할 이벤트의 이름
  • value (숫자): 이벤트 콜백에 전달할 값

반환값:

  • 콜백 함수의 결과(숫자) 또는 이벤트가 존재하지 않으면 "Event not found"(숫자|문자열)

직접 해보기

function createEventSystem(eventName, value)
    -- 여기에 코드를 작성하세요
end

논리와 흐름 제어의 모든 레슨

직접 연습해 보세요: 온라인 Lua 컴파일러