I want to iterate over a list of strings, concatenate them with the suffix/prefix "" and if it's not the last entry of the list append a comma at end.
Wanted Output example: "circle","cube","banana"
My first try is the following snippet:
@listStringifier(list: List[String]) = @{
if (list != null && !list.isEmpty) {
for ((string, index) <- list.zipWithIndex){if(index != list.size-1){"string",}
else{"string"}
}
}
}
But this function is always empty when I use @listStringifier anywhere.
Logging within the @listStringifier block shows that it is iterating, but not assigning anything.
If I call the for loop directly in the template like this following snippet it works:
@if (list != null && !list.isEmpty) {
for ((string, index) <- list.zipWithIndex){if(index != list.size-1){"@string",}
else{"@string"}
}
}
But I dont want to iterate several times so I want to assign the concatenated string to a variable afterwards.
Any help would be appreciated, thanks in advance
I think mkString
can do what you want
list.mkString( "'" , "','" , "'" )