Getting the loop index in an eco template

Chris Glace picture Chris Glace · May 17, 2012 · Viewed 18.9k times · Source

Is it possible to get the current loop index using the eco template engine?

For example in Jinja2 you can do

{% for var in array %}
    {{ loop.index0 }}
{% endfor %}

If not is there a more idiomatic way of getting at the index?

Answer

Sandro picture Sandro · May 17, 2012

From the CoffeeScript website:

# Fine five course dining.
courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
menu i + 1, dish for dish, i in courses

Could also be written as

courses = ['greens', 'caviar', 'truffles', 'roast', 'cake']
for dish, i in courses
  menu i + 1, dish 

For the eco template, something like this should do it:

<% for val, idx in @varName: %>
<span>The index is <%= idx %> and value is <%= val %></span>
<% end %>