Ruby 教程


閱讀(538.6k) 收藏 (368)

手冊簡(jiǎn)介

Ruby,一種簡(jiǎn)單快捷的面向對象(面向對象程序設計)腳本語(yǔ)言,在20世紀90年代由日本人松本行弘(Yukihiro Matsumoto)開(kāi)發(fā),遵守GPL協(xié)議和Ruby License。它的靈感與特性來(lái)自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 語(yǔ)言。由 Ruby 語(yǔ)言本身還發(fā)展出了JRuby(Java平臺)、IronRuby(.NET平臺)等其他平臺的 Ruby 語(yǔ)言替代品。因為Perl發(fā)音與6月誕生石pearl(珍珠)相同,因此Ruby以7月誕生石ruby(紅寶石)命名。

手冊說(shuō)明

201610261616553875

官網(wǎng):http://www.ruby-lang.org/en/

API文檔:http://www.ruby-lang.org/en/documentation/

教程:http://www.qfikajz.com/ruby/ruby-tutorial.html

下載:http://www.ruby-lang.org/en/downloads/

邊學(xué)邊練:ruby微課

Ruby,一種簡(jiǎn)單快捷的面向對象(面向對象程序設計)腳本語(yǔ)言,在20世紀90年代由日本人松本行弘(Yukihiro Matsumoto)開(kāi)發(fā),遵守GPL協(xié)議和Ruby License。它的靈感與特性來(lái)自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 語(yǔ)言。由 Ruby 語(yǔ)言本身還發(fā)展出了JRuby(Java平臺)、IronRuby(.NET平臺)等其他平臺的 Ruby 語(yǔ)言替代品。Ruby的作者于1993年2月24日開(kāi)始編寫(xiě)Ruby,直至1995年12月才正式公開(kāi)發(fā)布于fj(新聞組)。因為Perl發(fā)音與6月誕生石pearl(珍珠)相同,因此Ruby以7月誕生石ruby(紅寶石)命名。

外文名 Ruby 詞條名 Ruby 類(lèi)    別 腳本語(yǔ)言 創(chuàng )始人 松本行弘 發(fā)布時(shí)間 1995年12月 最新版本 2.3.1

發(fā)展歷程

Ruby明顯比其他類(lèi)似的編程語(yǔ)言(如Perl或Python)年輕,又因為Ruby是日本人發(fā)明的,所以早期的非日文資料和程序都比較貧乏,所以在網(wǎng)上仍然可以找到類(lèi)似“Ruby的資料太少”之類(lèi)的批評。約于2000年,Ruby開(kāi)始進(jìn)入美國,英文的資料開(kāi)始發(fā)展。Ruby歸根結底源于Perl和Python兩類(lèi)語(yǔ)言,與C,C++,C#,java是不同大類(lèi)。

Ruby 標識
2011年10月31日1.9.3的第一個(gè)穩定版本1.9.3p0發(fā)布。
2013年2月22日發(fā)布了Ruby 1.9.3-p392。
2013年2月24日發(fā)布了Ruby 2.0.0-p0。
2015年4月13日發(fā)布了Ruby 2.2.2。
2015年12月25日發(fā)布了Ruby 2.3.0。

語(yǔ)言標準

Ruby的變量有一定的規則,以$開(kāi)頭的一定是全局變量,以@開(kāi)頭的都是實(shí)例變量,而以@@開(kāi)頭的是類(lèi)變量。常數則以大寫(xiě)字母開(kāi)頭;這種方法,對文本編輯器的命令補全很有幫助,如在vim下先鍵入$及開(kāi)頭字母,再敲擊Ctrl+p,則可專(zhuān)門(mén)補全本文件以及關(guān)聯(lián)文件中的全局變量,perl與php亦有此優(yōu)點(diǎn)。
已經(jīng)定義的類(lèi)可以在運行時(shí)修改
Ruby是動(dòng)態(tài)語(yǔ)言,你可以在程序中修改先前定義過(guò)的類(lèi)。 也可以在某個(gè)類(lèi)的實(shí)例中定義該實(shí)例特有的方法,這叫做單例方法。

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可以寫(xiě)出簡(jiǎn)短而又功能強大的代碼
下面的方法用來(lái)完成兩個(gè)矩陣的乘積
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

語(yǔ)言特點(diǎn)

