關於lua的table多條件排序方法

2021-09-29 02:37:32 字數 733 閱讀 2733

lua的table中實現了table.sort()方法,可以對table進行排序。如果遇到多個條件優先順序不同排序的情況,用數值大小對應條件優先順序大小可以,通過最終得到的數值大小進行比較

具體例子**

優先順序  --

雙倍型別

>

非雙倍型別;天賦經驗高

>

天賦經驗低;型別大於天賦經驗

table.sort(temp,function (a,b)

--雙倍型別》非雙倍型別;天賦經驗高》天賦經驗低

local a_sort = 0

local b_sort = 0

local if_a_more_than_b = a.talent_skill_exp > b.talent_skill_exp

a_sort = a_sort + ((a.table[1] == workingherolist.study_main) and 100 or 0)

b_sort = b_sort + ((b.table[1] == workingherolist.study_main) and 100 or 0)

a_sort = a_sort + (if_a_more_than_b and 10 or 0)

b_sort = b_sort + (if_a_more_than_b and 0 or 10)

return a_sort > b_sort

end)

關於CASE WHEN的多條件彙總問題

問題 建立測試表 if exists select from sys.objects where object id object id n dbo tb and type in n u drop table dbo tb1 gocreate table dbo tb1 卡狀態 nvarchar 2...

adodataset locate的多條件定位

tadoquery,tadodataset的locate功能相信大家都經常用了 with adoquery do begin if locate orders zhuang1 vararrayof vorder,vname then begin end end 可能大家有時候也會發現它有不靈的時候,...

Lua中table裡內嵌table的例子

廢話www.cppcns.com不多少,看代程式設計客棧碼 複製 如下 local temp insert table data local temp insert table n程式設計客棧bsp temp insert table data temp insert table data,temp...