0

テンプレートエンジンは、コード生成で使用できます。次に、RubyERBテンプレートスクリプトの例を示します。

<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 に答える