成人免费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字符串處理函數

2009-12-15 11:01:31

Ruby數組

2009-12-14 09:33:04

Ruby安裝

2010-10-09 11:54:46

MySQL字符串

2010-07-19 15:07:46

Perl字符串處理函數

2025-06-30 02:11:00

2009-11-26 13:52:07

PHP字符串替換函數s

2009-12-15 15:28:22

Ruby重載

2017-12-07 16:08:47

數據優化HTML字符串
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品欧美一区二区三区久久久小说 | 国产免费观看久久黄av片涩av | 国产精品二区三区 | 国产成人精品免费视频大全最热 | 四虎永久在线精品免费一区二 | 国产一区二区三区在线视频 | 欧美色性| 日韩在线免费观看视频 | 超碰超碰 | 在线婷婷 | 午夜爽爽爽男女免费观看 | www.日韩在线 | 成年人在线视频 | 一区二区三区四区国产 | 久久精品国产一区二区电影 | 99久久久国产精品 | 中文字幕一区二区三区四区五区 | 亚洲一区欧美 | 精品国产91 | 精品福利一区二区三区 | 国产精品视频观看 | 亚洲视频在线一区 | 99精品免费在线观看 | 久久国| 国产亚洲日本精品 | 99久久久国产精品免费消防器 | 激情91 | 免费一级欧美在线观看视频 | 国产精品成人久久久久 | 天堂色区 | 成人不卡视频 | 国产欧美精品区一区二区三区 | 日韩精品一区二区三区在线播放 | 麻豆一区二区三区精品视频 | 国产精品久久久久久久久久久久久 | 久久国产一区二区三区 | 久久夜视频 | 91精品国产高清一区二区三区 | 精品综合在线 | 黄色精品 | 激情欧美一区二区三区中文字幕 |