2010-12-20 17 views
3

私はXMLファイルを生成しようとしています。HAMLと反復XML

 
# necessary XML namespace and metadata stuff... 

%img{:src => "Foo002.jpg#full"}/ 
%img{:src => "Foo003.jpg#full"}/ 
%img{:src => "Foo004.jpg#full"}/ 
%img{:src => "Foo005.jpg#full"}/ 
# and so on for a few hundred lines 

%img{:src => "Foo435.jpg#full"}/ 

は、私がパラメータとして「foo」と(この場合は435)終了番号を与えられている:私はそうのように数値的に繰り返される、いくつかのタグを持っています。 HAMLにこれをするように伝えるにはどうすればいいですか?

おかげ

EDIT:言及するのを忘れたが、先行ゼロが重要です。

+0

1! –

答えて

4
- 2.upto(435) do |n| 
    %img{:src => "Foo%03d.jpg#full" % n} 

または

- (2..435).each do |n| 
    %img{:src => "Foo%03d.jpg#full" % n} 

証明:HAMLを使用するための

phrogz$ haml 
!!! XML 
%root 
    - 2.upto(10) do |n| 
    %img{ src:"Foo%03d.jpg" % n } 
^D 

<?xml version='1.0' encoding='utf-8' ?> 
<root> 
    <img src='Foo002.jpg' /> 
    <img src='Foo003.jpg' /> 
    <img src='Foo004.jpg' /> 
    <img src='Foo005.jpg' /> 
    <img src='Foo006.jpg' /> 
    <img src='Foo007.jpg' /> 
    <img src='Foo008.jpg' /> 
    <img src='Foo009.jpg' /> 
    <img src='Foo010.jpg' /> 
</root> 
+0

結果のHAMLはここにあります:https://gist.github.com/748965 – Nate