Ruby啥意思,ruby是什么意思 意义是什么
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
1-1-Ruby是什么?
Ruby
是一种简单的面向对象编程语言,非常好用,功能强大。她最早于1995年由一位日本人YukihiroMatsumoto(大家都叫他Matz)出版。).很多东西都是借鉴了Ruby Perl这种语言(有人形象地说Ruby是Perl的漂亮姐姐:)。与Perl类似,Ruby也擅长文本处理和系统管理等任务。和Smalltalk一样,Ruby是纯面向对象的语言,一切都是对象。以下是Ruby语言的一些特性:*简单而优雅的语法
*解释性执行,方便快捷
*完全面向对象
*内置常规引擎,适合文本处理
*具有许多高级特性(运算符重载、混合、singleton方法、)
*有优雅完善的异常处理机制。
*自动垃圾收集
*高度便携(可以在Windows、Unix、Linux、MacOS上运行)
2-2-Ruby能做什么?给我看看一些Ruby语言代码!
作为一种通用编程语言,Ruby和其他常用的编程语言一样,可以编写我们日常的大部分任务,并且更简单优雅地完成。有人和她一起写过Web服务器程序,科学计算程序,视频
游戏
软件
和其他有趣的应用。更多的人用她做原型实验,处理每天遇到的各种琐碎的编程任务。你想看Ruby代码吗?好了,下面是用Ruby写的几个简单程序的代码:
#1-打印“你好,世界!”3次
3 .时代周刊
打印“你好,世界!/n
目标
#2-计算“1 2 3.100"
总和=0
foriin1.100
总和=i
目标
打印 1 2 3.100=,sum,/n
#3-简单的方法调用
defhello(名称)
打印你好,,姓名,/n
目标
你好(“杰伦”)
#4-简单的Ruby类及其调用
…年级学生
定义(名称)
@name=name
目标
defshow_info()
将 Imaman.Mynameis#{@name}。
目标
目标
jellen=Man.new(jellen )
jellen.show_info()
“红宝石”这个名字是怎么来的?
受Perl的影响,Matz。原本想给他发明的语言起一个珠宝的名字,所以后来他想到了“Ruby”(意为红宝石)作为这种新语言的名字。在生肖石中,珍珠代表六月,红宝石只是代表七月。所以他认为Ruby作为一种比Perl更新的语言是一个好名字(我希望它也真的更好)。
4-我对红宝石的历史感兴趣。请介绍一下Ruby的发展。
1993年左右,马茨。Ruby的父亲对scr ptinglanguage感兴趣。经过一番分析和思考,马茨。意识到脚本语言可以变得非常强大和灵活,所以他准备把脚本语言作为自己的发展方向。像很多人一样,马茨。是一个面向对象编程的爱好者,所以他想研究一种面向对象的脚本语言。然后,他去网上搜集了一些相关资料,很快就找到了还没有发布的Perl5,准备支持面向对象编程。但是经过一段时间的了解,马茨。发现这并不是他所想的(也许是Perl不自然的面向对象方式让他恶心),于是他放弃了用Perl作为面向对象脚本语言的想法。然后Matz转向Python。Python generation是一种解释性的、面向对象的语言,但是Matz发现它不能完全归类为“面向对象”的语言。Matz认为Python是面向对象和过程编程语言的混合产物。马茨。希望找到一种比Perl更强大,比Python更面向对象的语言,但是一时间他找不到合适的。经过一番思想斗争,他打算自己设计一种全新的编程语言。马茨的发展。开始于1993年2月24日,同年夏天,第一个ruby语言程序Hello,world!’运行成功。随后,Ruby语言的第一个alpha版本于1994年12月发布。
1996年以前,都是马茨。一个人在开发Ruby随着Ruby社区的逐渐形成,很多社区成员给了Matz很多有意义的帮助,包括提交bug和补丁。现在,Ruby和其他开源软件一样,有自己的开发团队,任何有能力的个人或团体都可以参与到Ruby的进化中来。
5-5-Ruby的效率如何?可以用Ruby写应用吗?
Ruby是一种解释性语言,它的效率当然不同于传统的编译语言。未来的计划是让Ruby的运行效率更接近编译语言。现在有一个Rite项目,目标是写Ruby虚拟机,还有一个Cardinal项目是做Parrot虚拟机的Ruby前端程序。type-I的执行确实在一定程度上影响了Ruby的运行速度,但实际上Ruby在各种语言的运行速度测试中表现相当不错。虽然它一般没有Perl快,但也慢不了多少。
当然,我们可以将Ruby作为桌面应用。其实很多人已经这么做了。但是在你开始用Ruby做应用之前,你一定要知道,它不会像你的C程序那么快,然后生成的程序文件会比原生程序大一点。
6-听说Python也很不错。Ruby和它相比有什么特点?我应该选择哪一个?
Python和Ruby都自称是面向对象的编程语言,但和Smalltalk不同的是,你可以用Python和Ruby编写面向过程的程序代码。Smalltalk只有对象。在完全理解对象、继承和相当数量的Smalltalk系统类之前,你什么都做不了。通过提供对过程化编程范式的支持,Python和Ruby“修复”了这个阻碍Smalltalk进入主流的原因(毕竟过程化的思想对于初学者来说很容易理解)。但是两种语言通过完全不同(相反)的方法达到这个目的。
Python是一种混合语言。它有函数的概念支持过程化编程,有对象的概念支持面向对象编程。Python允许在函数和方法之间定义方法之前转换显式的“自身”参数,从而将两个世界联系起来。当一个函数被插入到一个对象中时,它的第一个参数自动变成对被接受对象的引用。
然而,Ruby中面向过程的编程代码其实是“假”的。Ruby是一种纯面向对象的语言。它没有函数的概念,只有类方法调用。在一个Ruby的“函数调用”中,方法的默认接收者是 self ,这是一个隐藏参数,就像c中的 this 指针一样,一个类外的 def 方法声明(这是Python中的一个函数),实际上是Ruby中的一个方法调用。这个“假函数”会自动成为Object对象的私有成员(Object对象是Ruby继承树的根)。所以如果你不熟悉面向对象的编程方法,你还是可以写很多‘def’方法,然后直接调用它们——这种面向过程的思想来完成很多有用的代码。
Ruby的纯面向对象特性提供了Python所缺乏或正在开发的一些特性:统一的单根继承系统,元类,接受任何东西作为子类和统一的方法调用(len()是函数而items()是方法,这绝对不矛盾)。和Java类似,Ruby只支持单一继承,但是它有一个非常强大的Mix-in概念:一个类可以包含多个模块,然后模块中的方法和常量就变成自己的了。
此外,Ruby提供了闭包和块的概念,具有与Smalltalk相同的功能。Ruby的集合类库和迭代器非常优秀,比Python提供的特殊解决方案更加强大和优雅。
Ruby的语法和设计理念深受Perl的影响。像Perl一样,我们可以放 if , while 等。在陈述的结尾(如“打印‘是!”IFA==1 ");然后Ruby中的很多特性直接取自Perl,比如内置对正则表达式的支持,$ _ variable,Heredocuments概念和$,前缀是不同类型变量的修饰等等。
如果你喜欢Perl,那么你也会喜欢Ruby的自由语句结构;如果你习惯了Smalltalk和Java,你也会喜欢Ruby的OO语法,但是如果你喜欢Python,你可能喜欢也可能不喜欢Ruby,因为Python和Ruby的设计理念有很大的区别。
所以当ttdpy准备用Python或者Ruby的时候,我建议你先联系他们两个。
看看
对哪个更感兴趣,再做决定(jellen叛逃到Ruby是因为不习惯Python怪异的缩进语法)。您应该注意到,Ruby的语法比Python复杂得多,但幸运的是,这些语法彼此之间结合得很好。呵呵
,希望你选择Ruby,成为一个快乐的Rubyiest!7-我想学习Ruby,但是不知道我的系统是否支持?我需要安装什么软件?
Ruby可以在Windows系列、各种Linux、Unix和MacOS上很好地运行,甚至可以在Dos、BeOS和OS/2等不常见的系统上运行。所以,你要做的就是去Ruby language:www.ruby-lang.org的首页下载你操作系统对应的Ruby安装程序并安装。然后,我建议你安装一个语法突出的支持Ruby语言的文本编辑器(比如Vim或者Emacs),这会让你的Ruby之旅更加愉快!
Ruby的学习资料在哪里?
你可以去www.ruby-doc.org下载一个“ruby-doc-bundle”。你有Ruby的用户手册,参考文档,还有名为《Ruby语言圣经》的第一版电子书《ProgrammingRuby》。这些都是有用的资料,可惜都是英文的,对于英语不好的朋友来说是个障碍。但是,随着Ruby的普及,会有越来越多的Ruby教材问世。
调用我老师的AI教程!http://blog.csdn.net/jiangjunshow
如何查看电脑配置历史中提交的图片或压缩文件?