Ruby資料型別

2022-08-02 09:30:13 字數 1650 閱讀 1272

**[foreverphoenix的專欄]

數字1、ruby支援整數和浮點數。整數可以使任何長度。一定範圍內的整數是fixnum類的物件。範圍之外的整數儲存在bignum類的物件中。這種處理是透明的。

2、可以在乙個ascii字元前加乙個問號來獲得其對應的整數值。ctrl組合鍵可以由?/c-x或?/cx(x&0x9f)來產生。meta字元(x|0x80)可以由?/m-x來產生。

3、乙個帶有小數點"或/和"指數的數字字面量被認為是float物件。float物件和本機上的double型別大小一樣。

4、float精度有限,若需要更好精度的小數,可以使用標準庫中bigdecimal,但效率會受影響。

字串1、字串字面量中可以放置各種轉義序列。字串分界符的型別決定了要被替換的程度。在單引號字串中,只識別反斜線和單引號的轉義。雙引號字串支援更多的轉義字元,還可以使用#把任何ruby表示式的值放進字串中,其中如果expr是全域性變數、類變數或例項變數的話,花括號可以忽略。

2、另外有三種構建字串字面量的形式:%q(相當於單引號),%q(相當於雙引號),here document。跟在q或q後面的字元是分界符。分界符可以是任何乙個非字母數字的單位元組字元。字串被一直讀取直到出現下乙個相同的(對(

區間1、區間作為序列,」..」的形式是建立閉合的區間(包括右端的值),」…」的形式是建立半閉半開區間(不包括右端德值)。

2、可以用自定義的物件來建立區間,條件是這些物件必須實現succ方法和<=>。

3、區間作為條件使用,當區間的第一部分的條件為true時開啟,當區間的第二部分的條件為true關閉。兩點的range在第一次從關變為開時,會立即求解結束條件,並相應地變遷狀態。這意味著如果expr1和expr2在乙個呼叫中都為真,那麼兩點形式的呼叫將結束於關狀態。不過該呼叫仍返回真。三點形式的range不會在進入開狀態後立即求解結束條件。

4、區間作為間隔,測試某些值是否會落入區間表達的間隔內。使用===操作符比較。

陣列1、陣列類的字面量是在方括號間由逗號分隔的一連串物件引用組成的。對於全部是字串物件的陣列,可以用簡寫形式%w和%w來構成。%w形式將空格隔開的token提取為連續的陣列元素,在單個字串內不執行替換。%w形式對每個token執行和雙引號字串一樣的替換規則,空格可以用反斜線轉義。

2、通過[index]訪問陣列元素,第乙個元素索引為0。索引可以為負值,-1表示最後乙個元素。

雜湊表1、雜湊表的初始化有兩種方式:{}中用key=>value的形式,中連續放置key,value,中間用逗號隔開。

2、雜湊表中的鍵如果使用equ?比較相等,那麼這兩個鍵必定具有相同的雜湊碼。如果把自定義類的物件例項作為hash鍵,那麼需要確保1)一旦物件被建立,它的雜湊碼就不再改變;2)每當鍵的雜湊碼發生變化時呼叫hash#rehash方法重新對雜湊表進行索引。

符號1、ruby中symbol 表示「名字」,比如字串的名字,識別符號的名字。建立乙個symbol物件的方法是在名字或者字串前面加上冒號。每個string物件都是不同的,即便他們包含了相同的字串內容;而對於symbol物件,乙個名字(字串內容)唯一確定乙個symbol物件。名字相同,則symbol相同;名字不同,則symbol不同。symbol物件一旦定義將一直存在,直到程式執行退出。所有symbol物件存放在ruby內部的符號表中,可以通過類方法symbol.all_symbols得到當前ruby程式中定義的所有symbol物件,該方法返回乙個symbol物件陣列。

ruby 資料型別

整型分兩種,如果在31位以內 四位元組 那為fixnum例項。如果超過,即為bignum例項。整數範圍從 230 到 230 1 或 262 到 262 1。在這個範圍內的整數是類 fixnum 的物件,在這個範圍外的整數儲存在類 bignum 的物件中。您可以在整數前使用乙個可選的前導符號,乙個可...

Ruby 資料型別,變數

整數型別 3,222 小數 3.14 字串 hello,world 布林型別 true trueclass false falseclass 陣列 1,2 hello hello world hash 字典 symbol 符號 a,hello,hello world range 1.10,1.10 ...

ruby 資料型別 數值型

ruby支援整型 浮點型 有理數和複數等四種資料型別。整型可以使任意長度,在一定範圍之內的整型是fixnum型別,超出該範圍的是bignum型別,ruby自動在fixnum和bignum型別之間轉換,對使用者是透明的。有小數點或指數的數值常量自動轉化為float型別,小數點前後必須有數字。有理數和複...