Recherche…


Syntaxe

  • $
  • $ {}
  • $ {->}

De base

def str = 'nice'
assert "Groovy is $str" == 'Groovy is nice'

Expression en pointillé

def arg = [phrase: 'interpolated']
assert "This is $arg.phrase" == 'This is interpolated'

Expression désagréable

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

Expression paresseuse

Nous pouvons avoir une interpolation paresseuse dans les chaînes. Ceci est différent de l'interpolation normale car le GString peut potentiellement avoir des valeurs différentes, selon la fermeture, chaque fois qu'il est converti en chaîne.

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'

Expression

def str = 'dsl'
def interpolated = "Groovy ${str.length() + 1} easy ${str.toUpperCase()}"
assert interpolated == 'Groovy 4 easy DSL'
str = 'Domain specific language'
assert interpolated == 'Groovy 4 easy DSL'


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow