title: Templates: why do we use <%= tag for a for-loop/comprehension?
body: <p>For instance:</p>
  
  <pre><code>&lt;table&gt;
    &lt;%= for user &lt;- @users do %&gt;
      &lt;tr&gt;
        &lt;td&gt;&lt;b&gt;&lt;%= first_name(user) %&gt;&lt;/b&gt; (&lt;%= user.id %&gt;)&lt;/td&gt;
      &lt;/tr&gt;
    &lt;% end %&gt;
  &lt;/table&gt;
  </code></pre>
  
  <p>According to Programming Phoenix 1.4 (ebook, beta):</p>
  
  <blockquote>
    <p>EEx executes Elixir code that’s within &lt;%= %> tags, injecting the
    result into the template. EEx evaluates code within &lt;% %> tags without
    injecting the result. We’ll try to use code without side effects in
    views wherever possible, so we’ll use mostly the &lt;%= %> form.</p>
  </blockquote>
  
  <p>As a counter example, in Rails you would write:</p>
  
  <pre><code>&lt;table&gt;
    &lt;% @users.each do |user| %&gt;
  </code></pre>