[Ruby]条件分岐と比較演算子

Ruby

条件分岐と比較演算子

ここでは自分がRubyの勉強して覚えたことを忘れないように書いていこうと思います

if文による条件分岐

    n = 1
    if n == 1
      puts "正解"
    else
      puts "不正解"
    end
  

上記の例ではn変数に1が入った場合、「正解」が表示され、他の数字が入った場合「不正解」が表示されます。

※注意するポイントはendをつけ忘れないようにすること。

次はelsifを使ってみます

    n = rand(1..10) * 10
    print "#{n}点!"
    if n == 100
      puts "君には負けたよ!"
    elsif n >= 70
      puts "すごく良い!"
    else
      puts "問題外だな!"
    end
   

上の例では、ランダムで1〜10の数字が選択されたと同時にその数字に10かけています。

その上で、100が出た場合、70以上だった場合、それ以外だった場合として表示文を分岐しています。

複数の条件を組み合わせる

複数の条件を組み合わせる時の一つ「&&」を使います。

使い方は、条件式 && 条件式のように使います。全ての条件が一致した場合にのみ、実行されます。

    n = rand(1..10) * 10
    print "#{n}点か!"
    if n == 100
      puts "君は最高だ!"
    elsif n > 70 && n <=99
      puts "惜しい!もう少し!"
    elsif n >= 30 && n <=70
      puts "まあまあ良いね!"
    else
      puts "残念だね…。諦めよう。"
    end
  

上の例では、100が出た場合、70を超える数値かつ99以下の数値が出た場合、30以上かつ70以下の数値が出た場合、それ以外だった場合として表示文を分岐しています。


次は複数の条件を組み合わせる時の一つ「||」を使います。

    n = rand(0..23)
    print "現在の時刻は#{n}時です。"
    if n <= 7 || n >=19
      puts "閉店中です。"
    else
      puts "開店中です。"
    end
  

上の例では、7以下または19以上の場合、それ以外の場合として条件が分岐されています。

[番外編]文字列を数値に変換してみます

    number = "3.14"
    p number //"3.14"と表示される。(これはそのまま文字列が表示される。)
    p number.to_i //3と表示される。(integerのiで整数のこと。変換される。)
    p number.to_f //3.14と表示される。(浮動小数点のFloatのfで実数のこと。変換される。)
    p number.to_f * 12 //37.68
  

[番外編]数値を文字列に変換してみます

    number = 3.14
    p number //3.14と表示される。(これはそのまま数値が表示される。)
    p number.to_i //3と表示される。(integerのiで整数のこと。変換される。)
    p number.to_s //"3.14"と表示される。(文字列に変換される)
  

[番外編]某イタリアンレストランで食事した時の計算
(25%引きクーポン券所持・人数は3人・メニューは税抜)

注文内容はパスタとピザとサラダを2つ。

    pasta = 980
    pizza = 1980
    salad = 530

    price = pasta + pizza + salad * 2
      puts "合計は#{price}円です。"

    discount_price = (price * 0.75).to_i
      puts "25%引きクーポンを使った場合、#{discount_price}円です。"

    amount = (discount_price * 1.08).to_i
      puts "税込金額は#{amount}円です。"

    person =  3
    amount_per_person = amount / person
    remeinder = amount % person
      puts "一人当たり#{amount_per_person}円です。余りは、#{remeinder}円です。"
  

合計は4020円です。
25%引きクーポンを使った場合、3015円です。
税込金額は3256円です。
一人当たり1085円です。余りは、1円です。