×

Ruby编程语言PDF电子书免费下载

消耗积分:2 | 格式:pdf | 大小:28.32 MB | 2020-02-04

ah此生不换

分享资料个

  《Ruby编程语言》详细介绍了Ruby 1.8和1.9版本各方面的内容。在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。《Ruby编程语言》还包含对Ruby平台上丰富的API的详尽介绍,并用带有详尽注释的代码演示了Ruby进行文本处理、数字运算、集合、输入/输出、网络开发和并发编程的功能。

 

  目录 · · · · · ·

  第1章 导言 1

  1.1 漫游Ruby 2

  1.2 体验Ruby 11

  1.3 关于本书 15

  1.4 一个Ruby版的Sudoku解答 17

  第2章 Ruby程序的结构和运行 25

  2.1 词法结构 26

  2.2 句法结构 33

  2.3 文件结构 35

  2.4 程序的编码 36

  2.5 Ruby程序的运行 39

  第3章 数据类型和对象 41

  3.1 数字 42

  3.2 文本 46

  3.3 数组 64

  3.4 哈希 67

  3.5 范围 68

  3.6 符号 71

  3.7 True、False和Nil 72

  3.8 对象 72

  第4章 表达式和操作符 85

  4.1 字面量和关键字字面量 86

  4.2 变量引用 87

  4.3 常量引用 88

  4.4 方法调用 89

  4.5 赋值 92

  4.6 操作符 100

  第5章 语句和控制结构 117

  5.1 条件式 118

  5.2 循环 127

  5.3 迭代器和可枚举对象 130

  5.4 代码块 140

  5.5 改变控制流 146

  5.6 异常和异常处理 154

  5.7 BEGIN和END 165

  5.8 线程、纤程和连续体 166

  第6章 方法、Proc、Lambda和闭包 175

  6.1 定义简单方法 177

  6.2 方法名 180

  6.3 方法和圆括号 183

  6.4 方法参数 185

  6.5 Proc和Lambda 192

  6.6 闭包 200

  6.7 Method对象 203

  6.8 函数式编程 205

  第7章 类和模块 213

  7.1 定义一个简单类 214

  7.2 方法可见性:Public、Protected、Private 232

  7.3 子类化和继承 234

  7.4 对象创建和初始化 241

  7.5 模块 247

  7.6 加载和请求模块 252

  7.7 单键方法和Eigenclass 257

  7.8 方法查找 258

  7.9 常量查找 261

  第8章 反射和元编程 265

  8.1 类型、类和模块 266

  8.2 对字符串和块进行求值 268

  8.3 变量和常量 271

  8.4 方法 272

  8.5 钩子方法 277

  8.6 跟踪 279

  8.7 ObjectSpace和GC 281

  8.8 定制控制结构 281

  8.9 缺失的方法和常量 284

  8.10 动态创建方法 287

  8.11 别名链 290

  8.12 领域特定语言 296

  第9章 Ruby平台 303

  9.1 字符串 304

  9.2 正则表达式 310

  9.3 数字和数学运算 321

  9.4 日期和时间 325

  9.5 集合 328

  9.6 文件和目录 350

  9.7 输入/输出 356

  9.8 网络 366

  9.9 线程和并发 372

  第10章 Ruby环境 389

  10.1 执行Ruby解释器 390

  10.2 顶层环境 394

  10.3 实用性信息抽取和产生报表的快捷方式 403

  10.4 调用操作系统的功能 405

  10.5 安全 409

  索引 413

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'Ruby编程语言PDF电子书免费下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);