【发布时间】:2014-10-08 10:43:15
【问题描述】:
我想在 Mojolicious 中创建一个递归模板块,以从嵌套数组生成复杂的菜单。
理想情况下,数组["a", ["ba", "bb"], "c"] 会产生这个嵌套列表:
<ul>
<li>a</li>
<li>
<ul>
<li>ba</li>
<li>bb</li>
</ul>
</li>
<li>c</li>
</ul>
以下代码不起作用,因为块是匿名子例程并且不能使用对自身的引用:
% my $block = begin
% my $menu = shift;
<ul>
% foreach my $item (@{$menu}){
% if(ref($item) eq 'ARRAY') {
<li>
%= $block->($item);
</li>
% } else {
<li><%= $item %></li>
% }
% }
</ul>
% end
%= $block->( ["a", ["ba", "bb"], "c"] )
【问题讨论】:
标签: perl mojolicious