婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby基礎知識之數據類型

Ruby基礎知識之數據類型

熱門標簽:滴滴外呼系統 地圖標注賺錢項目注冊 徐州網絡外呼系統哪個好 常德電銷平臺外呼系統軟件價格 高德地圖標注客服 湖州u友防封電銷卡 百度地圖標注自定義圖片 電銷機器人廠商代理 白銀外呼paas系統

一、數值類型

(1)整型
整型分兩種,如果在31位以內(四字節),那為Fixnum實例。如果超過,即為Bignum實例。

復制代碼 代碼如下:

#整型 Integer 以下是一些整型字面量
#字面量(literal):代碼中能見到的值,數值,bool值,字符串等都叫字面量
#如以下的0,1_000_000,0xa等
a1=0
#帶千分符的整型
a2=1_000_000
#其它進制的表示
a3=0xa
puts a1,a2
puts a3
#puts print 都是向控制臺打印字符,其中puts帶回車換行符
=begin
這是注釋,稱作:嵌入式文檔注釋
類似C#中的/**/
=end

(2)浮點型
復制代碼 代碼如下:

#浮點型
f1=0.0
f2=2.1
f3=1000000.1
puts f3 

浮點有個圓整錯誤,例如:0.4-0.3==0.1
這是不等的。C#中也是如此(采用IEEE-754浮點的都是如此)。因為很多浮點數是用一種近似值來表示的。例如0.1,它只是無限接近0.1。因為0.1不能用二進制精確表示。但0.5可以。
復制代碼 代碼如下:

puts 0.3-0.2==0.1 #false
puts 0.8-0.3==0.5 #true
puts 0.8-0.7==0.1 #false

(3)算術操作
加減乘除操作符:+-*/;指數操作符為**
指數不必是整數,例如
復制代碼 代碼如下:

#指數算術
puts 2**(1/4)#1與4的商為0,然后2的0次方為1
puts 16**(1/4.0)#1與4.0的商為0.25(四分之一),然后開四次方根

(二)字符串類型
字符串型可以用單引號或雙引號表示。兩種表式方法雙引號推薦使用:雙引號轉義字符全;雙引號中的字面量可以包含表達式。
字符串內插格式為:#{}
復制代碼 代碼如下:

name="Ruby"
puts name
puts "#{name+",ok"}"

字符串分界符
可以通過字符串分界符來定義字符串字面量。
%q用于單引號規則
%Q用于雙引號規則
分界符成對出現的,例如:(),[],{},兩個!!。如果使用!做為分界符,其中字面量中又出現了!號,那么,需要\!。當然,如果其中的字面量中出現了成對的分界符(其實是做為操作符出現的),那不需要轉義的。
復制代碼 代碼如下:

#分界符
s1=%Q[this ''/ssss123]
puts s1
#字面量中有分界符,一般情況下要做轉義操作
s2=%Q!this ''/ssss123\!\!!!
puts s2
#字面量中有成對的分界符出現,可以不做轉義
s3=%Q(2*(1+1))
puts s3

在大字符串字面量中,不可保證分界符不出現。在ruby中支持header document。即通過定義分界字符串來定義字面量,可大大保證成功率。
通過或-緊臨header 來定義,且結束段單獨一行。如果通過-來定義的,則結束行前可加空白符。例如:
復制代碼 代碼如下:

#分界字符串
s1=Header
sdfie''''//////[]
Header
puts s1

字符串操作
(1)用+號進行字符串連接。對于不是字符串的需要to_s方法進行顯示轉換,才能用于連接。注意的是,連接后的字符串會新建一個對象返回。
(2)用號進行字符串連接。此操作符連接字符串,是修改左側字符串,而不新建對象。
(3)用*號表示重復左側字符串,
(4)字符串截取
通過[]來訪問字符串中的子字符串。字符串可以作為字符數組來看待。如果索引為負數,則從右向左取字符。(在1.8和1.9中通過[]訪問返回的不同,1.9中取的更符合習慣)
通過[]索引訪問進行賦值操作,可以替換字符。
通過[]中兩個值進行訪問,可以截取子字符串
(5)通過range截取子字符串。
通過range表示的兩個都是索引,這個區別于[]中以逗號分隔的一個用于索引,另一個用于長度。
[..]或[…]
其中兩個點的為包含區間。
(5)通過索引字符串,來判斷包含關系
通過[“字符串']來判斷是否包含此子字符串
(三)字符類型

字符類型通過?+字符來定義。

(四)數組

數組字面量通過[]中以逗號分隔定義,且支持range定義。同時,數組字面量引用同%q,%Q類似的%w,%W分界符。中間以空格分隔。
(1)數組通過[]索引訪問
同字符串相似,數據通過索引進行訪問。如果有兩個數值,則一個表示索引,另一個表示元素個數
(2)通過賦值操作插入、刪除、替換元素
(3)通過+,-號進行合并和刪除元素,且集合做為新集合出現
(4)通過號向原數據追加元素
(5)通過*號重復數組元素
(6)通過|和符號做并集和交集操作(注意順序)
(五)哈希類型
哈希字面量由逗號分隔的kv對來定義,被包括在花括號之間,kv對以=>來定義

復制代碼 代碼如下:

#hash
h1={"a1"=>1,"a2"=>2}
h2={:a1=>3,:a2=>4}
h3={a1:5,a2:6}
 
puts h1["a1"]
puts h2[:a1]
puts h3[:a1]

(六)范圍類型
通過..或…符號定義范圍類型,它有順序性。
(七)true,false,nil
比較nil值,可以通過:
Ojb==nil或
Obj.nil?
(八)對象標識、對象的類、類型
對象標識在1.9中可以通過:
__id__得到,或object_id
 
對象的類:
復制代碼 代碼如下:

Obj.class==String或
Obj.instance_of? String
 
x1="ok"
puts x1.class==String
puts x1.instance_of?String

判斷是不是一種類型的實例也可通過:is_a?或===
復制代碼 代碼如下:

x1="ok"

puts x1.is_a?String
puts x1===String


(九)對象凍結、污染
通過freeze凍結對象,被凍結對象將不可變(所有內部狀態都不可變)。如果類被凍結,則類不能添加方法。
通過taint污染對象,被污染的對象會成為污染源(源自它的對象都是被污染的)。通過untaint進行解除污染。

您可能感興趣的文章:
  • 使用Ruby來編寫訪問Twitter的命令行應用程序的教程
  • 幾個加速Ruby on Rails的編程技巧
  • 詳解Ruby中的方法概念

標簽:梧州 張家界 公主嶺 遼寧 三沙 永州 普洱 荊門

巨人網絡通訊聲明:本文標題《Ruby基礎知識之數據類型》,本文關鍵詞  Ruby,基礎知識,之,數據,類型,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby基礎知識之數據類型》相關的同類信息!
  • 本頁收集關于Ruby基礎知識之數據類型的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 响水县| 炉霍县| 洪洞县| 神农架林区| 新河县| 黎川县| 兰溪市| 扎囊县| 南郑县| 锦州市| 来宾市| 河间市| 正阳县| 富源县| 东城区| 屏东县| 法库县| 沛县| 双城市| 句容市| 朝阳县| 巴里| 通道| 四子王旗| 沙湾县| 上思县| 遂昌县| 舟山市| 宜川县| 贞丰县| 嘉义县| 大余县| 太白县| 浦城县| 宜都市| 广汉市| 信宜市| 辰溪县| 荆州市| 临武县| 封丘县|