Ruby-学习之路1.1

一、Ruby是什么?

Ruby是一种动态的,开源的,面向对象的和反射的编程语言。Ruby与Perl和Smalltalk编程语言相似。 它运行在所有类型的平台上,如:Windows,Mac OS和所有版本的UNIX系统。

它是完全面向对象的编程语言。 一切东西都是Ruby中的一个对象。 每个代码都有其属性和动作(方法)。 这里的属性是指变量,动作则是指参考的方法。

Ruby语言遵循POLA(principle of least astonishment)的原则。 所以Ruby语言的行为方式可以减少用户的混乱。

1、Ruby的历史

Ruby由 Yukihiro “Martz” Matsumoto 在20世纪90年代中期在日本设计开发的。

2、Ruby的想法

Perl是一种脚本语言,但属于”玩具”语言。 Python又不是完全面向对象的语言。 Ruby开发者Yukihiro “Martz” 松本想要一种完全面向对象的编程语言,但也应该很容易用作脚本语言。 在他搜索这种类型的语言没有找到这样的一种语言。 因此,他就自己开发了一个。 //更多请阅读:

3、关于“Ruby”这个名字

“Ruby”这个名字起源于松本(Matsumoto)和Keiju Ishitsuka之间的聊天谈话。当时起了两个名字:”Coral” 和 “Ruby”。松本(Matsumoto)选择了后来的一个,因为它是他的同事的幸运石。 

4、Ruby早期

1995年12月21日,日本的报纸公布了Ruby 0.95的第一个公开发布版本。在接下来的两天内,还发布了三个版本。

2001年,第一本Ruby书 《Ruby编程》 发表。 发布后,世界各地的Ruby学习者就开始增加了。

2005年,他们发布了第一个Ruby框架“Ruby on Rails”。 这个框架发布取得了巨大的成功,Ruby社区的开发者增长令人难以置信。

Ruby 1.8.7于2008年5月发布。此时,Ruby语言开发使用者已经达到顶峰,Mac OS X也开始将Ruby内置进行发布。

5、Ruby当前情况

目前,Ruby版本2.4.0在2016年圣诞节发布。它具有几个新功能,如改进哈希表,实例变量访问,Array#maxArray#min。 


6、Ruby的未来

Ruby是一个很好的面向对象的脚本编程语言。 从过去的观点来看,如果社区成员继续扩大思想,可以说它有一个光明的未来。

7、Ruby版本

到目前为止,已经发布了许多Ruby版本。 当前稳定的Ruby版本是2.4,发布的历史版本及时间如下表所示 -

  • 版本1.8(2003年8月4日)
  • 1.9版(2007年12月25日)
  • 2.0版(2013年2月24日)
  • 版本2.1(2013年12月25日)
  • 版本2.2(2014年12月25日)
  • 版本2.3(2015年12月25日)
  • 版本2.4(2016年12月25日)
  • 版本3.0(未来版本)

二、Ruby的功能特点

Ruby语言有很多功能功能特点。 其中一些如下所示:

  • 面向对象
  • 灵活性
  • 表现特征
  • 混入/混合类型
  • 视觉外观
  • 动态打字和鸭式打字
  • 异常处理
  • 垃圾收集器
  • 可移植
  • 关键词
  • 语句分隔符
  • 变量常数
  • 命名约定
  • 关键字参数
  • 方法名称
  • 单例方法
  • 缺少方法
  • 区分大小写

1,面向对象

Ruby是纯粹面向对象的编程语言。每个值都是一个对象。 每个对象都有一个类,每个类都有一个超类。 每个代码都有其属性和动作。 Ruby受到Smalltalk语言的影响。 适用于对象的规则适用于整个Ruby。

2,灵活性

Ruby是一种灵活的语言,可以轻松地删除,重新定义或添加现有部件。 它允许其用户根据需要自由地更改其部件。

3,混合类型

