我的 Lua 5.1 函数切换 if else 语句不起作用

问题描述 投票:0回答:0

我正在尝试在 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

谢谢!

帮我弄清楚为什么这段代码不能正常工作

lua obfuscation lua-5.1
© www.soinside.com 2019 - 2024. All rights reserved.