尝试检查我的工作,但如何进行打印()?

我正在尝试练习使用 table.sort 和表格。我使用下面的表格 t{} 并通过每个名称的数值进行table.sort。 我在将其排序为 a{} 后打印原始表格 t{}时遇到问题(我只是想澄清一下我正在尝试打印 a{})。我应该把 print ( 什么代码? ) 放在这样的代码中的什么位置?

对于一个初学者来说,这个问题可能很基础。但我在理解在 function 或代码中放置 print() 行以进行检查时遇到问题。我正在使用 print 更改 return 等。但我仍然无法理解这部分内容。

感谢各位的帮助!

 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
点赞
用户1009479
用户1009479

pairsByKeys 被实现为一个迭代器函数(类似于标准库提供的 pairsipairs 函数),因此您可以在通用 for 语句中使用它,如下所示(使用默认比较函数):

for k,v in pairsByKeys(t) do
    print(k, v)
end

输出:

Danny   10
Derek   1
Mary    15
Mike    3
Steph   8
Steve   4
2013-10-03 14:16:36