多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

ruby教程

Ruby 循環

閱讀 (2409)

Ruby 循環

Ruby 中的循環用于執行相同的代碼塊若干次。本章節將詳細介紹 Ruby 支持的所有循環語句。

Ruby while 語句

語法

while conditional [do]
   code
end

或者

<pre>
while conditional [:]
   code
end

conditional 為真時,執行 code

語法中 do 或 : 可以省略不寫。但若要在一行內寫出 while 式,則必須以 do 或 : 隔開條件式或程式區塊。

實例

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

$i = 0
$num = 5

while $i < $num  do
   puts("在循環語句中 i = #$i" )
   $i +=1
end
嘗試一下 ?


以上實例輸出結果為:

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

Ruby while 修飾符

語法

code while condition

或者

begin 
  code 
end while conditional

conditional 為真時,執行 code

如果 while 修飾符跟在一個沒有 rescue 或 ensure 子句的 begin 語句后面,code 會在 conditional 判斷之前執行一次。

實例

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

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

嘗試一下 ?


以上實例輸出結果為:

在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4

Ruby until 語句

until conditional [do]
   code
end

當 conditional 為假時,執行 code

語法中 do 可以省略不寫。但若要在一行內寫出 until 式,則必須以 do 隔開條件式或程式區塊。

實例

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

$i = 0
$num = 5

until $i > $num  do
   puts("在循環語句中 i = #$i" )
   $i +=1;
end
嘗試一下 ?


這將產生以下結果:

在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4
在循環語句中 i = 5

Ruby until 修飾符

語法

code until conditional

或者

begin
   code
end until conditional

conditional 為假時,執行 code

如果 until 修飾符跟在一個沒有 rescue 或 ensure 子句的 begin 語句后面,code 會在 conditional 判斷之前執行一次。

實例

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

$i = 0
$num = 5
begin
   puts("在循環語句中 i = #$i" )
   $i +=1;
end until $i > $num
嘗試一下 ?


這將產生以下結果:

在循環語句中 i = 0
在循環語句中 i = 1
在循環語句中 i = 2
在循環語句中 i = 3
在循環語句中 i = 4
在循環語句中 i = 5

Ruby for 語句

語法

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

針對 expression 中的每個元素分別執行一次 code

實例

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

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

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


以上實例輸出結果為:

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

for...in 循環幾乎是完全等價于:

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

但是,for 循環不會為局部變量創建一個新的作用域。

語法中 do 可以省略不寫。但若要在一行內寫出 for 式,則必須以 do 隔開條件式或程式區塊。

實例

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

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

以上實例輸出結果為:

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

Ruby break 語句

語法

break

終止最內部的循環。如果在塊內調用,則終止相關塊的方法(方法返回 nil)。

實例

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

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


以上實例輸出結果為:

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

Ruby next 語句

語法

next

跳到最內部循環的下一個迭代。如果在塊內調用,則終止塊的執行(yield 或調用返回 nil)。

實例

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

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


以上實例輸出結果為:

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

Ruby redo 語句

語法

redo

重新開始最內部循環的該次迭代,不檢查循環條件。如果在塊內調用,則重新開始 yieldcall

實例

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

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

這將產生以下結果,并會進入一個無限循環:

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

Ruby retry 語句

語法

retry

如果 retry 出現在 begin 表達式的 rescue 子句中,則從 begin 主體的開頭重新開始。

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

如果 retry 出現在迭代內、塊內或者 for 表達式的主體內,則重新開始迭代調用。迭代的參數會重新評估。

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

實例

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

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

這將產生以下結果,并會進入一個無限循環:

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

關閉
程序員人生
主站蜘蛛池模板: 老司机午夜在线视频免费 | 亚洲一区精品中文字幕 | 国产三级视频 | 手机看片日韩日韩国产在线看 | 亚洲精品国产成人99久久 | 国产亚洲综合成人91精品 | 亚洲高清视频在线观看 | 另类小说区 | 狂野欧美性猛交xxxx免费 | 国产成人精品免费视频大全办公室 | 精品一区二区三区在线视频 | 2021午夜国产精品福利 | 国产69精品久久久久999 | 成年人视频在线免费观看 | 中国性猛交xxxx乱大交 | 在线观看一区二区三区四区 | 欧美性生话 | 亚洲日本视频 | 中文字幕第一页亚洲 | 久久精品亚洲精品国产欧美 | 欧美肥老太肥50 60 70 | 中文字幕巨大乳在线看 | 69热视频 | 国产码欧美日韩高清综合一区 | aa一级片 | 国产日韩一区在线精品欧美玲 | 德国女人一级毛片免费 | 91精品一区二区三区在线播放 | 国产免费福利网站 | 欧美成视频在线观看 | 成人区在线观看免费视频 | 亚洲在线一区二区三区 | 欧美金妇欧美乱妇xxxx | 国产精品一区欧美日韩制服 | 在线亚洲自拍 | 日韩欧美亚洲在线 | 手机色在线 | 精品一区二区三区四区 | 18在线观看国内精品视频 | 国产一级视频久久 | 日韩亚洲国产欧美精品 |