lua中...的意义
2个回答
展开全部
... 就是 不定参数(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时后面带的参数。
纯手打,转侵删.
---------------例子 定义含有不定参数的函数 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时后面带的参数。
纯手打,转侵删.
展开全部
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有没有新的认识。
以上纯手打。
打字不易,如满意,望采纳。
举个例子
---------------------------------------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=...
谢谢您的帮助!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询