Ruby語(yǔ)言入門(mén)

出版時(shí)間:2010 年4月  出版社:東南大學(xué)出版社  作者:Yugui  頁(yè)數(shù):223  譯者:丁明,呂嘉  
Tag標(biāo)簽:無(wú)  

前言

  本書(shū)是為具備其他編程語(yǔ)言知識(shí)的程序員而準(zhǔn)備的Ruby入門(mén)書(shū),以Ruby 1.8和Ruby 1.9作為對(duì)象進(jìn)行講述。此外還加入了筆者從8年的Ruby使用經(jīng)驗(yàn)中體會(huì)到的一些Ruby的文化和習(xí)慣。  與眾多成功的程序語(yǔ)言相同,Ruby持有其獨(dú)特的世界觀。我們?cè)趯?xiě)Java程序的時(shí)候很自然地就會(huì)用Java來(lái)考慮問(wèn)題,比如會(huì)考慮到變量的類(lèi)型、Java普通的APl和構(gòu)造等問(wèn)題。此外筆者還體會(huì)到了Peri的突出的世界觀。在筆者用Peri編寫(xiě)程序時(shí),就會(huì)像呼吸一樣很自然地想到scalar和list,而且會(huì)站在CPAN這個(gè)生態(tài)系統(tǒng)的基礎(chǔ)上進(jìn)行程序設(shè)計(jì)。同樣,能熟練地使用Ruby指的也不是僅僅理解Ruby的語(yǔ)法,而是要用Ruby的方式來(lái)思考問(wèn)題?! uby有一句古老的口號(hào)是“最小驚訝原則”。它是Ruby社區(qū)默認(rèn)的Ruby思考方法,Ruby自身也必須在遵循這個(gè)原則的基礎(chǔ)上執(zhí)行非常自然的容易理解的動(dòng)作。在Ruby的郵件組中,當(dāng)需要決定Ruby的語(yǔ)法或者Ruby標(biāo)準(zhǔn)程序庫(kù)中的功能時(shí),這個(gè)問(wèn)題總是會(huì)被當(dāng)作話題來(lái)討論。因此,只要像一個(gè)Ruby程序員一樣用Ruby的思考方式來(lái)考慮問(wèn)題,那么讀者就會(huì)在今后不斷地閱讀Ruby代碼的過(guò)程中逐漸變得熟練。只要具備了這種思考方式,就算只是在方法庫(kù)中尋找一個(gè)功能,也會(huì)自然而然地想到“如果是Ruby程序員的話應(yīng)該去哪里找?應(yīng)該如何調(diào)用?”在理想的情況下,Ruby應(yīng)該會(huì)按照你想寫(xiě)的內(nèi)容進(jìn)行處理?! ”緯?shū)的讀者對(duì)象  本書(shū)的讀者對(duì)象是有使用其他語(yǔ)言進(jìn)行編程的經(jīng)驗(yàn)的程序員。尤其面向的是有C++、Java、C#、Perl5、PHP5等面向?qū)ο笳Z(yǔ)言經(jīng)驗(yàn)的程序員。本書(shū)還提供了一些閱讀“Ruby參考手冊(cè)”就能獲取的Ruby的基礎(chǔ)知識(shí)?! ?duì)于程序員來(lái)說(shuō),學(xué)習(xí)Ruby的最好的教材應(yīng)該是《Ruby參考手冊(cè)》。其中記述了有關(guān)Ruby的所有內(nèi)容。想要學(xué)習(xí)Ruby的人都應(yīng)該將參考手冊(cè)通讀一遍。  但是,閱讀參考手冊(cè)存在一個(gè)問(wèn)題。這個(gè)參考手冊(cè)是為已經(jīng)理解Ruby習(xí)慣的人所編寫(xiě)的。作為Ruby程序員日常查詢(xún)用的資料,當(dāng)然不能寫(xiě)得太冗長(zhǎng),但這對(duì)初學(xué)者卻是一個(gè)障礙。在剛開(kāi)始學(xué)習(xí)Ruby的時(shí)候,筆者看了參考手冊(cè)之后也有很多不明白的地方。比如,Pile.chmod和Pile#chmod到底在含義上有什么區(qū)別等等?! ≡陂喿x參考手冊(cè)之前需要知道的基礎(chǔ)知識(shí)有:Ruby的獨(dú)特的概念、表示方法和思考方法。在本書(shū)中將會(huì)對(duì)Ruby的基礎(chǔ)概念、輔助類(lèi)或者代碼塊等獨(dú)特的概念以及關(guān)于它們的文化做詳細(xì)的介紹。通過(guò)這些內(nèi)容,讀者就可以理解Ruby的文化。讀完本書(shū),讀者就能自由自在地閱讀參考手冊(cè),為使用Ruby方法庫(kù)進(jìn)行高級(jí)編程做好準(zhǔn)備?! 〉?,本書(shū)并未對(duì)計(jì)算機(jī)科學(xué)的一般話題以及有關(guān)面向?qū)ο蟮母拍钭鼋榻B,只是在書(shū)的末尾簡(jiǎn)單地列出了一些用語(yǔ)。關(guān)于這些話題的詳細(xì)內(nèi)容,請(qǐng)參閱《計(jì)算機(jī)的構(gòu)造與設(shè)計(jì)(第2版)》(日經(jīng)BP)、《Write Great Code》(每日Communications)、《面向?qū)ο笕腴T(mén)(第2版)》(翔泳社)。  寫(xiě)給編程的初學(xué)者  在編寫(xiě)本書(shū)的時(shí)候,有兩個(gè)讀者對(duì)象選擇。一是以編程的初學(xué)者為對(duì)象,二是以程序員為對(duì)象。筆者選擇了后者。本書(shū)是為已經(jīng)學(xué)習(xí)過(guò)編程的人員所編寫(xiě)的Ruby語(yǔ)言的入門(mén)書(shū)。因此書(shū)中幾乎沒(méi)有對(duì)程序編寫(xiě)的基礎(chǔ)知識(shí)進(jìn)行解說(shuō)?! ∑鋵?shí)“學(xué)習(xí)編程”這個(gè)想法自身也是有問(wèn)題的。因?yàn)槿绻灰砸环N程序語(yǔ)言為基礎(chǔ)進(jìn)行學(xué)習(xí)的話,是學(xué)不好編寫(xiě)程序的方法的。但是,由于現(xiàn)實(shí)中的大多數(shù)程序語(yǔ)言都具備大量的解決復(fù)雜問(wèn)題的功能,因此同時(shí)對(duì)“語(yǔ)言的功能”和“編程的方法”兩者進(jìn)行學(xué)習(xí)是很困難的。  Ruby的語(yǔ)法在這一點(diǎn)上有相對(duì)的優(yōu)勢(shì)。因?yàn)樗梢苑浅:?jiǎn)練地表示出繼承、分支、循環(huán)以及變量、例程等概念。由于語(yǔ)法簡(jiǎn)練,從而使學(xué)習(xí)者可以不受干擾地對(duì)編寫(xiě)程序的本質(zhì)部分進(jìn)行學(xué)習(xí)。因此,Ruby也可以說(shuō)是面向?qū)W習(xí)編程方法的一門(mén)語(yǔ)言?! ”M管如此,筆者并沒(méi)有將本書(shū)的對(duì)象設(shè)定為編程的初學(xué)者。其中一個(gè)理由是,已經(jīng)有一本以Ruby為題材的程序編寫(xiě)入門(mén)的好書(shū)《編程入門(mén)》(OReilly Japan)。另外一個(gè)理由是,對(duì)于急需要解決現(xiàn)實(shí)中的復(fù)雜問(wèn)題的程序員,筆者非常想向他們介紹一下Ruby。  本書(shū)的構(gòu)成  第1章對(duì)Ruby整體進(jìn)行概述。對(duì)Ruby中的各個(gè)部分只做淺嘗輒止的介紹,其詳細(xì)內(nèi)容將留給后面的章節(jié)。  從第2章到第5章,分別對(duì)Ruby的數(shù)組、哈希表、數(shù)值、字符串和輸入輸出等基本內(nèi)容做詳細(xì)的解說(shuō)。此外,還將會(huì)涉及帶有代碼塊的方法以及類(lèi)型變換等Ruby框架的內(nèi)容?! 牡?章到第8章,將對(duì)還未清楚講述的Ruby浯言本身(語(yǔ)法)做更為詳細(xì)的說(shuō)明。其中第7章將詳細(xì)講述與作為Ruby的構(gòu)造化基礎(chǔ)結(jié)構(gòu)的方法相關(guān)的各種語(yǔ)法。在第8章中,將會(huì)涉及類(lèi)與對(duì)象的內(nèi)容?! 〉?章將會(huì)對(duì)一些超出本書(shū)所涉及內(nèi)容的發(fā)展性話題做一些入門(mén)性的介紹。此外,還會(huì)列出一些必要的參考資料?! ”緯?shū)所采用的表示符號(hào)  黑體字(Bold)  對(duì)最初出現(xiàn)的用語(yǔ)加以強(qiáng)調(diào)?! 〉葘捵郑–onstant width)  表示類(lèi)名、方法名以及變量名。此外,也在代碼示例中使用。  等寬黑體字(Constant width bold)  表示用戶(hù)實(shí)際輸入的內(nèi)容?! ∵@個(gè)標(biāo)志表示從Ruby 1.8升級(jí)到Ruby 1.9時(shí)的變更點(diǎn)?! ∵@個(gè)標(biāo)志表示對(duì)文章內(nèi)容的補(bǔ)充性信息或者提示信息?! ∵@個(gè)標(biāo)志表示容易出錯(cuò)的地方?! ∽稍?xún)地址  雖然本書(shū)在內(nèi)容上希望做到完整無(wú)誤,但是在制作印刷的過(guò)程中難免會(huì)出現(xiàn)錯(cuò)誤。而且由于Ruby的版本更新,也會(huì)出現(xiàn)與本書(shū)所述內(nèi)容有出入的地方。尤其是對(duì)于Ruby 1.9來(lái)說(shuō),出錯(cuò)是極有可能的。

