lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Fri, Apr 16, 2010 at 11:07 AM, Henk Boom <henk@henk.ca> wrote:
> I just fixed a subtle bug in my serialization/deserialization
> functions for a data structure, where objects that were serialized
> then deserialized looked identical but behaved slightly differently.
> It was caused by something like this:
>
>> return 9 < 10
> true
>> return "9" < "10"
> false
>
> Lesson learned: make sure to use tonumber() on numbers you extract
> from strings...

hmm, this works in lua.

in C, the lua_tonumber() is an in-place convertion, it changes the
value in stack and may cause unwanted behavior when you're iterating a
table.