html菜鸟ruby,Ruby 循环
Ruby 循環
Ruby 中的循環用于執行相同的代碼塊若干次。本章節將詳細介紹 Ruby 支持的所有循環語句。
Ruby while 語句
語法
whileconditional[do]codeend
或者
語法
whileconditional[:]codeend
當 conditional 為真時,執行 code。
語法中 do 或 : 可以省略不寫。但若要在一行內寫出 while 式,則必須以 do 或 : 隔開條件式或程式區塊。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-$i=0$num=5while$i
嘗試一下 ?
以上實例輸出結果為:
在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4
Ruby while 修飾符
語法
codewhilecondition或者begincodeendwhileconditional
當 conditional 為真時,執行 code。
如果 while 修飾符跟在一個沒有 rescue 或 ensure 子句的 begin 語句后面,code 會在 conditional 判斷之前執行一次。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-$i=0$num=5beginputs("在循環語句中 i = #$i")$i+=1endwhile$i
嘗試一下 ?
以上實例輸出結果為:
在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4
Ruby until 語句
語法
untilconditional[do]codeend
當 conditional 為假時,執行 code。
語法中 do 可以省略不寫。但若要在一行內寫出 until 式,則必須以 do 隔開條件式或程式區塊。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-$i=0$num=5until$i>$numdoputs("在循環語句中 i = #$i")$i+=1;end
嘗試一下 ?
以上實例輸出結果為:
在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4
在循環語句中 i = 5
Ruby until 修飾符
語法
codeuntilconditional或者begincodeenduntilconditional
當 conditional 為 false 時,執行 code。
如果 until 修飾符跟在一個沒有 rescue 或 ensure 子句的 begin 語句后面,code 會在 conditional 判斷之前執行一次。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-$i=0$num=5beginputs("在循環語句中 i = #$i")$i+=1;enduntil$i>$num
嘗試一下 ?
以上實例輸出結果為:
在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4
在循環語句中 i = 5
Ruby for 語句
語法
forvariable[,variable...]inexpression[do]codeend
先計算表達式得到一個對象,然后針對 expression 中的每個元素分別執行一次 code。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-foriin0..5puts"局部變量的值為 #{i}"end
嘗試一下 ?
在這里,我們已經定義了范圍 0..5。語句 for i in 0..5 允許 i 的值從 0 到 5(包含 5)。
以上實例輸出結果為:
局部變量的值為 0
局部變量的值為 1
局部變量的值為 2
局部變量的值為 3
局部變量的值為 4
局部變量的值為 5
for...in 循環幾乎是完全等價于:
(expression).eachdo|variable[,variable...]|codeend
但是,for 循環不會為局部變量創建一個新的作用域。
語法中 do 可以省略不寫。但若要在一行內寫出 for 式,則必須以 do 隔開條件式或程式區塊。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-(0..5).eachdo|i|puts"局部變量的值為 #{i}"end
嘗試一下 ?
以上實例輸出結果為:
局部變量的值為 0
局部變量的值為 1
局部變量的值為 2
局部變量的值為 3
局部變量的值為 4
局部變量的值為 5
Ruby break 語句
語法
break
終止最內部的循環。如果在塊內調用,則終止相關塊的方法(方法返回 nil)。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-foriin0..5ifi>2thenbreakendputs"局部變量的值為 #{i}"end
嘗試一下 ?
以上實例輸出結果為:
局部變量的值為 0
局部變量的值為 1
局部變量的值為 2
Ruby next 語句
語法
next
跳到循環的下一個迭代。如果在塊內調用,則終止塊的執行(yield 表達式返回 nil)。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-foriin0..5ifi<2thennextendputs"局部變量的值為 #{i}"end
嘗試一下 ?
以上實例輸出結果為:
局部變量的值為 2
局部變量的值為 3
局部變量的值為 4
局部變量的值為 5
Ruby redo 語句
語法
redo
重新開始最內部循環的該次迭代,不檢查循環條件。如果在塊內調用,則重新開始 yield 或 call。
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-foriin0..5ifi<2thenputs"局部變量的值為 #{i}"redoendend
這將產生以下結果,并會進入一個無限循環:
局部變量的值為 0
局部變量的值為 0
............................
Ruby retry 語句
注意:1.9以及之后的版本不支持在循環中使用retry。
語法
retry
如果 retry 出現在 begin 表達式的 rescue 子句中,則從 begin 主體的開頭重新開始。
begindo_something#拋出的異常rescue#處理錯誤retry#重新從 begin 開始end
如果 retry 出現在迭代內、塊內或者 for 表達式的主體內,則重新開始迭代調用。迭代的參數會重新評估。
foriin1..5retryifsome_condition#重新從 i == 1 開始end
實例
#!/usr/bin/ruby#-*- coding: UTF-8 -*-foriin1..5retryifi>2puts"局部變量的值為 #{i}"end
這將產生以下結果,并會進入一個無限循環:
局部變量的值為 1
局部變量的值為 2
局部變量的值為 1
局部變量的值為 2
局部變量的值為 1
局部變量的值為 2
............................
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的html菜鸟ruby,Ruby 循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能网关服务器,边缘计算网关和智能网关区
- 下一篇: 如何用计算机解一元三次方程,利用Exce