Ruby只具有单一继承的功能。 Ruby有类和模块。 模块有方法,但没有实例。 相反,一个模块可以混合到一个类中,它将该模块的方法添加到类中。 它类似于继承,但更灵活。

4,视觉外观

Ruby通常更像英文关键字,一些标点符号用于装饰Ruby。它不需要变量声明。

5,动态输入和鸭式输入

Ruby是一种动态的编程语言。Ruby程序不用经过编译就可以执行。 所有的类,模块和方法定义的代码是在运行时构建的。

Ruby变量是松散类型的语言,任何变量都可以容纳任何类型的对象。 当在对象上调用一个方法时,Ruby只会查找该名称,而不管对象的类型如何。鸭式输入它允许制作假设为其他类的类。

6,变量常数

在Ruby中,常量并不是很常数。 如果一个已经初始化的常量在脚本中被修改,那么它只会触发一个警告,但不会停止程序。

7,命名约定

Ruby为其变量,方法,常量和类定义了一些命名约定。

  • 常数:以大写字母开头。
  • 全局变量:以美元符号($)开头。
  • 实例变量:以(@)符号开始。
  • 类变量:从(@@)符号开始。
  • 方法名称:允许以大写字母开头。,

8,关键字参数

像Python一样,也可以使用关键字参数来定义Ruby方法。,

9,方法名称

方法允许以问号(?)或感叹号(!)结尾。 按照惯例,回答问题的方法以问号结束,指定方法可以用感叹号改变对象结束的状态。

10,单例方法

Ruby单例方法是每个对象的方法。 它们只对您定义的对象可用。

11,缺少方法

如果一个方法丢失,Ruby将使用lost方法名称来调用method_missing方法。

12,语句分隔符

单行中的多个语句时,语句中间必须包含分号。

13,关键词

在Ruby中有大约42个关键字不能用于其他目的。 它们称为保留字。

14,区分大小写

Ruby是区分大小写的语言。 小写字母和大写字母表示不同对象含义。

三、Ruby与Python比较

1,Ruby和Python相似地方

  • 它们都是高级语言。
  • 它们都是服务器端脚本语言。
  • 两者都用于Web应用程序。
  • 两个工作在多个平台上。
  • 两者都具有清晰的语法,易于阅读。
  • 两者都使用一种叫作irb的交互式提示。
  • 对象都是强大的动态类型。
  • 两者都使用嵌入式doc工具。

2,Ruby和Python不同之处

Ruby和Python编程语言之间存在许多差异,如下表格列出所示

术语 Ruby Python
定义 Ruby是一种开源的Web应用程序编程语言 Python是一种高级编程语言
面向对象 面向对象编程语言 不完全面向对象的编程语言
创始人/开发者 松本在20世纪90年代。 Guido Van Rossum在20世纪80年代。
开发环境 支持EclipseIDE 支持多个IDE
程序库 比Python库更小 有较大范围的库
混合类型 可使用混合类型 不可使用混合类型
Web框架 Ruby on Rails Django
社区 主要集中在Web应用 专注于学术界和Linux
使用 苹果Github上的Twitter Groupon的Shopify ThemeForest 谷歌Instagram的Mozilla Firefox浏览器,华盛顿邮报,雅虎Shopzilla
内置类 内置类可以修改 内置类不可以修改
elseif elsif elif
取消设置变量 一旦设置了变量,就无法将其设置为不可用。只要它在范围内,它将出现在符号表中。 del语句用于删除一个设置的变量。
yield关键字 它将执行另一个作为最终参数传递的函数,然后立即恢复。 它将执行返回到函数调用之外的范围。外部代码负责恢复功能。
匿名函数 支持块,procslambdas表达式。 仅支持lambda表达式。
函数 没有函数 有函数
元组 不支持元组 支持元组
switch/case语句 它支持switch/case语句。 它不支持switch/case语句
lambda函数 它的lambda函数更大 它只支持单行lambda函数
继承 支持单继承 支持多继承

你可能感兴趣的:(Ruby,ruby)