Ruby 學習筆記-邏輯判斷

1.等號判斷

    a =10
    b = "10"
    p a == b    #false
    p a === b   #false
  • 一個等號是指代的意思,二個等號與三個等號都是比較的意思。

  • 在 JS 上a == b,兩個等號會自動轉型,結果會回傳 true。

2.如果判斷式

if
    time = "早上"
    if time == "早上"
       puts "好想賴床"
    end
    #條件成立的話
if 倒裝句
  puts "好想賴床" if time == "早上"
  #與上面結果相同
unless = if not / if = unless not
    time = "晚上"
    if not time == "早上"
        puts "熬夜追劇!"
    end
    #與下列程式相等
    unless time == "早上"
        puts "熬夜追劇!"
    end
unless 倒裝句
    puts "熬夜追劇!" unless time == "早上"
不要為了 unless 而 unless,先看自己看不看得懂,以自己能懂為最主要,可以寫 if not 。
if..else.. 二分法
    time = "早上"
    if time == "早上"
        puts "好想賴床"
    else
        puts "熬夜追劇!"
    end
三元運算子
    age = 19
    if age >= 19
        status = "已成年"
    else
        status = "未成年"
    end
    ##與下列程式相等
    status = (age>=18) ? "已成年":"未成年"

3.更多條件

if..elsif..else..
    time = "早上"
    if time == "早上"
        puts "好想賴床"
    elsif time == "晚上"
        puts "熬夜追劇!"
    else
        puts "睡午覺"
    end
case..when..
    time = "早上"
    case time
    when "早上"
        puts "好想賴床"
    when "晚上"
        puts "熬夜追劇!"
    else
        puts "睡午覺"
    end
comments powered by Disqus