中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

包郵 Ruby原理剖析

出版社:華中科技大學(xué)出版社出版時(shí)間:2016-10-01
開(kāi)本: 32開(kāi) 頁(yè)數(shù): 380
中 圖 價(jià):¥45.9(5.8折) 定價(jià)  ¥78.8 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
開(kāi)年大促, 全場(chǎng)包郵
?新疆、西藏除外
本類五星書(shū)更多>
買(mǎi)過(guò)本商品的人還買(mǎi)了

Ruby原理剖析 版權(quán)信息

Ruby原理剖析 本書(shū)特色

《Ruby元編程》姊妹篇 一本不讀會(huì)后悔的書(shū),深入淺出,圖文并茂,講解Ruby底層實(shí)現(xiàn)的脈絡(luò)。看不懂Ruby的C源碼,你應(yīng)該讀這本書(shū),看得懂C源碼,你更應(yīng)該讀這本書(shū)。 “很多人研究過(guò)Ruby的源碼,但很少有人像Patrick這樣把研究成果寫(xiě)成一本書(shū)。我特別喜歡書(shū)里的圖表,加上Patrick恰到好處的解說(shuō),晦澀難懂的內(nèi)容變得易于理解。本書(shū)是編程極客和喜歡深入研究軟件工具的Ruby愛(ài)好者的福音。”——PETER COOPER (@PETERC),《RUBY INSIDE》《RUBY WEEKLY》的編輯非常清晰地介紹了ruby內(nèi)部一些重要東西的實(shí)現(xiàn),推薦所有的ruby程序員看一看。 ——豆瓣網(wǎng)友,機(jī)械唯物主義 這本書(shū)不光讀了解Ruby有用,對(duì)了解語(yǔ)言虛擬機(jī)也很有幫助。 ——豆瓣網(wǎng)友,lili 讀完了斧頭書(shū)、ruby元編程,再讀這本,有種豁然開(kāi)朗的感覺(jué)。 ——豆瓣網(wǎng)友,fuzhli 這書(shū)真有意思!就喜歡這種挖掘內(nèi)部機(jī)制的書(shū)了,但又圖文并茂不枯燥! ——豆瓣網(wǎng)友,Kymair 知其然,知其所以然。 ——豆瓣網(wǎng)友,vmrand “這本書(shū)填補(bǔ)了Ruby領(lǐng)域的空白——內(nèi)容太棒了!”——XAVIER NORIA (@FXN),RUBY HERO、RUBY ON RAILS核心團(tuán)隊(duì)成員 “Patrick Shaughnessy做了一件很棒的事,寫(xiě)了這本關(guān)于Ruby內(nèi)部原理的書(shū)。你一定要看,因?yàn)槠渌麜?shū)里找不到這樣的內(nèi)容。”——SANTIAGO PASTORINO (@SPASTORINO),WYEWORKS聯(lián)合創(chuàng)始人、RUBY ON RAILS核心團(tuán)隊(duì)成員 “這本書(shū)讓我愛(ài)不釋手,它讓我對(duì)Ruby和CS有了更深的理解。書(shū)中的圖表真的非常棒,我寫(xiě)代碼時(shí)會(huì)浮現(xiàn)在我的腦海里。它是我*喜歡的三本Ruby書(shū)籍之一。”——VLAD IVANOVIC (@VLADIIM),HOLLER SYDNEY的數(shù)字媒體策略師 “雖然我不經(jīng)常研究Ruby的內(nèi)部原理,但是這本書(shū)絕對(duì)值得一讀。”——DAVID DERYL DOWNEY (@DAVIDDWDOWNEY),CYBERSPACE TECHNOLOGIES GROUP創(chuàng)始人

Ruby原理剖析 內(nèi)容簡(jiǎn)介

《Ruby原理剖析》解開(kāi)Ruby編程語(yǔ)言的魔法面紗。全書(shū)圖文并茂、深入淺出地剖析了Ruby編程語(yǔ)言的核心工作原理。作者本著科學(xué)實(shí)證的精神,設(shè)計(jì)了一系列實(shí)驗(yàn),幫助讀者輕松了解這門(mén)編程語(yǔ)言的工作奧秘,包括Ruby如何用虛擬機(jī)執(zhí)行代碼,Ruby的垃圾回收算法,以及類和模塊在Ruby內(nèi)部的關(guān)系等。

