Ich habe derzeit ein größeres Programm in LuaTeX (das ist eine TeX-Engine mit einem eingebauten Lua-Interpreter) und in einem Teil des Programms ist eine Tabelle sortiert. Die Tabellenelemente selbst sind Tabellen mit einer bestimmten Struktur und die Sortierfunktion sieht wie folgt aus:Lua Tabelle Sortierung behauptet ungültige Reihenfolge Funktion zum Sortieren
function sort_list_function (a,b)
if a.totalfilll < b.totalfilll then
return true
elseif a.totalfill < b.totalfill then
return true
elseif a.totalfil < b.totalfil then
return true
elseif a.totalvalue + a.height + a.totalplus <
b.totalvalue + b.height + b.totalplus
then
return true
else
return false
end
end
Alle Elementwerte Zahlen sind, so aus meinem Verständnis die Voraussetzung für die Vergleichsfunktion erfüllt sind, aber vielleicht aus meinem Denken ist here (was ist im Grunde die Frage, dh, warum oder unter welchen Umständen könnte die oben genannten in einer ungültigen Reihenfolge funktionieren Fehler).
Der Fehler ist leider nur sehr schwer zu isolieren und passierte nur einmal und dann erst nachdem der Code sehr viele Sortierungen erfolgreich durchgeführt hat, so möchte ich als ersten Schritt sichergehen, dass mir nicht ganz etwas fehlt eindeutig falsch mit einer Funktion wie oben.
Hinweis: Betrachten Sie die Ergebnisse der beiden 'sort_list_function (a, b)' und 'sort_list_function (b, a)' für 'a = {totalfilll = 1, totalfill = 2}; b = {totalfilll = 2, totalfill = 1}; ' –
@ColonThirtyTwo danke, also mag die angst richtig gewesen sein, brauche meine marmore poliert, so gibt es den weg beide richtungen in einem einfachen beispiel wahr zu bekommen, ich habe es einfach nicht gesehen –