行動すれば次の現実

テック中心の個人ブログ

Rubyのヒアドキュメント記法

一番ノーマルなヒアドキュメント

終端を示す識別子にはスペースなどの文字列を記述してはいけないので、階層が深いと見づらく感じることがあります。

query = <<SQL
  select *
    from users;
SQL

p query #=> "  select *\n    from users;\n"
=> 

階層が深い場合のヒアドキュメント

識別子の頭にハイフン「-」をつけることで終端を行頭に置くことが可能です。

def get_user
  <<-SQL
    select *
      from users;
  SQL
end

p get_user #=> "  select *\n    from users;\n"