埋め込み文字列+遅延評価
元ネタ Re: Just for fun Groovy script for Google Picasa
Venkat Subramaniam 氏の『Programming Groovy』に載っている Tips らしい*1。
Groovy で pass-by-name を検索して Hit した*2。
いつか使おうと思っていたが面白い使用例を思いつきそうにないので
def a,b def s1 = "s1: ${a} + ${b} = ${a+b}" def s2 = "s2: ${-> a} + ${-> b} = ${-> a+b}" a = 1 b = 2 println s1 println s2 a = 3 b = 4 println s1 println s2
実行すると
s1: null + null = nullnull s2: 1 + 2 = 3 s1: null + null = nullnull s2: 3 + 4 = 7