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
Previous revision
api:event:zh [2023/11/29 12:51]
hfsr [函数]
api:event:zh [2023/11/29 13:11]
hfsr [通用事件处理函数]
Line 96: Line 96:
 在OpenOS 1.6.4及更高版本,中断功能已经被删除。下列两个函数现在已经过时。 在OpenOS 1.6.4及更高版本,中断功能已经被删除。下列两个函数现在已经过时。
  
-- `event.shouldSoftInterrupt():​ boolean` ​(自1.5.9起添加,在1.6.4被移除) +- `event.shouldSoftInterrupt():​ boolean`自1.5.9起添加,在1.6.4被移除)  ​ 
-- `event.shouldInterrupt():​ boolean` ​ (自1.5.9起添加,在1.6.4被移除)+- `event.shouldInterrupt():​ boolean`自1.5.9起添加,在1.6.4被移除
  
-中断是一类用于关闭或停止进程的消息。在OpenOS中`computer.pullSignal()`函数和修饰过的此函数会产生两种类型的事件。+中断是一类用于关闭或停止进程的消息。在OpenOS中`computer.pullSignal()`函数及其封装会产生两种类型的事件。
  
 若`event.pull*()`函数在指定了过滤器但不指定超时时间的情况下执行,一定情况下意味着无限期执行。这两种事件非常有用。 若`event.pull*()`函数在指定了过滤器但不指定超时时间的情况下执行,一定情况下意味着无限期执行。这两种事件非常有用。
  
-- 软中断是在按下`Ctrl+C`时产生的事件信号。信号包含两个参数,事件名称`"​interrupted"​` ​(中断)和电脑运行时间。+- 软中断是在按下`Ctrl+C`时产生的事件信号。信号包含两个参数,事件名称`"​interrupted"​`和电脑运行时间。
  
-- 硬中断在按下`Ctrl-Alt-C`时产生。它会通过抛出`"​interrupted"​`(中断)异常以强制停止`event.pull*()`函数。+- 硬中断在按下`Ctrl-Alt-C`时产生。它会通过抛出`"​interrupted"​`异常以强制退出`event.pull*()`函数。
  
 ===== 简易事件处理样例 ===== ===== 简易事件处理样例 =====
Line 123: Line 123:
  
 ===== 通用事件处理函数 ===== ===== 通用事件处理函数 =====
-此处提供了一个较好的通用事件处理函数。此样例以`event.pull()`函数返回的事件ID作为回调函数列表的键,用元方法来处理未定义事件。请注意`event.pull`函数会让程序进入等待状态,直到出现可用事件。+此处提供了一个较好的通用事件处理函数。此样例的主要功能是以`event.pull()`函数返回的事件名称作为回调函数列表的键,用元方法来处理未定义事件。请注意`event.pull`函数会让程序进入等待状态,直到出现可用事件。
  
 ```lua ```lua
Line 165: Line 165:
 event.listen("​key_up",​ handleEvent) --注册handleEvent函数,使其在key_up事件发生时被调用,然后结束程序 event.listen("​key_up",​ handleEvent) --注册handleEvent函数,使其在key_up事件发生时被调用,然后结束程序
 ``` ```
-也可以直接注册`myEventHandlers.key_up`,这样的话处理函数(`key_up`函数)会额外收到一个参数(事件名称)作为第一个参数。+也可以直接注册`myEventHandlers.key_up`,这样的话处理函数会额外收到一个参数事件名称作为第一个参数。
  
 目录 目录
 ----------- -----------
 {{page>​api:​contents:​zh&​noheader&​noeditbutton&​nouser&​nofooter}} {{page>​api:​contents:​zh&​noheader&​noeditbutton&​nouser&​nofooter}}