Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是lua的新手。我需要将以下字符串转换为 lua 表。我怎么能这样做?
str = "{a=1, b=2, c={d=3,e=4} }"
我想将此字符串转换为 lua 表,以便我可以像这样访问它:
print(str['a']) -- Output : 1 print(str['c']['d']) -- Output : 3
您可以简单地将 a 添加str =到字符串的开头,然后让解释器将该字符串作为一个块加载。请注意,loadstring它不会运行块,而是返回一个函数。因此,您添加()以立即调用该函数并实际执行代码:
str =
loadstring
()
loadstring("str = "..str)()
这会做同样的事情:
str = loadstring("return "..str)()
如果您自己不生成字符串,那可能很危险(因为任何代码都会被执行)。在这种情况下,您可能需要手动解析字符串,以确保它实际上是一个表并且不包含错误的函数调用。