#はじめに
前回の記事でRubyの最も基本的な部分について書かせて頂きました。
今回はもう少し詳しくRubyの基礎について書きます。
#内容
変数の応用的な使い方
#実行
前回の記事を読んで頂ければ、Rubyを使って文字を出力させる方法がわかって頂けると思います。
例えば'私の趣味は読書です'と出力したい場合は、
puts "私の趣味は読書です"
という風にすればよいのでした。
同じように'私の趣味はスポーツです'と出力したい場合は、
puts "私の趣味はスポーツです"
とすればいいです。
しかし、このコードを見てみると無駄が多いですね。
どちらの文章も'私の趣味は'と'です'の部分は共通していて、
'読書'と'スポーツ'の部分だけ変更すれば良さそうです。
そこで、前回にも登場した変数を使ってコードを書いてみたいと思います。
hoby = "読書"
puts "私の趣味はhobyです"
こうすれば'私の趣味は読書です'と出力されるでしょうか?
残念ながらそうはなりません。
前回の記事の最後で、
puts "word"
という風に、変数をダブルクォーテーション(")で囲んでしまうと、そういう文字だと認識され、'word'と出力されてしまうという事を書かせて頂きました。
今回も同じ事が起き、実際に出力されるのは私の趣味はhobyです
という、狙いとは違った文章が出力されてしまいます。
それでは、どうすれば狙い通り私の趣味は読書です
と出力できるのでしょうか?
Rubyでこのような事を行いたい場合は、下記のようにコードを書けば良いです。
hoby = "読書"
puts "私の趣味は#{hoby}です"
このようにコードを書けば、狙い通りの'私の趣味は読書です'という文章が出力されます。
さっきと変わった部分は、hoby
の部分を#{hoby}
と書き換えただけです。
同じように、
hoby = "スポーツ"
puts "私の趣味は#{hoby}です"
とすれば、'私の趣味はスポーツです'という文章が出力されます。
このように#{}
を使えば、代入する変数を変えるだけで、違う文章を出力させることができます。
今回のような短い文章ではありがたみが分りにくいですが、もっと長い文章を出力したり、または1つだけではなくもっと多くの文章を出力しなければならなくなった時に、この方法のありがたみが解ってきます。
#終わりに
今回の記事の方法だと、変数を一々コード内に書かなければいけないという弱みがあります。
次回の記事では、これを解決する方法について書きたいと思います。