ruby很靈活,就因為這個靈活有時讓我們摸不著頭腦它到底為什麼這樣,ruby的賦值就有許多要注意的地方
1. 陣列元素的賦值,其實陣列賦值中的也是函式,把它當函式對待即可, 如果有兩個引數,那麼他的形式就是
arr[x] = y 等價於 arr.(x, y), 如果三個引數的話那麼其形式就是arr[x,y] = z 等價於 arr.(x, y, z), 其他的類推
2. 並行賦值時, 如果有多個右值賦給乙個左值時,那麼這些右值就作為乙個陣列一起賦給左值
a = 1, 2, 3 等價於 a = [1, 2, 3],要防止這樣可以這樣做 a, = 1, 2, 3 , 那麼 a = 1了
3. 當有多個左值,乙個右值時, 那麼ruby就試圖把右值擴充套件後賦給左值,當乙個陣列右值賦給多個左值時,那麼陣列拆開然後賦值
物件賦值注意事項
注意,將乙個物件a賦值給物件b後,對於b屬性值的修改會改變a的屬性值。但當把其它物件賦值給b後,對b的任何操作均與a無關。可以理解為 將物件b賦值給物件a,只是將b的指標賦給a,對b的屬性的操作為對該指標所的物件區域的操作,故會影響到a.而將另一物件賦值給b,則給了b乙個新的位址指標,與a無關了 c...
Python增強賦值及共享引用注意事項
python中的增強賦值是從c語言中借鑑出來的,所以這些格式的用法大多和c一致,本身就是對表示式的簡寫,即二元表示式和賦值語句的結合,比如a b和a a b就是一致的,比如還有以下的增強賦值語句。a b a b a b a b a b a b a b a b a b a b a b a b 即增強賦...
java DOM 注意事項
1.w3c把標籤內的文字部分也定義成乙個node 2.element物件代表的是xml文件中的標籤元素 繼承於node,亦是node的最主要的子物件 3.attr實際上是包含在element中的,它並不能被看作是element的子物件,因而在dom中attr並不是dom樹的一部分,所以node中的 ...