[英]Grails/Groovy: Understanding the parameters of the closure code
我是Grails / Groovy的新手,所以在尝试理解我在书中遇到的一段代码时,请多多包涵。
这是一个简单的Album域类:
class Album {
String artist
String title
List songs = []
List durations = []
static constraints = {
artist blank: false
title blank: false
songs minSize:1, validator:{ val, obj ->
if(val.size() != obj.durations.size())
return "songs.durations.not.equal.size"
}
}
我的问题来自代码的constraints属性块。
在验证者约束中,作者使用闭包。
但是“ val”和“ obj”到底是什么? 他们会得到什么价值?
另外,还有一个奖励问题,“约束”是什么类型? 我不认为这是一张地图,因为它们在Groovy中被定义为[]。 从Java的角度来看, x = { .. }
是一个数组,但是我不确定Groovy中的数组是否相同。
谢谢您的帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.