日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
初步講解如何處理Ruby字符串

Ruby語言作為一種完全面向?qū)ο蟮慕忉屝湍_本語言,可以幫助我們簡單實現(xiàn)許多功能需求。其靈活性逐步的被廣大編程人員所接受。#t#

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

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

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

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

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

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

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

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

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

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

重復:

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

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

 
 
 
  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里,以上結(jié)果以大寫字母出現(xiàn).
好,讓我們來試試這些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" 

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

 
 
 
  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. 

分享標題:初步講解如何處理Ruby字符串
URL鏈接:http://www.5511xx.com/article/dpidpjp.html