zjhz001 2008-08-06 10:31
浏览 310
已采纳

有没有人了解ruby的,谈谈对ruby的看法,这门技术怎么样!

想再业余时间多增加自己技术方面的其他知识,前不久听到ruby这个新技术,但是看看网上对它的评论似乎很少,所以希望大家都谈谈自己对ruby的看法,有用过的朋友最好了,大家畅所欲言吧,看看ruby这门技术值不值得我们去学习,去掌握,谢谢!

  • 写回答

5条回答 默认 最新

  • bee100 2008-08-07 16:42
    关注

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

    • 运算符重载
    • 自动垃圾回收
    • 弱类型(动态类型 | 标量变量)
    • 变量无需声明 (不必事先宣告变量)
    • 在Windows上,加载DLL
    • 巨大的标准库(函式库;Library)

    历史
    [编辑本段]

    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日发布)。

    Ruby 的理念
    [编辑本段]

    减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。
    “ 人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。 ”

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

    Semantics

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

    Ruby的Hello World程序
    [编辑本段]

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

    #!/usr/bin/env ruby
    puts "Hello, world!"

    Ruby 的特点
    [编辑本段]
    [list]
    [*]
    [*]
    [*]完全面向对象
    [*]
    [*]在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数
    [*]
    [*]变量没有类型
    [*]
    [*]Ruby的变量可以保有任何类型的数据。
    [*]
    [*]任何东西都有值
    [*]
    [*]不管是数学或者逻辑表达式还是一个语句,都有值
    [*]
    [/list]
    命名规则

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

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

    Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单立方法。
    [code="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[/code]

    使用Ruby可以写出简短而有功能强大的代码
    #下面的方法用来完成两个矩阵的乘积
    [code="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[/code]

    Ruby概述
    [编辑本段]

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

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

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

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

    Ruby的特长

    [list]
    [*]语法简单
    [*]
    [*]普通的面向对象功能(类,方法调用等)
    [*]
    [*]特殊的面向对象功能(Mixin,特殊方法等)
    [*]
    [*]操作符重载
    [*]
    [*]错误处理功能
    [*]
    [*]迭代器和闭包
    [*]
    [*]垃圾回收
    [*]
    [*]动态载入(取决于系统架构)
    [*]
    [*]可移植性高.不仅可以运行在多数UNIX上,还可以运行在DOS,Windows,Mac,BeOS等平台上
    [*]
    [/list]
    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 也作为英文名.由于音似rabbit(兔子)以及拼写方便而作为我国一部分女生十分喜爱的英文名.

    比如桃子(偶的小宝贝)的英文名就是Ruby.也简称Ruru.而明星林心如的英文名也是Ruby

    Ruby名字的由来
    [编辑本段]

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

    RGSS
    [编辑本段]

    RGSS (Ruby Game Scripting System),中文意思就是:Ruby游戏脚本系统,是一个脚本性质的游戏编程系统,并不是整个游戏都用它来生成,RGSS所能做的只是一些有限的功能,而这些功能,是由厂家也就是EnterBrain所规定的,我们只能在自己力所能及的范围内来挖掘RGSS的潜力。
    脚本(Script):

    脚本这个概念应用的范围很广,Windows系统里就有VBScript,JavaScript,WScript等脚本程序,Unix系统也有很多 Perl,Shell等脚本程序,脚本可以解释为是一种系统内用来实现一些特定功能的有着局限性的编程环境。有的脚本可以触及到系统底层,有的却只是完成一些运算或者控制流程的功能,这取决于脚本系统的权限,也可以说取决于脚本系统所提供的库函数功能。

    n.

    红宝石;鲁比(女子名)

    n.(名词)

    【复数】 ru.bies

    1.A deep red, translucent variety of the mineral corundum, highly valued as a precious stone.

    红宝石:深红色、半透明刚玉矿产,因是珍稀宝石价值很高

    2.Something, such as a watch bearing, that is made from a ruby.

    红宝石制品:用红宝石制成的东西,如表的轴承

    3.Color A dark or deep red to deep purplish red.

    【色彩】 红宝石色:暗红或深红与深紫色之间的一种颜色

    adj.Color (形容词)【色彩】

    Of the color ruby.

    红玉色的

    还有个眼镜品牌,RUBY SPORTS为台湾

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看