Lua:我如何以数组(或表)的形式访问字符串值?
答
string.sub(yourString,i,j)
或只是sub(yourString,i,j)
其中i = j
只能得到字符串中的一个字符。请记住,Lua是1索引,而不是像C#那样索引0。查看Lua string documentation了解更多详情。
答
您可以获取字符串metatable并更改metamethod __index以返回给定位置上的字符......下面的代码完全是这样。
getmetatable('').__index = function(str,i) return string.sub(str,i,i) end
--example
string = "dog"
print(string[3])
-- Output: g
+1
请注意,这是只读的 – Piglet
+0
我试图使用__newindex使其读/写,但事实证明函数中的第一个参数是一个字符串,因此通过复制传递...如果它通过了通过参考可以改变它。 –
你的目标是访问单个字符或字符串的字符跨度吗? –
向我们展示您想要在lua中完成的等效C#代码。 – greatwolf
可能重复的[Lua - 将字符串转换为表格](http://stackoverflow.com/questions/20423406/lua-convert-string-to-table) –