gpt4 book ai didi

grails - 空子句中的逻辑错误

转载 作者:行者123 更新时间:2023-12-02 14:49:39 27 4
gpt4 key购买 nike

嗨,我有以下功能:

   def signup(String name){

def x =Human.where{name == name}
if(x != null)
{

def myhuman=new Human(name: name)
if(myhuman.save() && myhuman.validate())
{
redirect(url:"https//localhost:8080")
}
}
else
{
return
}
}

它工作正常。我可以创建具有不同名称的人,而不能创建具有相同名称的人,但是我想知道为什么我们为什么要检查 x!=null,我们不应该检查 x == null,因为我们首先查看这样的人是否存在如果没有,我们就创建它。我尝试了 x==null,却无法创建Human,有人可以解释吗?

最佳答案

您正在检查x != null,因为现在无法对null对象执行操作了吗?实际上,执行以下操作更为Groovy:

if (!x) {
// Logic
}

这是因为 Groovy Truth而起作用。

如果 x == null验证为 true,那么您将按照正常方式执行所需的任何操作。但是,由于在您的情况下 x不是 null,因此 x == null将验证为false并跳过 if块。这不是Grails特有的,而是常规编程。

关于grails - 空子句中的逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38997385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com