遵守BSD许可证和Ruby License。它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。由Ruby语言本身还发展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的Ruby语言替代品。
因为ruby适用范围较窄。
Ruby明显比其他类似的编程语言年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程序都比较贫乏,所以在网上仍然可以找到类似“Ruby的资料太少”之类的批评。
在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数变量没有类型,Ruby的变量可以保存任何类型的数据。任何东西都有值,不管是数学或者逻辑表达式还是一个语句,都会有值。ruby语言很优雅,可以做到不需要注释就可以读懂。
ruby语言特点:
Ruby 是开源的,在Web 上免费提供,但需要遵守开源软件协议。
Ruby 是一种通用的、解释的编程语言。
Ruby 是一种真正的面向对象编程语言。
Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
Ruby 可以用来编写通用网关接口(CGI)脚本。
Ruby 可以被嵌入到超文本标记语言(HTML)。
Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby。
你的问题是不是“ruby 语言的特点”吧??哈哈~~还是我自做多情啦~~~~Ruby特点
一般认为,他有如下特点:
简单
解释型语言,所以不必事先编译,直接运行,开发周期短,调试方便。
变量没有类型的区分,变量不需要定义,而且是弱类型,即可以改变类型。
irb(main):004:0>a=1
=>1
irb(main):005:0>a.class
=>Fixnum
irb(main):006:0>a*3
=>3
irb(main):007:0>a="str"
=>"str"
irb(main):008:0>a.class
=>String
irb(main):009:0>a*3
=>"strstrstr"
irb(main):010:0>
简单的语法,多从Eiffel继承而来,容易学习。
不需要内存管理,系统提供GC处理机制。其实自从学习JAVA之后,几乎就很少想起指针和内存分配了。
它是纯的面向对象的语言
一切都是对象,像整数等类型从开始就被设计为对象来处理。
有类,实例,模块,继承,方法重载等。
module和Mixin ,实现多重继承。
比Python,Java,C++等更OO。
脚本语言
解释执行
很强的文字处理能力和正则表达式
直接访问OS,用ruby编写系统程序也是可能的。
其他
支持多种长整数,如果内存允许,可以进行很大数的计算操作。
具备异常处理能力,类似java的异常处理功能。
动态载入。可以在运行时候重定义自己,类也可以在运行时继承/取消继承。
线程支持。
反射(Reflection)。Ruby可以看到程序的内部,比如一个模块是否含一个特定方法,一个对象是哪个class等等。类似java的反射功能。
扩展性。使用C API可以轻松的建立国更多的应用库,比如Ruby Mysql模块就是用C语言编写以供Ruby调用Mysql数据库用的。
迭代器和闭包。一个在闭包开始时定义的资源在闭包结束后会被释放,适合于socket,数据库连接,文件句柄等。而迭代器则是非常方便的工具。
跨平台,支持Linux,Unix,Windows,Mac等更重操作系统。
发行许可证。基于Ruby Artistic License (BSD样式的)和GPL。
像其它开源软件一样,有活跃的社区,大量面向Ruby的软件越来越多。