亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ディレクトリ 検索
Ruby用戶指南 3、開始 4、簡(jiǎn)單的例子 5、字符串 6、正則表達(dá)式 7、數(shù)組 8、回到那些簡(jiǎn)單的例子 9、流程控制 10、迭代器 11、面向?qū)ο笏季S 12、方法 13、類 14、繼承 15、重載方法 16、訪問控制 17、單態(tài)方法 18、模塊 19、過程對(duì)象 20、變量 21、全局變量 22、實(shí)變量 23、局部變量 24、類常量 25、異常處理:rescue 26、異常處理:ensure 27、存取器 28、對(duì)象的初始化 29、雜項(xiàng) RGSS入門教程 1、什么是RGSS 2、開始:最簡(jiǎn)單的腳本 3、數(shù)據(jù)類型:數(shù)字 4、數(shù)據(jù)類型:常量與變量 5、數(shù)據(jù)類型:字符串 6、控制語句:條件分歧語句 7、控制語句:循環(huán) 8、函數(shù) 9、對(duì)象與類 10、顯示圖片 11、數(shù)組 12、哈希表(關(guān)聯(lián)數(shù)組) 13、類 14、數(shù)據(jù)庫(kù) 15、游戲?qū)ο?/a> 16、精靈的管理 17、窗口的管理 18、活動(dòng)指令 19、場(chǎng)景類 Programming Ruby的翻譯 Programming Ruby: The Pragmatic Programmer's Guide 前言 Roadmap Ruby.new 類,對(duì)象和變量 容器Containers,塊Blocks和迭代Iterators 標(biāo)準(zhǔn)類型 深入方法 表達(dá)式Expressions 異常,捕捉和拋出(已經(jīng)開始,by jellen) 模塊 基本輸入輸出 線程和進(jìn)程 當(dāng)遭遇挫折 Ruby和它的世界 Ruby和Web開發(fā) Ruby Tk Ruby 和微軟的 Windows 擴(kuò)展Ruby Ruby語言 (by jellen) 類和對(duì)象 (by jellen) Ruby安全 反射Reflection 內(nèi)建類和方法 標(biāo)準(zhǔn)庫(kù) OO設(shè)計(jì) 網(wǎng)絡(luò)和Web庫(kù) Windows支持 內(nèi)嵌文檔 交互式Ruby Shell 支持 Ruby參考手冊(cè) Ruby首頁 卷首語 Ruby的啟動(dòng) 環(huán)境變量 對(duì)象 執(zhí)行 結(jié)束時(shí)的相關(guān)處理 線程 安全模型 正則表達(dá)式 字句構(gòu)造 程序 變量和常數(shù) 字面值 操作符表達(dá)式 控制結(jié)構(gòu) 方法調(diào)用 類/方法的定義 內(nèi)部函數(shù) 內(nèi)部變量 內(nèi)部常數(shù) 內(nèi)部類/模塊/異常類 附加庫(kù) Ruby變更記錄 ruby 1.6 特性 ruby 1.7 特性 Ruby術(shù)語集 Ruby的運(yùn)行平臺(tái) pack模板字符串 sprintf格式 Marshal格式 Ruby FAQ Ruby的陷阱
テキスト

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

ruby>?"abc"
???"abc"
ruby>?'abc'
???"abc"

單引號(hào)和雙引號(hào)在某些情況下有不同的作用.一個(gè)由雙引號(hào)括起來的字符串允許字符由一個(gè)前置的斜杠引出,而且可以用#{}內(nèi)嵌表達(dá)式.而

單引號(hào)括起來的字符串并不會(huì)對(duì)字符串作任何解釋;你看到的是什么便是什么.幾個(gè)例子:

ruby>?print?"a\nb\nc","\n"
a
b
c
???nil
ruby>?print?'a\nb\n',"\n"
a\nb\nc
???nil
ruby>?"\n"
???"\n"
ruby>?'\n'
???"\\n"
ruby>?"\001"
???"\001"
ruby>?'\001'
???"\\001"
ruby>?"abcd?#{5*3}?efg"
???"abcd?15?efg"
ruby>?var?=?"?abc?"
???"?abc?"
ruby>?"1234#{var}5678"
???"1234?abc?5678"

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

ruby>?"foo"?+?"bar"
???"foobar"
ruby>?"foo"?*?2
???"foofoo"

相比之下,在C里,因?yàn)樾枰_的內(nèi)存管理,串聯(lián)字符串要笨拙的多:

char?*s?=?malloc(strlen(s1)+strlen(s2)+1);
strcpy(s,?s1);
strcat(s,?s2);
/*?...?*/
free(s);

但對(duì)于Ruby,我們不需要考慮字符串的空間占用問題,這令到我們可以從煩瑣的內(nèi)存管理中解脫出來.

下面是一些字符串的處理,

串聯(lián):

ruby>?word?=?"fo"?+?"o"
???"foo"

重復(fù):

ruby>?word?=?word?*?2
???"foofoo"?

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

ruby>?word[0]
???102????????????#?102?is?ASCII?code?of?`f'?
ruby>?word[-1]
???111????????????#?111?is?ASCII?code?of?`o'?

(負(fù)的索引指從字符串尾算起的偏移量,而不是從串頭.)

提取子串:

ruby>?herb?=?"parsley"
???"parsley"
ruby>?herb[0,1]
???"p"
ruby>?herb[-2,2]
???"ey"
ruby>?herb[0..3]
???"pars"
ruby>?herb[-5..-2]
???"rsle"?

檢查相等:

ruby>?"foo"?==?"foo"
???true
ruby>?"foo"?==?"bar"
???false?

注意:在Ruby?1.0里,以上結(jié)果以大寫字母出現(xiàn).

好,讓我們來試試這些特性.下面是一個(gè)猜詞的謎題,可能"謎題"這個(gè)詞用在下面的東西上太酷了一點(diǎn);-)

#?save?this?as?guess.rb
words?=?['foobar',?'baz',?'quux']
secret?=?words[rand(3)]
print?"guess??"
while?guess?=?STDIN.gets??
????guess.chop!??
????if?guess?==?secret
???????print?"You?win!\n"????
???????break??
????else????
???????print?"Sorry,?you?lose.\n"??
????end??
????print?"guess??"
end
print?"The?word?was?",?secret,?".\n"

現(xiàn)在,別太擔(dān)心代碼細(xì)節(jié)了.下面是謎題程序運(yùn)行的一個(gè)對(duì)話.

%?ruby?guess.rb
guess??foobar
Sorry,?you?lose.
guess??quux
Sorry,?you?lose.
guess??^D
The?word?was?baz.?

(考慮到1/3的成功率,也許我本該做得好一點(diǎn).) 版權(quán)聲明:RUBY文檔中心的所有文章標(biāo)明[原創(chuàng)]的均為本站作品,版權(quán)屬RUBY中文化計(jì)劃,若轉(zhuǎn)載請(qǐng)注明;標(biāo)明[翻譯]的其外文版權(quán)歸原作者,譯文版權(quán)屬RUBY中文化計(jì)劃;標(biāo)明[轉(zhuǎn)貼]的,若原作者感到侵犯了他的著作權(quán),那么請(qǐng)及時(shí)跟主持人聯(lián)系,我們會(huì)盡快更正。 ?
前の記事: 次の記事: