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编程语言之间存在许多差异,如下表格列出所示

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值