lua中...的意义

一个wow插件的lua文件中开始有句local addon=...
请问这是什么意思

... 就是 不定参数(arg),也就是说参数没有规定多少个。例如 print函数,他的参数就没有规定几个。

---------------例子 定义含有不定参数的函数 czf---------------------

function czf( i,...) --参数为i 和 arg

print( i)
print(...)
print(type(...))

print(arg[1])--arg等价于...

print(arg[3])

end

czf(1,2,3,4,5)

--应该输出
--1
--table 一个地址
--table
--2
--4
--------------------------例子2 文件中的arg-----------------------------------------------------------------

现在有一个文件 czf.lua

print (...)
print(arg)

print(arg[1])

--文件结束
--------------------------------------------------------

用 lua运行 上面的文件,命令行为
>lua -e "io.stdout:setvbuf 'no'" "czf.lua"
应该输出
table
table
nil

再运行一次,不过命令行为
>lua -e "io.stdout:setvbuf 'no'" "czf.lua" “czfczfczf“
注意最后面
输出
table
table
czfczfczf

在文件里的... 就是运行lua时后面带的参数。
纯手打,转侵删.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-30
LUA只有表。可以当容器,可以当结构体。
举个例子

---------------------------------------lua-----------------------------------------------
--定义全局表TableStruct,内容在使用的时候给结构体赋值。
local struct = {}

--给你的结构体赋值,“.” 的后面的 “Sex” ,“Age","Name"就类似于C/C++中的结构体成员。
function GetValue()
--给结构体赋值
TableStruct.Sex = "man"

TableStruct.Age = 22
TableStruct.Name = "LiMing"
end

function GetStrucValue()
--取表(结构体)中的值

local Sex = TableStruct.Sex
local Age = TableStruct.Age
local Name = TableStruct.Name

end
---------------------------------------------------------------------------------------------

再举个C的例子吧,内容内容同上

//定义结构体
struct Struct
{
char Sex;

int Age;

char Name;

}

//给结构体赋值
void GetValue()
{
Stuct.Sex = "man"
Stuct.Age = 22
Stuct.Name = "LiMing"
}

void GetStrucValue()
{
//取表(结构体)中的值
char Sex = Stuct.Sex
int Age = Stuct.Age
char Name = Stuct.Name
}

总结,lua中只有表,要在lua中定义结构体,需要先定义lua表,此例子是在表结构在赋值的时候确定。而c中的结构体是先把结构体的结构定义好,才使用。 除了上述例子,方法还有很多。这就是lua的最经典之处,不知道楼主对lua有没有新的认识。
以上纯手打。
打字不易,如满意,望采纳。追问

这些基本的常识我是懂的
这是wowlua插件的wowlua.lua开头的一小段
local addon = ...
local version = GetAddOnMetadata("WowLua", "Version") or "SVN"
我想知道的是local addon=...
谢谢您的帮助!

相似回答