Lua中的功能

Ank*_*Ank 3 lua functional-programming function

我开始从Lua编程中学习Lua(第2版)我在书中不理解以下内容.

network = {
          {name ="grauna", IP="210.26.30.34"},
          {name ="araial", IP="210.26.30.23"},
}
Run Code Online (Sandbox Code Playgroud)

如果我们想按字段名称对表进行排序,作者会提到

table.sort(network, function (a,b) return (a.name > b.name) end }
Run Code Online (Sandbox Code Playgroud)

这里发生了什么事?功能(a,b)代表什么?功能是关键词还是其他什么.

如果正在玩它并创建一个表顺序

 order={x=1,x=22,x=10} // not sure this is legal
Run Code Online (Sandbox Code Playgroud)

然后呢

 print (table.sort(order,function(a,b) return (a.x > b.x) end))
Run Code Online (Sandbox Code Playgroud)

我没有得到任何输出.我哪里错了?

谢谢

rid*_*rid 8

它是一个匿名函数,它接受两个参数,true如果第一个参数小于第二个参数则返回.table.sort()为每个需要排序的元素运行此函数,并将每个元素与前一个元素进行比较.

  • @Ankur,如果要定义表的表,请使用`order = {{x = 1},{x = 22},{x = 10}}`.`order = {x = 1,x = 22,x = 10}`会一遍又一遍地设置`x`键,你最终会得到一个带有单个键的表,`x`,其值为`10`. (2认同)