2016-04-10 5 views

ответ

0

Используйте оператор Modulus.

<#list seq as n> 
    <#if n % 2 == 1> 
     <#-- your code here --> 
    </#if> 

</#list> 
+0

Но то, что 'x' в вашем примере? Во всяком случае, теперь есть 'n? Is_odd_item'; см. мой ответ. – ddekany

+0

@ddekany действительно, это n, исправлено – Szeki

+0

Предполагая, что это 'n' нужно проверить, а не его позицию в последовательности ... Я не уверен, как OP написал' $ {n_index} ', а не' $ {п} '. – ddekany

0

Предполагая, что вы на самом деле хотите, чтобы напечатать 1-й, 3-й, 5-й и т.д. элемент последовательности, в отличие от фильтрации по четности элемента списка (n) сам по себе ... Если результат 1, 2 и т. Д., То либо вы действительно хотите четные элементы, либо хотите, чтобы n?counter был основан на 1, а не n?index, который основан на 0. Если предположить, что последний (плюс я также распечатать сам элемент):

<#list seq as n> 
    <#if n?is_odd_item> 
     ${n?counter}: ${n} 
    </#if> 
</#list> 

Похожие страницы в руководстве: http://freemarker.org/docs/ref_builtins_loop_var.html

Смежные вопросы