內(nèi)容概要

本書(shū)為具有一定其他語(yǔ)言的編程經(jīng)驗(yàn)的讀者介紹Ruby的特征、Ruby中的編程方法和編程習(xí)慣。這些內(nèi)容都是為了讓讀者能夠邊閱讀Ruby的資料邊進(jìn)行實(shí)踐性的學(xué)習(xí)所必須具備的基礎(chǔ)知識(shí)。本書(shū)對(duì)Ruby的基礎(chǔ)部分和元類(lèi)、塊語(yǔ)句這樣獨(dú)特的概念,以及由此產(chǎn)生的特有的文化進(jìn)行了說(shuō)明,以使讀者能夠了解到Ruby獨(dú)特的思考方式。讀完本書(shū),讀者就應(yīng)該能夠靈活地運(yùn)用各種Ruby的類(lèi)庫(kù),并能夠掌握編寫(xiě)高水平的Ruby程序的基礎(chǔ)知識(shí)。

作者簡(jiǎn)介

  Yugui,本名為園田裕貴(Sonoda Yuki)。Ruby committer,Ruby1.9的系統(tǒng)發(fā)布管理員,MtF-TS。曾編寫(xiě)了各種文件和程序庫(kù)等,致力于實(shí)現(xiàn)“更容易理解的Ruby”的理想。此外,通過(guò)對(duì)發(fā)布的管理,也使Ruby向“更加穩(wěn)定的Ruby”這一目標(biāo)邁進(jìn)。2004年畢業(yè)于立教大學(xué)理學(xué)部數(shù)學(xué)科。2006年立教大學(xué)理學(xué)研究科的博士肄業(yè)。在Web類(lèi)企業(yè)做了一些開(kāi)發(fā)工作以后,從2008年開(kāi)始成為自由程序員(freelance programmer)。曾多次向雜志投稿。

