编程论坛's Archiver

静夜思 发表于 2007-7-2 18:58

[公告]原XML论坛取消,改为Ruby论坛

<P>XML因为在很多技术中都用到,ASP、PHP、ASP.NET、数据库技术还有桌面开发有时候也用到,所以专门放在一个版块内讨论经常说不到一伙去,XML版块人气也一直很低迷。<BR>很早就有会员建议开一个Ruby版块的,但因为是<FONT color=#000000>日</FONT>本人编写的一门语言,当时也有部分会员反对,但想想魏源在几百年前就悟透了“师夷长技以制夷”,日本在几百年来一直在剖析中国,我们为什么不可以在现在剖析一下日本的开发语言呢,所以我们就没必要再在这个问题上过不去了。<BR>好了,转到另一个话题,给大家介绍一下Ruby:<BR><BR></P>
<DIV class=quote>
<P>Ruby,一种为简单快捷面向对象编程(面向对象程序设计)而创的脚本语言,由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号matz)开发,遵守GPL协议和Ruby License。Ruby的作者认为Ruby &gt; (Smalltalk + Perl) / 2,表示Ruby是一个语法像Smalltalk一样完全面向对象、脚本执行、又有Perl强大的文字处理功能的编程语言。其他特色包括:</P>
<P>    * 运算符重载<BR>    * 自动垃圾回收<BR>    * 弱类型(动态类型 | 标量变量)<BR>    * 变量无需声明 (不必事先宣告变量)<BR>    * 在Windows上,加载DLL<BR>    * 巨大的标准库(函式库;Library)</P>
<P>目录</P>
<P>    * 1 历史<BR>    * 2 Ruby 的理念<BR>    * 3 Semantics<BR>    * 4 Ruby的Hello World程序<BR>    * 5 Ruby 的特点<BR>          o 5.1 完全面向对象<BR>          o 5.2 变量没有类型<BR>          o 5.3 任何东西都有值<BR>          o 5.4 命名规则<BR>          o 5.5 已经定义的类可以在运行时修改<BR>    * 6 JRuby<BR>    * 7 参见<BR>    * 8 外部链结</P>
<P>历史</P>
<P>Ruby的作者于1993年2月24日开始编写Ruby,直至1995年12月才正式公开发布于fj(新闻组)。之所以称为Ruby,是因为Perl的发音与6月的诞生石pearl(珍珠)相同,因此Ruby以7月的诞生石ruby(红宝石)命名。</P>
<P>Ruby明显比其他类似的编程语言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以现在在网上仍然可以找到Ruby的资料太少之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。</P>
<P>Ruby现在的稳定版本是1.8.6(2007年3月12日发布)。</P>
<P>Ruby 的理念</P>
<P>减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。<BR>“         人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。         ”</P>
<P>遵循上述的理念,Ruby 语言通常非常直观,按照编程人认为它应该的方式运行。</P>
<P>Semantics</P>
<P>Ruby 是完全面向对象的:任何一点数据都是对象,包括在其他语言中的基本类型(比如:整数,布尔逻辑值),每个过程或函数都是方法。</P>
<P>Ruby的Hello World程序</P>
<P>下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:</P>
<P>#!/usr/bin/env ruby<BR>puts "Hello, world!"</P>
<P>Ruby 的特点</P>
<P>完全面向对象</P>
<P>在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数</P>
<P>变量没有类型</P>
<P>Ruby的变量可以保有任何类型的数据。</P>
<P>任何东西都有值</P>
<P>不管是数学或者逻辑表达式还是一个语句,都有值</P>
<P>命名规则</P>
<P>Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。常数则以大写字母开头,</P>
<P>已经定义的类可以在运行时修改</P>
<P>Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单立方法。</P>
<P>class MyClass<BR>  def the_method<BR>    "general method"<BR>  end<BR>end</P>
<P>mc = MyClass.new<BR>def mc.the_method<BR>  "special for this instance."<BR>end</P>
<P>mc.the_method</P>


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

yushui 发表于 2007-7-3 23:13

<P>我第一次听说有这门语言  不过我自己知道的语言也很少  呵呵 </P>

SkyGull 发表于 2007-7-13 14:27

顶顶顶顶上

福尔摩斯 发表于 2007-7-24 20:55

[quote]但想想魏源在几百年前就悟透了“师夷长技以制夷”[/quote]<BR><BR>最早是林则徐说的

l3294832 发表于 2007-8-1 19:43

并且还不到200年。。。。

狂放不羁 发表于 2007-8-23 08:16

搞Ruby的一般都是JAVA大牛人物。。

sea7 发表于 2007-9-2 11:31

<P>早都该有了</P>

shaoli4261 发表于 2007-9-12 22:44

<P>第一次听~~~~~~~<BR>   谢谢管理员的介绍~~~</P>

杨婷婷 发表于 2007-11-27 08:57

”完全面向对象“具体是什么概念?学过JAVA,不过不是很好,只是大概有点印象,我现在学C++,很感兴趣~它不是完全面向对象吗?怎么能把那些数据类型也当成对象啊?每个函数都是方法,听起来不错,第一次听说Ruby,想深入学习(不知道这样向大侠提问行吗?)

linsua 发表于 2008-1-9 04:04

Ruby不错,Python也不错的

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.