av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

初步講解如何處理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更靈巧,更直觀.比如說,你可以用+把幾個串連起來,用*把一個串重復(fù)好幾遍:

 
 
 
  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" 

重復(fù):

 
 
 
  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)在,別太擔(dā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字符串
當(dāng)前地址:http://uogjgqi.cn/article/dpidpjp.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流