成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Ruby流程控制應(yīng)用技巧講解

開發(fā) 開發(fā)工具
Ruby流程控制包括case語句,when if語句,以及for語句。我們會在文章中針對Ruby流程控制做一個詳細的介紹,希望對大家有所幫助。

Ruby語言是一項完全面向?qū)ο蟮木幊陶Z言,通常被人們理解為解釋型語言。我們今天在這里為大家講解的是有關(guān)Ruby流程控制的一些應(yīng)用方法。#t#

Ruby流程控制之case

我們用case語句測試有次序的條件.正如我們所見的,這和C,Java的switch相當接近,但更強大.

  1. ruby> i=8   
  2. ruby> case i   
  3. | when 1, 2..5   
  4. | print "1..5\n"   
  5. | when 6..10   
  6. | print "6..10\n"   
  7. | end   
  8. 6..10   
  9. nil   

 2..5表示2到5之間的一個范圍.下面的表達式測試 i 是否在范圍內(nèi):
(2..5) === i

case 內(nèi)部也是用關(guān)系運算符 === 來同時測試幾個條件.為了保持ruby的面對對象性質(zhì), === 可以合適地理解為出現(xiàn)在 when 條件里的對
象.比如,下面的代碼現(xiàn)在***個 when 里測試字符串是否相等,并在第二個 when 里進行正則表達式匹配.

  1. ruby> case 'abcdef'   
  2. | when 'aaa', 'bbb'   
  3. | print "aaa or bbb\n"   
  4. | when /def/   
  5. | print "includes /def/\n"   
  6. | end   
  7. includes /def/   
  8. nil   
  9. while  

雖然你會發(fā)現(xiàn)并不需要經(jīng)常將循環(huán)體寫得很清楚,但 Ruby 還是提供了一套構(gòu)建循環(huán)的好用的方法.

Ruby流程控制之while 是重復(fù)的 if.

我們在猜詞游戲和正則表達式中使用過它(見前面的章節(jié));這里,當條件(condition)為真的時候,它圍繞一個代碼域以while condition...end的形式循環(huán).但 while 和 if 可以很容易就運用于單獨語句:

  1. ruby> i = 0   
  2. 0   
  3. ruby> print "It's zero.\n" if i==0   
  4. It's zero.   
  5. nil   
  6. ruby> print "It's negative.\n" if i<0   
  7. nil   
  8. ruby> print "#{i+=1}\n" while i<3   
  9. 1   
  10. 2   
  11. 3   
  12. nil   

 有時候你想要否定一個測試條件. unless 是 if 的否定, until 是一個否定的 while.在這里我把它們留給你實驗.

有四種從內(nèi)部中斷循環(huán)的方法.

***,和C一樣break從循環(huán)中完全退出.

第二, next 跳到下一次循環(huán)迭代的開始(對應(yīng)于C的 continue ).

第 三,Ruby有redo,它可以重新開始現(xiàn)在的迭代.下面是用 C 代碼對break,next,redo的意義做了演示:

  1. while (condition) {   
  2. label_redo:   
  3. goto label_next; /* ruby's "next" */   
  4. goto label_break; /* ruby's "break" */   
  5. goto label_redo; /* ruby's "redo" */   
  6. ...   
  7. ...   
  8. label_next:   
  9. }   
  10. label_break:   
  11. ...  

 第四種方法是由循環(huán)內(nèi)跳出的方法是 returen. return的結(jié)果是不僅從循環(huán)中跳出,而且會從含循環(huán)的方法中跳出.如果有參數(shù),它會返回給方法調(diào)用,不然就返回nil.

Ruby流程控制之for

C程序員現(xiàn)在會想知道怎樣做一個"for"循環(huán).Ruby的for比你想象的要有趣一點.下面的loop由集合中的元素控制運行:

  1. for elt in collection   
  2. ...   
  3. end   

 集合可以是一個數(shù)集(也是傳統(tǒng)意義上的for循環(huán)):

  1. ruby> for num in (4..6)   
  2. | print num,"\n"   
  3. | end   
  4. 4   
  5. 5   
  6. 6   
  7. 4..6   

 也可以是其它的什么類型的集合,比如一個數(shù)組:

  1. ruby> for elt in [100,-9.6,"pickle"]   
  2. | print "#{elt}\t(#{elt.type})\n"   
  3. | end   
  4. 100 (Fixnum)   
  5. -9.6 (Float)   
  6. pickle (String)   
  7. [100, -9.6, "pickle"]   

 但我們說過頭了.for其實是 each 的另一寫法,正巧,這是我們關(guān)于迭代器的***個例子.下面的兩種形式是等價的:

  1. # If you're used to C or Java, 
    you might prefer this.   
  2. for i in collection   
  3. ...   
  4. end   
  5. # A Smalltalk programmer 
    might prefer this.   
  6. collection.each {|i|   
  7. ...   
  8. }  

 以上就是Ruby流程控制的一些相關(guān)知識介紹。

責(zé)任編輯:曹凱 來源: jb51.net
相關(guān)推薦

2009-12-14 09:33:04

Ruby安裝

2009-12-14 15:30:43

安裝Ruby on R

2009-12-15 10:23:23

Ruby應(yīng)用技巧

2010-05-11 12:17:51

Unix awk

2017-05-31 17:09:52

LinuxShell命令

2024-06-06 09:09:41

SQL循環(huán)控制命令

2010-05-11 12:53:58

Unix awk

2009-12-16 14:40:14

Ruby控制結(jié)構(gòu)

2009-12-17 17:37:42

Ruby on Rai

2009-12-18 10:47:16

Ruby裝飾模式

2009-12-11 17:57:13

PHP應(yīng)用JSON

2009-02-19 10:13:00

遠程控制服務(wù)器權(quán)限

2021-05-27 05:27:22

流程控制Rust

2009-09-04 10:42:56

C#流程控制語句

2010-02-22 16:19:25

WCF自托管

2009-12-30 18:18:32

Silverlight

2010-07-19 10:11:58

Perl流程控制語句

2024-11-01 16:05:26

2009-12-15 18:03:46

Ruby連接數(shù)據(jù)庫

2014-01-07 17:21:27

遠程控制
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美成人免费在线视频 | 操操操日日日 | 国产美女特级嫩嫩嫩bbb片 | 亚洲国产一区二区三区在线观看 | 国产精品视频一区二区三 | 99久久国产精 | av在线播放网址 | 日韩精品一区二区三区在线播放 | 亚洲h在线观看 | 中文字幕在线观看 | 一级午夜aaa免费看三区 | 久久久看 | 在线观看国产网站 | 久久99精品久久久久婷婷 | 亚洲一av| 亚洲午夜视频 | 久久亚洲一区 | 99精品一区二区三区 | 国产精品免费一区二区三区四区 | 国产美女视频黄a视频免费 国产精品福利视频 | 国产乱码精品一区二区三区忘忧草 | www.色婷婷 | 国产精品免费福利 | 一级黄片一级毛片 | 国产精品久久久久久久久婷婷 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 国产精品一区在线观看你懂的 | 成人网在线 | 久草新在线 | 欧美中文字幕一区 | 日韩欧美手机在线 | 黑人粗黑大躁护士 | 国产精品视频区 | 欧美黄色片 | 在线黄av | 久久三区 | 免费国产黄 | 亚洲精品99| 欧美精品久久久 | 毛片在线免费播放 | 美女一级a毛片免费观看97 |