图书介绍

HEAD FIRST RUBY 中文版PDF|Epub|txt|kindle电子书版本网盘下载

HEAD FIRST RUBY 中文版
  • 杰伊·格瑞恩(McGavren Jay)著 著
  • 出版社: 北京:中国电力出版社
  • ISBN:9787519800574
  • 出版时间:2017
  • 标注页数:537页
  • 文件大小:66MB
  • 文件页数:570页
  • 主题词:计算机网络-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

HEAD FIRST RUBY 中文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1 少说多做2

Ruby哲学2

交互式使用Ruby5

你的第一个Ruby表达式6

数学运算和比较6

字符串6

变量7

在对象上调用方法8

输入、存储和输出12

运行脚本13

注释14

“puts”和“print”14

方法参数15

“gets”15

字符串内插16

用“inspect”和“p”方法检查对象18

字符串中的转义序列19

在字符串对象上调用“chomp20

生成一个随机数22

转换为字符串23

将字符串转换为数字25

条件语句26

与“if”对应的是“unless”29

循环30

你的Ruby工具箱34

2 方法与类36

定义方法36

调用前面定义的方法37

方法名38

参数38

返回值42

提前从方法返回43

一些乱七八糟的方法44

太多的实参45

太多的“if”语句45

设计一个类46

类和对象有什么区别?47

你的第一个类48

创建新实例(对象)48

把庞大的方法分解到类49

创建新动物类的实例50

更新类图增加实例方法51

局部变量只能生存到方法结束55

实例变量与实例同生死56

封装58

属性存取方法59

使用存取方法61

属性书写器和阅读器62

用存取方法确保数据合法69

错误——“紧急停止”按钮70

在属性书写器方法中使用“raise”71

你的Ruby工具箱73

3 继承76

复制,粘贴……真浪费76

继承来救场!78

定义超类(毫无特殊之处)80

定义子类(相当容易)81

为子类增加方法82

除了新方法,子类仍保留继承的方法83

实例变量属于对象,而不是类!84

让我们的动物类一同使用继承91

设计动物类层次结构92

Animal类与子类的代码93

在Animal子类中覆盖一个方法94

要得到覆盖的方法!95

“super”关键字96

super助力的子类98

显示Dog的难题101

Object类102

为什么一切都从Object类继承103

覆盖继承的方法104

你的Ruby工具箱105

4 初始化实例108

Chargemore的工资系统108

Employee类109

创建新Employee实例110

Ruby Fixnum类的除法112

Ruby Float类的除法113

修正Employee中工资取整错误114

格式化数字以便打印115

格式序列116

使用“format”修正我们的工资单119

如果忘记设置对象的属性120

“nil”代表什么都没有121

“/”是一个方法122

“initialize”方法123

“initialize”的参数125

“initialize”与验证130

用“self”调用同一实例上的其他方法131

通过继承实现按小时计薪的员工137

恢复“initialize”方法140

继承和“initialize”141

“super”和“initialize”142

低效的工厂方法148

类方法149

完整的源代码152

你的Ruby工具箱154

5 数组与块156

数组156

访问数组157

数组也是对象!158

循环处理数组中的元素161

重复的循环162

消除重复……错误的方式165

块167

定义一个接收块的方法168

你的第一个块169

方法与块之间的控制流170

调用相同的方法,使用不同的块171

多次调用一个块172

块参数173

使用“yield”关键字174

块格式175

“each”方法179

用“each”和块消除代码重复181

块和变量作用域184

完整的计价方法188

我们已经消除了重复的循环代码!188

能源和设备,块和方法191

你的Ruby工具箱192

6 块返回值194

搜索一个庞大的单词集合194

打开文件196

安全地关闭文件196

用块安全地关闭文件197

不要忘记变量作用域!198

使用块查找我们想要的数组元素201

查找数组元素的麻烦方法:使用“each”202

介绍一个更快捷的方法203

块有一个返回值204

方法如何使用块返回值209

综合210

深入分析块返回值211

用块清除我们不想要的元素212

“reject”的返回值213

将字符串分解为单词数组214

查找数组元素的索引215

基于一个数组创建另一个数组(麻烦方法)216

使用“map”基于一个数组创建另一个数组217

“map”块体中另外的一些逻辑219

最后的成果220

你的Ruby工具箱223

7 散列226

统计选票226

数组的数组……不太理想227

散列228

散列是对象230

散列默认返回“nil”233

nil(而且仅nil)是“假值”234

默认返回非“nil”的其他对象236

规范化散列键238

散列和“each”240

关于方法参数242

使用散列作为方法参数243

Candidate类中的散列参数244

省略大括号!245

省略箭头!245

让整个散列是可选的246

散列参数中的录入错误很危险248

关键字参数249

Candidate类使用关键字参数250

必要的关键字参数251

你的Ruby工具箱255

8 引用258

让人困惑的bug258

堆259

引用260

引用出错时261

别名262

修正天文爱好者的程序264

用“inspect”快速识别对象266

散列默认对象的问题267

