Ruby簡(jiǎn)明教程之判斷語(yǔ)句介紹
條件判斷,在編程語(yǔ)言中都存在,而Ruby中的條件判斷和Java中類似,當(dāng)然還是存在些許差別
Ruby中條件判斷的條件:
1) 可以使用 ==,<,>等比較運(yùn)算來(lái)作為條件,比較運(yùn)算可以返回true和false,這和java中的語(yǔ)法是類似的
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ǔ)句類似
=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ì)象的類型,而不是對(duì)象的值
PS:
if修飾符和unless修飾符可以寫在執(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)于"=~";在類的場(chǎng)合下,判斷"==="右邊的對(duì)象是否是類的實(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)文章
ruby判斷一個(gè)數(shù)是否為質(zhì)數(shù)(素?cái)?shù))示例
這篇文章主要介紹了ruby判斷一個(gè)數(shù)是否為質(zhì)數(shù)(素?cái)?shù))示例,需要的朋友可以參考下2014-05-05
Ruby中執(zhí)行Linux shell命令的六種方法詳解
這篇文章主要介紹了Ruby中執(zhí)行Linux shell命令的六種方法詳解,這些方法包括exec、system、反引號(hào)、IO、Open3、Open4等命令,需要的朋友可以參考下2015-01-01
Ruby實(shí)現(xiàn)批量對(duì)文件增加前綴代碼分享
這篇文章主要介紹了Ruby實(shí)現(xiàn)批量對(duì)文件增加前綴代碼分享,本文給出實(shí)現(xiàn)代碼、使用方法、使用示例等內(nèi)容,需要的朋友可以參考下2015-01-01
Rails中遇到錯(cuò)誤跳轉(zhuǎn)到統(tǒng)一提示錯(cuò)誤頁(yè)的方法
這篇文章主要介紹了Rails中遇到錯(cuò)誤跳轉(zhuǎn)到統(tǒng)一提示錯(cuò)誤頁(yè)的方法,本文在ApplicationController中添加捕捉錯(cuò)誤并跳轉(zhuǎn)到統(tǒng)一提示頁(yè)面,需要的朋友可以參考下2015-01-01
windows下安裝ruby與rails時(shí)遇到的問(wèn)題總結(jié)
這篇文章主要總結(jié)了windows下安裝ruby與rails時(shí)遇到的問(wèn)題,本文總結(jié)的問(wèn)題都是通過(guò)自己實(shí)踐所得來(lái)的,總結(jié)的還算是相對(duì)比較全面,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-04-04
Ruby實(shí)現(xiàn)的最短編輯距離計(jì)算方法
這篇文章主要介紹了Ruby實(shí)現(xiàn)的最短編輯距離計(jì)算方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05

