我是一个卢阿新手,我有一个问题,唠叨我好几天。如何设计lua程序纠正?
例如,在C语言中,我有如下的结构体:
struct userinfo{
int id,
char *name,
int age
}
如果我要定义不同用户的信息,我可以这样做:
struct userinfo user1;
struct userinfo user2;
但在Lua ,我不知道如何正确实现这个功能。我想我可以这样做:
local userinfo = {}
function userinfo.new(param)
local self = {id = param.id, name = param.name, age = param.age}
return self
end
return userinfo
local info = require "userinfo"
local user1 = info.new({id = 1, name = "xxx", age = 20})
local user2 = info.new({id = 2, name = "yyy", age = 20})
这看起来像满足我的需求,但感觉很奇怪。
我想知道如何使用lua自己的方式而不是c来设计程序。
请给我看代码,或者提供一些文档。非常感谢!
这就像完美的惯用Lua代码。做得好!你为什么觉得这很奇怪? – 2014-09-22 05:08:05
对于纯数据字段(即表中没有函数),不需要使用如您的示例中的“新”函数。只需正常申报表。此外,您正在分配临时表并将它们复制为空。 – michaelmeyer 2014-09-22 05:25:19