我们实际上在修改散列默认对象!269

散列默认对象详解270

再来看行星和卫星的散列271

关于散列默认值的愿望清单272

散列默认块273

天文爱好者的散列:最终代码279

安全地使用散列默认对象280

散列默认对象规则#1:不要修改默认对象281

散列默认对象规则#2:为散列赋值282

使用散列默认对象的经验283

你的Ruby工具箱284

9 mixin286

媒体共享应用286

媒体共享应用……使用继承287

其中一个类与其他类不(太)像288

方案一:让Photo作为Clip的一个子类288

方案二:将想要的方法复制到Photo类中289

不可用的方案:多重继承290

使用模块作为mixin291

mixin在后台的工作293

为评论创建一个mixin297

使用comments mixin298

详细分析修改后的“comments”方法299

为什么mixin中不能增加“initialize”300

mixin和方法覆盖302

避免模块中使用“initialize”方法303

使用布尔“或”操作符完成赋值305

条件赋值操作符306

完整代码309

你的Ruby工具箱310

10 comparable与enumerable312

Ruby内置的mixin312

comparable mixin概览313

牛肉的不同选择314

在Steak类上实现一个“大于”方法315

常量316

还要定义很多方法317

comparable mixin318

飞船操作符319

在Steak中实现飞船操作符320

comparable混入Steak321

comparable方法如何工作322

下一个mixin325

enumerable模块326

混入enumerable的类327

在我们的类中混入enumerable328

enumerable模块内部329

你的Ruby工具箱332

11 文档335

Ruby的核心类和模块335

文档335

HTML文档336

列出可用的类和模块337

查看实例方法338

实例方法文档340

调用签名中的参数341

调用签名中的块342

还要阅读超类和mixin的文档!343

查看类方法346

类方法文档348

不存在的类的文档?349

Ruby标准库350

查看标准库中类和模块的文档352

从哪里得到Ruby文档:rdoc353

关于你的类,rdoc能推断出什么信息355

利用注释增加你自己的文档356

“initialize”实例方法会作为“new”类方法出现357

你的Ruby工具箱358

12 异常360

不要使用方法返回值提供错误消息360

使用“raise”报告错误362

单独使用“raise”创建新问题363

异常:如果出了问题364

Rescue子句:修正问题的一个机会365

Ruby搜索rescue子句366

在我们的SmallOven类中使用rescue子句368

需要从问题来源得到问题的描述369

异常消息370

目前的代码373

不同异常有不同的处理逻辑375

异常类377

为rescue子句指定异常类379

一个begin/end块中多个rescue子句380

利用定制异常类更新我们烤箱代码381

用“retry”在出现错误之后再次尝试382

用“retry”更新我们的烤箱代码383

无论如何都要做的事情385

ensure子句386

确保关烤箱387

你的Ruby工具箱388

13 单元测试390

自动测试会在其他人之前先发现你的bug390

必须提供自动测试的程序391

自动测试类型393

MiniTest:Ruby的标准单元测试库394

运行测试395

测试一个类396

详细分析测试代码398

红-绿-重构400

ListWithCommas的测试401

让测试通过404

另一个要修正的bug406

测试失败消息407

验证两个值相等的更好的办法408

其他断言方法410

删除测试中的重复代码413

“setup”方法414

“teardown”方法415

更新代码来使用“setup”方法416

你的Ruby工具箱419

14 Web应用422

用Ruby编写Web应用422

我们的任务清单423

工程目录结构424

浏览器、请求、服务器和响应425

用RubyGems下载和安装库426

安装Sinatra gem427

一个简单的Sinatra应用428

请求类型430

资源路径431

Sinatra路由432

HTML中建立一个电影列表435

从Sinatra访问HTML436

存放电影数据的类438

Sinatra应用中建立一个Movie对象439

ERB嵌入标记440

HTML中循环处理多个电影名446

用HTML表单允许用户增加数据449

建立一个HTML表单增加电影450

HTML表451

用HTML整理表单452

你的Ruby工具箱454

15 保存与加载数据456

保存和获取表单数据456

设置HTML表单发送一个POST请求460

为POST请求建立一个Sinatra路由461

用YAML实现对象和字符串的相互转换465

用YAML::Store将对象保存到文件466

用YAML::Store将电影保存到文件467

查找下一个可用的电影ID473

Sinatra应用中使用MovieStore类476

测试MovieStore477

从MovieStore加载所有电影478

Sinatra应用中加载所有电影480

建立各个电影的HTML链接481

Sinatra路由中的命名参数484

使用命名参数得到一个电影的ID485

按优先级顺序定义路由486

YAML::Store中查找Movie489

单个电影的ERB模板490

完成处理单个电影的Sinatra路由491

你的Ruby工具箱497

附录i 其他500

#1其他酷库500

#2内联if和unless502

#3私有方法503

#4命令行参数505

#5正则表达式506

#6单例方法508

#7调用任何方法,甚至未定义的方法509

#8用Rake自动完成任务511

#9Bundler512

#10其他图书513

热门推荐