我的程序过滤了一些非偶数,但也过滤了一些偶数

  • 本文关键字:过滤 程序 lua
  • 更新时间 :
  • 英文 :


所以我需要写一个程序,它得到一个表作为输入,并给出相同的表作为输出,没有值与偶数键。所以基本上我需要过滤掉偶数键和它们的值,留下不均匀键和它们的值。

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>

最新更新