可以为Groovy中的if语句中的字段赋值可以使数据库更新记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以为Groovy中的if语句中的字段赋值可以使数据库更新记录相关的知识,希望对你有一定的参考价值。
我有一个简单的在线界面,用于编写Groovy脚本,并将其合并到更大的软件中。我在VB6中的项目和Groovy中的另一个项目之间蹦蹦跳跳,因此意外地使用了一个等号(VB6为if语句执行),我打算在Groovy中使用double-equals。
是否可以以这种方式为if语句中的数据库字段赋值实际更新其余if条件为真的所有记录?
答案
Java的赋值运算符将返回刚分配的变量。如果这是在一个期望布尔值的语句中,它将根据Groovy的真实性进行评估。我们可以在Groovy控制台中看到这个有一些断言:
groovy:000> assert (foo = 1)
===> null
groovy:000> assert (foo = 0)
ERROR org.codehaus.groovy.runtime.powerassert.PowerAssertionError:
assert (foo = 0)
|
0
或者使用if
声明:
groovy:000> if ((foo = 'bar')) {
groovy:001> println "Assignment was true!"
groovy:002> }
Assignment was true!
请注意,您需要使用双括号来“工作”,因为没有它们,您将在尝试解析它时遇到编译错误:
groovy:000> if (foo = 'bar') {
groovy:001> println "Assignment was true!"
groovysh_parse: 2: expecting ')', found '=' @ line 2, column 9.
if (foo = 'bar') {
^
它可能非常阴险。它有一些用例,就像一个while循环迭代一个方法的返回值,直到它返回false:
while (data = getData()) {
doWork(data)
}
println "Done with all the data"
以上是关于可以为Groovy中的if语句中的字段赋值可以使数据库更新记录的主要内容,如果未能解决你的问题,请参考以下文章