Ruby原理剖析 目錄

1 分詞與語(yǔ)法解析 3
1.1 詞條:構(gòu)成Ruby語(yǔ)言的單詞 5
1.2 語(yǔ)法解析:Ruby如何理解代碼 13
1.2.1 理解LALR解析算法 14
1.2.2 真實(shí)的Ruby語(yǔ)法規(guī)則 21
1.3 總結(jié) 31
2 編譯 33
2.1 Ruby 1.8沒(méi)有編譯器 34
2.2 Ruby 1.9和Ruby 2.0引入了編譯器 35
2.3 Ruby如何編譯簡(jiǎn)單腳本 37
2.4 編譯塊調(diào)用 41
2.5 本地表 49
2.5.1 編譯可選參數(shù) 52
2.5.2 編譯關(guān)鍵字參數(shù) 531 分詞與語(yǔ)法解析 3 1.1 詞條:構(gòu)成Ruby語(yǔ)言的單詞 5 1.2 語(yǔ)法解析:Ruby如何理解代碼 13 1.2.1 理解LALR解析算法 14 1.2.2 真實(shí)的Ruby語(yǔ)法規(guī)則 21 1.3 總結(jié) 31 2 編譯 33 2.1 Ruby 1.8沒(méi)有編譯器 34 2.2 Ruby 1.9和Ruby 2.0引入了編譯器 35 2.3 Ruby如何編譯簡(jiǎn)單腳本 37 2.4 編譯塊調(diào)用 41 2.5 本地表 49 2.5.1 編譯可選參數(shù) 52 2.5.2 編譯關(guān)鍵字參數(shù) 53 2.6 總結(jié) 57 3 Ruby如何執(zhí)行代碼 59 3.1 YARV內(nèi)部棧和Ruby調(diào)用棧 60 3.1.1 逐句查看Ruby如何執(zhí)行簡(jiǎn)單腳本 62 3.1.2 執(zhí)行塊調(diào)用 65 3.2 訪問(wèn)Ruby變量的兩種方式 72 3.2.1 本地變量訪問(wèn) 72 3.2.2 方法參數(shù)被看成本地變量 75 3.2.3 動(dòng)態(tài)變量訪問(wèn) 76 3.3 總結(jié) 86 4 控制結(jié)構(gòu)與方法調(diào)度 89 4.1 Ruby如何執(zhí)行if語(yǔ)句 90 4.2 作用域之間的跳轉(zhuǎn) 93 4.2.1 捕獲表 94 4.2.2 捕獲表的其他用途 96 4.3 send指令:Ruby*復(fù)雜的控制結(jié)構(gòu) 99 4.3.1 方法查找和方法調(diào)度 99 4.3.2 Ruby方法的11種類型 100 4.4 調(diào)用普通Ruby方法 102 4.4.1 為普通Ruby方法準(zhǔn)備參數(shù) 103 4.5 調(diào)用內(nèi)建的Ruby方法 104 4.5.1 調(diào)用attr_reader和attr_writer 105 4.5.2 方法調(diào)度優(yōu)化attr_reader和attr_writer 106 4.6 總結(jié) 110 5 對(duì)象與類 113 5.1 Ruby對(duì)象內(nèi)部 114 5.1.1 檢驗(yàn)klass和ivptr 115 5.1.2 觀察同一個(gè)類的兩個(gè)實(shí)例 117 5.1.3 基本類型對(duì)象 118 5.1.4 簡(jiǎn)單立即值完全不需要結(jié)構(gòu)體 119 5.1.5 基本類型對(duì)象有實(shí)例變量嗎 120 5.1.6 基本類型對(duì)象的實(shí)例變量保存在哪里 122 5.2 RClass結(jié)構(gòu)體內(nèi)部有什么 125 5.2.1 繼承 128 5.2.2 類實(shí)例變量vs類變量 129 5.2.3 存取類變量 131 5.2.4 常量 134 5.2.5 真實(shí)的RClass結(jié)構(gòu)體 135 5.3 總結(jié) 140 6 方法查找和常量查找 143 6.1 Ruby如何實(shí)現(xiàn)模塊 145 6.1.1 模塊是類 145 6.1.2 將模塊include到類中 147 6.2 Ruby的方法查找算法 148 6.2.1 方法查找示例 149 6.2.2 方法查找算法實(shí)踐 151 6.2.3 Ruby中的多繼承 152 6.2.4 全局方法緩存 153 6.2.5 內(nèi)聯(lián)方法緩存 154 6.2.6 清空Ruby的方法緩存 155 6.2.7 在同一個(gè)類中include兩個(gè)模塊 155 6.2.8 在模塊中include模塊 157 6.2.9 Module#prepend 示例 158 6.2.10 Ruby如何實(shí)現(xiàn)Module#prepend 161 6.2.11 在已被include的模塊中增加方法 164 6.2.12 在已被include的模塊中include其他模塊 164 6.2.13 “被include的類”與原始模塊共享方法表 166 6.3 常量查找 168 6.3.1 在超類中查找常量 169 6.3.2 Ruby如何在父級(jí)命名空間中查找常量 170 6.4 Ruby中的詞法作用域 171 6.4.1 為新類或模塊創(chuàng)建常量 172 6.4.2 在父命名空間中使用詞法作用域查找常量 173 6.4.3 Ruby的常量查找算法 175 6.4.4 Ruby真實(shí)的常量查找算法 177 6.5 總結(jié) 178 7 散列表:Ruby內(nèi)部的主力軍 181 7.1 Ruby中的散列表 182 7.1.1 在散列表中保存值 183 7.1.2 從散列表中檢索值 185 7.2 散列表如何擴(kuò)展以容納更多的值 188 7.2.1 散列沖突 188 7.2.2 重新散列條目 189 7.3 Ruby如何實(shí)現(xiàn)散列函數(shù) 195 7.3.1 Ruby 2.0中的散列優(yōu)化 202 7.4 總結(jié) 203 8 Ruby如何借鑒Lisp幾十年前的理念 207 8.1 塊: Ruby中的閉包 208 8.1.1 Ruby如何調(diào)用塊 210 8.1.2 借用1975年的理念 212 8.2 Lambda和Proc:把函數(shù)當(dāng)做一等公民 219 8.2.1 棧內(nèi)存vs堆內(nèi)存 220 8.2.2 深入探索Ruby如何保存字符串的值 220 8.2.3 Ruby如何創(chuàng)建Lambda 223 8.2.4 Ruby如何調(diào)用Lambda 226 8.2.5 Proc對(duì)象 227 8.2.6 在同一個(gè)作用域中多次調(diào)用lambda 232 8.3 總結(jié) 234 9 元編程 237 9.1 定義方法的多種方式 239 9.1.1 Ruby的普通方法定義過(guò)程 239 9.1.2 使用對(duì)象前綴定義類方法 241 9.1.3 使用新的詞法作用域定義類方法 242 9.1.4 使用單類定義方法 244 9.1.5 在單類的詞法作用域中定義方法 245 9.1.6 創(chuàng)建Refinement 246 9.1.7 使用Refinement 248 9.1.8 頂級(jí)作用域中的self 250 9.1.9 類作用域中的self 251 9.1.10 元類作用域中的self 252 9.1.11 類方法中的self 253 9.2 元編程與閉包:eval、instance_eval和binding 255 9.2.1 能寫(xiě)代碼的代碼 255 9.2.2 使用binding參數(shù)調(diào)用eval 257 9.2.3 instance_eval示例 259 9.2.4 Ruby閉包的另一個(gè)重點(diǎn) 260 9.2.5 instance_eval改變接收者的self 262 9.2.6 instance_eval為新的詞法作用域創(chuàng)建單類 262 9.2.7 使用define_method 266 9.2.8 充當(dāng)閉包的方法 266 9.3 總結(jié) 268 10 JRuby:基于JVM的Ruby 271 10.1 使用MRI和JRuby運(yùn)行程序 272 10.1.1 JRuby如何解析和編譯代碼 274 10.1.2 JRuby如何執(zhí)行代碼 276 10.1.3 用Java類實(shí)現(xiàn)Ruby類 278 10.1.4 使用-J-XX: PrintCompilation選項(xiàng) 281 10.1.5 JIT是否提升了JRuby程序的性能 283 10.2 JRuby和MRI中的字符串 284 10.2.1 JRuby和MRI如何保存字符串?dāng)?shù)據(jù) 284 10.2.2 寫(xiě)時(shí)復(fù)制 286 10.2.3 創(chuàng)建唯一且非共享的字符串 288 10.2.4 可視化寫(xiě)時(shí)復(fù)制 290 10.2.5 修改共享字符串更慢 291 10.3 總結(jié) 293 11 Rubinius:用Ruby實(shí)現(xiàn)的Ruby 295 11.1 Rubinius內(nèi)核和虛擬機(jī) 296 11.1.1 詞法分析和解析 298 11.1.2 使用Ruby編譯Ruby 299 11.1.3 Rubinius字節(jié)碼指令 300 11.1.4 Ruby和C 一起工作 302 11.1.5 使用C 對(duì)象實(shí)現(xiàn)Ruby對(duì)象 303 11.1.6 Rubinius中的(棧)回溯 305 11.2 Rubinius和MRI中的數(shù)組 307 11.2.1 MRI中的數(shù)組 307 11.2.2 Rubinius中的數(shù)組 309 11.2.3 閱讀Array#shift源碼 311 11.2.4 修改Array#shift方法 312 11.3 總結(jié) 315 12 MRI、JRuby、Rubinius垃圾回收 317 12.1 垃圾回收器解決三個(gè)問(wèn)題 319 12.2 MRI中的垃圾回收: 標(biāo)記與清除 320 12.2.1 空閑列表 320 12.2.2 標(biāo)記 321 12.2.3 MRI如何標(biāo)記存活對(duì)象 323 12.2.4 清除 323 12.2.5 延遲清除 324 12.2.6 標(biāo)記-清除的缺點(diǎn) 325 12.2.7 觀察MRI執(zhí)行延遲清除 327 12.2.8 觀察MRI執(zhí)行全回收 328 12.2.9 解讀GC分析報(bào)告 329 12.3 JRuby和Rubinius中的垃圾回收 332 12.4 復(fù)制垃圾回收 333 12.4.1 碰撞分配 333 12.4.2 半空間算法 334 12.4.3 伊甸堆 336 12.5 分代垃圾回收 337 12.5.1 弱代假說(shuō) 337 12.5.2 為新生代使用半空間算法 338 12.5.3 晉升對(duì)象 338 12.5.4 成熟代對(duì)象垃圾回收 339 12.6 并發(fā)垃圾回收 341 12.6.1 當(dāng)對(duì)象圖改變時(shí)進(jìn)行標(biāo)記 341 12.6.2 三色標(biāo)記 343 12.6.3 JVM中的三種垃圾收集器 344 12.6.4 觸發(fā)主收集 347 12.7 延伸閱讀 348 12.8 總結(jié) 349 索引 351信息
展開(kāi)全部

