53
The Ruby Way(1) Meet a new world [email protected]

The ruby way

Embed Size (px)

Citation preview

Page 1: The ruby way

The Ruby Way(1)

Meet a new world

[email protected]

Page 2: The ruby way

掌握一种语言就是掌握一种生活形式。

唯我论者意味的东西是完全正确的,不过它不能说,而只能自己显示出来。世界是我的世界:这表现在语言(我所唯一理解的语言的界限就意味着我的世界的界限。

语言的意义…路德维希 ·维特根斯坦

Page 3: The ruby way

语言作为一种表示法的威力

汉语 英语

数学 物理

对于一个远古的数学家而言,最不可思议的或许是大部分现代人都能熟练地进行大数运算。这一切都来自于表示法的威力

Page 4: The ruby way

瞧瞧我们周围的计算机语言…

C

C++Java

C#PythonJavascript

Lisp

ErlangHaskell

prolog

OCaml

为什么我们会需要如此多的语言???

Perl

Lua

Page 5: The ruby way

Ruby 是一门对人脑友好的、强大、灵活、优雅及拥有最小惊奇原则和完美主义特质的动态语言

Ruby 是一门规则复杂的语言, Ruby 把选择用何种方式完成任务的权利交给您

Ruby 是一门真正面向对象的语言

Ruby的哲学Matz 松本行弘

Page 6: The ruby way

Ruby 实现了最纯粹意义上的面向对象,让 Smalltalk 、 Perl 和 Lisp 的灵魂在新的躯壳里高歌。相比于 Python , Ruby 的思想更加清晰一致,形式更加灵活;相比于 Perl , Ruby 更简单质朴,绝少光怪陆离之举;相比于 Smalltalk 和Lisp , Ruby 更富有现代感和实干气质;相比于庙堂之上的“工业语言”, Ruby 自由挥洒、轻快锐利;而相比于 JavaScript 和 PHP , Ruby 从 Smalltalk 继承而来的深厚底蕴又大占优势。面对执行性能与开发效率的谜题, Ruby毫不犹豫地选择了开发效率,选择了对人脑的友好。 Ruby的基本思想非常简单淳朴,对于基本原则的坚持非常彻底,毫不打折扣,而在具体应用中又集各家所长,实现了巧妙的平衡。

Page 7: The ruby way

Ruby真正地面向对象在 Ruby中,一切皆是对象

Page 8: The ruby way

C#中求整数绝对值

Page 9: The ruby way

Ruby中求整数绝对值

Page 10: The ruby way

Ruby更加灵活潇洒Ruby选择轻快的方式,而不是笨重

Page 11: The ruby way

C#中的 Hello, world

Page 12: The ruby way

Ruby中的 Hello, world

Page 13: The ruby way

Ruby把选择的权利交给您Ruby认为有多种方式可以把同一件事做好

Page 14: The ruby way

C#中定义一个类和方法

Page 15: The ruby way

Ruby中定义一个类和方法

Page 16: The ruby way

好,让我们正式开始吧…

Page 17: The ruby way

首先来看看 Ruby中的类

Page 18: The ruby way

类的定义和实例化

Page 19: The ruby way

类的继承

Page 20: The ruby way

类的修订

Page 21: The ruby way

继续类的修订

Page 22: The ruby way

Ruby中的类也是对象

Page 23: The ruby way

Ruby中的类也是对象

Page 24: The ruby way

给 Ruby的类对象定义方法

Page 25: The ruby way

正确调用类对象上的方法

Page 26: The ruby way

将类对象传递给其他的变量

Page 27: The ruby way

继承后的类方法传递

Page 28: The ruby way

类的可访问性

Page 29: The ruby way

鸡生蛋,蛋生鸡

Page 30: The ruby way

Ruby中方法的更多细节…

Page 31: The ruby way

方法的基本定义

Page 32: The ruby way

Ruby拥有宽松的方法定义方式

Page 33: The ruby way

Ruby不支持方法重载

Page 34: The ruby way

形参可设默认值

Page 35: The ruby way

可变长参数

Page 36: The ruby way

哈希化参数及其他

Page 37: The ruby way

Ruby中的各种变量…

Page 38: The ruby way

对象和变量的简介

Page 39: The ruby way

变量在使用前无须声明

Page 40: The ruby way

普通变量的作用域

Page 41: The ruby way

特殊形式的变量——全局变量

Page 42: The ruby way

特殊形式的变量——实例变量

Page 43: The ruby way

特殊形式的变量——类级变量

Page 44: The ruby way

Ruby中的上下文环境…

Page 45: The ruby way

一个类的定义中存在着不同的上下文环境

Page 46: The ruby way

类定义中上下文环境切换示例

Page 47: The ruby way

上下文环境切换输出

Page 48: The ruby way

C#中类定义的上下文环境

Page 49: The ruby way

对象中的 self关键字

Page 50: The ruby way

self关键字示例

Page 51: The ruby way

Ruby编程风格浅谈…

Page 52: The ruby way

Ruby编程风格浅谈

Page 53: The ruby way

To be continued…i love ruby. And you?