Comme groovy n'a pas de marqueur EOL (tel que ;
), il devient confus si vous mettez l'opérateur sur la ligne suivante
Cela fonctionnerait à la place:
def a = "test" +
"test" +
"test"
comme l'analyseur Groovy sait s'attendre à quelque chose sur la ligne suivante
Groovy considère votre original def
comme trois déclarations distinctes. Le premier assigne test
à a
, les deux seconds essaient de rendre "test"
positif (et c'est là que ça échoue)
Avec la new String
méthode constructeur, l'analyseur Groovy est toujours dans le constructeur (car l'accolade n'est pas encore fermée), il peut donc logiquement joindre les trois lignes en une seule instruction
Pour les vraies chaînes multi-lignes, vous pouvez également utiliser le guillemet triple:
def a = """test
test
test"""
Créera une chaîne avec test sur trois lignes
En outre, vous pouvez le rendre plus net en:
def a = """test
|test
|test""".stripMargin()
la stripMargin
méthode coupera la gauche (jusqu'à et y compris le caractère |
) de chaque ligne
def a = b + + "/" + c
. Dans ce cas, les deux symboles + sont évidemment le problème.