Ich habe vor kurzem von Lua 5.2.3 auf 5.3.1 aktualisiert, aber ich bemerkte alle meine Skripte, die eine string.format
starten fehlgeschlagen, wenn es versucht zu formatieren ein float
%d
Lua format.string kann float nicht als dezimal formatieren (% d) ab 5.3
local anExampleString = string.format("Sample Number: %d",10.100000001) -- Fails on 5.3.1, works on 5.2.3
local aWorkingString = string.format("Sample Number: %.0f",10.100000001) -- Works on 5.3.1
mit Ist das von Design? Ich kann nicht scheinen, die Änderung irgendwo dokumentiert zu finden.
Das Design von Lua 5.3 ist in vielerlei Hinsicht nicht sauber, z. math.tointeger (während tostring & tonumber in _G ist), math.type (nur um integer und float zu unterscheiden), math.ult (unnötig?) usw. – Youka
Danke dafür, das habe ich komplett vermisst (obwohl es das war offensichtlicher Ort zu sehen). Ich glaube, ich habe eine deutlichere Notiz erwartet, dass sie von 5.2-> 5.3 geändert wurde, wie in [hier] (http://www.lua.org/manual/5.3/manual.html#8) – Puddler