这是什么意思的语法在Groovy:Groovy中的大括号语法意味着什么?
class CreateMessagePage extends Page {
static at = { assert title == 'Messages : Create'; true }
static url = 'messages/form'
static content = {
submit { $('input[type=submit]') }
MyVeryStrangeForm { $('form') }
errors(required:false) { $('label.error, .alert-error')?.text() }
}
}
(从Spring MVC Test HtmlUnit manual拍摄)
的问题是关于Groovy,我想知道在Groovy方面的答案。
什么是content
?它是静态变量吗?它的名字是随机的还是由基类Page
预定义的?
什么是=
(等于singn)后面呢?它是赋值运算符吗?
什么是=
的右侧?这是封闭吗?或者,如果这是一个匿名类?或者如果这些都是一样的?
什么是submit
里面的大括号?
这是一个变量吗?然后为什么没有赋值运算符?
这是函数定义吗?我可以在Groovy的任意位置定义函数吗?如果这是一个函数定义,那么什么是errors
呢?
是submit
是一个函数调用,接收{ $('input[type=submit]') }
作为参数?如果是,那么这个函数可以在哪里定义?例如,MyVeryStrangeForm
定义在哪里(无处)?
如果这是函数调用,那么它将无法工作,因为不确定的......
通过它为什么不写'形式= {$( '形式')}''但形式{$( '形式')}',即w ^没有转让? – Dims
我的意思是,如果它总是写成“在任何功能语言” – Dims
看到我的更新(作为示例提交) –