-- 开始读 message 表
if read_type == ">" then
    local sql = "select * from message where date ".. read_type .." ".. local_date  .. " LIMIT 1"; -- 读 sms 表中,时间戳大于本地存储最后一条短信时间戳的一条短信
end

if read_type == "=" then
    local sql = "select * from message where date ".. read_type .." ".. local_date; -- 读 sms 表中,时间戳等于 本地存储最后一条短信时间戳的 所有 短信
end
--          "select * from message where date = 88888888 LIMIT 1"
if is_Debug then
    dialog((debug.getinfo(1).currentline)..",sql:".. sql);
end

以上写法,在 dialog((debug.getinfo(1).currentline)..",sql:".. sql); 时,报错 sql 值为 nil。
-- dialog 是触动精灵的屏幕打印函数


改为:

-- 开始读 message 表
local sql = "";
if read_type == ">" then
    sql = "select * from message where date ".. read_type .." ".. local_date  .. " LIMIT 1"; -- 读 sms 表中,时间戳大于本地存储最后一条短信时间戳的一条短信
end

if read_type == "=" then
    sql = "select * from message where date ".. read_type .." ".. local_date; -- 读 sms 表中,时间戳等于 本地存储最后一条短信时间戳的 所有 短信
end

在一开始用 local 定义局部变量,一切正常。

诡异的 Bug

标签: Lua, 触动精灵, 局部变量, local

添加新评论