Ruby完全自学手册(图文教程)

Ruby 简介

Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为Ruby > (Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。其他特色包括:

  * 运算符重载

  * 自动垃圾回收

  * 弱类型(动态类型 | 标量变量)

  * 变量无需声明 (不必事先宣告变量)

  * 在Windows上,加载DLL

  * 巨大的标准库(函式库;Library)

由 Ruby 语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。

开始学习:Ruby完全自学手册(图文教程)

历史

  Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。之所以称为Ruby,是因为Perl的发音与6月的诞生石pearl(珍珠)相同,因此Ruby以7月的诞生石ruby(红宝石)命名。

  Ruby明显比其他类似的编程语言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以现在在网上仍然可以找到Ruby的资料太少之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。

  Ruby现在的稳定版本是1.8.6(2007年3月12日发布)。

  2008年8月Ruby 1.8.7-p72 和 1.8.6-p287 发布。先前的发布版本不完全,新的版本包括了对之前发布的关于dl的漏洞的修正。

Ruby 的理念

  减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。

  “ 人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。 ”

  遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。

  Semantics

  Ruby 是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布尔逻辑值),每个过程或函数都是方法。

Ruby的Hello World程序

  下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:

  #!/usr/bin/env ruby

  puts "Hello, world!"

Ruby概述

  Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点"小题大做",而Ruby刚好可以满足这些面向对象编程的需求.当然了,您也可以使用Ruby进行普通的面向过程编程.

  Ruby的文本处理能力极强,与Perl不分伯仲.同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了.

  简而言之,您可以像使用Perl一样方便快捷地进行面向对象的开发.怎么样?赶紧试一试吧!

  Ruby是由松本行弘开发的免费软件.

  Ruby的特长

  语法简单

  普通的面向对象功能(类,方法调用等)

  特殊的面向对象功能(Mixin,特殊方法等)

  操作符重载

  错误处理功能

  迭代器和闭包

  垃圾回收

  动态载入(取决于系统架构)

  可移植性高.不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上

Ruby名字的由来

  首先明确一点,Ruby并不是其他单词的缩写。受Perl的影响,Matz也想用一种宝石来命名他的新语言,他使用了他的一位同事的生肖石-红宝石。后来,Matz意识到Ruby这个名字十分恰当,首先,在生肖石中,Pearl代表六月,而Ruby代表七月。在字体大小上,Pearl大小是5pt, ruby的大小是5.5pt。所以Ruby这个名字对于一种Perl的后续语言十分合适。

更多精品课程点击:阿里云大学

猜你喜欢

转载自blog.csdn.net/weixin_40050195/article/details/84582257