我对这段代码有疑问
ch = s:taboption("general", Value, "channel", translate("Channel"))
ch:value("auto", translate("auto"))
for _, f in ipairs(iw and iw.freqlist or { }) do
if not f.restricted then
ch:value(f.channel, "%i (%.3f GHz)" %{ f.channel, f.mhz / 1000 }) //this line?
end
end
线是做什么的?
ch:value(f.channel, "%i (%.3f GHz)" %{ f.channel, f.mhz / 1000 })
我认为它为 ch 分配了一些值,但我不明白是哪一个,因为我无法完全理解这部分的作用"%i (%.3f GHz)" %{ f.channel, f.mhz / 1000 }
提前致谢!
完整代码
-- Check whether there is a client interface on the same radio,
-- if yes, lock the channel choice as the station will dicatate the freq
local has_sta = nil
local _, net
for _, net in ipairs(wdev:get_wifinets()) do
if net:mode() == "sta" and net:id() ~= wnet:id() then
has_sta = net
break
end
end
if has_sta then
ch = s:taboption("general", DummyValue, "choice", translate("Channel"))
ch.value = translatef("Locked to channel %d used by %s",
has_sta:channel(), has_sta:shortname())
else
ch = s:taboption("general", Value, "channel", translate("Channel"))
ch:value("auto", translate("auto"))
-- for _, f in ipairs(iw and iw.freqlist or { }) do
for _.iw.chanlist, f in ipairs(iw and iw.freqlist or iw.channels) do
if not f.restricted then
ch:value(f.channel, "%i (%.3f GHz)" %{ f.channel, f.mhz / 1000 })
end
end
end