Ruby~if文~
こんにちはkazutoです今回はプログラミングをする上で欠かせない条件分岐について解説していきます。
条件分岐とは❓
条件分岐とは、プログラムの中に条件を指定して、その条件の真:偽によって実行するプログラムを変化させる事です。
要するに選択ゲームみたいな物です。いきなり条件分岐について説明されても困ると思うので、実例を踏まえて説明します。
新作ゲームソフトを買いに行くa君
新作の人気ソフトゲームを発売日に買いに行こうとa君は考えていました。
人気ソフトなので売り切れる場合があると思います。
a君の行動はソフトの有無で変わってくると思います。
上記を条件分岐をしてみると
ソフトが存在していれば=購入できる
ソフトが売り切れていた場合は=購入できない
と条件分岐する事ができ、a君の行動が変わると思います。
実際にプログラムを組んでみよう
では先ほどの実例をRubyで表現してみましょう。Rubyには条件分岐をする構文はいくつかありますが今回は、if文
を使ってプログラムを組んでいきましょう。
if文とは❓
if文とは条件分岐を行う構文です。ifは日本語に直すと「もし」と意味になります。なので先ほどの例に置き換えると
もしソフトが売り切りていた場合は
→購入できない
もしソフトが1つでも存在していた場合は
→購入できる
if文を日本語化できた所でif文の文法を見てみましょう。
if 条件 then
処理
end
if~thenの中に条件を書くイメージです。そして処理に実行されたいプログラムを記述します。
それでは、if文に当てはめていきましょう。
name="kazuto"
num=1
game_soft="モンハン"
if num>=1 then
puts "#{name}は#{game_soft}が購入できました"
else
puts"#{name}は#{game_soft}が購入できませんでした"
end
上記のプログラム端的に解説をすると
真 もしモンハンの個数(num)が1個以上あれば購入できる。
偽 それ以外は購入できない
というプログラムです。
>=1
「1以上」という意味です。
else
「それ以外は」という意味で条件に当てはまらない場合はelse〜endの部分が実行されます。
今回は、ゲームの個数が1個以上があれば、購入できる
プログラムでしたが、他の方法でもプログラムを組む事は可能です。
なのでご自身で考えてプログラムを組んでみましょう。
問題:買い物をしてよう
200円のオレンジジュースを購入してみよう。
条件
- もし所持金が200円以上あった場合、オレンジジュースを購入でできる
- もし所持金が”200円だった場合、オレンジジュースを購入でできる
- 所持金が200円以下の場合は、オレンジジュースを購入できない
※残高を出しましょう
ヒント
elsifを使います。
比較演算子を使います。
解答
puts "所持金はいくらですか❓"
money=gets.to_i
orange_juce=200
balance=money-orange_juce
if money>orange_juce
puts "オレンジジュース購入できました。"
puts "お釣りは#{balance}円です"
elsif money==orange_juce
puts "オレンジジュース購入できました"
puts "お釣りはありません"
else
puts "オレンジジュース購入できませんでした"
puts "あと#{balance.abs}円足りないです"
end
ターミナル
上記が解答になります。「新作ゲームソフトを買いに行くa君」の応用版ですので、今回新しく登場した構文だけ解説していきます。
puts "所持金はいくらですか❓"
money=gets.to_i
あなたの所持金を確認しています。
getsメソッドは、ユーザーが入力した値を文字列オブジェクト
として取得するメソッドです。
今回は数値を取得したいため、to_iを使って数値オブジェクト
に変換しています。
elsif money==orange_juce
eisifは、if文の条件に当てはまらず、処理が実行されなかった場合に、作動します。
if→elsif→elseの順に処理が読まれていきます。
if文がダメならelsif
elsifがダメならelse
と覚えておきましょう。
また、elsifは何個でも書く事ができます。そのような場合は、条件として優先度が高い順から記述していくのがベストです。
※elsifをたくさん記述してしまう場合は、他の構文で条件分岐した方が良いです。
解説は、以上です。
まとめ:Ruby~if文~
今回はRubyのif文について解説していきました。条件分岐は、プログラミムを組み際に必要な知識になってきますので、必ず理解しましょう。
また、Rubyの条件分岐の構文はいくつもありますので気になる方は調べでみてください。
ポイントは
- 条件分岐は選択ゲーム
- if文
- 比較演算子
となります。
以上kazutoでした。