Ruby原理剖析 相關(guān)資料

“很多人研究過(guò)Ruby的源碼,但很少有人像Patrick這樣把研究成果寫(xiě)成一本書(shū)。我特別喜歡書(shū)里的圖表,加上Patrick恰到好處的解說(shuō),晦澀難懂的內(nèi)容變得易于理解。本書(shū)是編程極客和喜歡深入研究軟件工具的Ruby愛(ài)好者的福音。”
——PETER COOPER (@PETERC),《RUBY INSIDE》《RUBY WEEKLY》的編輯

“這本書(shū)填補(bǔ)了Ruby領(lǐng)域的空白——內(nèi)容太棒了!”
——XAVIER NORIA (@FXN),RUBY HERO、RUBY ON RAILS核心團(tuán)隊(duì)成員

“Patrick Shaughnessy做了一件很棒的事,寫(xiě)了這本關(guān)于Ruby內(nèi)部原理的書(shū)。你一定要看,因?yàn)槠渌麜?shū)里找不到這樣的內(nèi)容。”
——SANTIAGO PASTORINO (@SPASTORINO),WYEWORKS聯(lián)合創(chuàng)始人、RUBY ON RAILS核心團(tuán)隊(duì)成員“很多人研究過(guò)Ruby的源碼,但很少有人像Patrick這樣把研究成果寫(xiě)成一本書(shū)。我特別喜歡書(shū)里的圖表,加上Patrick恰到好處的解說(shuō),晦澀難懂的內(nèi)容變得易于理解。本書(shū)是編程極客和喜歡深入研究軟件工具的Ruby愛(ài)好者的福音。” ——PETER COOPER (@PETERC),《RUBY INSIDE》《RUBY WEEKLY》的編輯 “這本書(shū)填補(bǔ)了Ruby領(lǐng)域的空白——內(nèi)容太棒了!” ——XAVIER NORIA (@FXN),RUBY HERO、RUBY ON RAILS核心團(tuán)隊(duì)成員 “Patrick Shaughnessy做了一件很棒的事,寫(xiě)了這本關(guān)于Ruby內(nèi)部原理的書(shū)。你一定要看,因?yàn)槠渌麜?shū)里找不到這樣的內(nèi)容。” ——SANTIAGO PASTORINO (@SPASTORINO),WYEWORKS聯(lián)合創(chuàng)始人、RUBY ON RAILS核心團(tuán)隊(duì)成員 “這本書(shū)讓我愛(ài)不釋手,它讓我對(duì)Ruby和CS有了更深的理解。書(shū)中的圖表真的非常棒,我寫(xiě)代碼時(shí)會(huì)浮現(xiàn)在我的腦海里。它是我zui喜歡的三本Ruby書(shū)籍之一。” ——VLAD IVANOVIC (@VLADIIM),HOLLER SYDNEY的數(shù)字媒體策略師 “雖然我不經(jīng)常研究Ruby的內(nèi)部原理,但是這本書(shū)絕對(duì)值得一讀。” ——DAVID DERYL DOWNEY (@DAVIDDWDOWNEY),CYBERSPACE TECHNOLOGIES GROUP創(chuàng)始人信息