書(shū)籍目錄


前言
第1章 歡迎來(lái)到Ruby的世界
 1.1 Ruby的特征
 1.2 處理系統(tǒng)和運(yùn)行環(huán)境
 1.3 運(yùn)行模式
 1.4 解釋器的運(yùn)行
 1.5 語(yǔ)法和功能
 1.6 本章總結(jié)
第2章 數(shù)組和哈希表
 2.1 數(shù)組
 2.2 哈希表
 2.3 Enumerable模塊
 2.4 本章總結(jié)
第3章 數(shù)值
 3.1 數(shù)字
 3.2 數(shù)值運(yùn)算
 3.3 比較
 3.4 數(shù)學(xué)函數(shù)
 3.5 比特運(yùn)算
 3.6 本章總結(jié)
第4章 字符串
 4.1 字符串的創(chuàng)建
 4.2 字符和字符字面量
 4.3 正則表達(dá)式
 4.4 對(duì)子字符串進(jìn)行操作
 4.5 字符串的操作
 4.6 迭代
 4.7 格式化
 4.8 Symbol
 4.9 Ruby 1.8和多字節(jié)字符串
 4.10 多字節(jié)字符串和Ruby 1.9
 4.11 本章總結(jié)
第5章 輸入輸出
 5.1 程序的參數(shù)
 5.2 文件
 5.3 標(biāo)準(zhǔn)輸入輸出
 5.4 其他的輸入輸出對(duì)象
 5.5 編碼(Encoding)
 5.6 本章總結(jié)
