我们想了解几个遗留的 job-dsl 脚本,但不知道在这种情况下“斜线运算符”是什么意思(因为它不能是除法):
def command = (shells.first() / command)
我们试图在几本 Groovy 书籍中查找它,但只找到了简单的解决方案,即它的意思是“除法”。
最佳答案
这是一个 XML Node操作,返回 XML 节点的子节点,如果不存在则创建它。可能是 command
您的第一个节点下的 shells
节点在这里。
Groovy 允许 operator overloading ,所以它是相同的“除法”运算符,只是重新定义了一些。这在其他允许运算符重载的语言中很常见(但也有争议),但确实允许更丰富的 DSL。
快速浏览了(旧副本)JobDSL source ,似乎他们正在使用类 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
...
**/
关于Groovy 斜线运算符 (Jenkins job-dsl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28153947/