我正在使用inspect.lua检查表到字符串。
但是,如果该值是一个userdata,它只返回<userdata 1>
我真的需要知道什么是userdata类型,什么是userdata值,这对调试非常重要,我不想在任何ide中这样做,我只想让打印人员帮我调试。

最佳答案

你不能。
manual开始:
提供userdata类型是为了允许在lua变量中存储任意c数据。userdata值是指向原始内存块的指针。[…]userdata在lua中没有预定义的操作,除了赋值和标识测试。
正如@eric所指出的,从lua中可以做的唯一事情是检查元表:

print(inspect(getmetatable(someuserdata)))

如果您使用的是C API,那么您应该能够注册一个自定义函数来打印块所保存的内容。

关于c - 如何检查Lua中的用户数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15175859/

10-12 16:05