| ## Licensed to the Apache Software Foundation (ASF) under one |
| ## or more contributor license agreements. See the NOTICE file |
| ## distributed with this work for additional information |
| ## regarding copyright ownership. The ASF licenses this file |
| ## to you under the Apache License, Version 2.0 (the |
| ## "License"); you may not use this file except in compliance |
| ## with the License. You may obtain a copy of the License at |
| ## |
| ## http://www.apache.org/licenses/LICENSE-2.0 |
| ## |
| ## Unless required by applicable law or agreed to in writing, |
| ## software distributed under the License is distributed on an |
| ## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ## KIND, either express or implied. See the License for the |
| ## specific language governing permissions and limitations |
| ## under the License. |
| #title( 'IteratorTool' ) |
| <p> |
| #set( $demo = $text.demo ) |
| $demo.thisPage.insert("#doclink( 'IteratorTool' true )"). |
| This tool is a convenience tool to use with ${esc.h}foreach loops. It wraps a |
| list to let the designer specify a condition to terminate the loop, |
| and reuse the same list in different loops. |
| </p> |
| |
| <form method="post" action="$link.self"> |
| <textarea name="demo" rows="10" cols="65"> |
| #if( $params.demo )## |
| $params.demo |
| #else## |
| ${esc.h}set( ${esc.d}list = [1, 2, 3, 5, 8, 13] ) |
| ${esc.h}set( ${esc.d}numbers = ${esc.d}mill.wrap(${esc.d}list) ) |
| |
| ${esc.h}foreach( ${esc.d}item in ${esc.d}numbers ) |
| ${esc.h}if( ${esc.d}item < 8 )${esc.d}numbers.more()${esc.h}end |
| ${esc.h}end |
| |
| ${esc.d}numbers.more() |
| #end |
| </textarea> |
| <input type="submit" value="$demo.try"> |
| #if( $params.layout ) |
| <input type="hidden" name="layout" value="$params.layout"> |
| #end |
| </form> |
| |
| #if( $params.demo ) |
| $demo.mainResultsIntro: |
| <pre> |
| $render.eval($params.demo) |
| </pre> |
| #end |