おすすめの人
Rubyの条件分岐がよくわからない
if文って実際にどうやって使うの?
この様な方に向けた記事になっています
if文ってなに?
if文
if文とは「もし〇〇だったら〜をする」
この様にもし(条件)に一致した場合、コードを実行する事ができます
#構文
if 条件1
条件1が真だったときの処理
elsif 条件2
条件2が真だったときの処理
elsif 条件3
条件3が真だったときの処理
else
それ以外の処理
end
if 天気が晴れなら
外に出かける
else
家でゴロゴロする
end
こちらのコードでは
コード解説
- もし天気が晴れなら(条件)→晴れ?曇り?雨?(判定)→晴れ→外に出かける
- もし天気が晴れなら(条件)→晴れ?曇り?雨?(判定)→雨→家でゴロゴロする
この様に条件に対して実行されるコードがかわります
では、条件は何で判断しているのでしょうか?
さらに細かく解説します!
条件が一致しているかは、trueとfalseで判断する
新たにtrueとfalseが出てきました!
true
trueとは真という意味になります。「YES」とイメージすること良いかもしれません
条件に対してYESであればtrueとなります
- もし天気が晴れなら(条件)→晴れ→true
false
反対にfalseは偽という意味になり、「NO」というイメージなります
条件に対してNOであればfalseとなります
- もし天気が晴れなら(条件)→雨→false
先程のコードを見てみると
if 天気が晴れなら ← trueかfalseを判断
外に出かける ←trueならこっちのコードが読まれる
else
家でゴロゴロする ←falseならこちらのコード読まれる
end
このようにif文では、trueになった部分のコードが読まれていきます
では、条件を作るにはどのような方法があるのでしょうか?
if文でよく使う比較する記号(比較演算子)
if文では比較演算子を使いながら条件を記述していきます
< | より小さい | 1 < 2 (2より小さいですか?) | true |
<= | 以下 | 1 <= 2 (2以下ですか?) | true |
> | より大きい | 1 > 2 (1のほうが大きいですか?) | false |
>= | 以上 | 1 >= 2 (1以上ですか?) | false |
== | 等しい | 1 == 1 (1と等しいですか?) | true |
!= | 等しくない | 1 != 2 (1と2は等しくないですか?) | true |
この様に、左辺と右辺を比較しtrue、falseを判断する記号を比較演算子と言います
比較演算子をうまく使いながらif文で条件を記述して行きましょう!
先程の天気のif文をコードに変えて見ていきます
if 天気が晴れなら
外に出かける
else
家でゴロゴロする
end
weather = "晴れ"
if weather == "晴れ"
puts "外に出かける"
else
puts "家でゴロゴロする"
end
結果:外に出かける
この様になりますね!
コードの解説
- 今日の天気の情報はweatherという変数に入っている
- weather(晴れ)と晴れは等しいですか?→true
- 外に出かけるが出力される
というif文を作ってみましょう!
以上と以下なので使う演算子は「>=」「<=」これですね!
temperature = 5
if temperature >= 30
puts "クーラーをつける"
elsif temperature <= 10
puts "温度計ぶっ壊れてる?"
else
puts "別の温度計で測定しよ!"
end
結果:温度計ぶっ壊れてる?
コードの解説
- 温度の情報はtemperatureという変数に入っている
- temperature(5)は30以上ですか?→false
- temperature(5)は10以下ですか?→true
- 温度計ぶっ壊れてる?を出力
真、偽のルール
偽と判断されるのはfalseとnil、nilとは「何もない」という意味になります
- false→偽
- nil →偽
真は上記のfalseとnil以外が真と扱われます
- true→真
- 1 →真
- "こんにちは"→真
この様に数字や文字列も真として扱われます
以上がif文の説明でした!
読んでいただきありがとうございます!