Ruby的“單行程序”
為了使您適應腳本語(yǔ)言,首先介紹幾個(gè)Ruby的單行程序。
# 經(jīng)典的 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的注釋是指從#開(kāi)始到該行結束。
Ruby的表達式
Ruby的表達式包括下列內容(主要的)。
- 字符串
- 字符串是指被單引號(‘)或雙引號(")括起來(lái)的部分。在用雙引號括起來(lái)的字符串中,可以使用反斜杠(\)來(lái)指定轉義字符,這同C語(yǔ)言是一樣的。同時(shí),以#{}括起來(lái)的表達式的結果也被置入其中。
- 數值
- 整數,浮點(diǎn)數。
- 數組/散列表
- 用[]括起來(lái)的一串表達式是數組,而以{}括起來(lái)的一串表達式是散列表。
- 散列表是一種可以把任意類(lèi)型的對象都當成索引的數組。散列表有時(shí)也叫做哈希表或辭典。
- 變量/常數
- Ruby中有常數和3種變量。變量和常數的區別在于第一個(gè)字符有所不同。
- 局部變量
- 變量名以小寫(xiě)英文字母開(kāi)始。使用時(shí),需要以賦值的方式進(jìn)行初始化。
- 全局變量
- 以$開(kāi)始。未初始化的值為nil。
- 實(shí)例變量
- 以@開(kāi)始。未初始化的值為nil。
- 類(lèi)變量
- 以@@開(kāi)始。未初始化的值為nil。
- 類(lèi)常數
- 以大寫(xiě)英文字母開(kāi)始。未初始化的值為nil。
賦值 變量賦值方法如下。 變量=表達式
調用方法(函數) 執行對象固有操作(方法)的方法如下 表達式.方法名表達式.方法名(表達式..)
在不引起混淆的情況下,可以省略參數的括號。 調用某方法執行主體self的方法時(shí),可以省略最開(kāi)始的表達式。 方法名方法名(表達式..)
區分無(wú)參數的方法調用和局部變量的方法是看看有沒(méi)有賦值過(guò)程。 操作符表達式 普通的算式可以用(基本上與C語(yǔ)言一樣的)操作符來(lái)表示。但內部是把操作符當作方法調用(以操作符作為方法名)來(lái)處理的。 Ruby的語(yǔ)句
Ruby使用分號(;)或換行來(lái)分隔表達式,表達式串起來(lái)構成語(yǔ)句。語(yǔ)句的值取決于最后執行的表達式的值。
Ruby的流程控制結構
Ruby中可以使用下列流程控制結構。
- if表達式 then代碼塊 [elsif表達式 then代碼塊]..[else代碼塊]end
- case表達式when表達式..;代碼塊...[else代碼塊]end
- while表達式;代碼塊end
- for變量..in表達式;代碼塊end
if和while的意思與通常的語(yǔ)言基本相同??梢允褂梅痔柣驌Q行來(lái)代替if代碼塊中的then。請注意Ruby使用elsif代替C語(yǔ)言中的else if。
case是把若干個(gè)比較歸為一體的控制結構。
for可以使用循環(huán)把數組等的元素分別賦值給變量。
循環(huán)內可以使用下列語(yǔ)句。
- break
- 中斷循環(huán)(相當于C語(yǔ)言的break)。
- next
- 開(kāi)始下一次循環(huán)(相當于C語(yǔ)言的continue)。
- redo
- 重新執行塊的第一行。
常用的語(yǔ)句
介紹幾個(gè)Ruby程序中常用的語(yǔ)句。這些語(yǔ)句是對象類(lèi)的方法,可以在任何類(lèi)中使用,就如同使用函數一樣。
- exit([status])
- 結束程序的運行。若為status指定了一個(gè)整數的話(huà),該整數就成為結束status。默認的status值為0。
- gets
- 從命令行參數指定的文件(群)中讀取一行,然后把該行的內容作為字符串返回。若沒(méi)有制定命令行參數的話(huà),則從標準輸入中讀取。讀取的字符串可以被賦值給變量$_。遇到文件結束返回nil(偽)。
while gets ...end
- 上面就是典型的用法。
- open(文件名[,mode])
- 打開(kāi)文件。mode是字符串,就和C的fopen一樣。省略時(shí)以讀取模式打開(kāi)。
- print
- 輸出函數。按順序將參數輸出到標準輸出上。省略參數時(shí)則輸出變量$_的值。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。