0

模板引擎可用于代码生成。以下是 Ruby ERB 模板脚本的示例:

<ul><% for @item in @shopping_list %><li><%= @item %></li><% end %></ul>

但是,我的代码生成要求不仅仅是简单的变量扩展或 for 循环。我需要递归代码生成能力,换句话说,我需要一个支持递归模板的 python 或 ruby​​ 模板引擎。有人可以为我推荐这样的模板引擎吗?非常感谢!

4

1 回答 1

2

Rails 中默认使用的 Ruby ERB 模板系统支持递归模板。这是一个例子。

app/views/controller1/action1.html.erb

Factorial of <%= @n %> equals to <%= render "factorial", :n => @n %>

app/views/controller1/_factorial.html.erb

<% if n == 1 %>
  1
<% else %>
  <%= n %> * <%= render "factorial", :n => n - 1 %>
<% end %>

输出:

Factorial of 10 equals to 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 
于 2012-06-16T03:46:34.250 回答