所以我需要写一个程序,它得到一个表作为输入,并给出相同的表作为输出,没有值与偶数键。所以基本上我需要过滤掉偶数键和它们的值,留下不均匀键和它们的值。
local function selecteer_oneven(tabel)
for q, n in ipairs(tabel) do
if (q % 2) == 0 then
table.remove(tabel, q)
end
end
return tabel
end
local function printtabel(tabel)
for k,v in pairs(tabel) do
print(k,v)
end
end
io.write("Geef een lua-tabel: ")
local tabelstring = "t = "..io.read()
local string2tab = loadstring(tabelstring)
string2tab()
local resultaat = selecteer_oneven(t)
printtabel(resultaat)
我的输入是
{ "aap", "kat", "hond", "paard", "kip", "salamander", "programmeren is leuk" }
,我的输出是
1 aap
2 hond
3 paard
4 salamander
5 programmeren is leuk
(抱歉是荷兰语)
"Aap", "Hond", "Programmeren is leuk"是唯一不平坦的。"鹦鹉"one_answers"蝾螈";甚至.
不做表。同时把你正在检查的桌子移开。
最好做第二个本地表插入q
.
最后返回第二个表…
local function selecteer_oneven(tabel)
local tabel2={}
for q, n in ipairs(tabel) do
if (q % 2) ~= 0 then
table.insert(tabel2, q)
end
end
return tabel2
end
…尚未测试;-)
EDIT: test withlua -i
-- <ready>
>function selecteer_oneven(tabel)
local tabel2={}
for q, n in ipairs(tabel) do
if (q % 2) ~= 0 then
table.insert(tabel2, q)
end
end
return tabel2
end
-- <ready>
>dump(selecteer_oneven({1,2,3,4,5,6,7,8,9,10}))
1=1
2=3
3=5
4=7
5=9
-- <ready>
>-- whats dump?
-- <ready>
>code.dump
-- dump()
return function(dump)
for key,value in pairs(dump) do
io.write(string.format("%s=%sn",key,value))
end
end
-- <ready>