String Lua中字符串比较失败
我正在尝试为LuCI(OpenWrt使用的web界面)做一个小的扩展。然而,这个问题非常笼统,与lua的关系比其他任何问题都要大 我有以下代码:String Lua中字符串比较失败,string,lua,string-comparison,String,Lua,String Comparison,我正在尝试为LuCI(OpenWrt使用的web界面)做一个小的扩展。然而,这个问题非常笼统,与lua的关系比其他任何问题都要大 我有以下代码: for k, v in ipairs(nixio.getifaddrs()) do if v.family == "packet" then s = s .. ifname .. "=" .. v.name .. '?' if iface == v.name then s = s .. "
for k, v in ipairs(nixio.getifaddrs()) do
if v.family == "packet" then
s = s .. ifname .. "=" .. v.name .. '?'
if iface == v.name then
s = s .. "T\t"
match = 1
break
else
s = s .. "F\t"
end
end
end
每次我运行(ifname=“lo”
,但它在任何情况下都会失败,s
字符串打印如下:
lo=lo?F lo=eth0?F lo=eth1?F lo=br-lan?F lo=wlan1?F lo=wlan0?F
我已经对它进行了一些调试,但是我仍然不明白为什么字符串比较在这种情况下不起作用。我不是lua方面的专家,所以可能是我遗漏了一些明显的东西。有人能看看是什么吗
s = s .. ifname .. "=" .. v.name .. '?'
if iface == v.name then
您在比较中使用的是
iface
,而不是ifname
。如果一个变量以前没有给定值,那么它的值是nil
,但没有给出错误,因为它是合法的Lua。承认这有点尴尬,但我已经研究了一段时间,但没有成功。非常感谢您指出这个愚蠢的错误:)