print("Hello, World")
local TABLE_USER = "user"
local ts = {}
ts[TABLE_USER] = {
name = TABLE_USER,
primary_key = {
value = {"user_id"},
gen = function(user_id)
local t = {}
t["user_id"] = user_id
return t
end
},
_attribute = {
user_id = function(v)
return nil, tonumber(v), tonumber(v)
end,
account_id = function(v)
return nil, tonumber(v), tonumber(v)
end,
name = function(v)
return "", tostring(v), tostring(v)
end,
gender = function(v)
return 1, tonumber(v), tonumber(v)
end
}
}
local m = {
__index = function(t, key)
print("no such key ".. key)
if key == "struct" then
t[key] = {}
for k, v in pairs(t._attribute) do
t[key][k] = function(value)
local default, _, _ = t._attribute[k](value)
return default
end
end
return t[key]
elseif key == "readCheck" then
t[key] = {}
for k, v in pairs(t._attribute) do
t[key][k] = function(value)
print(value)
local a, readValue, c = t._attribute[k](value)
print(a, readValue, c, k)
print(k, readValue)
return readValue
end
end
return t[key]
elseif key == "writeCheck" then
t[key] = {}
for k, v in pairs(t._attribute) do
t[key][k] = function(value)
local _, _ , writeValue = t._attribute[k](value)
return writeValue
end
end
return t[key]
else
return nil
end
end
}
setmetatable(ts[TABLE_USER], m)
print(ts[TABLE_USER].struct["gender"]())
print("=============================")
print(ts[TABLE_USER].struct["gender"]())
print("=============================")
print(ts[TABLE_USER].readCheck["account_id"](32132321))
print("=============================")
print(ts[TABLE_USER].readCheck["account_id"](32132321))
print("=============================")
print(ts[TABLE_USER].writeCheck["name"]("ccc"))
print("=============================")
print(ts[TABLE_USER].writeCheck["name"]("ccc"))