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 必須パラメーター:日付が指定されていません。
index
を0または関数呼び出しのobjectArray[index]
の任意の数値に置き換えても、このエラーは発生しません。
これを行うにはどうすればいいですか?
ありがとうございます! @ddekanyへ
あなたは関数を呼び出すと 'day'を' slot'と 'slot'を' short_date'として渡したことに気付きましたか? –
いいえ、私はしませんでした。ありがとう! – dardy
'index'の値は、範囲外になるか、' null'を格納する配列項目に実行されるまで増加していると思います。 (あなたの問題とは無関係ですが、これが可能であることに注意してください: '<#local index ++ />') – ddekany