第6章 變量和表達(dá)式
 6.1 變量
 6.2 運(yùn)算符
 6.3 控制表達(dá)式
 6.4 異常處理
 6.5 大范圍跳出
 6.6 本章總結(jié)
第7章 方法
 7.1 方法調(diào)用
 7.2 方法的定義
 7.3 帶有代碼塊的方法
 7.4 本章總結(jié)
第8章 對(duì)象和類(lèi)
 8.1 類(lèi)的定義
 8.2 變量與常量
 8.3 訪問(wèn)權(quán)限
 8.4 單態(tài)方法與單態(tài)類(lèi)
 8.5 模塊
 8.6 方法查找
 8.7 本章總結(jié)
第9章 超越本書(shū)
 9.1 RubyGems
 9.2 網(wǎng)絡(luò)
 9.3 數(shù)據(jù)庫(kù)
 9.4 圖像
 9.5 GUI
 9.6 Ruby的黑魔術(shù)
 9.7 Ruby的信息源
 9.8 社區(qū)
附錄A 處理系統(tǒng)的安裝
 A.1 版本的選擇
 A.2 Microsoft Windows
 A.3 Mac OS X
 A.4 GNU/Linux
 A.5 從源程序進(jìn)行安裝
 A.6 RubyGems
 A.7 其他
附錄B 表
 B.1 Ruby 1.8到1.9的變化
 B.2 用語(yǔ)集

章節(jié)摘錄

  1.2.1版本體系MRI版本號(hào)的構(gòu)成形式是(MAJoR)、(MINOR)、(TEENY)。其中MAJOR、MINOR、TEENY分別是只有1位的整數(shù),比如,“1.4.2”和“1.8.6”。MINoR是偶數(shù)時(shí)為穩(wěn)定版,以用戶(hù)的日常使用為目的開(kāi)發(fā)而成,重視運(yùn)行的可信賴(lài)性和規(guī)范的穩(wěn)定性;MINOR是奇數(shù)時(shí)為開(kāi)發(fā)版,以穩(wěn)定版的發(fā)布為目標(biāo),對(duì)新的規(guī)范和庫(kù)進(jìn)行實(shí)驗(yàn)性的開(kāi)發(fā)和實(shí)現(xiàn)。不過(guò),在1.9版系統(tǒng)中使用的版本號(hào)體系則稍有不同。1.9版系統(tǒng)的TEENY大于1時(shí)為穩(wěn)定版,TEENY是0的版本則為開(kāi)發(fā)版?! ?.8版系統(tǒng)在編寫(xiě)本書(shū)時(shí),MRI的1.8版系統(tǒng)正在被廣泛使用。從2003年8月1.8.0發(fā)布以來(lái),該系統(tǒng)的穩(wěn)定性得到了不斷地提高,逐漸得到大家的信賴(lài)。通過(guò)1.8版系統(tǒng),Ruby被大家所認(rèn)識(shí)。它也被囊括在各種GNU/Linux的發(fā)布版中,在Mac OS X中也被默認(rèn)安裝。在這一系列的發(fā)展中,Ruby on Rails的誕生對(duì)Ruby的普及起了決定性的作用?! ?.9版系統(tǒng)  1.9版系統(tǒng)是以向2.0版系統(tǒng)邁進(jìn)為目的而開(kāi)發(fā)的??傆幸惶霷uby 2.0版將會(huì)到來(lái)。Ruby的開(kāi)發(fā)陣營(yíng)以此為目標(biāo),對(duì)語(yǔ)言的規(guī)范進(jìn)行著不斷的精細(xì)化。搭載更加需要的功能,掃除缺點(diǎn),總有一天將會(huì)以“令人期待的Ruby 2.0”的形式展現(xiàn)在用戶(hù)的面前。不過(guò)經(jīng)過(guò)這樣浩大的修正工程,Ruby 2.0也許會(huì)變得和迄今為止的Ruby截然不同。Ruby 1.9的發(fā)布是以將現(xiàn)有的成果進(jìn)行整理和總結(jié)為開(kāi)始的,同時(shí)也是為了能讓用戶(hù)能夠體驗(yàn)新的功能。例如,1.9版對(duì)評(píng)估器進(jìn)行了改寫(xiě)從而使執(zhí)行的效率得到了很大提高。通過(guò)基準(zhǔn)程序的測(cè)試,其運(yùn)行速度是1.8版的50倍。而且,在1.9版中大部分的字符編碼可以被很自然地運(yùn)用。正則表達(dá)式的處理方法得到了替換,使其能力得到了很大提高。同時(shí),語(yǔ)法上的一些不自然的地方也得到了改善。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Ruby語(yǔ)言入門(mén) PDF格式下載


