日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ruby数据类型

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ruby数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自[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、字符串字面量中可以放置各種轉義序列。字符串分界符的類型決定了要被替換的程度。在單引號字符串中,只識別反斜線和單引號的轉義。雙引號字符串支持更多的轉義字符,還可以使用#{expr}把任何Ruby表達式的值放進字符串中,其中如果expr是全局變量、類變量或實例變量的話,花括號可以忽略。

2、另外有三種構建字符串字面量的形式:%q(相當于單引號),%Q(相當于雙引號),here document。跟在q或Q后面的字符是分界符。分界符可以是任何一個非字母數字的單字節字符。字符串被一直讀取直到出現下一個相同的(對({[<來說是對應的閉合符號) 分界符。Here document由源文件中的那些行但沒有包含在<<字符后面指明終結字符串的行組成。一般情況下終結符必須在第一列出現。如果把一個減號-放在<<字符后面,就可以縮進編排終結符。分隔符可以跨越多行,行結束符以及后續行開始處的空格都被包含到字符串中。

3、其他用于字符串的分隔符還有%w(%W)生成字符串數組,%x執行shell命令,%r生成正則表達式。

4、Ruby字符串是8位字節序列。如果處理Unicode編碼,需要加入以下代碼:(jcode庫覆蓋了String類中大多數方法用來處理多字節文本) $KCODE='u' require 'jcode'

5、正則表達式的三種表達方式:1)/regular_expression/ 2)Regexp.new(“regular_expression”) 3)%r{regular_expression}

區間

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對象數組。

?

轉載于:https://www.cnblogs.com/andriod-html5/archive/2010/06/04/2539360.html

總結

以上是生活随笔為你收集整理的Ruby数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。