我有一个Lua脚本,我正在尝试使用十六进制数字(0x ..).如果我在控制台中使用官方 Windows二进制文件运行此脚本,它可以正常工作.但如果我在我的应用程序(简单dofile)中运行它,我会得到 m
malformed number near '0x1F'
十六进制是什么并不重要,我总是得到那个错误,就像它不支持它们一样.我正在使用的库是Lua 5.1.4,我尝试了两个不同的库(第一个是我自己编译的那个),所以这应该不是问题.
有没有人知道这里可能有什么问题?
编辑:
这不是剧本.无论我做什么,简单的“foo = 0xf”都会触发错误,即使文件中没有其他内容也是如此.
更新:
tonumber("0xf")
这会返回nil,而
tonumber("15")
工作得很好.在我的库中,十六进制肯定有问题……
如果十六进制文字不适合你(尽管它们应该),你总是可以通过做tonons(“fe”,16)来使用lua中的十六进制