Project1
标题:
请问:解释器里面的子解释器问题
[打印本页]
作者:
kvkv97
时间:
2023-11-13 21:32
标题:
请问:解释器里面的子解释器问题
在interpreter类里面的方法update
# 子注释器存在的情况下
if @child_interpreter != nil
# 刷新子注释器
@child_interpreter.update
# 子注释器执行结束的情况下
unless @child_interpreter.running?
# 删除字注释器
@child_interpreter = nil
end
# 如果子注释器还存在
if @child_interpreter != nil
return
end
end
在调用公共事件中,解释器的子解释器调用update(@child_interpreter.update),怎么不出现栈过深的情况?
作者:
百里_飞柳
时间:
2023-11-14 00:05
因为子解释器里没有再绑定子解释器了,所以@child_interpreter.update里面不会执行这一段……
作者:
kvkv97
时间:
2023-11-15 21:10
用公共事件的时候,公共事件设置为文章显示,P @list,就会出现[#<公共事件>]和[#<文章显示事件>],你的意思是说:解释器首先运行了公共事件,再在方法里面设置子解释器以执行<文章显示事件>,这个就是指解释器不绑定子解释器吗?
作者:
srwjrevenger
时间:
2023-11-26 14:22
a默认子解释器是nil
每当a调用公共事件
a的@child_interpreter就变成对应的b
此时b的@child_interpreter默认是nil
在a刷新的时候b也在刷新和执行,直到b执行结束,a的刷新才会进入下一个指令
不管套多少层都是这样的,你如果看不懂就没辙了... ...
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1