Ruby的基礎

發表于:2007-06-11來源:作者:點擊數: 標簽:
一、Ruby的“單行程序” 為了使您適應 腳本語言 ,首先介紹幾個Ruby的單行程序。 # 經典的 Hello world print "Hello world\n" # 列出輸入文件中包含”From”的行 while gets(); print if /From / end # 向文件中添加行號 while gets(); print $., ":", $_ e

一、Ruby的“單行程序”

為了使您適應腳本語言,首先介紹幾個Ruby的單行程序。

# 經典的 Hello world

print "Hello world\n"

# 列出輸入文件中包含”From”的行

while gets(); print if /From / end



# 向文件中添加行號

while gets(); print $., ":", $_ end



# π的計算

print 4*Math.atan2(1,1), "\n"

二、Ruby的注釋

Ruby的注釋是指從#開始到該行結束。

三、Ruby的表達式

Ruby的表達式包括下列內容(主要的)。

◆字符串

字符串是指被單引號(')或雙引號(")括起來的部分。在用雙引號括起來的字符串中,可以使用反斜杠(\)來指定轉義字符,這同C語言是一樣的。同時,以#{}括起來的表達式的結果也被置入其中。

◆數值

整數,浮點數。

◆數組/散列表

用[]括起來的一串表達式是數組,而以{}括起來的一串表達式是散列表。

散列表是一種可以把任意類型的對象都當成索引的數組。散列表有時也叫做哈希表或辭典。

◆變量/常數

Ruby中有常數和3種變量。變量和常數的區別在于第一個字符有所不同。

◆局部變量

變量名以小寫英文字母開始。使用時,需要以賦值的方式進行初始化。

◆全局變量

以$開始。未初始化的值為nil。

◆實例變量

以@開始。未初始化的值為nil。

◆類變量

以@@開始。未初始化的值為nil。

◆類常數

以大寫英文字母開始。未初始化的值為nil。

◆賦值

變量賦值方法如下。

變量=表達式

◆調用方法(函數)

執行對象固有操作(方法)的方法如下:

表達式.方法名

表達式.方法名(表達式..)

在不引起混淆的情況下,可以省略參數的括號。

調用某方法執行主體self的方法時,可以省略最開始的表達式。

方法名

方法名(表達式..)

區分無參數的方法調用和局部變量的方法是看看有沒有賦值過程。

◆操作符表達式

普通的算式可以用(基本上與C語言一樣的)操作符來表示。但內部是把操作符當作方法調用(以操作符作為方法名)來處理的。

四、Ruby的語句

Ruby使用分號(;)或換行來分隔表達式,表達式串起來構成語句。語句的值取決于最后執行的表達式的值。

1、Ruby的流程控制結構

Ruby中可以使用下列流程控制結構。

◆if表達式 then代碼塊 [elsif表達式 then代碼塊]..[else代碼塊]end

◆case表達式when表達式..;代碼塊...[else代碼塊]end

◆while表達式;代碼塊end

◆for變量..in表達式;代碼塊end

if和while的意思與通常的語言基本相同??梢允褂梅痔柣驌Q行來代替if代碼塊中的then。請注意Ruby使用elsif代替C語言中的else if。

case是把若干個比較歸為一體的控制結構。

for可以使用循環把數組等的元素分別賦值給變量。

循環內可以使用下列語句:

◆break

中斷循環(相當于C語言的break)。

◆next

開始下一次循環(相當于C語言的continue)。

◆redo

重新執行塊的第一行。

2、常用的語句

介紹幾個Ruby程序中常用的語句。這些語句是對象類的方法,可以在任何類中使用,就如同使用函數一樣。

◆exit([status])

結束程序的運行。若為status指定了一個整數的話,該整數就成為結束status。默認的status值為0。

◆gets

從命令行參數指定的文件(群)中讀取一行,然后把該行的內容作為字符串返回。若沒有制定命令行參數的話,則從標準輸入中讀取。讀取的字符串可以被賦值給變量$_。遇到文件結束返回nil(偽)。

while gets

...

end

上面就是典型的用法。

◆open(文件名[,mode])

打開文件。mode是字符串,就和C的fopen一樣。省略時以讀取模式打開。

◆print

輸出函數。按順序將參數輸出到標準輸出上。省略參數時則輸出變量$_的值。

(責任編輯 火鳳凰 sunsj@51cto.com  TEL:(010)68476636-8007)



原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97