回顾:简单事件处理程序
本课属于 Coddy Lua 学习旅程的“逻辑与流程”单元。第 15 课,共 54 课。
挑战
简单编写一个函数 createEventSystem,用于创建一个简单的事件系统,其中预先注册了事件,并根据输入参数触发其中一个事件。
逻辑:
- 在
createEventSystem内创建一个空表来存储事件 - 定义一个
register函数,它接收eventName和callback,并将回调函数存入事件表,以事件名称作为键 - 定义一个
trigger函数,它接收eventName和arg,在事件表中查找回调函数,并在找到时使用参数调用它 - 预先注册三个事件:
"double":接收一个数字,并返回它乘以 2 的结果"square":接收一个数字,并返回它的平方"increment":接收一个数字,并返回它加 1 的结果
- 使用
value参数触发由eventName参数指定的事件 - 返回触发事件的结果;如果事件不存在,则返回
"Event not found"
参数:
eventName(字符串):要触发的事件名称value(数字):要传递给事件回调函数的值
返回值:
- 回调函数的结果(数字);如果事件不存在,则返回
"Event not found"(数字 | 字符串)
亲手试试
function createEventSystem(eventName, value)
-- 在这里编写代码
end
逻辑与流程中的所有课
自己练习: Lua 在线编译器