3
我正在嘗試練習table.sort
ing和表格。我正在採取下表t{}
和table.sort
它由每個名稱的數值。我在將原始表格t{}
打印到a{}
(我想打印a{}
只是爲了清除該問題)時遇到問題。我將在哪裏放置print (
和什麼代碼?)
成這樣的代碼?試圖檢查我的工作,但如何打印()?
對不起菜鳥,初學者的問題。但我在理解將print()
行粘貼到function
或代碼來檢查它們的問題時遇到問題。我正在改變return
與print
等,我仍然無法掌握這部分。
我欣賞幫助傢伙!
t = {
Steve = 4,
Derek = 1,
Mike = 3,
Steph = 8,
Mary = 15,
Danny = 10
}
function pairsByKeys (t,f)
local a = {}
for x in pairs (t) do
a[#a + 1] = x
end
table.sort(a,f)
local i = 0
return function()
i = i + 1
return a[i], t[a[i]]
end
end
local timer = os.time()
repeat until os.time() > timer + 10
衛生署!謝謝。那麼如果我想讓他們按照他們的數值排序名稱,我在代碼中做了什麼錯誤?例如,'Dekek 1'將會是第一個,然後'Mike 3'將會是第二個,等等。 – Pwrcdr87
@ Pwrcdr87該函數被命名爲'pairsByKeys',因爲它的作用是按鍵排序。你需要一個不同的迭代器來按值排序。 –
@ Pwrcdr87一個簡單的方法是建立另一個帶有反向鍵值對的表格,例如'{4 = Steve,1 = Derek}'等等,然後使用'pairsByKeys'打印這個表格。 –