注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

liangxh2008的博客

 
 
 

日志

 
 

Ruby简介  

2010-04-20 15:41:37|  分类: AppMarket |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。也为英文名,某台湾品牌和ATI女郎。

目录[隐藏]

Ruby 简介
历史
Ruby 的理念
Ruby的Hello World程序
Ruby 的特点
Ruby概述
Ruby名字的由来
Ruby 与 PHP
Ruby游戏脚本系统
Ruby 简介
历史
Ruby 的理念
Ruby的Hello World程序
Ruby 的特点
Ruby概述
Ruby名字的由来
Ruby 与 PHP


Ruby 简介

  Ruby,一种为简单快捷面向对象编程面向对象程序设计)而创的脚本语言,在20世纪90年代由日本松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。它的灵感与特性来自于 PerlSmalltalkEiffelAda 以及 Lisp 语言。由 Ruby 语言本身还发展出了JRubyJava 平台)、IronRuby(.NET 平台)等其他平台的 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语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数
  变量没有类型
  Ruby的变量可以保有任何类型的数据。
  任何东西都有值
  不管是数学或者逻辑表达式还是一个语句,都有值
  命名规则
  Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。常数则以大写字母开头;这种方法,对文本编辑器的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,perl与php亦有此优点。
  已经定义的类可以在运行时修改
  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<<tmp}; result<<temp}
  return result
  end
  

Ruby概述

  Ruby是一种功能强大的面向对象的脚本语言,它可以使您方便快捷地进行面向对象编程.有时使用像Smalltalk、Eiffel或C++这样正式的面向对象语言来开发一些小项目显得有点"小题大做",而Ruby刚好可以满足这些面向对象编程的需求.当然了,您也可以使用Ruby进行普通的面向过程编程.
  Ruby的文本处理能力极强,与Perl不分伯仲.同时,Ruby的语法简单,还有异常处理以及迭代器等构造,使编程变得简单明了.
  简而言之,您可以像使用Perl一样方便快捷地进行面向对象的开发.怎么样?赶紧试一试吧!
  Ruby是由松本行弘开发的免费软件.
  Ruby的优点:
  语法简单
  普通的面向对象功能(类,方法调用等)
  特殊的面向对象功能(Mixin,特殊方法等)
  操作符重载
  错误处理功能
  迭代器和闭包
  垃圾回收
  动态载入(取决于系统架构)
  可移植性高.不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上
  Ruby的作者
  松本行弘 matz@netlab.jp
  松本行弘"Matz"(Matsumoto Yukihiro)是Ruby语言的发明人,他从1993年起便开始着手Ruby的研发工作。他一直想发明一种语言,使你既能进行高效开发又能享受编程的 快乐。1993年2月24日Ruby诞生了,1995年12月Matz推出了Ruby的第一个版本Ruby 0.95。不久Ruby便凭借其独特的魅力横扫日本,相信在不久的将来,Ruby将走向世界。

Ruby名字的由来

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

Ruby 与 PHP

  由于PHP自身的混乱,很多PHPer对PHP开始感到对PHP的不安,有一部分人听说了Ruby on Rails的好处之后,便跑来学了,PHP与Ruby究竟是什么关系呢?
  Stefan Mischook宣称PHP社区的人们不必恐慌于Ruby近期的增长和普及。他表示尽管Ruby和PHP都是使得开发Web应用更简单的脚本语言,但每种语言都吸引着不同的听众。Ruby有一点抽象,因此无法满足大多数PHPer的需要。
  Stefan同样提到PHP程序的面向对象版本仅仅增强了它的力量。“面向对象的构造对建立清 理设计是有好处的,这使得保持和促进代码重复利用的可能性变的更简单。代码的重复利用经常被奉为OOP思想的优势,但是我从Java世界里看到的是,它常 常不能达到这样的要求。OOP增加了复杂性和管理费用的开销,当你通过OOP做某些事情时,你不得不写更多的代码来完成它。”相反的,Ruby中的每一个 东西都是对象。“核心语言有着非常复杂的构造,需要使用Ruby去有效地理解,Ruby的力量同样也是它的缺点。
  他同样非常有信心的指出Ruby很好的适用于面向对象设计,因为它是作为一个面向对象的语言而建立的。但是,面向对象的能力已经被程序的框架限定了。
  “我认为PHP是最好的选择,因为这已经得到了很好的认可——包括许多开发环境,开源的项目, 简单的集合等等。Ruby刚刚开始进入主流,在Ruby和Web开发中还是有些基本的问题。例如Ruby和APACHE的结合仍然还不稳定,但是还有些已 知的问题并且可以提出争论。”

Ruby游戏脚本系统

   RGSS (Ruby Game Scripting System),中文意思就是:Ruby游戏脚本系统,是一个脚本性质的游戏编程系统,并不是整个游戏都用它来生成,RGSS所能做的只是一些有限的功 能,而这些功能,是由厂家也就是EnterBrain所规定的,我们只能在自己力所能及的范围内来挖掘RGSS的潜力。
  脚本(Script):
  脚本这个概念应用的范围很广,Windows系统里就有 VBScript,JavaScript等脚本程序,Unix系统也有很多Perl,Shell等脚本程序,脚本可以解释为是一种系统内用来实现一些特定 功能的有着局限性的编程环境。有的脚本可以触及到系统底层,有的却只是完成一些运算或者控制流程的功能,这取决于脚本系统的权限,也可以说取决于脚本系统 所提供的库函数功能。

扩展阅读:
1.http://www.ruby-lang.org.cn/forums/ Ruby中文论坛(非官网)
2.http://www.ruby-lang.org/ Ruby 官方网站(含下载)
  评论这张
 
阅读(624)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017