LuaDate Metamethods问题与Lua 5.1.4

时间:2013-12-14 15:16:39

标签: lua openwrt

我是Lua的新手,想在OpenWrt系统上使用LuaDate Library作为我的项目。

似乎,Metamethods与Lua 5.1.4无法正常工作,这是版本 安装在OpenWrt Backfire中。如果我在osx上尝试使用Lua 5.1.5的以下代码:

date = require('date')
print(date('2013-12-14T00:07:04') < date('2013-12-14T12:07:01'))

是真的打印出来。如果我使用LUA 5.1.4在OpenWrt上运行代码,则会引发错误:

lua: test.lua:3: attempt to compare two table values
    stack traceback:
    test.lua:3: in main chunk
    [C]: ?

有可能解决这个问题吗?例如,直接调用Metamethods?

1 个答案:

答案 0 :(得分:0)

您正在从lib日期获取一个表,除了数字之外,您只能使用<。最好获取简单日期值的键名和值名称,以了解它具有哪些成员。

表示k,v成对(日期(“​​2013-12-14T00:07:04”))     print(“KEY:”.. k ..“,VALUE:”.. v) 端

获取键和值后,您可以使用以下内容:

local d = date("2013-12-14T00:07:04")
local num = 0
num = d.seconds
num = num + d.minutes * 60
num = num + d.hours * 3600
if (num < 1500) return end