欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ruby簡(jiǎn)明教程之判斷語(yǔ)句介紹

 更新時(shí)間:2014年06月23日 11:32:54   投稿:junjie  
這篇文章主要介紹了Ruby簡(jiǎn)明教程之判斷語(yǔ)句介紹,非常簡(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ǔ)句

復(fù)制代碼 代碼如下:

=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ǔ)句

復(fù)制代碼 代碼如下:

=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)似

復(fù)制代碼 代碼如下:

=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í)例

復(fù)制代碼 代碼如下:

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中的Hash哈希類(lèi)型基本操作方法小結(jié)

    Ruby中的Hash哈希類(lèi)型基本操作方法小結(jié)

    Hash類(lèi)型在Ruby中就相當(dāng)于Python的字典,是一個(gè)鍵值對(duì)應(yīng)的集合類(lèi)型,這里就來(lái)整理一下Ruby中的Hash哈希類(lèi)型基本操作方法小結(jié):
    2016-06-06
  • ruby開(kāi)發(fā)vim插件小結(jié)

    ruby開(kāi)發(fā)vim插件小結(jié)

    作為一個(gè)Vimmer和Pythoner,之前折騰過(guò)用python編寫(xiě)vim插件?,F(xiàn)在作為半個(gè)Rubist,又開(kāi)始繼續(xù)折騰。
    2014-07-07
  • 最新評(píng)論