我正在尝试在 Lua 5.1 中编写一个函数,它获取所有带有尾随 else 语句的 if 语句并将它们反转,所以类似于:
if 1+1==2 then
print("IF")
else
print("ELSE")
end
变成:
if not 1+1==2 then
print("ELSE")
else
print("IF")
end
我的代码根本不起作用,这是它:
function reverseIfElseStatement(statement)
local ifPattern = "if%s*(.-)%s*then%s*(.*)"
local elsePattern = "else%s*(.*)"
local ifCondition, ifBlock = statement:match(ifPattern)
local elseBlock = statement:match(elsePattern)
if ifCondition and ifBlock then
local reversedStatement = "if " .. ifCondition .. " then\n"
if elseBlock then
reversedStatement = reversedStatement .. "if not " .. ifCondition .. " then\n" .. elseBlock .. "\nelse\n" .. ifBlock .. "\nend"
else
reversedStatement = reversedStatement .. ifBlock
end
return reversedStatement
end
return statement
end
谢谢!
帮我弄清楚为什么这段代码不能正常工作