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

初步講解如何處理Ruby字符串

開發 開發工具
一般情況下,編程人員向數字一樣用單引號或雙引號來進行Ruby字符串的處理。在這篇文章中我們將會對此做一個詳細的介紹。

Ruby語言作為一種完全面向對象的解釋型腳本語言,可以幫助我們簡單實現許多功能需求。其靈活性逐步的被廣大編程人員所接受。#t#

Ruby字符串可以像數字一樣處理.我們用單引號('...')或雙引號("...")將它們括起來.

  1. ruby> "abc"   
  2. "abc"   
  3. ruby> 'abc'   
  4. "abc"  

單引號和雙引號在某些情況下有不同的作用.一個由雙引號括起來的字符串允許字符由一個前置的斜杠引出,而且可以用#{}內嵌表達式.而單引號括起來的字符串并不會對Ruby字符串作任何解釋;你看到的是什么便是什么.幾個例子:

  1. ruby> print "a\nb\nc","\n"   
  2. a   
  3. c   
  4. nil   
  5. ruby> print 'a\nb\n',"\n"   
  6. a\nb\nc   
  7. nil   
  8. ruby> "\n"   
  9. "\n"   
  10. ruby> '\n'   
  11. "\\n"   
  12. ruby> "\001"   
  13. "\001"   
  14. ruby> '\001'   
  15. "\\001"   
  16. ruby> "abcd #{5*3} efg"   
  17. "abcd 15 efg"   
  18. ruby> var = " abc "   
  19. " abc "   
  20. ruby> "1234#{var}5678"   
  21. "1234 abc 5678"  

 

Ruby字符串操作比C更靈巧,更直觀.比如說,你可以用+把幾個串連起來,用*把一個串重復好幾遍:

  1. ruby> "foo" + "bar"   
  2. "foobar"   
  3. ruby> "foo" * 2   
  4. "foofoo"  

 

相比之下,在C里,因為需要精確的內存管理,串聯Ruby字符串要笨拙的多:

  1. char *s = malloc(strlen
    (s1)+strlen(s2)+1);   
  2. strcpy(s, s1);   
  3. strcat(s, s2);   
  4. /* ... */   
  5. free(s);  

但對于Ruby字符串,我們不需要考慮字符串的空間占用問題,這令到我們可以從煩瑣的內存管理中解脫出來.
下面是一些字符串的處理,
串聯:

  1. ruby> word = 
    "fo" + "o"   
  2. "foo"  

重復:

  1. ruby> wordword = word * 2   
  2. "foofoo"  

抽取字符(注意:在Ruby字符串里,字符被視為整數):

  1. ruby> word[0]   
  2. 102 # 102 is ASCII code of `f'   
  3. ruby> word[-1]   
  4. 111 # 111 is ASCII code of `o'  

(負的索引指從字符串尾算起的偏移量,而不是從串頭.)
提取子串:

  1. ruby> herb = "parsley"   
  2. "parsley"   
  3. ruby> herb[0,1]   
  4. "p"   
  5. ruby> herb[-2,2]   
  6. "ey"   
  7. ruby> herb[0..3]   
  8. "pars"   
  9. ruby> herb[-5..-2]   
  10. "rsle"   

 

檢查相等:

  1. ruby> "foo" == "foo"   
  2. true   
  3. ruby> "foo" == "bar"   
  4. false  

注意:在Ruby 1.0里,以上結果以大寫字母出現.
好,讓我們來試試這些Ruby字符串特性.下面是一個猜詞的謎題,可能"謎題"這個詞用在下面的東西上太酷了一點;-)

  1. # save this as guess.rb   
  2. words = ['foobar', 'baz', 'quux']   
  3. secret = words[rand(3)]   
  4. print "guess? "   
  5. while guess = STDIN.gets   
  6. guess.chop!   
  7. if guess == secret   
  8. print "You win!\n"   
  9. break   
  10. else   
  11. print "Sorry, you lose.\n"   
  12. end   
  13. print "guess? "   
  14. end   
  15. print "The word was ", 
    secret, ".\n"  

 

現在,別太擔心Ruby字符串代碼細節了.下面是謎題程序運行的一個對話。

  1. % ruby guess.rb   
  2. guess? foobar   
  3. Sorry, you lose.   
  4. guess? quux   
  5. Sorry, you lose.   
  6. guess? ^D   
  7. The word was baz.   
責任編輯:曹凱 來源: jb51.net
相關推薦

2010-02-23 17:12:01

WCF字符串

2009-12-18 09:52:40

Ruby字符串處理函數

2009-12-14 13:19:07

Ruby字符串

2009-12-17 13:23:25

Ruby eval方法

2010-11-26 09:51:54

MySQL字符串

2009-11-30 14:08:42

PHP字符串原理

2010-03-03 09:12:25

.NET字符串拘留池

2010-02-02 11:27:16

C++字符串

2009-08-05 18:09:17

C#異常處理機制

2011-07-21 15:36:40

JAVA

2010-08-04 11:23:15

Flex字符串

2010-07-14 16:35:52

Perl字符串處理函數

2019-08-15 10:20:19

云計算技術安全

2010-10-09 11:54:46

MySQL字符串

2010-07-19 15:07:46

Perl字符串處理函數

2009-12-15 15:28:22

Ruby重載

2009-12-15 11:01:31

Ruby數組

2009-12-14 09:33:04

Ruby安裝

2010-04-21 14:29:52

Unix 線程

2009-11-26 13:52:07

PHP字符串替換函數s
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜精品久久久 | 99re99| 国产精品视频免费看 | 国产精品永久免费 | 欧美影院 | 欧美精品一区二区三区四区 在线 | 毛片一区二区三区 | 中文字幕在线视频免费视频 | 国产中文 | 欧美日本一区 | 日韩欧美国产一区二区 | www.国产 | 国产在线观看不卡一区二区三区 | 免费黄色的视频 | 日韩视频一区在线观看 | 日韩中文字幕av | av手机在线免费观看 | 男人天堂网站 | 91免费电影 | 日韩精品 | 99久久国产综合精品麻豆 | 国产精品九九九 | 婷婷综合激情 | 欧美日韩一卡二卡 | 国内精品久久久久久 | 一区二区日韩 | 久久不射电影网 | 亚洲 成人 在线 | 四色永久 | 欧洲高清转码区一二区 | 国产精品99久久久久久久久久久久 | 网页av | 国产精品一区免费 | 国内毛片毛片毛片毛片 | 91中文字幕在线观看 | 台湾a级理论片在线观看 | 成人黄色av网址 | 久久一二 | 最新黄色毛片 | 国产成人精品一区二区三区在线观看 | 国产欧美日韩精品一区二区三区 |