Groovy映射中的值是否可以自引用以进行插值?

Groovy映射中的值是否可以自引用以进行插值?,groovy,jenkins-groovy,Groovy,Jenkins Groovy,我想知道我们是否可以使用Groovy映射中的其他键值项在其中插值。比如说, def ten = 10 def example = [ a: "apple", b: "${ten} bats", c: "${example.b}" //or something like self.b ] 如果是这样,请让我知道如何做到这一点?如评论中所述,地图的文字很可能不允许这样做。但是你可以用点击(或者点击)非常接近你的代码,如果你猜的话:不,你不能。这是一个字面意思,它会立

我想知道我们是否可以使用Groovy映射中的其他键值项在其中插值。比如说,

def ten = 10

def example = [
     a: "apple",
     b: "${ten} bats",
     c: "${example.b}" //or something like self.b
]

如果是这样,请让我知道如何做到这一点?

如评论中所述,地图的文字很可能不允许这样做。但是你可以用
点击
(或者
点击
)非常接近你的代码,如果你猜的话:不,你不能。这是一个字面意思,它会立即对整个事情进行评估。据我所知不是这样(无论如何也不是很好)。也许您可以将其放入配置并使用configslurper?我相信这允许元素引用每个元素other@cfrick我在Python中使用自引用类解决了这个问题。但我想知道Groovy是否也有办法。谢谢回复人!@tim_yates真棒!我会调查configsluper。谢谢回复!太好了太棒了@cfrick。谢谢!
def ten = "ten"

def map = [:].tap{
    a = "apple"
    b = "${ten} ${a}s"
}

assert map == [a:"apple", b:"ten apples"]