HAML and iterated XML

I am trying to create an XML file. I have several tags that repeat like this:

# 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"} /

I was given "Foo" and a finite number (435 in this case) as parameters. How do I talk about this HAML?

thank

EDIT . Forgetting the mention, leading zeros are important.

+3
source share
1 answer
- 2.upto(435) do |n|
  %img{:src => "Foo%03d.jpg#full" % n}

or

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

Evidence:

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>
+4
source

Source: https://habr.com/ru/post/1781323/


All Articles