什么是Ruby Ruby的简介

 

        Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。由 Ruby 语言本身还发展出了JRuby(Java 平台)、IronRuby(.NET 平台)等其他平台的 Ruby 语言替代品。Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。因为Perl发音与6月诞生石pearl(珍珠)相同,因此Ruby以7月诞生石ruby(红宝石)命名。

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

 

理念  

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

  “ 人们特别是电脑工程师们,常常从机器着想。他们认为:‘这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。’实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上 应用程序。我们是主人,他们是仆人。 ”
  遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。
  Ruby 是完全面向 对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如: 整数,布尔逻辑值),每个过程或函数都是方法。
  下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
  #!/usr/bin/env ruby

  puts "Hello, world!"

 

规则  Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。常数则以大写字母开头;这种方法,对文本编辑器的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,perlphp亦有此优点。

  已经定义的类可以在运行时修改

  Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单例方法。

  class MyClass

  def the_method

  "general method"

  end

  end

  mc = MyClass.new

  def mc.the_method

  "special for this instance."

  end

  mc.the_method #special for this instance

  使用Ruby可以写出简短而又功能强大的代码

  #下面的方法用来完成两个矩阵的乘积

  def matrix_mul(matrix1,matrix2)

  result=Array.new

  (0...matrix1.length).each {|i| temp=Array.new;(0...matrix2.length).each{|j| tmp=0; (0...matrix1[0].length).each {|k| matrix1[k].to_f*matrix2[k][j].to_f }; temp< return result

  end

优点  语法简单

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

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

  操作符重载

  错误处理功能

  迭代器和闭包

  垃圾回收

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

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

  适合于快速开发,一般开发效率是JAVA的5倍

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值