Ruby簡(jiǎn)明教程之判斷語(yǔ)句介紹
條件判斷,在編程語(yǔ)言中都存在,而Ruby中的條件判斷和Java中類(lèi)似,當(dāng)然還是存在些許差別
Ruby中條件判斷的條件:
1) 可以使用 ==,<,>等比較運(yùn)算來(lái)作為條件,比較運(yùn)算可以返回true和false,這和java中的語(yǔ)法是類(lèi)似的
2) 一些其他的方法也可以用來(lái)作為判斷條件,比如,empty?方法,為空則返回true,否則返回false
3) 有些方法雖然不會(huì)返回true或false,但是也能作為條件判斷的條件,他們返回的對(duì)象,要么是false或nil,要么是意義的對(duì)象,則可根據(jù)如下表格判斷:
| TRUE | FALSE |
| false和nil以外的對(duì)象 | false與nil |
p /Ruby/ =~ "Ruby" 返回0,則在條件判斷中可以返回true
Ruby中也可以使用常用的邏輯運(yùn)算符,&&,||,!,其代表的意義與JAVA中的意義是一致的。
Ruby中的條件判斷語(yǔ)句:
1. if 語(yǔ)句
=begin
語(yǔ)法:
if 條件1 then
語(yǔ)句1
elsif 條件2 then
語(yǔ)句2
elsif 條件3 then
語(yǔ)句3
else
語(yǔ)句4
end
=end
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 語(yǔ)句,其恰好與if語(yǔ)句相反,當(dāng)條件不符合時(shí),則執(zhí)行相應(yīng)語(yǔ)句
=begin
語(yǔ)法:
unless 條件 then
語(yǔ)句
end
=end
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 語(yǔ)句
當(dāng)同一個(gè)對(duì)象,要與多個(gè)值進(jìn)行比較時(shí),可以使用case語(yǔ)句,其功能與JAVA中的switch語(yǔ)句類(lèi)似
=begin
語(yǔ)法:
case 想要比較的對(duì)象
when 值1 then
語(yǔ)句1
when 值2 then
語(yǔ)句2
when 值3 then
語(yǔ)句3
else
語(yǔ)句4
end
# then是可以省略的
=end
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
#這里比較的是對(duì)象的類(lèi)型,而不是對(duì)象的值
PS:
if修飾符和unless修飾符可以寫(xiě)在執(zhí)行語(yǔ)句后面,例如,print "a is larger than b." if a>b,所以ruby是很靈活的。
"==="符號(hào)的意義,其在不同的場(chǎng)合可以代表不同的符號(hào),若左邊是數(shù)字或字符串時(shí),則和"=="是一樣的;在正則表達(dá)式的場(chǎng)合下則相當(dāng)于"=~";在類(lèi)的場(chǎng)合下,判斷"==="右邊的對(duì)象是否是類(lèi)的實(shí)例
p ((1..3) === 2) #-> true
p /zz/ === "zyzzy" #-> 2
p String === "xyzzy" # -> true
#在case表達(dá)與if語(yǔ)句間轉(zhuǎn)換,用===,符號(hào)左邊是case的值,右邊為case的變量
case A
when value1 if value1 === A
語(yǔ)句1 語(yǔ)句1
when value2 elsif value2 === A
語(yǔ)句2 語(yǔ)句2
else else
語(yǔ)句3 語(yǔ)句3
end end
相關(guān)文章
比較不錯(cuò)的關(guān)于ruby的電子書(shū)下載地址集合
比較不錯(cuò)的關(guān)于ruby的電子書(shū)下載地址集合...2007-10-10
ruby使用restclient上傳服務(wù)器本地文件示例
這篇文章主要介紹了ruby使用restclient上傳服務(wù)器本地文件示例,需要的朋友可以參考下2014-05-05
ruby+nokogori抓取糗事百科前10頁(yè)并存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)示例
這篇文章主要介紹了ruby+nokogori抓取糗事百科前10頁(yè)并存儲(chǔ)進(jìn)數(shù)據(jù)庫(kù)示例,需要的朋友可以參考下2014-05-05
舉例理解Ruby on Rails的頁(yè)面緩存機(jī)制
這篇文章主要介紹了舉例理解Ruby on Rails的頁(yè)面緩存機(jī)制,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04
Ruby中的Hash哈希類(lèi)型基本操作方法小結(jié)

