我们希望理解一些旧的job-dsl脚本,但不知道在这种情况下“斜杠运算符”是什么意思(因为它不能表示除法)。
def command = (shells.first() / command)
我们已经尝试查找了几本Groovy书籍,但只发现了一种简单的解决方案,即它表示“除法”。
def command = (shells.first() / command)
我们已经尝试查找了几本Groovy书籍,但只发现了一种简单的解决方案,即它表示“除法”。
这是一个XML Node操作,用于返回XML节点的子节点,如果不存在则创建它。可能是您的第一个shells
节点下的command
节点。
Groovy允许operator overloading,因此它实际上是相同的“division”运算符,只是有些重新定义。这在允许操作符重载的其他语言中很常见(但也很有争议),但确实可以为更丰富的DSL提供便利。
快速查看了一下(旧版本的)JobDSL源代码,似乎他们是使用一个名为NodeEnhancement
的类来完成的,特别是这个JavaDoc:
/**
Add div and leftShift operators to Node.
div - Will return the first child that matches name, and if it doesn't exists, it creates
...
**/