Ponieważ groovy nie ma znacznika EOL (takiego jak ;
), jest zdezorientowany, jeśli umieścisz operator w następującej linii
To zadziałałoby zamiast tego:
def a = "test" +
"test" +
"test"
ponieważ parser Groovy wie, że może się spodziewać czegoś w następnym wierszu
Groovy postrzega Twój oryginał def
jako trzy oddzielne stwierdzenia. Pierwsze przypisuje test
do a
, drugi dwa spróbować zrobić "test"
pozytywne (i to jest, gdy nie powiedzie się)
W przypadku new String
metody konstruktora parser Groovy nadal znajduje się w konstruktorze (ponieważ nawias nie został jeszcze zamknięty), więc może logicznie połączyć trzy wiersze w jedną instrukcję
W przypadku prawdziwych ciągów wielowierszowych możesz również użyć potrójnego cudzysłowu:
def a = """test
test
test"""
Stworzy łańcuch z testem w trzech liniach
Możesz również uczynić to schludniejszym, wykonując:
def a = """test
|test
|test""".stripMargin()
stripMargin
sposób będzie wykończenia lewo (aż do i włączając |
znaki) z każdej linii
def a = b + + "/" + c
. W tym przypadku problemem są oczywiście dwa symbole +.