Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
api:event:zh [2023/10/12 17:53]
hfsr [函数]
api:event:zh [2023/10/12 18:00]
hfsr [通用事件处理函数]
Line 115: Line 115:
  
 ===== 通用事件处理函数 ===== ===== 通用事件处理函数 =====
-此处提供了一个较好的通用事件处理函数。此样例的主要功能是以`event.pull()`函数返回的事件ID作为回调函数列表的键,用元方法来处理未定义事件。请注意`event.pull`函数会让程序进入等待状态,直到出现可用事件。+此处提供了一个较好的通用事件处理函数。此样例以`event.pull()`函数返回的事件ID作为回调函数列表的键,用元方法来处理未定义事件。请注意`event.pull`函数会让程序进入等待状态,直到出现可用事件。
  
 ```lua ```lua
Line 128: Line 128:
  
 --存储所有事件处理函数的列表 --存储所有事件处理函数的列表
---会返回占位函数unknownEvent,以防无法匹配+--会返回占位函数unknownEvent,以防无法匹配
 local myEventHandlers = setmetatable({},​ { __index = function() return unknownEvent end }) local myEventHandlers = setmetatable({},​ { __index = function() return unknownEvent end })
  
Line 152: Line 152:
  
  
-如果程序以驱动模式运作,你需要注册事件作为替代。可以将所有事件注册到像上面样例一样的全局事件处理函数,也可以将每个事件注册到对应的处理函数。如果你希望上面的样例在后台运行,`while running do`循环需要替换为类似下面的代码:+如果程序以驱动模式运作,你需要注册事件而不是拉取事件可以将所有事件注册到像上面样例一样的全局事件处理函数,也可以将每个事件注册到对应的处理函数。如果你希望上面的样例在后台运行,`while running do`循环需要替换为类似下面的代码:
  
 ```lua ```lua
 event.listen("​key_up",​ handleEvent) --注册handleEvent函数,使其在key_up事件发生时被调用,然后结束程序 event.listen("​key_up",​ handleEvent) --注册handleEvent函数,使其在key_up事件发生时被调用,然后结束程序
 ``` ```
-也可以直接注册`myEventHandlers.key_up`,这样的话会额外收到一个参数(事件名称)作为第一个参数。+也可以直接注册`myEventHandlers.key_up`,这样的话处理函数(`key_up`函数)会额外收到一个参数(事件名称)作为第一个参数。
  
 目录 目录
 ----------- -----------
 {{page>​api:​contents:​zh&​noheader&​noeditbutton&​nouser&​nofooter}} {{page>​api:​contents:​zh&​noheader&​noeditbutton&​nouser&​nofooter}}