Если вы просто хотите получить подстроки индекса, это должно работать в большинстве версий Lua:
x = 'ABC'
print (string.sub(x, 1, 1)) -- 'A'
print (string.sub(x, 2, 2)) -- 'B'
print (string.sub(x, 3, 3)) -- 'C'
В Lua 5.1 и выше, согласно этому doc , выможет сделать следующее:
getmetatable('').__index = function(str,i) return string.sub(str,i,i) end
x = 'ABC'
print (x[1]) -- 'A'
print (x[2]) -- 'B'
print (x[3]) -- 'C'