Я хочу перебрать список строк, объединить их с суффиксом/префиксом "", и если это не последняя запись в списке, добавьте запятую в конец.Список шаблонов шаблонов Scala/Java и конкатенация строки
Wanted Выходной пример: «круг», «куб», «банан»
Моя первая попытка является следующий фрагмент:
@listStringifier(list: List[String]) = @{
if (list != null && !list.isEmpty) {
for ((string, index) <- list.zipWithIndex){if(index != list.size-1){"string",}
else{"string"}
}
}
}
Но эта функция всегда пусто, когда я использую @listStringifier в любом месте ,
Вход в блок @listStringifier показывает, что он выполняет итерацию, но не назначает ничего.
Если я называю цикл непосредственно в шаблоне, как это следующий фрагмент кода работает:
@if (list != null && !list.isEmpty) {
for ((string, index) <- list.zipWithIndex){if(index != list.size-1){"@string",}
else{"@string"}
}
}
Но я не хочу повторять несколько раз, так что я хочу, чтобы назначить сцепленную строку в переменную после этого.
Любая помощь будет оценена, заранее спасибо
Благодарим за упоминание, это именно то, что я ищу, поэтому я заменил одинарный кавычек двойными кавычками и работал как шарм. Например: 'list.mkString (" \ "", "\", \ "", "\" ")' Спасибо за вашу помощь – Yeti
Да, я поставил одинарные кавычки, чтобы не сходить с ума по escape-последовательностям (есть ли способ в Scala иметь альтернативные строковые разделители, такие как 'q {", "}'? Perl ') – Thilo
Я не знаю, mate, извините – Yeti