Lua实现为字符串添加可变空格以垂直对齐av变量
解决Lua中输出文本垂直对齐的问题
你当前代码的问题在于直接输出了space变量的数值,而非生成对应数量的空格字符,这导致av无法垂直对齐。要实现需求,只需用Lua的string.rep函数生成指定长度的空格字符串,替换掉直接输出space的逻辑即可。
修正后的完整代码示例:
if #input >= 1 then for var=1, #input, 1 do -- 这里保留你原有的判断逻辑(比如判断input[var]是否有效) local av if -- 替换为你的实际判断条件 av = "was sent" else av = "doesn't exist" end local itemLength = string.len(input[var]) local spaceCount = math.max(0, 20 - itemLength) -- 避免出现负数值,确保空格数非负 local spaceStr = string.rep(" ", spaceCount) -- 生成对应数量的空格 print(var..". '"..input[var].."' "..spaceStr..av) end return end
关键说明:
string.rep(" ", spaceCount):该函数会重复生成spaceCount个空格字符,替代原来直接输出数字的错误写法math.max(0, 20 - itemLength):当输入字符串长度超过20时,确保空格数为0,避免出现异常- 用
local声明变量:符合Lua的局部变量使用规范,避免全局变量污染
内容的提问来源于stack exchange,提问作者aGuyCalledT
相关产品推荐
相关产品推荐

