LoginSignup
0
0

More than 3 years have passed since last update.

[ruby]ヒアドキュメントについて

Last updated at Posted at 2021-01-16

*追記
”実はputsやprint意外にも文字列を出力する方法があります
それがヒアドキュメントです
しかもただ単に出力するのではなく、空白や改行も含める長い文章が出力できる様になります
rubyだと改行した瞬間文の終了とみなされますがヒアドキュメントを利用すると・・・”
とご指摘があり、間違った解釈をしておりました
ありがとうございます

ヒアドキュメント

長文を識別子で囲む事によって長文も保存できる様になれる

irb(main):033:0> puts = <<hia
irb(main):034:0" ruby
irb(main):035:0" most like
irb(main):036:0" Programming language
irb(main):037:0" hia
=> "ruby\nmost like\nProgramming language\n"

解説しますとまず
1行目にputsと言う変数にhiaと言う識別子で開始ラベル
4行目で終了ラベルである識別子を入れてあげると2~3行目の内容を変数putsに格納してくれる
6行目には格納された内容が表示される

irb(main):038:0> puts puts
ruby
most like
Programming language
=> nil

もちろんputs 変数(puts)とすると先ほど変数に格納された文字列を出力できる

ちなみに変数に文字列や数字を前もって代入した状態でもヒアドキュメントは式展開で出力できる

irb(main):059:0> name = "タケシ"
=> "タケシ"
irb(main):060:0> age = 12
=> 12
irb(main):062:0> city = "神奈川"
=> "神奈川"
irb(main):063:0> text = <<EOF
irb(main):064:0" 私の名前は#{name}です
irb(main):065:0" 年齢は#{age}
irb(main):066:0" 出身は#{city}
irb(main):067:0" EOF
=> "私の名前はタケシです\n年齢は12\n出身は神奈川\n"
irb(main):069:0> puts text
私の名前はタケシです
年齢は12
出身は神奈川

と今回はヒアドキュメントについて勉強しアウトプットしました

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0