Я не уверен, чего именно вы хотите достичь, поэтому есть несколько возможностей:
Если вы хотите добавить содержимое со второй карты на первую карту, оператор leftShift - это то, что нужно:
def foo(name, map) {
println(map)
}
def otherMap = [hi: "world"]
foo("bar", [hi: "bye"] << otherMap)
Если вы хотите получить доступ к параметру через его имя, используйте Map:
def foo(Map args) {
println args.map
}
def otherMap = [hi: "world"]
foo(name:"bar", first:[hi: "bye"], map:otherMap)
Если вы хотите напечатать все или только последний параметр, используйте varargs:
def printLast(Object[] args) {
println args[-1]
}
def printAll(Object[] args) {
args.each { println it }
}
def printAllButName(name, Map[] maps) {
maps.each { println it }
}
def otherMap = [hi: "world"]
printLast("bar", [hi: "bye"], otherMap)
printAll("bar", [hi: "bye"], otherMap)
printAllButName("bar", [hi: "bye"], otherMap)