在lua中将数字转换为其字母对应

Ale*_*all 4 lua

我正在尝试制作一个lua脚本,该脚本接受由逗号分隔的数字输入,并将其转换为字母,所以1 = ect,但是我还没有找到一种容易的方法,因为字符串libray输出a = 97,所以我不知道现在要去哪里,有什么帮助吗?

Pau*_*nko 5

您可以使用string.bytestring.char函数:

string.char(97) == "a"
string.byte("a") == 97
Run Code Online (Sandbox Code Playgroud)

如果要从“ a”(97)开始,则只需减去该数字即可:

local function ord(char)
  return string.byte(char)-string.byte("a")+1
end
Run Code Online (Sandbox Code Playgroud)

这将为“ a”返回1,为“ b”返回2,依此类推。您可以使它以类似的方式处理“ A”,“ B”和其他内容。

如果您需要数字到字符,则可以执行以下操作:

local function char(num)
  return string.char(string.byte("a")+num-1)
end
Run Code Online (Sandbox Code Playgroud)


Dig*_*eer 2

只需要考虑ascii表中az的起始值即可

function convert(...)
    local ar = {...}
    local con = {}
    for i,v in pairs(ar) do
        table.insert(con, ("").char(v+96))
    end
    return con;
end

for i,v in pairs(convert(1,2,3,4)) do
    print(v)
end
Run Code Online (Sandbox Code Playgroud)