Ruby原理剖析 作者簡(jiǎn)介

Patrick Shaughnessy是著名的Ruby開(kāi)發(fā)者,目前在麥肯錫管理咨詢公司(McKinsey & Co.)從事開(kāi)發(fā)工作。Patrick有20多年軟件開(kāi)發(fā)工作經(jīng)驗(yàn),精通C、Java、PHP、Ruby等多種編程語(yǔ)言。他是Ruby Conference Circuit的主持人,定期在Ruby Weekly電子報(bào)、Ruby5 Podcast和The Ruby Show上發(fā)表文章和演講。他的博客地址: http://patshaughnessy.net

暫無(wú)評(píng)論……
書(shū)友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 企业微信营销_企业微信服务商_私域流量运营_艾客SCRM官网 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 打孔器,打孔钳厂家【温州新星德牌五金工具】 | 黑龙江「京科脑康」医院-哈尔滨失眠医院_哈尔滨治疗抑郁症医院_哈尔滨精神心理医院 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 蒸压釜_蒸养釜_蒸压釜厂家-山东鑫泰鑫智能装备有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 开云(中国)Kaiyun·官方网站 - 登录入口| 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | ph计,实验室ph计,台式ph计,实验室酸度计,台式酸度计 | 自动气象站_气象站监测设备_全自动气象站设备_雨量监测站-山东风途物联网 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 派财经_聚焦数字经济内容服务平台 | 科客,主见不成见| ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | 碳纤维复合材料制品生产定制工厂订制厂家-凯夫拉凯芙拉碳纤维手机壳套-碳纤维雪茄盒外壳套-深圳市润大世纪新材料科技有限公司 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 精密光学实验平台-红外粉末压片机模具-天津博君 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 广域铭岛Geega(际嘉)工业互联网平台-以数字科技引领行业跃迁 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 螺杆真空泵_耐腐蚀螺杆真空泵_水环真空泵_真空机组_烟台真空泵-烟台斯凯威真空 | Duoguan 夺冠集团| 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易|