Ruby提供了現代編程語言中常見的條件結構,今天武林技術頻道將解釋所有的條件語句和修飾符,其實判斷條件存在于編程語言中,而Ruby中的條件判斷類似于Java中的條件判斷,下面一起來了解一下!
Ruby中條件判斷的條件:
1) 可以使用 ==,<,>等比較運算來作為條件,比較運算可以返回true和false,這和java中的語法是類似的
2) 一些其他的方法也可以用來作為判斷條件,比如,empty?方法,為空則返回true,否則返回false
3) 有些方法雖然不會返回true或false,但是也能作為條件判斷的條件,他們返回的對象,要么是false或nil,要么是意義的對象,則可根據如下表格判斷:
TRUE | FALSE |
false和nil以外的對象 | false與nil |
p /Ruby/ =~ "Ruby"? 返回0,則在條件判斷中可以返回true
Ruby中也可以使用常用的邏輯運算符,&&,||,!,其代表的意義與JAVA中的意義是一致的。
Ruby中的條件判斷語句:
1. if 語句
?
a = 10
b = 20
if a>b then
?? print "a is smaller than b."
elsif a == b then
?? print "a equals b."
else
?? print "a is larger than b."
end
?
2. unless 語句,其恰好與if語句相反,當條件不符合時,則執行相應語句
?
?
a = 10
b = 20
unless a>b then
?? print "a is smaller than b."
end
# -> "a is smaller than b" will be printed out.
?
3. case 語句
當同一個對象,要與多個值進行比較時,可以使用case語句,其功能與JAVA中的switch語句類似
?
?
array = ["aa", 1, nil]
item = array[0]
?? case item
?? when String
????? puts "item is a String."
?? when Numeric
????? puts "item is a Numeric."
?? else
????? puts "item is a something"
?? end
#這里比較的是對象的類型,而不是對象的值
?
PS:
if修飾符和unless修飾符可以寫在執行語句后面,例如,print "a is larger than b." if a>b,所以ruby是很靈活的。
"==="符號的意義,其在不同的場合可以代表不同的符號,若左邊是數字或字符串時,則和"=="是一樣的;在正則表達式的場合下則相當于"=~";在類的場合下,判斷"==="右邊的對象是否是類的實例
?
#在case表達與if語句間轉換,用===,符號左邊是case的值,右邊為case的變量
case A
when value1?????????????????? if value1 === A
?? 語句1????????????????????????????? 語句1
when value2?????????????????? elsif value2 === A
?? 語句2?????????????????????????????? 語句2
else??????????????????????????????? else
?? 語句3??????????????????????????????? 語句3
end???????????????????????????????? end
以上就是武林技術頻道給大家介紹的詳解Ruby之判斷語句的條件,如若您想要學習更多關于技術方面的知識可以進入武林技術頻道網學習,最后預祝大家學習愉快。
新聞熱點
疑難解答
圖片精選