table类型的遍历问题
lua吧
全部回复
仅看楼主
level 4
lua有没有一种机制,就是用pairs遍历table类型的时候访问不出结果,但实际上里面是有东西的?
2014年09月25日 12点09分 1
level 4
因为最近在魔兽的ydwe里面写lua,好像出现了这个问题
2014年09月25日 12点09分 2
level 4
3L上图
这边用count记录了com里面的元素个数,下图中打印出来为0,但是对com.DisplayTimedTextToPlaer打印却存在这个function,这是为什么[冷]
2014年09月25日 12点09分 3
level 13
你print人家函数,当然给你一个函数的地址了。
2014年09月25日 13点09分 4
但是这个函数是在com这个table里面的吧,可是我遍历com的时候显示元素数量为0啊[啊]
2014年09月25日 13点09分
level 8
有元表这种东东,可以让table访问不存在的域,好像。
2014年09月25日 13点09分 5
刚测试了一下,居然真的是这样子的。。不过它的__index方法是一个function而不是table,查不到其中有哪些元素。。不管怎么说,十分感谢你啦[哈哈]
2014年09月25日 14点09分
回复 幻想的天使御风 :[太开心]
2014年09月26日 04点09分
level 4
<? import 'sbs.lua'
[[
local consoles=require'jass.console'
consoles.enable=true
require'nimei'
]]
import 'nimei.lua' [[
local jass=require'jass.common'
local console=require'jass.console'
local message=require'jass.message'
console.write('测试开始!')
function sbsa()
--函数没有被call?没有实现重新加载的目的啊,lua 重新加载问题
local units= message.selection()--这里有问题 ,直接说这是个nil值。
local strings=jass.GetUnitName(units)
print(strings)--输出为nil说明是没有初始化吧?还是程序设计问题
jass.DisplayTimedTextToPlayer(jass.Player(0),0,0,60,'当前选择为:'..
strings)
end
--开启计时器,每0.1秒检查一次selection()
jass.TimerStart(jass.CreateTimer(),0.1,true,sbsa())--error2
]]
?>
2018年04月18日 03点04分 6
level 4
请问上楼的问题那个解决啊[怒]
2018年04月18日 03点04分 7
1