gpt4 book ai didi

string - 如何使用循环将字符串连接成一个?

转载 作者:行者123 更新时间:2023-12-01 09:26:55 25 4
gpt4 key购买 nike

谁能帮我解决字符串连接问题。我从寄存器中读取数据。它是函数 utf(regAddr, length)。我得到带有十进制数字的表格,然后将其转换为十六进制并循环字符串。我需要将这些字符串连接成一个。Lua 中没有类似 .= operator

的东西
function utf(regAddr, length)
stringTable = {}
table.insert(stringTable, {mb:readregisters(regAddr-1,length)})

for key, value in pairs(stringTable) do
for i=1, length do
v = value[i]
v = lmcore.inttohex(v, 4)
v = cnv.hextostr(v)
log(v)
end
end
end

-- function(regAddr, length)
utf(30,20)

enter image description here

最佳答案

字符串没有附加运算符。字符串是不可变的值。

.. 操作符连接两个字符串,结果产生第三个字符串:

local b = "con"
local c = "catenate"
local a = b .. c -- "concatenate"

table.concat 函数连接表格中的字符串,产生字符串结果:

local t = { "con", "catenate" }
local a = table.concat(t) -- "concatenate"

local t = { "two", "words" }
local a = table.concat(t, " ") -- "two words"

string.format 函数采用具有兼容值列表的格式模式,生成字符串结果:

local b = 2
local c = "words"
local a = string.format("%i %s", b, c) -- "2 words"

local t = { 2, "words" }
local a = string.format("%i %s", unpack(t)) -- "2 words"

如果您要累积大量最终要连接的字符串,则可以将表用作临时数据结构,并在完成累积后进行连接:

local t = {}
for i = 1, 1000 do
table.insert(t, tostring(i))
end
local a = table.concat(t) -- "1234...9991000"

对于大量的字符串,您可以增量连接。见 LTN 9: Creating Strings Piece by Piece以及相关的讨论。

关于string - 如何使用循环将字符串连接成一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21782240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com