国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Ruby > 正文

Ruby基礎(chǔ)語法初探

2020-10-29 19:37:58
字體:
供稿:網(wǎng)友

創(chuàng)建字符串對象有多種途徑,最常用的可能是使用字符串字面量(literals),即一組單引號或雙引號之間的字符序列。這兩種形式的區(qū)別在于,當構(gòu)造字面量時,Ruby對字符串所做處理的多少有所不同。Ruby對單引號串處理得很少。除了極少的一些例外。鍵入到字符串字面量的內(nèi)容就構(gòu)成了這個字符串的值。

Ruby對雙引號字符串有更多的處理。首先,它尋找以反斜線開始的序列,并用二進制值替換它們。其中最常見的是/n,它會被回車換行符替換掉。當一個包含回車換行符的字符串輸出時,/n會強制換行。

puts "And good night, /nGrandma"

輸出結(jié)果:

And good night,Grandma


Ruby對雙引號字符串所做的第二件事情是字符串內(nèi)的表達式內(nèi)插(expression interpolation),#{表達式}序列會被“表達式”的值替換。可以用這種方式重寫前面的方法。

def say_goodnight(name) result = "Good night,#{name}" return resultendputs say_goodnight('Pa')

輸出結(jié)果:

 Good night, Pa

Ruby 構(gòu)建這個字符串對象時,它找到name的當前值并把它替換到字符串中。任意復雜的表達式都允許放在#{...}結(jié)構(gòu)中。這里調(diào)用在所有字符串中定義的capitalize方法,將參數(shù)的首字母改為大寫之后輸出。

def say_goodnight(name) result = "Good night,#{name.capitalize}" return resultendputs say_goodnight('uncle')

輸出結(jié)果:

Good night, Uncle

為了方便起見,如果表達式只是一個全局實例或類變量,則不需要提供花括號。

$greeting = "Hello"   #$greeting 是全局變量@name = "Prudence"  #@name 是實例變量puts "#$greeting,#@name"

輸出結(jié)果:

Hello,Prudence

可以進一步簡化這個方法。Ruby方法所返回的值,是最后一個被求值的表達式的值,所以可以把這個臨時變量和return語句都去掉。

def say_goodnight(name) "Good night,#{name}"endputs say_goodnight('Ma')

輸出結(jié)果:

Good night, Ma

Ruby使用一種命名慣例來區(qū)分名稱的用途:名稱的第一個字符顯示這個名稱如何被使用。局部變量、方法參數(shù)和方法名稱都必須以小寫字母或下劃線開始。全局變量都有美元符號($)為前綴,而實例變量以“at”(@)符號開始。類變量以兩個“at”(@@)符號開始。最后,類名稱、模塊名稱和常量都必須以一個大寫字母開始。

從上述規(guī)定的初始字符之后開始,名稱可以是字母、數(shù)字和下劃線的任意組合(但跟在@符號之后的符號不能是數(shù)字)。但是按慣例,包含多個單詞的實例變量名稱在詞與詞之間使用下劃線連接,包含多個單詞的類變量名稱使用混合大小寫(每個單次首字母大寫)。方法名稱可以?、!和=字符結(jié)束。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 杭锦后旗| 贡觉县| 贺州市| 荔波县| 齐齐哈尔市| 新密市| 茶陵县| 盘山县| 浦江县| 图片| 廊坊市| 徐闻县| 高雄县| 阳高县| 垦利县| 郑州市| 东宁县| 富锦市| 白玉县| 利津县| 宝兴县| 海南省| 宝清县| 太谷县| 佛坪县| 清流县| 平塘县| 凤冈县| 太原市| 黄山市| 邛崃市| 祥云县| 盐津县| 永平县| 嫩江县| 灵川县| 英超| 云和县| 普兰县| 大渡口区| 沭阳县|