懒惰的表情

我们可以在字符串中进行延迟插值。这与常规插值不同,因为无论何时将 GString 转换为 String,GString 都可能具有不同的值,具体取决于闭包。

def str = 'old'
def interpolated = "I am the ${ -> str} value"
assert interpolated == 'I am the old value'
str = 'new'
assert interpolated == 'I am the new value'