【发布时间】:2013-10-01 07:25:03
【问题描述】:
在将 Lua 数字转换为 off_t 值时,我应该使用 lua_tointeger() 还是 lua_tonumber()?
我检查了 Lua 本身的源代码,我发现他们的 file:seek 函数使用 lua_Number,而不是 lua_Integer。
我还看到luaposix 包广泛使用lua_tonumber()(或 luaL_checknumber() 等),甚至读取文件描述符(!)。
那么size_t呢?
我是否应该走“极端”,对所有整数 C 类型(mode_t、size_t 等)使用lua_tonumber()(和lua_pushnumber())?或者我应该通常使用lua_tointeger() 并仅在我“感觉”它是一个潜在的大数字时才使用lua_tonumber()?
【问题讨论】:
-
请始终链接到正确的来源。你链接到韦诺之战代码,而不是original Lua
file:seekimplementation。它们碰巧是一样的,但你永远不知道未来。