ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Ruby - Wikipedia

Ruby

维基百科,自由的百科全书

Ruby
编程范型: multi-paradigm
面市時間: 1995年
設計者: 松本行弘
實作者: 松本行弘(和其他許多人)
最近釋出日期: 1.9.0/ 2007年12月25日
型態系統: dynamic ("duck")
主要實作產品: Ruby, JRuby
啟發語言: Smalltalk, Perl, Lisp, Python, CLU, Dylan
影響語言: Groovy
作業系統: 跨平台
許可證: Ruby License / GPL
網站: www.ruby-lang.org


Ruby,一种為簡單快捷物件導向編程面向对象程序设计)而創的脚本語言,由日本人松本行弘(まつもとゆきひろYukihiro Matsumoto,外號 matz)开发,遵守GPL协议和Ruby License

目录

[编辑] 歷史

Ruby的作者於1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發佈於fj(新聞群組)。之所以稱為Ruby,是因為Perl的發音與6月的誕生石pearl(珍珠)相同,因此Ruby以7月的誕生石ruby(紅寶石)命名。

Ruby明顯比其他類似的程式語言(如PerlPython)年輕,又因為Ruby是日本人發明的,所以早期的非日文資料和程式都比較貧乏,所以現在在網上仍然可以找到Ruby的資料太少之類的批評。約於2000年,Ruby開始進入美國,英文的資料開始發展。

[编辑] Ruby 的理念

减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计 Ruby 语言的 Matz 的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想[1]

人们特别是电脑工程师们,常常从机器着想。他们认为:“这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。”实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。

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

Ruby的作者認為Ruby > (Smalltalk + Perl) / 2[來源請求],表示Ruby是一個语法像Smalltalk一样完全面向对象、脚本執行、又有Perl強大的文字處理功能的程式語言。其他特色包括:

[编辑] 語意

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

[编辑] Ruby的Hello World程序

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

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

或者是在 irb 互動式命令列的模式下:

>>puts "Hello, world!"
Hello, world!
=> nil

[编辑] Ruby 的特点

[编辑] 完全面向对象

在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数。

[编辑] 变量没有类型

Ruby的变量可以保有任何类型的数据。

[编辑] 任何东西都有值

不管是数学或者逻辑表达式还是一个语句,都有值。

[编辑] 變數命名規則

Ruby的變數有以下幾種:

  • 一般小寫字母、底線開頭:變數,變量 (Variable)。
  • $開頭:全域變數,全局變量 (Global variable)。
  • @開頭:實體變數,實例變量 (Instance variable)。
  • @@開頭:類別變數,類變量 (Class variable)。
  • 大寫字母開頭:常數 (Constant)。

[编辑] 已经定义的类可以在运行时修改

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

[编辑] JRuby

JRuby,類似PythonJython,一個可於Java上執行Ruby的語言,支援Java的介面和類別。最新發布版爲1.0(2007-6-14),與Ruby 1.8.5兼容。它的官方網站為jruby.codehaus.org

[编辑] 和 Perl 6 比較

  • CPAN 上排名第一名,同時也是 Perl 6 的開發者的唐鳳(Autrijus)說:「Ruby 就是『沒有到處打廣告的 Perl 6』」。[2]
  • 松本行弘在接受歐萊禮(O'Reilly)訪問時,提到「Ruby 借用了很多 Perl 的東西……,Python 遠比 Perl 要少……」、「我認為 Ruby 這個名字作為 Perl 之後的一門語言的名字真是再恰當不過了。」[3]
  • Perl 之父拉里·沃爾(Larry Wall)說:「很多方面上我還是很喜歡 Ruby 的,這是因為那些部分是從 Perl 借過去的。:-)」、「我還喜歡 Ruby 的 C<*> 一元星號操作符,所以我把它加到 Perl 6 裡面。」[4]

[编辑] 參見

[编辑] 参考文献

[编辑] 外部鏈結

[编辑] 中文資源


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -