「Ruby のヒアドキュメントすごい」の感想

目次

 

はじめに

ぼんやりと、「複数行を出力する命令ってないんかなあ」と思っていたところ、ありました!

参考にした記事

感想:すごい

この前だしたミニアプリの記事

1行ごとにputsで出力していました。

位置が揃うので、これはこれで使い所がありそうです。

ヒアドキュメント活用例

puts <<EOS

から

EOS

の間にある行をインデントもそのまま出力します!

色付けが追いついていませんが、putsを連発する書き方と同じ動作になりました! すごい!

# 入力
puts <<EOS
ActiveHash の model の名前を英字(小文字)で入力して下さい!
↓↓↓↓↓↓
EOS
title = gets.chomp.to_s
puts <<EOS
ありがとうございます!
ActiveHash の model にするリストを半角スペース区切りで入力して下さい!
↓↓↓↓↓↓
EOS
ary = gets.chomp.split.map(&:to_s)
puts <<"EOS"
ありがとうございます!
app/models/#{title}.rb の内容はこちらです!

class #{title.capitalize} < ActiveHash::Base
self.data = [
{ id: 1, name: --- },
EOS
# 2個め〜最後より1個前までのハッシュ
(ary.count - 1).times do |i|
puts " { id: #{i + 2}, name: #{ary[i]} },"
end
# 最後のハッシュ
puts <<"EOS"
{ id: #{ary.count + 1}, name: #{ary.last} }
]
end
EOS