ruby語言是什麼東西?

2021-03-31 08:56:31 字數 2767 閱讀 5596

1、簡介

ruby是日本的yukihiro matsumoto寫的,簡單易學的物件導向的指令碼語言,像perl一樣,有豐富的文書處理、系統管理等豐富 功能,但是ruby要簡單,容易理解和擴充。跟python很類似,但是在國內遠沒有python有名。

一般認為,他有如下特點:

2、環境安裝

(2).解壓縮原始檔,進入安裝目錄

#./configuremake

#make 

#install

3.使用

(1). 使用irb。irb是乙個互動介面,在shell裡執行它,首先顯示提示符,等待輸入;使用者輸入之後,它在進行處理,把結果顯示給使用者。

#irb

irb(main):001:0> $str="hello world!/n"

=> "hello world!/n"

irb(main):002:0> print $str

hello world!

=> nil

irb(main):003:0>

(2).像其他語言一樣,從程式檔案執行

[root@tserver /root]# chmod a+x foo.rb

[root@tserver /root]# cat foo.rb

#!/usr/local/bin/ruby -w

puts "hello, world!"

[root@tserver /root]# ruby foo.rb

hello, world!

[root@tserver /root]# ./foo.rb

hello,world!

[root@tserver /root]#

(3).ruby使用方法 

ruby [ option ...] [ -- ] [ programfile ] [ argument ...]pre>

關於ruby的命令列引數,可以參考相關文件。

4.簡單例子

def saygoodnight(name) 

result = "goodnight, " + name

return result

end # time for bed...

puts saygoodnight("john-boy")

puts saygoodnight("mary-ellen")

可以看到,ruby的語法還是比較簡單的,首先,你不必每行都寫個分號, ruby注釋以#開頭,直到行尾。

methods定義以關鍵字def開始,接著是方法名和方法引數, ruby不需要用braces來界定程式主體,只需要關鍵字end就行了。

這個程式也相當簡單,第一行把``goodnight, ''加上引數name,並把它賦給了區域性變數result,第二行把結果返回給呼叫者。注意我們不需要定義變數result。

最後我們呼叫了2次這個方法,並把結果傳給puts函式,這個函式簡單的再新行上列印傳給它的引數而已,最後結果像這樣:

goodnight, john-boy

goodnight, mary-ellen

其實 puts saygoodnight("john-boy")  包括了2個函式呼叫,乙個put系統函式,乙個saygoodnight函式。但是為什麼puts呼叫沒有用括號呢?實際上,下面的呼叫都是等價的:

puts(saygoodnight "john-boy")

puts(saygoodnight("john-boy"))

puts saygoodnight("john-boy")

puts saygoodnight "john-boy"

但是如果都不寫括號,你知道那個引數傳給誰嗎?所以還是建議在方法後面加上括號,方便閱讀源程式。

這個方法還展示了string物件,有很多種辦法可以建立string物件,但最普通的要算用string literals了:單引號或雙引號包起來的一組字元。它們的區別是ruby構建這兩種字串時要做的操作。對單引號引起來的字串來說,ruby做的工作會很少,單引號引起來得部分就是它的值。如果是雙引號引起來得,則要做多一些工作了。首先,它檢查是否包含反斜線,也就是轉義符,然後用適當的二進位制值代替,最常見的就是"/n"了,它將會被換行替換。如:

puts "and goodnight,/ngrandma"

產生結果如下:

and goodnight,

grandma

第二件事情就是expression interpolation。#被expression的值代替,例如,下面的方法和剛才的例子是一樣的結果

def saygoodnight(name)

result = "goodnight, #"

return result

end當然我們還可以再簡化這個函式。

乙個ruby函式返回的結果就是最後一行的值,所以這個函式也可以寫成如下:

def saygoodnight(name)

"goodnight, #"

end

ruby使用俗定的命名方式為變數命名,變數名的第乙個字母標誌了它的型別,是區域性變數,還是方法引數,方法名應該以小寫字母或者下劃線開頭,全域性變數應該以$開頭,例項變數以@開頭, class變數以@@開頭,而類名,模組名,常量應該以大寫字母開頭。

乙個名字可以是字母,數字,下劃線的任意組合,但是有@後面不允許直接跟著乙個數字。

總之,作為一門語言,不是一兩個例子,幾個文章能說清楚地,在網上流傳的我愛ruby的10個原因等跟天下足球top ten類似的短文中,總會看到乙個理由,就是fun with ruby。也許,更有趣的還在後面。

是什麼東西 金錢是個什麼東西?

多數人看到大筆錢都會有一種莫名的興奮,為什麼會興奮呢?因為足夠的金錢能換來自己想要的東西,錢刺激著你的每根神經和細胞,你會控制不住地興奮。錢是個什麼東西?錢是所有物質的替代品,包括房子 車子 愛情 性 健康 未來。只要你方法得當,足夠的金錢可以交換幾乎所有想要的東西。錢是虛幻的。錢可以作為大多數人追...

ARM是什麼東西?

arm是什麼東西?arm advanced risc machines 既可以認為是乙個公司的名字,也可以認為是對一類微處理器的通稱,還可以認為是一種技術的名字。1991 年 arm 公司成立於英國劍橋,主要 晶元設計技術的授權。目前,採用 arm技術智財權 ip 核的微處理器,即我們通常所說的 a...

cookie是什麼東西?

所謂cookie,只是一條極為短小的資訊,它能夠被 自動地放置在一台電腦的硬碟中。通過cookie,可以識別你是第一次訪問,或是又一次訪問它。還可以利用cookie了解你對哪些內容感興趣,收集與使用者有關的資訊,例如郵政區號 計算機晶元的型別以及其他資訊。在你瀏覽某些 的時,的程式會在你不知不自覺中...