Luaでソートしたいキー=>値テーブルがあります。キーはすべて整数ですが、連続していません (意味があります)。Lua の唯一のソート関数はtable.sort
、テーブルを単純な配列として扱い、元のキーと特定の項目との関連付けを破棄する のようです。代わりに、基本的にはPHP のasort()
関数を使用できるようにしたいと考えています。
私が持っているもの:
items = {
[1004] = "foo",
[1234] = "bar",
[3188] = "baz",
[7007] = "quux",
}
並べ替え操作の後に欲しいもの:
items = {
[1234] = "bar",
[3188] = "baz",
[1004] = "foo",
[7007] = "quux",
}
何か案は?
編集:回答に基づいて、私が使用している特定の埋め込みLuaインタープリターの単なる奇妙な癖であると想定しますが、すべてのテストで、pairs()
常に追加された順序でテーブル項目を返しますテーブル。(つまり、上記の 2 つの宣言は異なる方法で繰り返されます)。
残念ながら、これは通常の動作ではないため、必要なものを取得できないようです。Lua には (もちろん) 必要なツールが組み込まれておらず、組み込み環境は私が回避するにはあまりにも制限されています。
それでも、皆さん、助けてくれてありがとう!