用戶(hù)評(píng)論 (總計(jì)26條)

 
 

  •   之所以稱(chēng)為Ruby,是因?yàn)镻erl的發(fā)音與6月的誕生石pearl(珍珠)相同,因此Ruby以7月的誕生石ruby(紅寶石)命名。

    ruby is very good .
  •   適合入門(mén),當(dāng)當(dāng)質(zhì)量保證
  •   紙張還不錯(cuò),內(nèi)容剛看了前面幾頁(yè),期待ing..
  •   內(nèi)容比較淺,很適合新手看
  •   還行吧,繼續(xù)看看看看看下去
  •   初學(xué)者必讀。
  •   公司的技術(shù)總監(jiān)推薦買(mǎi)的,肯定不錯(cuò)了,個(gè)人有點(diǎn)C語(yǔ)言基礎(chǔ),所以看書(shū)也沒(méi)有難度,適合初學(xué)者
  •   我個(gè)人覺(jué)得這本書(shū)非常好------特別是針對(duì)入門(mén)級(jí)別的。因?yàn)樗鼙?,看得比較快,很有成就感。
  •   書(shū)還行,貌似不太實(shí)用,本人絕對(duì)入門(mén)級(jí)的,看后還是自己動(dòng)手寫(xiě)不了case
  •   確實(shí)是入門(mén)級(jí)的,呵呵
  •   在學(xué)習(xí)中,比較容易看懂。
  •   內(nèi)容詳細(xì)但不繁瑣,不錯(cuò)
  •   還行吧, 適合有點(diǎn)編程基礎(chǔ)的看
  •   不適合入門(mén),例子不多
  •   感覺(jué)章節(jié)先后排版的不合理,印刷錯(cuò)誤也有很多,有些還影響了理解
  •   剛開(kāi)始看第二章,一堆錯(cuò)誤,最?lèi)盒牡那把岳锩嫣峁┑目闭`表是日文版的。
  •   書(shū)紙張質(zhì)量還行,印刷錯(cuò)誤太多,不好用。
  •   沒(méi)有條理
  •   基本語(yǔ)法嘛~
  •   配合web開(kāi)發(fā)銘記之道應(yīng)用rails。。
  •   入門(mén)書(shū)必備
  •   書(shū)不厚,總體還可以
  •   正品,很好,以后常來(lái)
  •   薄薄的一本實(shí)用書(shū)
  •   很簡(jiǎn)練的一半入門(mén)書(shū),推薦一下
  •   同事申請(qǐng)購(gòu)買(mǎi)的...他們很喜歡...
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7