有趣的Ruby-學習筆記2

來源:互聯網
上載者:User

標籤:

注釋單行注釋就是 #多行注釋比較奇怪是 用 = begin 和 =end
#!/usr/bin/ruby -wputs "Hello, Ruby!"=begin這是一個多行注釋。可擴充至任意數量的行。但 =begin 和 =end 只能出現在第一行和最後一行。 =end
條件判斷
if conditional [then]  code...[elsif conditional [then]  code...]...[else  code...]end


if 運算式用於條件執行。值 false 和 nil 為假,其他值都為真。請注意,Ruby 使用 elsif,不是使用 else if 和 elif。
通常我們省略保留字 then 。若想在一行內寫出完整的 if 式,則必須以 then 隔開條件式和程式區塊。如下所示:
if a == 4 then a = 7 end

執行個體
#!/usr/bin/ruby# -*- coding: UTF-8 -*-x=1if x > 2   puts "x 大於 2"elsif x <= 2 and x!=0   puts "x 是 1"else   puts "無法得知 x 的值"end
Ruby迴圈文法
while conditional [do]   codeend
或者
while conditional [:]   codeend


文法中 do 或 : 可以省略不寫。但若要在一行內寫出 while 式,則必須以 do 或 : 隔開條件式或程式區塊。
文法
code while condition或者begin   code end while conditional
until比較特殊的是 until 文法
until conditional [do]   codeend

執行個體
#!/usr/bin/ruby# -*- coding: UTF-8 -*-$i = 0$num = 5until $i > $num  do   puts("在迴圈語句中 i = #$i" )   $i +=1;end
forfor一般來說是使用率最高的迴圈方式
for variable [, variable ...] in expression [do]   codeend
比如
#!/usr/bin/ruby# -*- coding: UTF-8 -*-for i in 0..5   puts "局部變數的值為 #{i}"end

還可以這麼寫
#!/usr/bin/ruby# -*- coding: UTF-8 -*-(0..5).each do |i|   puts "局部變數的值為 #{i}"end

next語句相當於 continue 語句redo可以重新開始迴圈,不過很容易造成死迴圈,不知道為什麼設計這個文法
#!/usr/bin/ruby# -*- coding: UTF-8 -*-for i in 0..5   if i < 2 then      puts "局部變數的值為 #{i}"      redo   endend

這個會產生一個死迴圈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
然後這段又是一個死迴圈






有趣的Ruby-學習筆記2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.