ruby简单的基础 4
后綴標(biāo)點(diǎn)符號(hào)
=結(jié)尾
假設(shè)方法名字以=結(jié)尾的,那么在調(diào)用此方法時(shí)能夠省略這個(gè)=。
?結(jié)尾
作為一個(gè)實(shí)用慣例,那些返回布爾值的方法通常都有一個(gè)以問號(hào)結(jié)尾的名字。
。結(jié)尾
這個(gè)命名慣例通常時(shí)對(duì)兩種方法區(qū)分:以感嘆號(hào)結(jié)尾的方法一般會(huì)改變調(diào)用它們的對(duì)象,不以感嘆號(hào)結(jié)尾的方法則不會(huì)改動(dòng)調(diào)用它們的對(duì)象。而是改動(dòng)原始對(duì)象的一個(gè)拷貝。
圓括號(hào)
在ruby中,圓括號(hào)一般是可選的而且一般都被省略掉,尤其是在調(diào)用那些不帶參數(shù)的方法時(shí)更是如此。
字符串內(nèi)插
由雙引號(hào)“”引起來的字符串中能夠包括不論什么ruby表達(dá)式。前提是這些表達(dá)式包括在分界符#{和}里。分界符之間的表達(dá)式的值將被轉(zhuǎn)換成一個(gè)字符串(通過調(diào)用to_s方法),這個(gè)字符串將替換原字符串中的表達(dá)式文本以及分界符。
? ?num = 2
? ?str = "xiao song"
? ?puts "num is : #{num},str is : #{str}"
表達(dá)式和操作符
ruby中差點(diǎn)兒全部的語句實(shí)際上時(shí)表達(dá)式??墒撬鼈儾⒎嵌紩?huì)返回有意思的值。和大多數(shù)語言一樣,ruby中的表達(dá)式通常由變量和操作符構(gòu)成。
很多ruby的操作符都是作為方法來實(shí)現(xiàn)的。而且類能夠依照它們的需求來定義或重載這些方法。
? ? ?
字面量和keyword
字面量就是像 1。1.0,“hello”這樣的值,它們時(shí)直接嵌入在您的程序文本中的。
某些rubykeyword是主要的表達(dá)式,如
nil ?求值為nil,NilClass類
true 求值為TureClass類的單例實(shí)例,是一個(gè)代表布爾值ture的對(duì)象。
false 求值為FalseClass類的單例實(shí)例,是一個(gè)代表布爾值false的對(duì)象。
self 求值為當(dāng)前對(duì)象。
變量引用
一個(gè)變量就是一個(gè)值的名字,通過賦值表達(dá)式能夠創(chuàng)建變量并對(duì)其賦值。當(dāng)一個(gè)變量名不是出如今賦值操作的左側(cè)時(shí),它就是一個(gè)變量引用表達(dá)式,而且會(huì)被求值成該變量的值。one = 1.0 #賦值表達(dá)式,把1.0賦值給one
test = one #one 求值表達(dá)式。求值成1.0并賦值給test
未初始化的變量
類型 ? ? ? ?是否必須初始化 ? ? ?沒有初始化后果類變量是 ?拋出NameError
實(shí)例變量 否(默覺得nil) ? ? ? ?假設(shè)調(diào)用ruby解釋器使用-W選項(xiàng),會(huì)發(fā)出警告
全局變量否(默覺得nil) ? ? ? ?假設(shè)調(diào)用ruby解釋器使用-W選項(xiàng),會(huì)發(fā)出警告
局部變量 ? ? 否(默覺得nil)?
常量引用
依照慣例,常量名都是全部大寫,而且使用下劃線切割單詞,如PAGE_NUM。ruby的類和模塊名也是常量。但依照慣例,它們採用駝峰時(shí)寫法。如BigPerson。
方法調(diào)用
一個(gè)方法調(diào)用表達(dá)式由4部分組成1、一個(gè)隨意的表達(dá)式,它的值就是將要在其上調(diào)用該方法的對(duì)象。這個(gè)表達(dá)式后接分隔符.或者::,然后再接方法名。
表達(dá)式和分隔符都是可選的。假設(shè)它們被省略了,就會(huì)在self上調(diào)用該方法。
2、被調(diào)用的方法名字。
它必須存在。
3、將要傳遞的參數(shù)值。參數(shù)列表能夠置于一對(duì)圓括號(hào)里,可是通常圓括號(hào)都是可選的。
假設(shè)有多個(gè)參數(shù)。他們將被逗號(hào)隔開。
4、一個(gè)可選的代碼塊。
它位于一對(duì)花括號(hào)或者一個(gè)do/end中。
并行賦值
1、左值右值的數(shù)量相等x,y,z = 1,2,3 ?# x = 1,y = 2,z = 3
這樣的情況下,第一個(gè)右值賦給第一個(gè),第二個(gè)右值給第二個(gè)。。
。
2、一個(gè)左值,多個(gè)右值
x = 1,2,3 # x = [1,2,3]
這樣的情況下,ruby會(huì)創(chuàng)建一個(gè)數(shù)組來容納全部右值,并把這個(gè)數(shù)據(jù)賦給左值
3、多個(gè)左值,一個(gè)右值
x,y,z = [1,2,3] # x = ?1,y = 2,z = 3
x = [1,2] # x = [1,2]
x, = [1,2] # x = 1
這樣的情況下,假設(shè)右值是一個(gè)數(shù)組。ruby會(huì)擴(kuò)展該數(shù)組。這樣一來每一個(gè)數(shù)組元素都會(huì)變成一個(gè)右值。
假設(shè)右值不是一個(gè)數(shù)組,可是實(shí)現(xiàn)了to_ary方法,那么ruby就會(huì)調(diào)用此方法而且擴(kuò)展其返回的數(shù)組。
4、左值多于右值
x,y,z = 1,2 #x = 1,y = 2,z = nil
這樣的情況下。未被賦值的左值會(huì)被賦值nil
5、右值多于左值
x,y = 1,2,3 # x = 1, y = 2,3木有賦給不論什么變量
這樣的情況下,多余的右值會(huì)被丟棄。
轉(zhuǎn)載于:https://www.cnblogs.com/gccbuaa/p/6791173.html
總結(jié)
以上是生活随笔為你收集整理的ruby简单的基础 4的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 构建之法——第三篇
- 下一篇: 《如何阅读一本书》之 阅读的层次