Нет, нет способа получить переменную, поскольку замыкание просто возвращает единственный результат (поэтому somclosure(2).howDoIGetThis
не может работать), и нет способа получить дескриптор экземпляра замыкания после его запуска...
Лучшее, что я могу придумать, это вернуть несколько значений из замыкания следующим образом:
def someClosure = {Number input->
def howDoIGetThis = input + 4
[ 2 * input, howDoIGetThis ]
}
def (normalWay, myFantasy) = someClosure(2)
assert normalWay == 4
assert myFantasy == 6