我如何反转否定条件并交换这个ruby语法中的if-else分支?



VS Code在这一行显示了一条弯弯曲曲的线,我想知道为什么。下面是这行代码:

if answer != ""

它说:

反转否定条件并交换if-else分支

查找下面的代码片段

def coach_answer(your_message)
if your_message.downcase == "i am going to work right now!"
""
elsif your_message.end_with?("?")
"Silly question, get dressed and go to work!"
else
"I don't care, get dressed and go to work!"
end
end
def coach_answer_enhanced(your_message)
answer = coach_answer(your_message)
if answer != ""
if your_message.upcase == your_message
"I can feel your motivation! #{answer}"
else
answer
end
else
""
end
end

当VS说"反转否定条件和交换if-else分支">这意味着你应该转换你的代码从:

if obj != expression
# branch A
else
# branch B
end

:

if obj == expression
# branch B
else
# branch A
end

将否定条件!=倒转为==,if支路"支路A">else支路"支路B">互换。


应用到你的代码中,建议这样写:

def coach_answer_enhanced(your_message)
answer = coach_answer(your_message)
if answer == ""
""
else
if your_message.upcase == your_message
"I can feel your motivation! #{answer}"
else
answer
end
end
end

最新更新