完全面向對象
在Ruby語(yǔ)言中,任何東西都是對象,包括其他語(yǔ)言中的基本數據類(lèi)型,比如整數
變量沒(méi)有類(lèi)型
Ruby的變量可以保存任何類(lèi)型的數據。
任何東西都有值
不管是數學(xué)或者邏輯表達式還是一個(gè)語(yǔ)句,都會(huì )有值。
ruby語(yǔ)言很優(yōu)雅,可以做到不需要注釋就可以讀懂。

優(yōu)點(diǎn)

語(yǔ)法簡(jiǎn)單
普通的面向對象功能(類(lèi),方法調用等)
特殊的面向對象功能(Mixin,特殊方法等)
操作符重載
錯誤處理功能
迭代器和閉包
垃圾回收
動(dòng)態(tài)載入(取決于系統架構)
可移植性高.不僅可以運行在多數UNIX上,還可以運行在DOS,Windows,Mac,BeOS等平臺上
適合于快速開(kāi)發(fā),一般開(kāi)發(fā)效率是JAVA的5倍
語(yǔ)言理念編輯
減少編程時(shí)候的不必要的瑣碎時(shí)間,令編寫(xiě)程序的人高興,是設計 Ruby 語(yǔ)言的 Matz 的一個(gè)首要的考慮;其次是良好的界面設計。他強調系統設計必須注重人性化,而不是一味從機器的角度設想。
“ 人們特別是電腦工程師們,常常從機器著(zhù)想。他們認為:‘這樣做,機器就能運行的更快;這樣做,機器運行效率更高;這樣做,機器就會(huì )怎樣怎樣怎樣?!瘜?shí)際上,我們需要從人的角度考慮問(wèn)題,人們怎樣編寫(xiě)程序或者怎樣使用機器上應用程序。我們是主人,他們是仆人。 ”
遵循上述的理念,Ruby 語(yǔ)言通常非常直觀(guān),按照編程人認為它應該的方式運行。
Ruby 是完全面向對象的:任何一點(diǎn)數據都是對象,包括在其他語(yǔ)言中的基本類(lèi)型(比如:整數,布爾邏輯值),每個(gè)過(guò)程或函數都是方法。
下面是一個(gè)在標準輸出設備上輸出Hello World的簡(jiǎn)單程序,這種程序通常作為開(kāi)始學(xué)習編程語(yǔ)言時(shí)的第一個(gè)程序:

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

語(yǔ)言用途

  • Ruby 是開(kāi)源的,在Web 上免費提供,但需要一個(gè)許可證。
  • Ruby 是一種通用的、解釋的編程語(yǔ)言。
  • Ruby 是一種真正的面向對象編程語(yǔ)言。
  • Ruby 是一種類(lèi)似于 Python 和 Perl 的服務(wù)器端腳本語(yǔ)言。
  • Ruby 可以用來(lái)編寫(xiě)通用網(wǎng)關(guān)接口(CGI)腳本。
  • Ruby 可以被嵌入到超文本標記語(yǔ)言(HTML)。
  • Ruby 語(yǔ)法簡(jiǎn)單,這使得新的開(kāi)發(fā)人員能夠快速輕松地學(xué)習 Ruby。
  • Ruby 與 C++ 和 Perl 等許多編程語(yǔ)言有著(zhù)類(lèi)似的語(yǔ)法。
  • Ruby 可擴展性強,用 Ruby 編寫(xiě)的大程序易于維護。
  • Ruby 可用于開(kāi)發(fā)的 Internet 和 Intranet 應用程序。
  • Ruby 可以安裝在 Windows 和 POSIX 環(huán)境中。
  • Ruby 支持許多 GUI 工具,比如 Tcl/Tk、GTK 和 OpenGL。
  • Ruby 可以很容易地連接到 DB2、MySQL、Oracle 和 Sybase。
  • Ruby 有豐富的內置函數,可以直接在 Ruby 腳本中使用。

發(fā)明人

松本行弘"Matz"(Yukihiro Matsumoto)是Ruby語(yǔ)言的發(fā)明人,他從1993年起便開(kāi)始著(zhù)手Ruby的研發(fā)工作。他一直想發(fā)明一種語(yǔ)言,使你既能進(jìn)行高效開(kāi)發(fā)又能享受編程的快樂(lè )。1993年2月24日Ruby誕生了,1995年12月Matz推出了Ruby的第一個(gè)版本Ruby 0.95。不久Ruby便憑借其獨特的魅力橫掃日本。


在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號