Ниже приведено содержимое моего build.gradle
class Human {
Integer age;
String name;
String surName;
Human(name, age, surname) {
this.name = name;
this.age = age;
this.surName = surname;
}
def executeInside(Closure c) {
c.delegate = this
c()
}
}
def h1 = new Human("John", 43, "Smith");
def hc = {
println "My name is ${name} and my age is ${age} and my surname is ${surName}"
}
h1.executeInside(hc)
hc.delegate = h1
hc()
При выполнении сценария у меня должно получиться My name is John and my age is 43 and my surname is Smith
Но вместо этого я получаю My name is mygradlefoldername and my age is 43 and my surname is Smith
Если я запускаю это приведенный выше скрипт в groovyConsole
, он работает правильно, но что происходит в этом скрипте сборки gradle, так что имя печатается неправильно?