テーブルに要素を動的に追加するには、2 つの方法があるようです
table.insert(t, index, value) -- optional index
と
t[#t+1] = value
ドキュメントによると、インデックスがオフのままの場合、 とtable.insert(t, value)
まったく同じように動作するはずt[#t+1] = value
です。
何らかの理由で、テーブルに 2 つの値しか格納していないのに、 を反復処理すると 4 つのエントリが表示されますipairs
。
words = {}
for i = 0, 1 do
local word = io.read() -- word is familiarize
table.insert(words , word)
-- american to english spelling
word = word:gsub("ze","se")
table.insert(words , word)
end
for i,v in ipairs(words) do
print(i,v)
end
-- prints
-- 1
-- 2
-- 3 familiarize
-- 4 familiarise
これらの余分な 2 つのエントリがどこから来たのか、何か考えはありますか?