在lua源代码中,在TValuefields
定义的文件lobject.h中,为什么d__
是双精度而不是更通用的lua_Number
?
代码读取
#define TValuefields \
union { struct { int tt__; Value v__; } i; double d__; } u
不应该是吗?
#define TValuefields \
union { struct { int tt__; Value v__; } i; lua_Number d__; } u
答案 0 :(得分:3)
TValuefields
的定义仅在LUA_NANTRICK
开启时有效。 NaN技巧仅适用于luaconf.h
中提到的双打。