Lua中什么叫有环table和无环table?
答案:2 悬赏:10 手机版
解决时间 2021-02-24 14:14
- 提问者网友:凉末
- 2021-02-23 17:27
Lua中什么叫有环table和无环table?
最佳答案
- 五星知识达人网友:忘川信使
- 2021-02-23 18:53
local a = {}
local b = {}
a.next = b
b.next = a
a和b之间存在相互引用关系
在很多语言里 这样的结构会使a和b无法被系统执行的垃圾回收所回收
但是lua里这样是可以回收的
如果你希望可以被更轻易的回收 可以使用lua的弱引用
local b = {}
a.next = b
b.next = a
a和b之间存在相互引用关系
在很多语言里 这样的结构会使a和b无法被系统执行的垃圾回收所回收
但是lua里这样是可以回收的
如果你希望可以被更轻易的回收 可以使用lua的弱引用
全部回答
- 1楼网友:行路难
- 2021-02-23 20:08
虽然也用lua,但是没听说table有没有环呀。一般环是数据结构的概念。你是从哪里看到这个问题的?追问Lua程序设计(第二版),第12.2.1章节 保存无环的table,12.2.2章节,保存有环的table。追答这个等价于数据结构的环路的概念,因为数据又指向自身了,如果不处理这种情况,会导致死循环。我没细看,但估计是做了一个保存项的缓存,如果发现已经保存过,可能就保存一个索引,而不是具体内容,这样避免了环路导致的死循环
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