テーブルを並べ替える変数sort_on_values(t, ...)
がどこにあるかという関数が必要です。または、テーブルを並べ替える変数を含むテーブルはどこにありますか。または、そのようなものです。...
t
sort_on_values(t, t_v)
t_v
t
関数は、ソートされたテーブルを返すか、既存のテーブルをソートします。
例1:
私はテーブルを持っています
t = {{a=1,b=2,c=3},
{a=1,b=1,c=2},
{a=3,b=2,c=2}}
私はこれをします:
t = sort_on_values(t,a,b,c)
そしてその結果、私は次のようになります。
t == {{a=1,b=1,c=2},
{a=1,b=2,c=2},
{a=3,b=2,c=2}}
例2:
私はこれをします:
t = sort_on_values(t,b,a,c)
そしてその結果、私は次のようになります。
t == {{a=1,b=1,c=2},
{a=1,b=2,c=3},
{a=3,b=2,c=2}}
これは、次のようなテーブルがある場合にも機能するはずです。
t = {{a=1,b=1,c=2,d=1},
{a=1,b=2,c=3,d=2},
{a=3,b=2,c=2,d=3}}
等々。
どうやってやるの?
vararg 関数のバリアント
function sort_on_values(t,...)
local a = {...}
table.sort(t, function (u,v)
for i = 1, #a do
if u[a[i]] > v[a[i]] then return false end
if u[a[i]] < v[a[i]] then return true end
end
end)
end
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加