Lua 一行解析输出
Lua parsed output in one line
如何从解析成一行的内容中获取输出?
例如:
local input = "56303031"
length = string.len(input)
for i = 1, length, 2 do
d = string.sub(input, i , i+1)
a = string.char(tonumber(d, 16))
print(a)
end
这会打印出:
但我希望它像这样打印出来:V001 -> 在一行中。
我该怎么做?
print
添加换行符。请改用 io.write
。
local input = "56303031"
local length = string.len(input)
for i = 1, length, 2 do
local d = string.sub(input, i , i+1)
local a = string.char(tonumber(d, 16))
io.write(a)
end
或者组成一个字符串并在末尾打印它:
local input = "56303031"
local length = string.len(input)
local str = ""
for i = 1, length, 2 do
local d = string.sub(input, i , i+1)
local a = string.char(tonumber(d, 16))
str = str .. a
end
print(a)
或者您只需在打印前使用 gsub 修改字符串:
local input = "56303031"
print((input:gsub("%x%x", function (x) return string.char(tonumber(x, 16)) end)))
这将用数字代表的字符替换 input
中每组 2 个十六进制字符。
如何从解析成一行的内容中获取输出?
例如:
local input = "56303031"
length = string.len(input)
for i = 1, length, 2 do
d = string.sub(input, i , i+1)
a = string.char(tonumber(d, 16))
print(a)
end
这会打印出:
但我希望它像这样打印出来:V001 -> 在一行中。
我该怎么做?
print
添加换行符。请改用 io.write
。
local input = "56303031"
local length = string.len(input)
for i = 1, length, 2 do
local d = string.sub(input, i , i+1)
local a = string.char(tonumber(d, 16))
io.write(a)
end
或者组成一个字符串并在末尾打印它:
local input = "56303031"
local length = string.len(input)
local str = ""
for i = 1, length, 2 do
local d = string.sub(input, i , i+1)
local a = string.char(tonumber(d, 16))
str = str .. a
end
print(a)
或者您只需在打印前使用 gsub 修改字符串:
local input = "56303031"
print((input:gsub("%x%x", function (x) return string.char(tonumber(x, 16)) end)))
这将用数字代表的字符替换 input
中每组 2 个十六进制字符。