요약 - 간단한 이벤트 핸들러
Coddy Lua 여정의 논리와 흐름 제어 섹션에 포함된 레슨. 54개 중 15번째.
챌린지
쉬움사전 등록된 이벤트를 포함하는 간단한 이벤트 시스템을 만들고 입력 매개변수에 따라 이벤트를 실행하는 함수 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 컴파일러