ruby基礎資料型別 (Elementary Data Type)簡明介紹_ruby專題

來源:互聯網
上載者:User

概括、ruby中的基礎資料型別 (Elementary Data Type)都是類類型,只不過為了書寫和閱讀的方便,為基礎資料型別 (Elementary Data Type)提供了較為簡潔的書寫方式而已。

一、數實值型別

整數支援二進位,八進位,十進位,十六進位,根據整數的大小動態決定整數是Fixnum類型還是Bignum類型。

浮點數支援科學計數法,小數點後至少有一個數字。

數實值型別繼承圖如下:

複製代碼 代碼如下:

Numeric
 |--Integer
     |--Fixnum
         |--Bignum
 |--Float
 |--Complex(標準庫)
 |--BigDecimal(標準庫)
 |--Rational(標準庫)

二、字串

ruby中沒有字元,只有字串。

單引號字串,只有 ' 和 \ 需要進行轉義,其他的字元保持字面的含義。('表示單引號字串的首尾所以需要轉義,而想一下單引號字串中只有一個字元\時就明白\也需要轉義了。)

雙引號字串,雙引號字串最大的特點是可以進行數值插入,產生雙引號字串的方式有很多種。

複製代碼 代碼如下:

insert=100 
#單引號字串 
print '#{insert}_string'    #{insert}_string 
print "\n" 
print %q/#{insert}_string/  #分隔字元%q表示單引號字串 
print "\n" 
 
#雙引號字串 
print "#{insert}_string\n"  #100_string 
print %/#{insert}_string\n/ #分隔字元%或者%Q可以表示雙引號字串 
print %Q/#{insert}_string\n/ 
 
#多行字串 
print "first line 
second line 
third line\n" #可以直接寫在多行 
 
print <<-'multi_line' #-可以使終止符號不用必須在行首,''表示不進行插入 
first line#{insert} 
second line 
    multi_line 
 
str1='good' #字串是可以修改的 
str1[0]='h' 
print str1 

三、區間

區間提供了處理值具有連續特性的對象集合的簡便方法,ruby為了節省空間的只是在記憶體中保留了區間首尾兩個對象的引用。

複製代碼 代碼如下:

for i in 1..3 #閉合區間,輸出123 
    print i 
end 
 
print "\n" 
 
for i in "num1"..."num3" #首閉後開,輸出num1num2 
    print i 
end 

四、數組

可以容納各種類型對象的集合。

複製代碼 代碼如下:

arr1=[1,2,3,"num1"] 
arr2=%w/1 2 3 num1/ #%w和%W為字元數組分隔字元,元素必須用空格隔開 
print arr1,"\n",arr2,"\n" 
print arr1[1].class,"\n" #Fixnum類型 
print arr2[1].class #String類型 

五、散列表

鍵-值對的集合,應用廣泛

複製代碼 代碼如下:

hash1={1=>"first","second"=>2} 
print hash1["second"] 

六、符號

由於相同的字串在記憶體中有不同的拷貝,所以採用符號類型來節省記憶體,相同的符號在記憶體中只有一份拷貝,另外需注意字串和符號是完全不同的類型。

複製代碼 代碼如下:

print "string".object_id,"\n"#相同的字串具有不同的id 
print "string".object_id,"\n" 
print :string.object_id,"\n"#相同的符號具有相同的id 
print :string.object_id,"\n"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.