Ruby簡(jiǎn)明教程之循環(huán)語(yǔ)句介紹
循環(huán)結(jié)構(gòu)在編程語(yǔ)言中是不可或缺的,所以Ruby中的循環(huán)也有其自定義的規(guī)則。
而我們關(guān)注循環(huán)結(jié)構(gòu),要知道兩個(gè)因素:1) 循環(huán)的條件;2) 循環(huán)執(zhí)行的內(nèi)容
Ruby有一些方式來(lái)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)體:
1. times方法
在前面已經(jīng)有提到過(guò)了,語(yǔ)法如下:
循環(huán)次數(shù).times do 循環(huán)次數(shù).times {
重復(fù)執(zhí)行的動(dòng)作 重復(fù)執(zhí)行的動(dòng)作
end }
#也可以在times模塊中加入變量
5.times { |i|
print "This is the", i+1, " time. \n"
}
# i變量是從0開(kāi)始計(jì)算的
2. for 語(yǔ)句
語(yǔ)法:
for 變量 in 開(kāi)始數(shù)值..結(jié)束數(shù)值 do
反復(fù)執(zhí)行的動(dòng)作
end
# do是可以省略的
from = 0
to = 20
sum = 0
for i in from..to
sum += 1
end
語(yǔ)法:
for 變量 in 對(duì)象
反復(fù)執(zhí)行的動(dòng)作
end
names = ["Windy", "Cindy", "Jack", "Hugo"]
for name in names
print name, " likes Ruby. \n"
end
第二個(gè)語(yǔ)法的for語(yǔ)句,與java中的for each語(yǔ)句非常類似,for (i in list?) {...}
3. while 語(yǔ)句
while語(yǔ)句與JAVA中也是類似的
語(yǔ)法:
while 條件 do
反復(fù)執(zhí)行的動(dòng)作
end
a = 1
sum = 0
while a < 10 do
sum += a
i += a
end
4. until 語(yǔ)句
其語(yǔ)法與while語(yǔ)句類似,只是只有條件不符合的時(shí)候,才會(huì)反復(fù)執(zhí)行循環(huán)
語(yǔ)法:
until 條件 do
反復(fù)執(zhí)行的動(dòng)作
end
# do可以省略
sum = 0
until sum > 50
sum += 1
end
print sum
# 以上until循環(huán)可以轉(zhuǎn)換成下面的while循環(huán)
while !(sum > 50)
sum += 1
end
5. each 方法
在前面已經(jīng)提到過(guò)這個(gè)方法了,這里就簡(jiǎn)要記錄下語(yǔ)法
對(duì)象.each { |變量|
想要反復(fù)執(zhí)行的動(dòng)作
}
6. loop方法
它是一種沒(méi)有結(jié)束條件的方法,只是不斷進(jìn)行循環(huán)處理,示例如下:
loop {
print "Ruby"
}
循環(huán)的控制:
主要有如下關(guān)鍵字:break,next,redo;而在java中,則有break,continue,return
| 命令 | 用途 |
| break | 停止動(dòng)作,馬上跳出循環(huán) |
| next | 直接跳到下一個(gè)循環(huán) |
| redo | 以相同的條件重新執(zhí)行這一次循環(huán) |
總結(jié):當(dāng)次數(shù)固定時(shí),使用times方法比較好,而其他大部分循環(huán)幾乎都可以使用while和each方法。
相關(guān)文章
Ruby與Ruby on Rails框架環(huán)境搭建的簡(jiǎn)明教程
這篇文章主要介紹了Ruby與Ruby on Rails框架環(huán)境搭建的簡(jiǎn)明教程,包括RubyGems的升級(jí)與OpenSSL的支持等配置,需要的朋友可以參考下2016-05-05
Ruby簡(jiǎn)明教程之?dāng)?shù)組和Hash介紹
這篇文章主要介紹了Ruby簡(jiǎn)明教程之?dāng)?shù)組和Hash介紹,非常簡(jiǎn)潔的講解,可以作為語(yǔ)法備忘,需要的朋友可以參考下2014-06-06
Ruby里4種比較函數(shù)(equal?, eql?, ==, ===)詳解
本文給大家詳細(xì)介紹了Ruby中的4種比較函數(shù)(equal?, eql?, ==, ===)的用法,并用具體示例進(jìn)行了講解,希望對(duì)大家學(xué)習(xí)ruby能夠有所幫助。2016-02-02

