国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Ruby基礎(chǔ)知識(shí)之基本流程控制

2019-10-26 19:26:02
字體:
供稿:網(wǎng)友

(一)條件判斷
條件判斷為基本式:
代碼如下:
if expression
       code
end

表達(dá)式如果不是false或nil,則可執(zhí)行code部分,所以對(duì)于else來說,如果為false或nil,則else下的代碼是要執(zhí)行的。要注意的是表達(dá)式與執(zhí)行代碼之間要有分界符:例如換行或分號(hào)或是then關(guān)鍵字。
多條件分支情況下,除了可以用else if之外,可以用省略式:elsif
代碼如下:
if expression1
       code1
elsif expression2
       code2
else
       code3
end

如果通過then做為分界符:
if expression then code end,那么可以把if直接做為分界符:code if expression,這時(shí),if稱為表達(dá)式修飾符。先寫執(zhí)行再寫執(zhí)行條件。要注意的是:如果成為表達(dá)式修飾符,則執(zhí)行代碼與if之間不能帶換行符。雖然這種方式也是一種條件句,但我覺得它更像一種修飾。

對(duì)于if判斷來說,它可以返回執(zhí)行代碼后的值。

與if條件類似,還有unless判斷,它和if相反。

在C#中,多分支語句有個(gè)switch case開關(guān),在ruby中,則是case when。case when非常靈活。

(二)循環(huán)

循環(huán)條件是while do或until do,而位于它們之間的是循環(huán)體。
現(xiàn)條件if相似,循環(huán)語句也可以用分界符的形式做緊湊循環(huán),這時(shí),省略了換行符和end。
代碼如下:
x=1
puts x,x+=1 while x<10
 
while x<20 do
  puts x
  x+=1
end

 
在C#中有for循環(huán)應(yīng)用非常廣泛,在ruby中,for循環(huán)與foreach的作用類似,用于對(duì)可枚舉對(duì)象進(jìn)行迭代。
代碼如下:
for var in collection do
       code
end

其中collection是帶有each迭代方法的對(duì)象;do關(guān)鍵字可選(可以用換行符或分號(hào)替代)。
代碼如下:
arr=%w[1 2 3 4 5 6]
for item in arr
  print item<<" "
end
 
hash1={:a=>1,:b=>2,:c=>3}
for key,value in hash1
  print "#{key}=#{value}"<<" "
end

(三)迭代器和枚舉
除了循環(huán)控制while、for、until外,有種特殊的方法用于循環(huán),也就是迭代器,它是ruby最重要的特性之一。
(1)數(shù)值迭代器
upto:為一個(gè)區(qū)間內(nèi)的所有整數(shù)調(diào)用其關(guān)聯(lián)的代碼塊。左邊為起始,右邊為結(jié)束。
downto:與upto相反。
times:調(diào)用關(guān)系的代碼一定的次數(shù),且把0到n-1傳遞給代碼。
step:以一定的步長(zhǎng),迭代增加到指定數(shù)值。第二個(gè)參數(shù)為步長(zhǎng)。
代碼如下:
1.upto(5){|x|print "#{x} "}
puts
5.downto(1){|x|print "#{x} "}

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 睢宁县| 邹平县| 来凤县| 永泰县| 道孚县| 凭祥市| 来凤县| 阜阳市| 通辽市| 绥宁县| 大新县| 神池县| 怀集县| 轮台县| 郯城县| 苗栗市| 建昌县| 金华市| 沂水县| 南阳市| 通江县| 崇礼县| 陈巴尔虎旗| 开阳县| 宁海县| 县级市| 天津市| 类乌齐县| 太康县| 襄垣县| 北海市| 罗源县| 都江堰市| 漠河县| 通江县| 龙岩市| 讷河市| 屯门区| 常熟市| 英吉沙县| 咸丰县|