Ruby语言入门
基本信息
- 原书名:Hajimeteno Ruby
- 原出版社: O'Reilly Japan,Inc.
- 作者: Yugui
- 译者: 丁明 吕嘉
- 丛书名: 东南大学出版社O'Reilly系列
- 出版社:东南大学出版社
- ISBN:9787564121341
- 上架时间:2010-5-15
- 出版日期:2010 年4月
- 开本:16开
- 页码:222
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > Rails/Ruby
推荐阅读
内容简介回到顶部↑
本书为具有一定其他语言的编程经验的读者介绍Ruby的特征、Ruby中的编程方法和编程习惯。这些内容都是为了让读者能够边阅读Ruby的资料边进行实践性的学习所必须具备的基础知识。本书对Ruby的基础部分和元类、块语句这样独特的概念,以及由此产生的特有的文化进行了说明,以使读者能够了解到Ruby独特的思考方式。读完本书,读者就应该能够灵活地运用各种Ruby的类库,并能够掌握编写高水平的Ruby程序的基础知识。
目录回到顶部↑
序
前言
第1章 欢迎来到ruby的世界
1.1 ruby的特征
1.2 处理系统和运行环境
1.3 运行模式
1.4 解释器的运行
1.5 语法和功能
1.6 本章总结
第2章 数组和哈希表
2.1 数组
2.2 哈希表
2.3 enumerable模块
2.4 本章总结
第3章 数值
3.1 数字
3.2 数值运算
3.3 比较
3.4 数学函数
3.5 比特运算
前言
第1章 欢迎来到ruby的世界
1.1 ruby的特征
1.2 处理系统和运行环境
1.3 运行模式
1.4 解释器的运行
1.5 语法和功能
1.6 本章总结
第2章 数组和哈希表
2.1 数组
2.2 哈希表
2.3 enumerable模块
2.4 本章总结
第3章 数值
3.1 数字
3.2 数值运算
3.3 比较
3.4 数学函数
3.5 比特运算
前言回到顶部↑
本书是为具备其他编程语言知识的程序员而准备的Ruby入门书,以Ruby 1.8和Ruby 1.9作为对象进行讲述。此外还加入了笔者从8年的Ruby使用经验中体会到的一些Ruby的文化和习惯。
与众多成功的程序语言相同,Ruby持有其独特的世界观。我们在写Java程序的时候很自然地就会用Java来考虑问题,比如会考虑到变量的类型、Java普通的APl和构造等问题。此外笔者还体会到了Peri的突出的世界观。在笔者用Peri编写程序时,就会像呼吸一样很自然地想到scalar和list,而且会站在CPAN这个生态系统的基础上进行程序设计。同样,能熟练地使用Ruby指的也不是仅仅理解Ruby的语法,而是要用Ruby的方式来思考问题。
Ruby有一句古老的口号是“最小惊讶原则”。它是Ruby社区默认的Ruby思考方法,Ruby自身也必须在遵循这个原则的基础上执行非常自然的容易理解的动作。在Ruby的邮件组中,当需要决定Ruby的语法或者Ruby标准程序库中的功能时,这个问题总是会被当作话题来讨论。因此,只要像一个Ruby程序员一样用Ruby的思考方式来考虑问题,那么读者就会在今后不断地阅读Ruby代码的过程中逐渐变得熟练。只要具备了这种思考方式,就算只是在方法库中寻找一个功能,也会自然而然地想到“如果是Ruby程序员的话应该去哪里找?应该如何调用?”在理想的情况下,Ruby应该会按照你想写的内容进行处理。
本书的读者对象
本书的读者对象是有使用其他语言进行编程的经验的程序员。尤其面向的是有C++、Java、C#、Perl5、PHP5等面向对象语言经验的程序员。本书还提供了一些阅读“Ruby参考手册”就能获取的Ruby的基础知识。
对于程序员来说,学习Ruby的最好的教材应该是《Ruby参考手册》。其中记述了有关Ruby的所有内容。想要学习Ruby的人都应该将参考手册通读一遍。
但是,阅读参考手册存在一个问题。这个参考手册是为已经理解Ruby习惯的人所编写的。作为Ruby程序员日常查询用的资料,当然不能写得太冗长,但这对初学者却是一个障碍。在刚开始学习Ruby的时候,笔者看了参考手册之后也有很多不明白的地方。比如,Pile.chmod和Pile#chmod到底在含义上有什么区别等等。
在阅读参考手册之前需要知道的基础知识有:Ruby的独特的概念、表示方法和思考方法。在本书中将会对Ruby的基础概念、辅助类或者代码块等独特的概念以及关于它们的文化做详细的介绍。通过这些内容,读者就可以理解Ruby的文化。读完本书,读者就能自由自在地阅读参考手册,为使用Ruby方法库进行高级编程做好准备。
但是,本书并未对计算机科学的一般话题以及有关面向对象的概念做介绍,只是在书的末尾简单地列出了一些用语。关于这些话题的详细内容,请参阅《计算机的构造与设计(第2版)》(日经BP)、《Write Great Code》(每日Communications)、《面向对象入门(第2版)》(翔泳社)。
写给编程的初学者
在编写本书的时候,有两个读者对象选择。一是以编程的初学者为对象,二是以程序员为对象。笔者选择了后者。本书是为已经学习过编程的人员所编写的Ruby语言的入门书。因此书中几乎没有对程序编写的基础知识进行解说。
其实“学习编程”这个想法自身也是有问题的。因为如果不以一种程序语言为基础进行学习的话,是学不好编写程序的方法的。但是,由于现实中的大多数程序语言都具备大量的解决复杂问题的功能,因此同时对“语言的功能”和“编程的方法”两者进行学习是很困难的。
Ruby的语法在这一点上有相对的优势。因为它可以非常简练地表示出继承、分支、循环以及变量、例程等概念。由于语法简练,从而使学习者可以不受干扰地对编写程序的本质部分进行学习。因此,Ruby也可以说是面向学习编程方法的一门语言。
尽管如此,笔者并没有将本书的对象设定为编程的初学者。其中一个理由是,已经有一本以Ruby为题材的程序编写入门的好书《编程入门》(O’Reilly Japan)。另外一个理由是,对于急需要解决现实中的复杂问题的程序员,笔者非常想向他们介绍一下Ruby。
本书的构成
第1章对Ruby整体进行概述。对Ruby中的各个部分只做浅尝辄止的介绍,其详细内容将留给后面的章节。
从第2章到第5章,分别对Ruby的数组、哈希表、数值、字符串和输入输出等基本内容做详细的解说。此外,还将会涉及带有代码块的方法以及类型变换等Ruby框架的内容。
从第6章到第8章,将对还未清楚讲述的Ruby浯言本身(语法)做更为详细的说明。其中第7章将详细讲述与作为Ruby的构造化基础结构的方法相关的各种语法。在第8章中,将会涉及类与对象的内容。
第9章将会对一些超出本书所涉及内容的发展性话题做一些入门性的介绍。此外,还会列出一些必要的参考资料。
本书所采用的表示符号
与众多成功的程序语言相同,Ruby持有其独特的世界观。我们在写Java程序的时候很自然地就会用Java来考虑问题,比如会考虑到变量的类型、Java普通的APl和构造等问题。此外笔者还体会到了Peri的突出的世界观。在笔者用Peri编写程序时,就会像呼吸一样很自然地想到scalar和list,而且会站在CPAN这个生态系统的基础上进行程序设计。同样,能熟练地使用Ruby指的也不是仅仅理解Ruby的语法,而是要用Ruby的方式来思考问题。
Ruby有一句古老的口号是“最小惊讶原则”。它是Ruby社区默认的Ruby思考方法,Ruby自身也必须在遵循这个原则的基础上执行非常自然的容易理解的动作。在Ruby的邮件组中,当需要决定Ruby的语法或者Ruby标准程序库中的功能时,这个问题总是会被当作话题来讨论。因此,只要像一个Ruby程序员一样用Ruby的思考方式来考虑问题,那么读者就会在今后不断地阅读Ruby代码的过程中逐渐变得熟练。只要具备了这种思考方式,就算只是在方法库中寻找一个功能,也会自然而然地想到“如果是Ruby程序员的话应该去哪里找?应该如何调用?”在理想的情况下,Ruby应该会按照你想写的内容进行处理。
本书的读者对象
本书的读者对象是有使用其他语言进行编程的经验的程序员。尤其面向的是有C++、Java、C#、Perl5、PHP5等面向对象语言经验的程序员。本书还提供了一些阅读“Ruby参考手册”就能获取的Ruby的基础知识。
对于程序员来说,学习Ruby的最好的教材应该是《Ruby参考手册》。其中记述了有关Ruby的所有内容。想要学习Ruby的人都应该将参考手册通读一遍。
但是,阅读参考手册存在一个问题。这个参考手册是为已经理解Ruby习惯的人所编写的。作为Ruby程序员日常查询用的资料,当然不能写得太冗长,但这对初学者却是一个障碍。在刚开始学习Ruby的时候,笔者看了参考手册之后也有很多不明白的地方。比如,Pile.chmod和Pile#chmod到底在含义上有什么区别等等。
在阅读参考手册之前需要知道的基础知识有:Ruby的独特的概念、表示方法和思考方法。在本书中将会对Ruby的基础概念、辅助类或者代码块等独特的概念以及关于它们的文化做详细的介绍。通过这些内容,读者就可以理解Ruby的文化。读完本书,读者就能自由自在地阅读参考手册,为使用Ruby方法库进行高级编程做好准备。
但是,本书并未对计算机科学的一般话题以及有关面向对象的概念做介绍,只是在书的末尾简单地列出了一些用语。关于这些话题的详细内容,请参阅《计算机的构造与设计(第2版)》(日经BP)、《Write Great Code》(每日Communications)、《面向对象入门(第2版)》(翔泳社)。
写给编程的初学者
在编写本书的时候,有两个读者对象选择。一是以编程的初学者为对象,二是以程序员为对象。笔者选择了后者。本书是为已经学习过编程的人员所编写的Ruby语言的入门书。因此书中几乎没有对程序编写的基础知识进行解说。
其实“学习编程”这个想法自身也是有问题的。因为如果不以一种程序语言为基础进行学习的话,是学不好编写程序的方法的。但是,由于现实中的大多数程序语言都具备大量的解决复杂问题的功能,因此同时对“语言的功能”和“编程的方法”两者进行学习是很困难的。
Ruby的语法在这一点上有相对的优势。因为它可以非常简练地表示出继承、分支、循环以及变量、例程等概念。由于语法简练,从而使学习者可以不受干扰地对编写程序的本质部分进行学习。因此,Ruby也可以说是面向学习编程方法的一门语言。
尽管如此,笔者并没有将本书的对象设定为编程的初学者。其中一个理由是,已经有一本以Ruby为题材的程序编写入门的好书《编程入门》(O’Reilly Japan)。另外一个理由是,对于急需要解决现实中的复杂问题的程序员,笔者非常想向他们介绍一下Ruby。
本书的构成
第1章对Ruby整体进行概述。对Ruby中的各个部分只做浅尝辄止的介绍,其详细内容将留给后面的章节。
从第2章到第5章,分别对Ruby的数组、哈希表、数值、字符串和输入输出等基本内容做详细的解说。此外,还将会涉及带有代码块的方法以及类型变换等Ruby框架的内容。
从第6章到第8章,将对还未清楚讲述的Ruby浯言本身(语法)做更为详细的说明。其中第7章将详细讲述与作为Ruby的构造化基础结构的方法相关的各种语法。在第8章中,将会涉及类与对象的内容。
第9章将会对一些超出本书所涉及内容的发展性话题做一些入门性的介绍。此外,还会列出一些必要的参考资料。
本书所采用的表示符号
序言回到顶部↑
如果去书店看一看计算机相关的书籍,就会发现名为“XX入门”的书非常多。这里的“XX”指的是某种编程语言的名称。本书《Ruby语言入门》也是这众多入门书中的一本。
对于O’ReillyJapan系列的图书来说,将书名“Learning XX”译为“XX入门”是一种习惯,因此本书《Ruby语言入门》或许也理所应当地被理解为《Learning Ruby》的翻译版,这一点也不奇怪。
那么本书不就是《Learning Ruby》的翻译版吗?
抱歉,其实不是。有一种说法是当Yugui被邀请对《Learning Ruby》进行翻译的时候,Yugui却突然有了“如果是我的话,应该能写出更好的书”的想法,而本书就是由此而来的。在某种意义上,这也体现出了日本Ruby界人才实力的雄厚。
事实上,到处泛滥的名为“XX入门”的编程语言的图书存在着很多的缺点。其实就连作者本人也没有搞清楚“入门”这个词究竟是什么含义。
一本书到底是“面向刚刚开始学习编程的读者的书”,还是“面向已经有一些编程经验,但是刚开始学习某种语言的读者的书”?由于这个态度的不明确,所以在这一类“XX入门”书中经常会出现有些地方过于简单(甚至有些不突出重点),而有些地方会非常难,以至于初学者很难理解的情况。
在这一点上,本书却做得很好。Yugui将这本《Ruby语言入门》面向的对象明确地设定为“初学Ruby的读者”。在内容方面,本书并没有加进冗长的参考手册的内容,而是简练地整理出了进入Ruby世界的必要的信息,这对于有一些编程经验的读者来说,能非常容易地体会到Ruby语言的独特方式。此外,非常难得的是本书并没有忘记向读者介绍Ruby作为一门语言所具有的独特的“文化”。其实,编程语言之间的区别并不在于所提供的功能,而在于隐藏在语言以及方法库背后的文化和设计哲学。
本人非常希望众多的读者能通过本书踏入Ruby的世界,进而能体会到编程的乐趣。
Happy Hacking!
比提交序文的日期晚了很多
——松本行弘
对于O’ReillyJapan系列的图书来说,将书名“Learning XX”译为“XX入门”是一种习惯,因此本书《Ruby语言入门》或许也理所应当地被理解为《Learning Ruby》的翻译版,这一点也不奇怪。
那么本书不就是《Learning Ruby》的翻译版吗?
抱歉,其实不是。有一种说法是当Yugui被邀请对《Learning Ruby》进行翻译的时候,Yugui却突然有了“如果是我的话,应该能写出更好的书”的想法,而本书就是由此而来的。在某种意义上,这也体现出了日本Ruby界人才实力的雄厚。
事实上,到处泛滥的名为“XX入门”的编程语言的图书存在着很多的缺点。其实就连作者本人也没有搞清楚“入门”这个词究竟是什么含义。
一本书到底是“面向刚刚开始学习编程的读者的书”,还是“面向已经有一些编程经验,但是刚开始学习某种语言的读者的书”?由于这个态度的不明确,所以在这一类“XX入门”书中经常会出现有些地方过于简单(甚至有些不突出重点),而有些地方会非常难,以至于初学者很难理解的情况。
在这一点上,本书却做得很好。Yugui将这本《Ruby语言入门》面向的对象明确地设定为“初学Ruby的读者”。在内容方面,本书并没有加进冗长的参考手册的内容,而是简练地整理出了进入Ruby世界的必要的信息,这对于有一些编程经验的读者来说,能非常容易地体会到Ruby语言的独特方式。此外,非常难得的是本书并没有忘记向读者介绍Ruby作为一门语言所具有的独特的“文化”。其实,编程语言之间的区别并不在于所提供的功能,而在于隐藏在语言以及方法库背后的文化和设计哲学。
本人非常希望众多的读者能通过本书踏入Ruby的世界,进而能体会到编程的乐趣。
Happy Hacking!
比提交序文的日期晚了很多
——松本行弘







点击看大图


加载中...

