2016-08-11 53 views
0

獲得從數組元素我有這樣的代碼:Freemarker的:通過指數

<#local slots = time_utils.get_slots(objectArray) /> 
<#local days = time_utils.get_short_days(objectArray) /> 
<#local index = 0 /> 
<#list days as day> 
    <#list slots as slot> 
     <#if time_utils.is_slot_available(objectArray[index], slot, day)> bla bla </#if> 
     <#local index = index + 1 /> 
    </#list> 
</#list> 

功能:

<#function is_slot_available date slot short_date> 
    <#local hour_of_date = '${date.startsAt?string["HH"]}' />  
    <#local day_of_date = '${date.startsAt?string["dd"]}' /> 
    <#if (hour_of_date == '${slot[6..7]}') && (day_of_date == '${short_date[short_date?length-5..short_date?length-4]}')> 
     <#return true />  
    </#if> 
    <#return false /> 
</#function> 

當運行該代碼,我有錯誤: 錯誤執行宏: is_slot_available 必需參數:未指定日期。

當我objectArray[index]在函數調用替換index由0或任意數量我沒有得到這個錯誤。

那麼什麼是rignt辦法做到這一點?

謝謝!

+0

你有沒有注意到,當你調用函數,你傳遞'day'爲'slot'和'slot'爲'short_date'? –

+0

不,我沒有。謝謝! – dardy

+1

我想的'index'的值增加,直到它超出了範圍,或運行到存儲'null'一個數組項。 (無關你的問題,但請注意,這是可能的:'<#local自指數++ />') – ddekany

回答

0

感謝@ddekany:

I guess the value of index increases until it goes out of range, or runs into an array item that stores null.


這是問題。