Haml:Haml内でRubyの記述を使う

HamlはRubyで動いているため、Haml内の記述にRubyを使うことができます。

!!!
%html(lang="ja")
    %head
        %title Haml test
    %body
        %h1 Hello World
        -x = 3 * 3
        %p number = #{x}
        %ul.list
            - 3.times do |i|
                %li list #{i}

上記Hamlをコンパイルすると下記HTMLに出力されます。

<!DOCTYPE html>
<html>
  <head>
    <title>Haml test</title>
  </head>
  <body>
    <h1>Hello World</h1>
    <p>number = 9</p>
    <ul class='list'>
      <li>list 0</li>
      <li>list 1</li>
      <li>list 2</li>
    </ul>
  </body>
</html>