【问题标题】:Sorting Tables - Lua排序表 - Lua
【发布时间】:2009-11-01 15:53:06
【问题描述】:

我正在尝试排序,但结果为零。我该如何解决这个问题?

我正在使用的代码:(按名称和 HP 对其进行排序。以防有重复的 HP)

T = { {Name = "Mark", HP = 54, Breed = "Ghost"}, 
      {Name = "Stan", HP = 24, Breed = "Zombie"}, 
      {Name = "Juli", HP = 100, Breed = "Human"},
                    { HP = 100, Breed = "Human"}
    }

function Sorting(T)
    table.sort(T, 
        function(x,y)
            return x.Name < y.Name and x.HP < y.HP
        end
    )
end

【问题讨论】:

  • 使用缩进自动格式化代码示例。

标签: lua


【解决方案1】:

假设如果 name 不可用,您想通过 HP 进行比较,那么您将排序比较功能更改为:

function(x, y)
  if x.Name == nil or y.Name == nil then return x.HP < y.HP
  else return x.Name < y.Name and x.HP < y.HP
  end
end

您的问题是,如果 Name 不是一直可用,它就不是真正的密钥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    相关资源
    最近更新 更多