如何根据 Ant 中的限制进行 for 循环
在Ant-contrib中,我们可以这样做:
<for list="a,b,c,d" param="instence">
但是如果我没有列表,我只有一个限制,例如limit=4。
有没有办法根据限制进行 for 循环,例如:
<for limit="4" param="index">
In Ant-contrib, we can do something like:
<for list="a,b,c,d" param="instence">
But if I don't have a list, I only have a limit, e.g. limit=4.
Is there a way to do for loop based on limit, like:
<for limit="4" param="index">
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在antcontrib中你也可以这样做:
但要注意 bug:无法处理
开始和结束是一样的。因此,当“numberOfIterations”等于 1 时,您会收到错误。
我们为此找到了一个解决方法,首先检查 numberOfIterations 的值,并且仅在执行 for 语句时检查 numberOfIterations 的值不为 1。
In antcontrib you can also do:
But be aware of a bug: It is unable to handle
begin and end being the same. So when "numberOfIterations" equals 1 you get an error.
We got a workaround for this, checking the value of numberOfIterations first and only when its not 1 doing the for-statement.
Ant 插件 Flaka 为您的问题提供了一些解决方案。
1)使用 while 循环,
测试属性评估一些 EL 表达式,
这可能是一个简单的计数器,fe
输出:
或其他一些表达式,fe 检查文件是否存在,意味着循环直到某个文件存在:< br>
2) 使用带有break 或 continue 的 for 循环:
这会产生相同的结果:
请参阅Flaka 手册
The Ant addon Flaka provides some solutions for your problem.
1) Use a while loop
the test attribute evaluates some EL expression,
which maybe a simple counter, f.e.
output:
or some other expression, f.e. checking for existence of a file, means looping until some file exists :
2) Use a for loop with break or continue :
which gives the same result :
See more details in the Flaka manual
它不完全是你想要的,但是此页面有一个例子。本质上,您将限制作为数字列表传递。它并不优雅,但很有效。
这是另一个想法 - 请参阅用户“cn1h”的回答。这是绕过 ANT 限制的一种很酷的方法 - 嵌入另一种语言的脚本,它可以做你想做的事情。好的!
Its not exactly what you want, but this page has an example. Essentially, you pass in the limit as a list of numbers. Its not elegant, but it works.
Here's another idea - see the answer by user "cn1h". Its a cool way to get around limitations in ANT - embed a script from another language which can do what you want. Nice!