Как убрать значение в массиве с помощью маркера Free? - PullRequest
0 голосов
/ 25 сентября 2018

Я использую бесплатный язык шаблонов маркеров 2.3.1.Я хочу удалить значение из массива.Можете ли вы дать какие-либо предложения?

Пример кода:

<#assign array=[0]> <#list array as a>${a}    <#assign array = array +[1]+[2]> <#assign array = array - [0]>    <#list array as b> ${b}</#list></#list>

O/P: 0 1 2

Что мне придется заменить на строку <#assign array = array - [0]>?

1 Ответ

0 голосов
/ 25 сентября 2018

Надеюсь, 2.3.1 - это опечатка, и я предполагаю, что это по крайней мере 2.3.21.Кроме того, поскольку подобные вещи называются последовательностями в FreeMarker, я буду использовать этот термин.Таким образом, вы не можете изменять последовательности в FreeMarker, но вы можете создавать новые последовательности из последовательности, с помощью срезов, например seq[from ..], seq[from .. toInclusive], seq[from ..< toExclusive] и seq[from ..* length], или с помощью конкатенации, например, seq1 + seq2.Таким образом, вы можете удалить элемент: seq[0 ..< removedIndex] + seq[removedIndex + 1 ..].Все эти операции просто создают «представления», а не изменяют что-либо, и каждый раз, когда вы применяете их, результирующая последовательность становится медленнее для чтения, поэтому не применяйте их, например, десятки или сотни раз.

См. Это в Руководстве: https://freemarker.apache.org/docs/dgui_template_exp.html#dgui_template_exp_sequenceop

Кроме того, вы можете быстро поэкспериментировать с вещами здесь: https://try.freemarker.apache.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...