我是一個盧阿新手,我有一個問題,嘮叨我好幾天。如何設計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