日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Ruby教程:Ruby循環(huán)

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

while 語(yǔ)句

語(yǔ)法

while conditional [do]
   code
end

或者

while conditional [:]
   code
end

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

語(yǔ)法中 do 或 : 可以省略不寫(xiě)。但若要在一行內(nèi)寫(xiě)出 while 式,則必須以 do 或 : 隔開(kāi)條件式或程式區(qū)塊。

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5

while $i < $num  do
   puts("在循環(huán)語(yǔ)句中 i = #$i" )
   $i +=1
end

嘗試一下 ?

以上實(shí)例輸出結(jié)果為:

在循環(huán)語(yǔ)句中 i = 0
在循環(huán)語(yǔ)句中 i = 1
在循環(huán)語(yǔ)句中 i = 2
在循環(huán)語(yǔ)句中 i = 3
在循環(huán)語(yǔ)句中 i = 4

while 修飾符

語(yǔ)法

code while condition

或者

begin 
  code 
end while conditional

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

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

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5
begin
   puts("在循環(huán)語(yǔ)句中 i = #$i" )
   $i +=1
end while $i < $num

嘗試一下 ?

以上實(shí)例輸出結(jié)果為:

在循環(huán)語(yǔ)句中 i = 0
在循環(huán)語(yǔ)句中 i = 1
在循環(huán)語(yǔ)句中 i = 2
在循環(huán)語(yǔ)句中 i = 3
在循環(huán)語(yǔ)句中 i = 4

until 語(yǔ)句

until conditional [do]
   code
end

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

語(yǔ)法中 do 可以省略不寫(xiě)。但若要在一行內(nèi)寫(xiě)出 until 式,則必須以 do 隔開(kāi)條件式或程式區(qū)塊。

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5

until $i > $num  do
   puts("在循環(huán)語(yǔ)句中 i = #$i" )
   $i +=1;
end

嘗試一下 ?

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

在循環(huán)語(yǔ)句中 i = 0
在循環(huán)語(yǔ)句中 i = 1
在循環(huán)語(yǔ)句中 i = 2
在循環(huán)語(yǔ)句中 i = 3
在循環(huán)語(yǔ)句中 i = 4
在循環(huán)語(yǔ)句中 i = 5

until 修飾符

語(yǔ)法

code until conditional

或者

begin
   code
end until conditional

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

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

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

$i = 0
$num = 5
begin
   puts("在循環(huán)語(yǔ)句中 i = #$i" )
   $i +=1;
end until $i > $num

嘗試一下 ?

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

在循環(huán)語(yǔ)句中 i = 0
在循環(huán)語(yǔ)句中 i = 1
在循環(huán)語(yǔ)句中 i = 2
在循環(huán)語(yǔ)句中 i = 3
在循環(huán)語(yǔ)句中 i = 4
在循環(huán)語(yǔ)句中 i = 5

for 語(yǔ)句

語(yǔ)法

for variable [, variable ...] in expression [do]
   code
end

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

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   puts "局部變量的值為 #{i}"
end

在這里,我們已經(jīng)定義了范圍 0..5。語(yǔ)句 for i in 0..5 允許 i 的值從 0 到 5(包含 5)。
嘗試一下 ?

以上實(shí)例輸出結(jié)果為:

局部變量的值為 0
局部變量的值為 1
局部變量的值為 2
局部變量的值為 3
局部變量的值為 4
局部變量的值為 5

for...in 循環(huán)幾乎是完全等價(jià)于:

(expression).each do |variable[, variable...]| code end

但是,for 循環(huán)不會(huì)為局部變量創(chuàng)建一個(gè)新的作用域。

語(yǔ)法中 do 可以省略不寫(xiě)。但若要在一行內(nèi)寫(xiě)出 for 式,則必須以 do 隔開(kāi)條件式或程式區(qū)塊。

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

(0..5).each do |i|
   puts "局部變量的值為 #{i}"
end

嘗試一下 ?

以上實(shí)例輸出結(jié)果為:

局部變量的值為 0
局部變量的值為 1
局部變量的值為 2
局部變量的值為 3
局部變量的值為 4
局部變量的值為 5

break 語(yǔ)句

語(yǔ)法

break

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

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i > 2 then
      break
   end
   puts "局部變量的值為 #{i}"
end

嘗試一下 ?

以上實(shí)例輸出結(jié)果為:

局部變量的值為 0
局部變量的值為 1
局部變量的值為 2

next 語(yǔ)句

語(yǔ)法

next

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

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i < 2 then
      next
   end
   puts "局部變量的值為 #{i}"
end

嘗試一下 ?

以上實(shí)例輸出結(jié)果為:

局部變量的值為 2
局部變量的值為 3
局部變量的值為 4
局部變量的值為 5

redo 語(yǔ)句

語(yǔ)法

redo

重新開(kāi)始最內(nèi)部循環(huán)的該次迭代,不檢查循環(huán)條件。如果在塊內(nèi)調(diào)用,則重新開(kāi)始 yieldcall

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 0..5
   if i < 2 then
      puts "局部變量的值為 #{i}"
      redo
   end
end

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

局部變量的值為 0
局部變量的值為 0
............................

retry 語(yǔ)句

語(yǔ)法

retry

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

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

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

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

實(shí)例

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

for i in 1..5
   retry if  i > 2
   puts "局部變量的值為 #{i}"
end

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

局部變量的值為 1
局部變量的值為 2
局部變量的值為 1
局部變量的值為 2
局部變量的值為 1
局部變量的值為 2
............................


標(biāo)題名稱(chēng):創(chuàng)新互聯(lián)Ruby教程:Ruby循環(huán)
標(biāo)題網(wǎng)址:http://m.5511xx.com/article/djdgode.html