aka*_*eep 3 string lua lua-table
我是lua的新手.我需要将以下字符串转换为lua表.我怎么能这样做?
str = "{a=1, b=2, c={d=3,e=4} }"
Run Code Online (Sandbox Code Playgroud)
我想将此字符串转换为lua表,以便我可以像这样访问它:
print(str['a']) -- Output : 1
print(str['c']['d']) -- Output : 3
Run Code Online (Sandbox Code Playgroud)
Mar*_*der 10
您可以简单地str =在字符串的开头添加一个,然后让解释器将该字符串作为一个块加载.请注意,loadstring不运行块但返回一个函数.所以你添加()以立即调用该函数并实际执行代码:
loadstring("str = "..str)()
Run Code Online (Sandbox Code Playgroud)
这会做同样的事情:
str = loadstring("return "..str)()
Run Code Online (Sandbox Code Playgroud)
如果你自己不生成字符串,那可能会很危险(因为任何代码都会被执行).在这种情况下,您可能希望手动解析字符串,以确保它实际上是一个表并且不包含任何错误的函数调用.