Recentemente ho aggiornato da Lua 5.2.3 a 5.3.1 ma ho notato che tutti i miei script che eseguono un string.format
hanno avuto esito negativo se ha provato a formattare un float
utilizzando %d
Lua format.string non può formattare float come decimale (% d) a partire da 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
È questo disegno? Non riesco a trovare la modifica documentata da nessuna parte.
Il design di Lua 5.3 non è pulito in molti modi, ad es. math.tointeger (mentre tostring e tonumber si trovano in _G), math.type (solo per differenziare intero e float), math.ult (inutile?), ecc. – Youka
Grazie per quello, l'ho perso completamente (anche se era il posto ovvio da guardare). Penso che mi aspettavo una nota più esplicita per dire che era stata cambiata da 5.2-> 5.3 come in [here] (http://www.lua.org/manual/5.3/manual.html#8) – Puddler