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

首頁 > 編程 > Ruby > 正文

詳解Ruby中的循環(huán)語句的用法

2020-10-29 19:41:29
字體:
供稿:網(wǎng)友

Ruby 中的循環(huán)用于執(zhí)行相同的代碼塊若干次。本章節(jié)將詳細(xì)介紹 Ruby 支持的所有循環(huán)語句。
Ruby while 語句
語法

while conditional [do]  codeend

當(dāng) conditional 為真時(shí),執(zhí)行 code。while 循環(huán)的 conditional 通過保留字 do、一個(gè)換行符、反斜線 / 或一個(gè)分號(hào) ; ,來與 code 分離開。
實(shí)例

#!/usr/bin/ruby $i = 0$num = 5 while $i < $num do  puts("Inside the loop i = #$i" )  $i +=1end

這將產(chǎn)生以下結(jié)果:

Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4

Ruby while 修飾符
語法

code while condition OR begin codeend while conditional

當(dāng) conditional 為真時(shí),執(zhí)行 code。

如果 while 修飾符跟在一個(gè)沒有 rescue 或 ensure 子句的 begin 語句后面,code 會(huì)在 conditional 判斷之前執(zhí)行一次。
實(shí)例

#!/usr/bin/ruby $i = 0$num = 5begin  puts("Inside the loop i = #$i" )  $i +=1end while $i < $num

這將產(chǎn)生以下結(jié)果:

Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4Ruby until 語句until conditional [do]  codeend

當(dāng) conditional 為假時(shí),執(zhí)行 code。until 語句的 conditional 通過保留字 do、一個(gè)換行符或一個(gè)分號(hào),來與 code 分離開。
實(shí)例

#!/usr/bin/ruby $i = 0$num = 5 until $i > $num do  puts("Inside the loop i = #$i" )  $i +=1;end

這將產(chǎn)生以下結(jié)果:

Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4Inside the loop i = 5Ruby until 修飾符語法code until conditional OR begin  codeend until conditional

當(dāng) conditional 為假時(shí),執(zhí)行 code。

如果 until 修飾符跟在一個(gè)沒有 rescue 或 ensure 子句的 begin 語句后面,code 會(huì)在 conditional 判斷之前執(zhí)行一次。
實(shí)例

#!/usr/bin/ruby $i = 0$num = 5begin  puts("Inside the loop i = #$i" )  $i +=1;end until $i > $num

這將產(chǎn)生以下結(jié)果:

Inside the loop i = 0Inside the loop i = 1Inside the loop i = 2Inside the loop i = 3Inside the loop i = 4Inside the loop i = 5

Ruby for 語句
語法

for variable [, variable ...] in expression [do]  codeend

針對(duì) expression 中的每個(gè)元素分別執(zhí)行一次 code。
實(shí)例

#!/usr/bin/ruby for i in 0..5  puts "Value of local variable is #{i}"end

在這里,我們已經(jīng)定義了范圍 0..5。語句 for i in 0..5 允許 i 的值從 0 到 5(包含 5)。這將產(chǎn)生以下結(jié)果:

Value of local variable is 0Value of local variable is 1Value of local variable is 2Value of local variable is 3Value of local variable is 4Value of local variable is 5

for...in 循環(huán)幾乎是完全等價(jià)于:
(expression).each do |variable[, variable...]| code end

但是,for 循環(huán)不會(huì)為局部變量創(chuàng)建一個(gè)新的作用域。for 循環(huán)的 expression 通過保留字 do、一個(gè)換行符或一個(gè)分號(hào),來與 code 分離開。.
實(shí)例

#!/usr/bin/ruby (0..5).each do |i|  puts "Value of local variable is #{i}"end

這將產(chǎn)生以下結(jié)果:

Value of local variable is 0Value of local variable is 1Value of local variable is 2Value of local variable is 3Value of local variable is 4Value of local variable is 5

Ruby break 語句
語法
break

終止最內(nèi)部的循環(huán)。如果在塊內(nèi)調(diào)用,則終止相關(guān)塊的方法(方法返回 nil)。
實(shí)例

#!/usr/bin/ruby for i in 0..5  if i > 2 then   break  end  puts "Value of local variable is #{i}"end

這將產(chǎn)生以下結(jié)果:

Value of local variable is 0Value of local variable is 1Value of local variable is 2

Ruby next 語句
語法
next

跳到最內(nèi)部循環(huán)的下一個(gè)迭代。如果在塊內(nèi)調(diào)用,則終止塊的執(zhí)行(yield 或調(diào)用返回 nil)。
實(shí)例

#!/usr/bin/ruby for i in 0..5  if i < 2 then   next  end  puts "Value of local variable is #{i}"end

這將產(chǎn)生以下結(jié)果:

Value of local variable is 2Value of local variable is 3Value of local variable is 4Value of local variable is 5

Ruby redo 語句
語法
redo

重新開始最內(nèi)部循環(huán)的該次迭代,不檢查循環(huán)條件。如果在塊內(nèi)調(diào)用,則重新開始 yield 或 call。
實(shí)例

#!/usr/bin/ruby for i in 0..5  if i < 2 then   puts "Value of local variable is #{i}"   redo  endend

這將產(chǎn)生以下結(jié)果,并會(huì)進(jìn)入一個(gè)無限循環(huán):

Value of local variable is 0Value of local variable is 0............................

Ruby retry 語句
語法
retry

如果 retry 出現(xiàn)在 begin 表達(dá)式的 rescue 子句中,則從 begin 主體的開頭重新開始。

begin  do_something # 拋出的異常rescue  # 處理錯(cuò)誤  retry # 重新從 begin 開始end

如果 retry 出現(xiàn)在迭代內(nèi)、塊內(nèi)或者 for 表達(dá)式的主體內(nèi),則重新開始迭代調(diào)用。迭代的參數(shù)會(huì)重新評(píng)估。

for i in 1..5  retry if some_condition # 重新從 i == 1 開始end

實(shí)例

#!/usr/bin/ruby for i in 1..5  retry if i > 2  puts "Value of local variable is #{i}"end

這將產(chǎn)生以下結(jié)果,并會(huì)進(jìn)入一個(gè)無限循環(huán):

Value of local variable is 1Value of local variable is 2Value of local variable is 1Value of local variable is 2Value of local variable is 1Value of local variable is 2............................

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 府谷县| 闽侯县| 马尔康县| 麟游县| 嘉祥县| 萨嘎县| 开鲁县| 宜兴市| 平原县| 武乡县| 夏河县| 石渠县| 永安市| 简阳市| 博客| 扎鲁特旗| 阿拉善左旗| 崇礼县| 咸宁市| 中牟县| 宁波市| 青浦区| 北川| 五指山市| 东辽县| 苍溪县| 廊坊市| 长春市| 徐闻县| 麦盖提县| 海伦市| 贵德县| 安吉县| 来安县| 天祝| 玉林市| 孝感市| 临漳县| 富平县| 木兰县| 泰安市|