我想提供一个表,其中包含os.date("*t")
输出中使用的字段的子集,并查看指定的字段是否与实际os.date("*t")
调用给出的字段匹配。像这样:
function datetimeTableTrue (dt)
local nowTodayTable = os.date("*t");
for i, v in ipairs(dt) do
print("ping");
if not (dt[i] == nowTodayTable[i] ) then
return(false);
end
end
print("pong");
return(true);
end
print(tostring(datetimeTableTrue({day=0,hour=15})))
我希望在星期一这里有 false ,因为' day'给出但不是1.但是,我总是得到一个真实的'从来没有" ping"输出。怎么样?
显然,我是Lua的新手,所以请原谅我的愚蠢。
答案 0 :(得分:2)
你想使用对而不是ipairs,ipairs只会遍历整数键
function datetimeTableTrue(dt)
local nowTodayTable = os.date("*t")
for k, v in pairs(dt) do
if nowTodayTable[k] ~= v then
return false
end
end
return true
end
print(datetimeTableTrue({day=0, hour=15}))
Lua不需要分号