Я ищу метод сортировки таблицы Lua по цепочке значений. Скажем, таблица:
local vals = {
{ id = "checkpoint4" },
{ id = "checkpoint1", nextid = "checkpoint2" },
{ id = "checkpoint3", nextid = "checkpoint4" },
{ id = "checkpoint2", nextid = "checkpoint3" },
}
Должно превратиться в это после сортировки:
local vals = {
{ id = "checkpoint1", nextid = "checkpoint2" },
{ id = "checkpoint2", nextid = "checkpoint3" },
{ id = "checkpoint3", nextid = "checkpoint4" },
{ id = "checkpoint4" },
}
Это не по существу с одинаковыми именами, они могут отличаться. Я хотел сделать сравнение чисел после "контрольной точки", но оказалось, что мне приходится работать с такими динамическими вещами (уже отсортированными так, как я хочу):
local vals = {
{ id = "checkpoint1", nextid = "cp" },
{ id = "cp", nextid = "chp" },
{ id = "chp", nextid = "mynextcheckpoint" },
{ id = "mynextcheckpoint"},
}
Спасибо.