Lua:如何将字符串值作为数组(或表)访问?

我想知道如何在Lua中将字符串值用作数组。我知道如何在像C#这样的语言中使用它,但我不知道如何在Lua中使用它。

点赞
用户1471485
用户1471485

使用 string.sub(yourString,i,j) 或简单地使用 sub(yourString,i,j), 其中 i=j 可以获取字符串中的一个字符。请记住 Lua 的索引从 1 开始,而不是像 C# 那样从 0 开始。有关详细信息,请查看 Lua 字符串文档

2017-01-04 07:37:18
用户7066323
用户7066323

你可以获取字符串元表并且改变元方法 __index 以返回在指定位置上的字符... 下面的代码就是这么做的。

getmetatable('').__index = function(str,i) return string.sub(str,i,i) end
-- 例子
string = "dog"
print(string[3])
-- 输出: g
2017-01-04 15:57:57