複製鏈接
請複製以下鏈接發送給好友

Ruby

(計算機編程語言)

鎖定
Ruby,一種簡單快捷的面向對象(面向對象程序設計)腳本語言,在20世紀90年代由日本人松本行弘(Yukihiro Matsumoto)開發,遵守GPL協議和Ruby License。它的靈感與特性來自於 PerlSmalltalkEiffelAda以及 Lisp 語言。由 Ruby 語言本身還發展出了JRuby(Java平台)、IronRuby(.NET平台)等其他平台的 Ruby 語言替代品。
軟件名稱
Ruby
軟件平台
Windows、LinuxUNIXmacOS [1] 
上線時間
1995年 [2] 
最近更新時間
2020年12月
軟件語言
Ruby
開發商
Yukihiro Matsumoto [2] 
軟件授權
Yukihiro Matsumoto
軟件版本
3.0.0 [1] 
軟件大小
18.6 MB

Ruby發展歷程

Ruby 標識 Ruby 標識
Ruby明顯比其他類似的編程語言(如PerlPython)年輕,又因為Ruby是日本人發明的,所以早期的非日文資料和程序都比較貧乏,所以在網上仍然可以找到類似“Ruby的資料太少”之類的批評。約於2000年,Ruby開始進入美國,英文的資料開始發展。Ruby歸根結底源於Perl和Lisp兩類語言,與C,C++,C#,java是不同大類。
Ruby的作者於1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發佈於fj(新聞組)。因為Perl發音與6月誕生石pearl(珍珠)相同,因此Ruby以7月誕生石ruby(紅寶石)命名。

Ruby版本記錄

2011年10月31日1.9.3的第一個穩定版本1.9.3p0發佈。
2013年2月22日發佈了Ruby 1.9.3-p392。
2013年2月24日發佈了Ruby 2.0.0-p0。
2015年4月13日發佈了Ruby 2.2.2。
2015年12月25日發佈了Ruby 2.3.0。
最新穩定版本為:Ruby 3.1.0 [4] 

Ruby語言標準

Ruby的變量有一定的規則,以$開頭的一定是全局變量,以@開頭的都是實例變量,而以@@開頭的是類變量。常數則以大寫字母開頭;這種方法,對文本編輯器的命令補全很有幫助,如在vim下先鍵入$及開頭字母,再敲擊Ctrl+p,則可專門補全本文件以及關聯文件中的全局變量,perlphp亦有此優點。
已經定義的類可以在運行時修改 [3] 
Ruby是動態語言,你可以在程序中修改先前定義過的類。 也可以在某個類的實例中定義該實例特有的方法,這叫做單例方法。
class MyClass
    def the_method
        "generalmethod"
    end
end
mc=MyClass.new
def mc.the_method
    "special for this instance."
end
mc.the_method#specialforthisinstance
使用Ruby可以寫出簡短而又功能強大的代碼
下面的方法用來完成兩個矩陣的乘積
def matrix_mul(matrix1,matrix2)
    result=[]
    (0...matrix1.length).each{|i|
        temp=[]
        (0...matrix2[0].length).each{|j|
            tmp=0
            (0...matrix1[0].length).each{|k|
                tmp+=matrix1[i][k]*matrix2[k][j]
            }
            temp<<tmp
        }
        result<<temp
    }
    return result
end
注:ruby標準庫中已包含矩陣Matrix

Ruby語言特點

在Ruby語言中,任何東西都是對象,包括其他語言中的基本數據類型,比如整數
變量沒有類型
Ruby的變量可以保存任何類型的數據。
任何東西都有值
不管是數學或者邏輯表達式還是一個語句,都會有值。
ruby語言很優雅,可以做到不需要註釋就可以讀懂。
優點
語法簡單
普通的面向對象功能(類,方法調用等)
特殊的面向對象功能(Mixin,特殊方法等)
錯誤處理功能
垃圾回收
動態載入(取決於系統架構)
可移植性高.不僅可以運行在多數UNIX上,還可以運行在DOS,Windows,Mac,BeOS等平台上
適合於快速開發,一般開發效率是JAVA的5倍

Ruby語言理念

減少編程時候的不必要的瑣碎時間,令編寫程序的人高興,是設計 Ruby 語言的 Matz 的一個首要的考慮;其次是良好的界面設計。他強調系統設計必須注重人性化,而不是一味從機器的角度設想。
“ 人們特別是電腦工程師們,常常從機器着想。他們認為:‘這樣做,機器就能運行的更快;這樣做,機器運行效率更高;這樣做,機器就會怎樣怎樣怎樣。’實際上,我們需要從人的角度考慮問題,人們怎樣編寫程序或者怎樣使用機器上應用程序。我們是主人,他們是僕人。 ”
遵循上述的理念,Ruby 語言通常非常直觀,按照編程人認為它應該的方式運行。
Ruby 是完全面向對象的:任何一點數據都是對象,包括在其他語言中的基本類型(比如:整數,布爾邏輯值),每個過程或函數都是方法。
下面是一個在標準輸出設備上輸出Hello World的簡單程序,這種程序通常作為開始學習編程語言時的第一個程序:
#!/usr/bin/env ruby
puts "Hello, world!"

Ruby語言特點

  • Ruby 是開源的,在Web 上免費提供,但需要遵守開源軟件協議。
  • Ruby 是一種通用的、解釋的編程語言。
  • Ruby 是一種真正的面向對象編程語言
  • Ruby 是一種類似於 Python 和 Perl 的服務器端腳本語言。
  • Ruby 可以用來編寫通用網關接口(CGI)腳本。
  • Ruby 可以被嵌入到超文本標記語言(HTML)。
  • Ruby 語法簡單,這使得新的開發人員能夠快速輕鬆地學習 Ruby。
  • Ruby 與 C++ 和 Perl 等許多編程語言有着類似的語法。
  • Ruby 可擴展性強,用 Ruby 編寫的大程序易於維護。
  • Ruby 可用於開發的 Internet 和 Intranet 應用程序。
  • Ruby 可以安裝在 Windows 和 POSIX 環境中。
  • Ruby 支持許多 GUI 工具,比如 Tcl/Tk、GTK 和 OpenGL。
  • Ruby 可以很容易地連接到 DB2、MySQL、Oracle 和 Sybase。
  • Ruby 有豐富的內置函數,可以直接在 Ruby 腳本中使用。

Ruby發明人

松本行弘"Matz"(Yukihiro Matsumoto)是Ruby語言的發明人,他從1993年起便開始着手Ruby的研發工作。他一直想發明一種語言,使你既能進行高效開發又能享受編程的快樂。1993年2月24日Ruby誕生了,1995年12月Matz推出了Ruby的第一個版本Ruby 0.95。不久Ruby便憑藉其獨特的魅力橫掃日本。 [3] 
參考資料
  • 1.    下載 Ruby  .Ruby官方.2020-01-05[引用日期2021-01-10]
  • 2.    關於 Ruby  .Ruby官方.2020-01-05[引用日期2021-01-10]
  • 3.    Cooper, Peter (2009). Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional (2nd ed.). Berkeley: APress. p. 101. ISBN 1-4302-2363-4. To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.
  • 4.    Ruby 3.1.0 已發佈  .Ruby官方網站[引用日期2022-03-20]